Skip to content
cccskills
FreePublished on GitHub

cmux-release

Prepare and troubleshoot cmux releases by collecting changelog entries, updating versions, checking release readiness, and publishing tags. Follow requirements for macOS disk images, signing, notarization, and update feeds that guide installed apps to new versions.

OriginalShow the original description

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

See how to install

Good for

  • Preparing a new cmux release
  • Collecting changelog entries from merged PRs
  • Troubleshooting a failed pre-tag check
  • Checking release assets and update feeds

Files included (4)

  • SKILL.md3.9 KB
  • agents/openai.yaml326 B
  • references/changelog-lines.jq4.9 KB
  • references/release-checklist.md2.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

cmux Release

Prefer the /release command. It determines the new version (minor by default), gathers the Changelog line from each PR merged since the last stable tag, updates CHANGELOG.md, runs ./scripts/bump-version.sh, commits, runs ./scripts/release-pretag-guard.sh, then tags and pushes.

Changelog source

Feature PRs don't edit CHANGELOG.md. Each PR description has a ## Changelog section with one user-facing line (Added, Changed, Fixed, or Removed, present tense) or none. At release time, /release step 2 fetches every PR merged since the last v* tag in one GraphQL query and classifies it with references/changelog-lines.jq:

  • a Changelog line becomes an entry, with the PR link and -- thanks @user! for authors and reporters outside the core team (lawrencecchen, austinywang, teamleaderleo) and bots;
  • none is skipped, and so is a PR undone by a revert later in the range (a reapply leaves it live);
  • a revert of a PR that shipped in an earlier release gets its own line and is flagged for the human; reverts within the range are skipped;
  • a PR with no section, or a line without an Added/Changed/Fixed/Removed prefix, is listed for the human to check.

The release then folds any leftover ## Unreleased entries into the new version section and removes that heading.

The docs changelog page at web/app/[locale]/(landing)/docs/changelog/page.tsx renders from CHANGELOG.md, so there is no separate docs changelog source to update.

Version bumping

./scripts/bump-version.sh          # minor (0.15.0 -> 0.16.0)
./scripts/bump-version.sh patch    # 0.15.0 -> 0.15.1
./scripts/bump-version.sh major    # 0.15.0 -> 1.0.0
./scripts/bump-version.sh 1.0.0    # explicit version

This updates MARKETING_VERSION and CURRENT_PROJECT_VERSION. The build number auto-increments and must increase for Sparkle auto-update to work. Bump the minor version unless explicitly asked otherwise.

Tagging

./scripts/release-pretag-guard.sh
git tag vX.Y.Z
git push origin vX.Y.Z
# Use the run ID created by the tag push; the shared waiter observes it without polling GitHub.
glaeda-gh wait run manaflow-ai/cmux/<run-id>

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

Release artifacts and secrets

  • The release assets are the universal cmux-macos.dmg and the thin cmux-macos-arm64.dmg and cmux-macos-x86_64.dmg, each with its own appcast. The README download button and the Homebrew cask point to the universal releases/latest/download/cmux-macos.dmg.
  • Installs read appcast.xml, which scripts/ci/compose_stable_appcast.py builds from all three items so each install moves onto its own architecture in one update. Thin installs then read appcast-arm64.xml or appcast-x86_64.xml from the latest release, so every stable release must publish both, and only the highest version may be marked latest. The local scripts/build-sign-upload.sh builds only the universal DMG and publishes it under both per-arch feeds.
  • Signing requires the GitHub secrets APPLE_CERTIFICATE_BASE64, APPLE_CERTIFICATE_PASSWORD and APPLE_SIGNING_IDENTITY. CI notarization authenticates with the team App Store Connect API key (ASC_API_KEY_ID, ASC_API_ISSUER_ID, ASC_API_KEY_P8_BASE64) through scripts/ci/lib/notary-auth.sh, which decodes the key to a mode-600 temp file that the caller deletes. The local scripts/build-sign-upload.sh still uses an Apple ID and app-specific password.

Detailed reference

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

cmux

FreeSummary

Organize cmux windows, workspaces, and split panes so an agent can target the right terminal reliably. Create terminals with startup commands, move or reorder panels, change focus, and flash a panel to identify it.

  • Arrange terminals for several tasks
  • Start a development command in a new split
  • Move or reorder panels
manaflow-ai/cmux28.3KUpdated Oct 18, 2026

Guide substantial Swift changes in cmux with rules for package boundaries, dependency direction, state management, concurrency, and API documentation. Structure code so public package types can be tested without launching the app.

  • Extracting a large app feature into Swift Packages
  • Reviewing dependencies between UI, domain models, and services
  • Restructuring state management and Swift 6 concurrency
manaflow-ai/cmux28.3KUpdated Oct 18, 2026

cmux-backend

FreeSummary

Guide cmux backend changes with consistent rules for Effect, a TypeScript library for structured error handling. Covers Cloud VM state, database migrations, provider integrations, and authentication and payment checks so changes follow the intended architecture.

  • Implementing API error handling
  • Updating Cloud VM lifecycle logic
  • Preparing database migrations
manaflow-ai/cmux28.3KUpdated Oct 18, 2026

cmux-billing

FreeSummary

Maintain cmux billing code with guidance on Stripe checkout, pricing, subscriptions, and access rights. It maps the relevant services and provides workflows for testing purchases, handling payment events, and rolling out billing changes.

  • Debugging checkout and subscription records
  • Updating prices and plan switching
  • Checking paid access and Cloud VM limits
manaflow-ai/cmux28.3KUpdated Oct 18, 2026

cmux-browser

FreeSummary

Automate browsing in cmux panels without taking focus away from current work. Target a specific panel to open pages, fill forms, click controls, wait for page changes, extract content, and inspect download history.

  • Open and inspect sites without changing focus
  • Fill forms and check the result
  • Extract page text or HTML
manaflow-ai/cmux28.3KUpdated Oct 18, 2026

cmux-capture

FreeSummary

Capture cmux windows as screenshots or video clips from the CLI. Create visual evidence for pull requests and bug reports, with region selection and captions to explain drags, animations, or layout changes.

  • Attaching screenshots of visual changes to a pull request
  • Recording drags and animations for a bug report
  • Capturing a specific window region with explanatory captions
manaflow-ai/cmux28.3KUpdated Oct 18, 2026

See all skills by manaflow-ai

Report a problem with this skill