Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions .claude/commands/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,19 @@ Usage:
1. Confirm the current branch is `develop` and is up to date with `origin/develop`.
2. Read CHANGELOG.md to find the version being prepared (the top-most `## X.Y.Z` entry).
3. List existing tags to determine the next RC number (e.g. if `0.13.0-rc1` exists, use `rc2`).
4. Run `poetry run pytest tests` — do not tag if tests fail.
4. Run `poetry run pytest tests` and check that CI on `develop` HEAD is green (`gh run list --branch develop --limit 3`) — do not tag if either fails.
5. Tag `develop` HEAD as `<version>-rc<N>` and push the tag.
6. Report the tag name and the `git log --oneline <prev-tag>..HEAD` summary.
6. Create the GitHub pre-release with generated notes:
`gh release create <tag> --verify-tag --prerelease --title <tag> --generate-notes --notes-start-tag <prev-tag>`
7. Report the tag name, the release URL and the `git log --oneline <prev-tag>..HEAD` summary. Mention that the "build dev images" run was started by the tag.

## Stable release (`/release stable`)

1. Confirm CHANGELOG.md has a section for the version being released.
2. Open a PR from `develop` → `main` titled `chore: release <version>`.
3. After the user confirms the PR is merged, tag `main` HEAD as `<version>` and push.
4. Report the tag and the GitHub release URL.
4. Create the GitHub release with generated notes, starting from the previous stable tag (not an RC) so the notes cover the whole release:
`gh release create <version> --verify-tag --latest --title <version> --generate-notes --notes-start-tag <prev-stable-tag>`
5. Report the tag and the GitHub release URL.

**RC tags always go on `develop`. Stable tags always go on `main`.**
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
3. Tag `develop` as `<version>-rc<N>` (e.g. `0.13.0-rc1`) and push the tag — **RC tags live on `develop`, not `main`**.
4. After the RC is validated, open a PR from `develop` → `main` and merge it.
5. Tag the resulting `main` commit as the final release (e.g. `0.13.0`) and push the tag.
6. Create a GitHub release for every tag, RC or final, with generated notes (`gh release create <tag> --verify-tag --generate-notes`). Add `--prerelease` for RCs and `--latest` for the final release. `/release` does this.

## Commands

Expand Down
Loading