Skip to content

Commit 20d2dd2

Browse files
feat(homebrew): rename package to cc-copilot-bridge + automated tap sync
## Changes ### 3 Critical Fixes from Architect Review - **Fix 1 (Automated Sync)**: GitHub Actions now auto-syncs Formula to homebrew-tap on release via SSH deploy key - **Fix 2 (Deterministic SHA256)**: Create explicit tarball, compute SHA256 from actual release asset (fixes mismatch with git archive) - **Fix 3 (Validation)**: Daily workflow verifies tap is in sync ### Package Renaming - Homebrew package: `claude-switch` → `cc-copilot-bridge` (matches repo) - Formula class: `ClaudeSwitch` → `CcCopilotBridge` - CLI command remains: `claude-switch` (no user impact) ### Infrastructure - SSH deploy key configured for homebrew-tap - Secret `TAP_DEPLOY_KEY` added - homebrew-tap initialized with Formula and README ### Documentation - All docs updated with new package name - 10 files updated with correct references ## Install brew tap FlorianBruniaux/tap brew install cc-copilot-bridge eval "$(claude-switch --shell-config)" Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 836f478 commit 20d2dd2

10 files changed

Lines changed: 99 additions & 89 deletions

.github/workflows/build-packages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ jobs:
163163
### Homebrew (macOS/Linux)
164164
```bash
165165
brew tap FlorianBruniaux/tap
166-
brew install claude-switch
166+
brew install cc-copilot-bridge
167167
eval "$(claude-switch --shell-config)"
168168
```
169169

CHANGELOG.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
## [Unreleased]
99

1010
### Added
11+
- **Automated Homebrew Tap Sync**: GitHub Actions now auto-syncs Formula to `FlorianBruniaux/homebrew-tap` on release
12+
- **Daily Tap Sync Verification**: New workflow `.github/workflows/verify-tap-sync.yml` checks tap is in sync daily
1113
- Documentation: MLX vs GGUF note in Ollama sections (CLAUDE.md, README.md) - explains performance trade-offs on Apple Silicon
1214

15+
### Changed
16+
- **Homebrew Package Renamed**: `claude-switch``cc-copilot-bridge` (matches repo name)
17+
- **Deterministic SHA256**: Release tarball created explicitly, SHA256 computed from actual release asset
18+
- **Formula URL**: Now points to release asset instead of GitHub archive (prevents SHA256 mismatch)
19+
20+
### Fixed
21+
- **SHA256 Mismatch Bug**: `git archive` produced different tarball than GitHub, causing install failures
22+
1323
## [1.5.2] - 2026-01-24
1424

1525
### Added
1626

1727
**🎉 Package Managers Support** - Major installation overhaul per community feedback
1828

1929
- **Distribution Methods**:
20-
- Homebrew Formula (`Formula/claude-switch.rb`) for macOS/Linux
30+
- Homebrew Formula (`Formula/cc-copilot-bridge.rb`) for macOS/Linux
2131
- `.deb` package build for Debian/Ubuntu
2232
- `.rpm` package build for RHEL/Fedora/CentOS
2333
- GitHub Actions automated build pipeline (`.github/workflows/build-packages.yml`)
@@ -65,7 +75,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6575

6676
### Technical Details
6777

68-
- **Version**: 1.5.2 (in `claude-switch` and `Formula/claude-switch.rb`)
78+
- **Version**: 1.5.2 (in `claude-switch` and `Formula/cc-copilot-bridge.rb`)
6979
- **Homebrew Dependencies**: `netcat` (required), `ollama` (optional), `node` (optional)
7080
- **GitHub Actions**: Automatically computes SHA256, builds packages, creates releases
7181
- **SHA256**: Computed automatically for Homebrew Formula security
@@ -75,7 +85,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7585
**Homebrew** (recommended):
7686
```bash
7787
brew tap FlorianBruniaux/tap
78-
brew install claude-switch
88+
brew install cc-copilot-bridge
7989
eval "$(claude-switch --shell-config)"
8090
```
8191

@@ -104,7 +114,7 @@ rm ~/.claude/aliases.sh
104114

