Update the mz-deploy tap to a new release
Bump Formula/mz-deploy.rb to a new version: set the version field and refresh
the sha256 for every platform tarball. The version is provided by the user as an
argument (e.g. 0.2.0); a leading v is fine and gets stripped.
Why a script does the heavy lifting: the only error-prone part is fetching each platform's tarball and computing its checksum without accidentally checksumming a 404 page. The bundled script handles that deterministically and verifies each download is a real gzip tarball before writing anything.
Steps
Get the version. Use the version the user gave. If they didn't give one, ask — do not guess or auto-discover it.
Run the script from the repo root:
python3 .claude/skills/update-mz-deploy/scripts/update_formula.py <version>It reads each
urlline in the formula, substitutes the version, downloads the tarball, verifies it's a gzip archive, computes its sha256, and rewrites theversionline and allsha256lines in place. If any download fails or isn't a real tarball, it aborts without modifying the formula — relay that error to the user rather than hand-editing checksums, since a wrong sha256 silently breaks every install.Show the diff so the user can review:
git diff Formula/mz-deploy.rbExpect exactly the
versionline plus eachsha256line to change.Audit if available (optional but cheap reassurance):
brew audit --strict --formula ./Formula/mz-deploy.rbStop and report. This skill edits files only. Tell the user the version is bumped and the checksums refreshed, and leave committing / branching / opening the PR to them (per
CONTRIBUTING.md, PRs go againstmaster).
Notes
mz-deploy.rbships macOS arm64 + Linux x86_64 + Linux arm64 — there is deliberately no macOS-intel build. The script derives platforms from whateverurllines exist in the formula, so it stays correct if that set ever changes.- This skill is scoped to
mz-deployonly. Themzformula uses a different version idiom (aVERSIONRuby constant) and is out of scope here.