/release-local
Release straight from `main` with no PR, built and published locally.
$ npx -y skills add manaflow-ai/cmux --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/release-local
Context preview
What this command does when you run it.
Release straight from `main` with no PR, built and published locally.
Command definition
release-local.mdRelease Local
Release straight from `main` with no PR, built and published locally.
Follow [release.md](release.md) "Shared prep" (version, changelog, contributors, `./scripts/bump-version.sh`) and its changelog and contributor-credit rules. `skills/cmux-release/SKILL.md` covers the bump and tag mechanics.
Delta: no PR, tag on main, local build
1. **Commit on main.** Stage `CHANGELOG.md` and `cmux.xcodeproj/project.pbxproj`, commit `Bump version to X.Y.Z`.
2. **Guard, tag, push.**
./scripts/release-pretag-guard.sh
git tag vX.Y.Z
git push origin main && git push origin vX.Y.Z
If the guard fails, run `./scripts/bump-version.sh`, commit the build-number bump, and rerun the guard.
3. **Build, sign, notarize, upload.**
./scripts/build-sign-upload.sh vX.Y.Z
The script does GhosttyKit build, xcodebuild, Sparkle key injection, codesigning, notarization of app and DMG, appcast generation, GitHub release upload of `cmux-macos.dmg` and `appcast.xml`, homebrew cask update, cleanup, and `say "cmux release complete"` on success. Pass `--allow-overwrite` only to replace existing assets on the same tag during an emergency reroll. If it fails, run `say "cmux release failed"`.
4. **Verify and land the homebrew cask.**
bash tests/test_homebrew_sha.sh
git add homebrew-cmux && git commit -m "Update homebrew-cmux submodule to latest" && git push origin main
Read more
Release Local
Release straight from `main` with no PR, built and published locally.
Follow [release.md](release.md) "Shared prep" (version, changelog, contributors, `./scripts/bump-version.sh`) and its changelog and contributor-credit rules. `skills/cmux-release/SKILL.md` covers the bump and tag mechanics.
Delta: no PR, tag on main, local build
1. **Commit on main.** Stage `CHANGELOG.md` and `cmux.xcodeproj/project.pbxproj`, commit `Bump version to X.Y.Z`.
2. **Guard, tag, push.**
./scripts/release-pretag-guard.sh git tag vX.Y.Z git push origin main && git push origin vX.Y.Z
If the guard fails, run `./scripts/bump-version.sh`, commit the build-number bump, and rerun the guard.
3. **Build, sign, notarize, upload.**
./scripts/build-sign-upload.sh vX.Y.Z
The script does GhosttyKit build, xcodebuild, Sparkle key injection, codesigning, notarization of app and DMG, appcast generation, GitHub release upload of `cmux-macos.dmg` and `appcast.xml`, homebrew cask update, cleanup, and `say "cmux release complete"` on success. Pass `--allow-overwrite` only to replace existing assets on the same tag during an emergency reroll. If it fails, run `say "cmux release failed"`.
4. **Verify and land the homebrew cask.**
bash tests/test_homebrew_sha.sh git add homebrew-cmux && git commit -m "Update homebrew-cmux submodule to latest" && git push origin main
Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.
Repo: manaflow-ai/cmux
Other commands on cmux.
- /cleanup-builds
Reclaim disk taken by tagged dev artifacts from `./scripts/reload.sh --tag <tag>`. Each tagged build is multi-GB of DerivedData plus per-tag sockets and logs.
Open command - /pull
Pull latest main and update all submodules to their latest remote main. No commits, no pushes.
Open command - /release-nightly
Release through the PR flow, then build and publish locally instead of waiting on the CI release workflow.
Open command - /release
Ship a stable cmux release built by CI: bump version, update changelog, open a PR, merge, tag, then GitHub Actions builds, signs, and publishes.
Open command - /sync-branch
Get the current branch ready: update all submodules to their latest remote main, merge from main, and rebase.
Open command

