ワンクリックで
release-branch
Use when preparing a release branch - version bump, CHANGELOG update, build verification, and commit. Stops after commit and asks user to merge the branch.
メニュー
Use when preparing a release branch - version bump, CHANGELOG update, build verification, and commit. Stops after commit and asks user to merge the branch.
Use after a release branch has been merged into main - fetches latest main, creates an annotated git tag, and pushes it to trigger the release workflow.
Use when performing a release to automate the full release flow - versioning, CHANGELOG update, git tagging, and deploy trigger via push.
| name | release-branch |
| description | Use when preparing a release branch - version bump, CHANGELOG update, build verification, and commit. Stops after commit and asks user to merge the branch. |
Prepares a release branch by bumping the version, updating CHANGELOG, verifying the build, and committing. Pauses after the commit and asks the user to merge the branch into main.
git checkout main && git pull -p
npm run test:all
Important: test:all can take up to 10 minutes to complete. Wait the full duration (up to 600 seconds / 10 minutes) before evaluating results. Do not time out early.
If tests fail, re-run once to check for flaky tests. If they fail consistently, abort the release and fix the issues first.
Inspect commits since the last tag to determine whether to bump MAJOR, MINOR, or PATCH.
# Get last tag
git describe --tags --abbrev=0
# List commits since last tag
git log <last-tag>..HEAD --oneline
Apply semantic versioning rules (from .claude/rules/versioning.md):
| Bump | When |
|---|---|
| MAJOR | Breaking changes (renamed/removed commands, incompatible config changes) |
| MINOR | New features, new commands, new options (backward-compatible) |
| PATCH | Bug fixes, docs, dependency updates |
git checkout -b release/v<NEW_VERSION>
# Choose one based on step 3:
npm version patch --no-git-tag-version
npm version minor --no-git-tag-version
npm version major --no-git-tag-version
Read the new version:
node -p "require('./package.json').version"
# Example output: 2.5.0
NEW_VERSION=<version>
Edit CHANGELOG.md:
## [Unreleased] to ## [<NEW_VERSION>] - <TODAY_DATE> (e.g., ## [2.5.0] - 2026-03-10)## [Unreleased] section at the top (empty)The format follows Keep a Changelog:
## [Unreleased]
## [2.5.0] - 2026-03-10
### Added
- ...
### Fixed
- ...
npm run build
git add package.json package-lock.json CHANGELOG.md
git commit -m "chore: release v<NEW_VERSION>"
git push -u origin HEAD
Then create a pull request:
/pull-request
Ask the user to merge the release branch into main, then wait for confirmation before proceeding:
"Please merge the release branch into main. Let me know when the merge is complete."
Pause and wait for the user to confirm that the merge is done before continuing.
Once the user confirms, suggest running /release-tag to complete the release.
--no-git-tag-version with npm version to prevent npm from creating its own commit/tag — we handle that manually for full control.## [Unreleased] section must always exist in CHANGELOG.md after release.