-
Notifications
You must be signed in to change notification settings - Fork 7
Add /prerelease slash command #293
Description
Problem
There is no /prerelease slash command for this repo. The release process
(determining the next version and club codename, preparing the release
branch, updating CHANGELOG.md, tagging) is done manually and is
error-prone.
Additionally, step 1 of /precommit currently reads:
"Remind me to update
CHANGELOG.md[Unreleased]section (Added /
Changed / Fixed / Removed) — I must do this manually."
The agent should handle this step, not defer it to the user.
Proposed Solution
-
Update step 1 of
.claude/commands/precommit.mdto:Update
CHANGELOG.md[Unreleased]section — add an entry under the
appropriate subsection (Added / Changed / Fixed / Removed) describing
the changes made, referencing the issue number. -
Add
.claude/commands/prerelease.mdimplementing a three-phase
pre-release checklist:- Phase 1 — Determine next release: verify clean
master, read the
historic football club naming convention fromCHANGELOG.md(A–Z table),
rungit tag --sort=-v:refname, infer the version bump from
[Unreleased], and present a summary for confirmation before proceeding. - Phase 2 — Prepare release branch: create
release/vX.Y.Z-{club},
move[Unreleased]content into a versioned heading, propose the
docs(changelog)commit, then run/precommitand open a PR — all with
explicit confirmation at each step. - Phase 3 — Tag and release: wait for CI, CodeRabbit, and merge
confirmation; pullmaster; propose the annotated tag; push only after
explicit approval.
- Phase 1 — Determine next release: verify clean
Acceptance Criteria
- Step 1 of
/precommitupdatesCHANGELOG.mdautomatically, referencing
the issue number /prereleaseis available and follows the propose-before-acting workflow- Correctly reads the club naming convention from
CHANGELOG.md - Infers the correct version bump from
[Unreleased]content