Point Homebrew instructions at the v4 cask - #191
Conversation
v4.0.0 published Casks/fizzy.rb and fizzy.json to basecamp/homebrew-tap, so the cask is now the primary Homebrew install path. The previous text told new users to install the 3.x formula from robzolkos/fizzy-cli, which breaks once that tap's formula is removed in favour of tap_migrations.json. It also gated the cask command behind a warning that it was not usable until 4 stable shipped, which it now is. Adds the manual upgrade path for 3.x users, since Homebrew will not tap a third-party tap without explicit trust and most users will land on the manual route rather than the automatic migration.
There was a problem hiding this comment.
Pull request overview
Updates the README’s installation instructions to reflect Fizzy v4’s new Homebrew distribution via the basecamp/tap cask, and adds guidance for existing 3.x Homebrew users to migrate safely.
Changes:
- Makes
brew install --cask basecamp/tap/fizzythe primary Homebrew install path (macOS + Linux). - Replaces the stale RC/stable messaging with an explicit note that RCs are only available via GitHub Releases.
- Documents a manual migration path for users coming from the old
robzolkos/fizzy-cliformula.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Installing a cask by fully-qualified name records trust automatically (brew prints "Trusted cask basecamp/tap/fizzy" and writes it to trust.json), so the explicit brew trust line was a no-op. The previous explanation also conflated two things: Homebrew declining to auto-tap a third-party tap during migration, and trust being required for a manual fully-qualified install. Only the former is true.
Installing a cask by fully-qualified name records trust automatically, so the explicit brew trust line was a no-op. Homebrew still suggests it in the migration output, hence the note. Matches basecamp/fizzy-cli#191.
There was a problem hiding this comment.
1 issue found and verified against the latest diff
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="README.md">
<violation number="1" location="README.md:59">
P3: This sentence is written as a guaranteed migration path, but migration depends on local tap/trust state. Using unconditional wording here can leave stale or inaccurate upgrade guidance; consider phrasing it conditionally (for example, "may offer to migrate you") and avoid asserting the tap’s current state as always true.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| Fizzy 4 release candidates are available from [Releases](https://github.com/basecamp/fizzy-cli/releases). | ||
| Release candidates are not published to Homebrew. They are available from [Releases](https://github.com/basecamp/fizzy-cli/releases). | ||
|
|
||
| *Upgrading from Fizzy 3.x:* 3.x was distributed as the `fizzy-cli` formula from the `robzolkos/fizzy-cli` tap. That tap now points at this cask, so `brew update` will offer to move you across. If Homebrew reports that it cannot tap `basecamp/tap` automatically, finish the move yourself: |
There was a problem hiding this comment.
P3: This sentence is written as a guaranteed migration path, but migration depends on local tap/trust state. Using unconditional wording here can leave stale or inaccurate upgrade guidance; consider phrasing it conditionally (for example, "may offer to migrate you") and avoid asserting the tap’s current state as always true.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At README.md, line 59:
<comment>This sentence is written as a guaranteed migration path, but migration depends on local tap/trust state. Using unconditional wording here can leave stale or inaccurate upgrade guidance; consider phrasing it conditionally (for example, "may offer to migrate you") and avoid asserting the tap’s current state as always true.</comment>
<file context>
@@ -48,22 +48,25 @@ Use `fizzy doctor` any time you want a full health check of your install, config
-Fizzy 4 release candidates are available from [Releases](https://github.com/basecamp/fizzy-cli/releases).
+Release candidates are not published to Homebrew. They are available from [Releases](https://github.com/basecamp/fizzy-cli/releases).
+
+*Upgrading from Fizzy 3.x:* 3.x was distributed as the `fizzy-cli` formula from the `robzolkos/fizzy-cli` tap. That tap now points at this cask, so `brew update` will offer to move you across. If Homebrew reports that it cannot tap `basecamp/tap` automatically, finish the move yourself:
+
+```bash
</file context>
| *Upgrading from Fizzy 3.x:* 3.x was distributed as the `fizzy-cli` formula from the `robzolkos/fizzy-cli` tap. That tap now points at this cask, so `brew update` will offer to move you across. If Homebrew reports that it cannot tap `basecamp/tap` automatically, finish the move yourself: | |
| *Upgrading from Fizzy 3.x:* 3.x was distributed as the `fizzy-cli` formula from the `robzolkos/fizzy-cli` tap. If your setup is eligible for migration, `brew update` may offer to move you across. If Homebrew reports that it cannot tap `basecamp/tap` automatically, finish the move yourself: |
|
Resolved in #194 |
v4.0.0 published
Casks/fizzy.rbandfizzy.jsontobasecamp/homebrew-tap, so the README's Homebrew section is now out of date in a way that will break.The problem
README.mdcurrently tells new users:That command breaks as soon as robzolkos/homebrew-fizzy-cli#2 lands, which removes
Formula/fizzy-cli.rbin favour oftap_migrations.json. Two more stale bits:[!WARNING]saying it's "for Fizzy 4 stable once it is released" — it is released, so the warning now reads as don't use thisChanges
brew install --cask basecamp/tap/fizzybecomes the primary Homebrew instructionon_linuxblocks for amd64/arm64Scoop section left as-is — it was previously broken (no manifest in the tap), and v4.0.0 published
fizzy.json, so it is now correct.Why the manual upgrade path is documented
The tap migration is not silent for most users. Homebrew's
migrate_tap_migrationonly auto-migrates whenbasecamp/tapis already tapped locally. Otherwise it hits the untrusted-tap gate and prints commands rather than running them, because Homebrew will not tap a third-party tap without explicitbrew trust. Users who already havebasecamp/tap(basecamp-cli users) get the automaticunlink→cleanup→install --caskpath.Merge order
Merge this before robzolkos/homebrew-fizzy-cli#2. This PR is safe now — it documents a cask that already exists and is verified installable. Merging the tap PR first leaves a window where the README hands people a deleted formula.
One sentence here ("that tap now points at this cask") is slightly ahead of reality until #2 lands. It degrades gracefully: the manual commands below it work today regardless.
Verification
Casks/fizzy.rbpresent inbasecamp/homebrew-tap, tokenfizzy, version4.0.0fizzy_4.0.0_darwin_arm64.tar.gzmatches the release asset exactlyfizzyat root,completions/fizzy.{bash,zsh,fish}Summary by cubic
Update README to install Fizzy 4 via the
basecamp/tapcask:brew install --cask basecamp/tap/fizzy. Removes stale 3.x formula guidance, notes macOS and Linux support, and clarifies RCs are only on Releases.fizzy-cliformula fromrobzolkos/fizzy-cli; the tap now points to the cask andbrew updatemay offer migration. If auto-migration is blocked, run:brew tap basecamp/tap,brew install --cask basecamp/tap/fizzy,brew uninstall --formula --force fizzy-cli,brew untap robzolkos/fizzy-cli. Installing by fully-qualified name auto-trusts the cask; nobrew trustneeded.Written for commit 8ad8c34. Summary will update on new commits.