PluginBench
Skill
Pass
Audit score 90

cmux-release

manaflow-ai/cmux

Manage cmux release workflow: version bumping, changelog updates, and release asset validation.

What is cmux-release?

Handles the complete cmux release process including version bumping, changelog generation, pre-release validation, and tag management. Use this when preparing a new release or troubleshooting release-related issues.

  • Automatically determines and bumps version numbers (minor by default, or patch/major/custom)
  • Updates CHANGELOG.md and syncs docs changelog from it
  • Runs pre-tag validation guard to catch issues before tagging
  • Creates and pushes release tags with proper naming (vX.Y.Z)
  • Manages build number auto-increment for Sparkle auto-update compatibility
  • Validates release assets (cmux-macos.dmg) are attached to tags

How to install cmux-release

npx skills add null --skill cmux-release
Prerequisites
  • GitHub repository access with push permissions
  • GitHub secrets configured: APPLE_CERTIFICATE_BASE64, APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, APPLE_TEAM_ID
  • Local scripts available: ./scripts/bump-version.sh, ./scripts/release-pretag-guard.sh
  • gh CLI installed for watching GitHub Actions runs
Claude Code
Cursor
Windsurf
Cline

How to use cmux-release

  1. 1.Run `/release` command to start the automated release workflow
  2. 2.Alternatively, manually run `./scripts/bump-version.sh` with desired version (patch/major/X.Y.Z)
  3. 3.Execute `./scripts/release-pretag-guard.sh` to validate before tagging
  4. 4.Create and push the tag: `git tag vX.Y.Z && git push origin vX.Y.Z`
  5. 5.Watch the GitHub Actions run with `gh run watch --repo manaflow-ai/cmux`
  6. 6.Verify cmux-macos.dmg is attached to the release tag

Use cases

Good for
  • Preparing a new minor or patch release with automated changelog generation
  • Bumping to a specific version number or major release
  • Running pre-release validation to catch configuration or build issues before tagging
  • Troubleshooting failed releases by re-running version bump and guard scripts
  • Verifying release assets are properly attached and accessible via releases/latest/download
Who it's for
  • Release managers for the cmux project
  • Developers preparing cmux releases
  • CI/CD pipeline maintainers troubleshooting release failures

cmux-release FAQ

What version should I bump by default?

Bump the minor version for standard updates unless explicitly asked to do a patch or major release.

What if the pre-tag guard script fails?

Run `./scripts/bump-version.sh` again to increment the build number, commit the change, then retry the guard script and tagging.

Where does the docs changelog come from?

The changelog is read from CHANGELOG.md and rendered by the docs page at web/app/docs/changelog/page.tsx.

What is the expected release asset?

The release asset is cmux-macos.dmg, which should be attached to the tag and accessible via releases/latest/download/cmux-macos.dmg.

What GitHub secrets are required?

You need APPLE_CERTIFICATE_BASE64, APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, and APPLE_TEAM_ID configured in GitHub.

Full instructions (SKILL.md)

Source of truth, from manaflow-ai/cmux.


name: cmux-release description: "cmux release workflow, version bumping, changelog updates, pretag guard, release tags, and release asset expectations. Use when preparing or troubleshooting a cmux release."

cmux Release

Use the /release command to prepare a new release. This will:

  1. Determine the new version (bumps minor by default)
  2. Gather commits since the last tag and update the changelog
  3. Update CHANGELOG.md (the docs changelog page at web/app/docs/changelog/page.tsx reads from it)
  4. Run ./scripts/bump-version.sh to update both versions
  5. Commit, run ./scripts/release-pretag-guard.sh, tag, and push

Version bumping

./scripts/bump-version.sh
./scripts/bump-version.sh patch
./scripts/bump-version.sh major
./scripts/bump-version.sh 1.0.0

This updates both MARKETING_VERSION and CURRENT_PROJECT_VERSION. The build number is auto-incremented and is required for Sparkle auto-update to work.

Before creating a release tag, run:

./scripts/release-pretag-guard.sh

If it fails, run ./scripts/bump-version.sh, commit the build-number bump, then retry tagging.

Manual release steps if not using the command:

./scripts/release-pretag-guard.sh
git tag vX.Y.Z
git push origin vX.Y.Z
gh run watch --repo manaflow-ai/cmux

Notes

  • Requires GitHub secrets: APPLE_CERTIFICATE_BASE64, APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, APPLE_TEAM_ID.
  • The release asset is cmux-macos.dmg attached to the tag.
  • README download button points to releases/latest/download/cmux-macos.dmg.
  • Bump the minor version for updates unless explicitly asked otherwise.
  • Update CHANGELOG.md; docs changelog is rendered from it.

Detailed reference

  • Read references/release-checklist.md for a more detailed release checklist and common failure handling.