105115
# Install via Homebrew
106116
brew tap FlorianBruniaux/tap
107-
brew install claude-switch
117+
brew install cc-copilot-bridge
108118
echo 'eval "$(claude-switch --shell-config)"' >> ~/.zshrc
109119
source ~/.zshrc
110120
```

CLAUDE.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ ollama pull ibm/granite4:small-h
393393
**Homebrew (macOS/Linux)** :
394394
```bash
395395
brew tap FlorianBruniaux/tap
396-
brew install claude-switch
396+
brew install cc-copilot-bridge
397397
eval "$(claude-switch --shell-config)"
398398
```
399399
@@ -451,7 +451,7 @@ antigen bundle ~/.claude/aliases.sh
451451
1. Compute SHA256 pour Homebrew Formula
452452
2. Build package `.deb` (Debian/Ubuntu)
453453
3. Build package `.rpm` (RHEL/Fedora/CentOS)
454-
4. Update `Formula/claude-switch.rb` avec SHA256
454+
4. Update `Formula/cc-copilot-bridge.rb` avec SHA256
455455
5. Create GitHub Release
456456
6. Attach packages (.deb, .rpm, .rb) aux assets
457457
7. Commit Formula update dans le repo
@@ -463,13 +463,13 @@ antigen bundle ~/.claude/aliases.sh
463463
```
464464
FlorianBruniaux/homebrew-tap/
465465
├── Formula/
466-
│ └── claude-switch.rb # Homebrew formula
466+
│ └── cc-copilot-bridge.rb # Homebrew formula
467467
└── README.md
468468
```
469469
470470
**Convention** : Le repo `homebrew-tap` devient le tap `FlorianBruniaux/tap`
471471
472-
**Formula** : `Formula/claude-switch.rb` (Ruby)
472+
**Formula** : `Formula/cc-copilot-bridge.rb` (Ruby)
473473
- URL du tarball source (GitHub archive)
474474
- SHA256 checksum (sécurité)
475475
- Dépendances (`netcat`, optionnel: `ollama`, `node`)
@@ -481,7 +481,7 @@ FlorianBruniaux/homebrew-tap/
481481
```bash
482482
# 1. Update version
483483
vim claude-switch # Version: 1.5.3
484-
vim Formula/claude-switch.rb # version "1.5.3"
484+
vim Formula/cc-copilot-bridge.rb # version "1.5.3"
485485
486486
# 2. Commit & tag
487487
git add -A
@@ -497,8 +497,8 @@ git push origin v1.5.3
497497
498498
# 5. Update Homebrew tap
499499
cd ../homebrew-tap
500-
cp ../cc-copilot-bridge/Formula/claude-switch.rb Formula/
501-
git add Formula/claude-switch.rb
500+
cp ../cc-copilot-bridge/Formula/cc-copilot-bridge.rb Formula/
501+
git add Formula/cc-copilot-bridge.rb
502502
git commit -m "Update claude-switch to v1.5.3"
503503
git push
504504
@@ -521,7 +521,7 @@ brew upgrade claude-switch
521521
**Homebrew Formula** :
522522
```bash
523523
# Build from local formula
524-
brew install --build-from-source Formula/claude-switch.rb
524+
brew install --build-from-source Formula/cc-copilot-bridge.rb
525525
526526
# Verify
527527
claude-switch --version
@@ -558,7 +558,7 @@ wget https://github.com/FlorianBruniaux/cc-copilot-bridge/archive/refs/tags/v1.5
558558
sha256sum v1.5.2.tar.gz
559559
560560
# Update Formula
561-
sed -i 's/sha256 ".*"/sha256 "NEW_SHA"/' Formula/claude-switch.rb
561+
sed -i 's/sha256 ".*"/sha256 "NEW_SHA"/' Formula/cc-copilot-bridge.rb
562562
```
563563
564564
**Debian dependency issues** :

Formula/README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Cette Formula permet l'installation de `claude-switch` via Homebrew.
77
**Installation** :
88
```bash
99
brew tap FlorianBruniaux/tap
10-
brew install claude-switch
10+
brew install cc-copilot-bridge
1111
eval "$(claude-switch --shell-config)"
1212
```
1313

