From cd2bfb6978fa911cc633aa4cd2fa452aed0c251b Mon Sep 17 00:00:00 2001 From: Ryan Hamamura <58859899+ryanhamamura@users.noreply.github.com> Date: Fri, 13 Feb 2026 18:05:24 -1000 Subject: [PATCH] feat: add /release claude command for automated releases --- .claude/commands/release.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .claude/commands/release.md diff --git a/.claude/commands/release.md b/.claude/commands/release.md new file mode 100644 index 0000000..ed6952a --- /dev/null +++ b/.claude/commands/release.md @@ -0,0 +1,14 @@ +Create a new release for this project. Steps: + +1. Fetch tags from all remotes so the version list is current. +2. Check for uncommitted changes. If any exist, commit them with a clean semantic commit message. No Claude attribution lines. +3. Review the commits since the last tag. Based on their content, recommend a semver bump: + - **major**: breaking/incompatible API changes + - **minor**: new features, meaningful new behavior + - **patch**: bug fixes, docs, refactoring with no new features + Present the proposed version, the bump rationale, and the commit list. Wait for user approval before continuing. +4. Tag the new version and push the tag + commits to all remotes (origin, gitea, etc.). +5. Generate release notes from the commits since the last tag, grouped by type (features, fixes, docs/refactoring). +6. Create a GitHub release using `gh release create`. +7. Create a Gitea release using `tea releases create` with the same notes. +8. Report both release URLs and confirm all remotes are up to date.