一键导入
release
// Determine the next version, update the marketing site, and run the full release pipeline.
// Determine the next version, update the marketing site, and run the full release pipeline.
| name | release |
| description | Determine the next version, update the marketing site, and run the full release pipeline. |
Cut a new release of Chops. Determines the version from git history, updates the marketing site, and runs the release script.
.env exists in the project root. If it does not, stop and tell the user:
"Missing .env file. Copy .env.example to .env and fill in APPLE_TEAM_ID, APPLE_ID, and SIGNING_IDENTITY_NAME."AC_PASSWORD works:
xcrun notarytool history --keychain-profile "AC_PASSWORD" >/dev/null 2>&1
If it fails, stop and tell the user to run:
xcrun notarytool store-credentials "AC_PASSWORD" --apple-id "<APPLE_ID>" --team-id "<TEAM_ID>" --password "<app-specific-password>"
git status --porcelain). If there are uncommitted changes, stop and tell the user to commit or stash first.main branch. If not, stop and tell the user to switch to main first.git tag -l 'v*' | sort -V | tail -1
git log <latest_tag>..HEAD --oneline --format='%s'
feat: or feat( → minor bump (e.g. 1.1.0 → 1.2.0)fix:, chore:, docs:, or similar → patch bump (e.g. 1.1.0 → 1.1.1)BREAKING CHANGE or uses a !: suffix → ask the user what version to usemcp__conductor__AskUserQuestion to ask:
Always confirm the version before proceeding. Use mcp__conductor__AskUserQuestion:
If the user picks "Use a different version", ask them for the version number. If they pick "Cancel", stop.
CHANGELOG.md has an ## [Unreleased] section with content (bullet points).## [Unreleased] section is empty or missing, draft entries from commits since the last tag:
mcp__conductor__AskUserQuestion.## [Unreleased] to ## [VERSION] - YYYY-MM-DD (today's date).## [Unreleased] section above it.site/src/pages/index.astro. Find the line containing class="requires" and replace it with:
<p class="requires">v<VERSION> · Requires macOS Sequoia</p>
where <VERSION> is the confirmed version.git add site/src/pages/index.astro CHANGELOG.md
git commit -m "chore: update site version to v<VERSION>"
git push
./scripts/release.sh <VERSION>
This handles: xcodegen → archive → export → DMG → notarize → staple → git tag → appcast → push → GitHub Release.
Let it run to completion. If it fails, report the error output to the user and stop. Do NOT retry automatically.
Ensure all commits are on the remote:
git push
Tell the user:
https://github.com/Shpigford/chops/releases/tag/v<VERSION>npm run build from site/).env is missing or the working tree is dirty