@@ -32,7 +32,7 @@ Le Homebrew tap se trouve dans un repo séparé : `FlorianBruniaux/homebrew-tap`
3232
```
3333
homebrew-tap/
3434
├── Formula/
35-
│ └── claude-switch.rb # Copié depuis cc-copilot-bridge/Formula/
35+
│ └── cc-copilot-bridge.rb # Copié depuis cc-copilot-bridge/Formula/
3636
└── README.md
3737
```
3838

@@ -44,15 +44,15 @@ homebrew-tap/
4444
2. GitHub Actions :
4545
- Compute SHA256 du tarball
4646
- Build packages (.deb, .rpm)
47-
- Update `Formula/claude-switch.rb` avec SHA256
47+
- Update `Formula/cc-copilot-bridge.rb` avec SHA256
4848
- Create GitHub Release
4949
- **Commit Formula update** dans `cc-copilot-bridge`
5050

5151
3. **Copie manuelle vers tap** :
5252
```bash
5353
cd ~/Sites/perso/homebrew-tap
54-
cp ../cc-copilot-bridge/Formula/claude-switch.rb Formula/
55-
git add Formula/claude-switch.rb
54+
cp ../cc-copilot-bridge/Formula/cc-copilot-bridge.rb Formula/
55+
git add Formula/cc-copilot-bridge.rb
5656
git commit -m "Update claude-switch to v1.5.3"
5757
git push
5858
```
@@ -63,7 +63,7 @@ homebrew-tap/
6363

6464
```bash
6565
# 1. Build from local formula
66-
brew install --build-from-source ./Formula/claude-switch.rb
66+
brew install --build-from-source ./Formula/cc-copilot-bridge.rb
6767

6868
# 2. Vérifier
6969
claude-switch --version
@@ -81,13 +81,13 @@ brew uninstall claude-switch
8181

8282
```bash
8383
# Linter Homebrew
84-
brew audit --strict ./Formula/claude-switch.rb
84+
brew audit --strict ./Formula/cc-copilot-bridge.rb
8585

8686
# Style check
87-
brew style ./Formula/claude-switch.rb
87+
brew style ./Formula/cc-copilot-bridge.rb
8888

8989
# Test installation
90-
brew install --build-from-source ./Formula/claude-switch.rb
90+
brew install --build-from-source ./Formula/cc-copilot-bridge.rb
9191
brew test claude-switch
9292
```
9393

@@ -127,10 +127,10 @@ wget https://github.com/FlorianBruniaux/cc-copilot-bridge/archive/refs/tags/v1.5
127127
NEW_SHA=$(sha256sum v1.5.2.tar.gz | awk '{print $1}')
128128

129129
# Update Formula
130-
sed -i "s/sha256 \".*\"/sha256 \"${NEW_SHA}\"/" Formula/claude-switch.rb
130+
sed -i "s/sha256 \".*\"/sha256 \"${NEW_SHA}\"/" Formula/cc-copilot-bridge.rb
131131

132132
# Commit et push
133-
git add Formula/claude-switch.rb
133+
git add Formula/cc-copilot-bridge.rb
134134
git commit -m "Fix SHA256 checksum for v1.5.2"
135135
git push
136136
```
@@ -159,7 +159,7 @@ brew install netcat
159159
**Solution** :
160160
```bash
161161
brew uninstall claude-switch
162-
brew install claude-switch
162+
brew install cc-copilot-bridge
163163
```
164164

165165
### Ressources

QUICKSTART.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
```bash
2828
brew tap FlorianBruniaux/tap
29-
brew install claude-switch
29+
brew install cc-copilot-bridge
3030
eval "$(claude-switch --shell-config)"
3131
```
3232

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ A **multi-provider router** for Claude Code CLI that lets you switch between AI
6969

7070
```bash
7171
brew tap FlorianBruniaux/tap
72-
brew install claude-switch
72+
brew install cc-copilot-bridge
7373
eval "$(claude-switch --shell-config)"
7474
```
7575

0 commit comments

Comments
 (0)