Problem
There is no /pre-release 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 /pre-commit 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. A CodeRabbit review step is also missing from the pre-commit flow.
Proposed Solution
-
Rename .claude/commands/precommit.md to .claude/commands/pre-commit.md.
-
Update step 1 of .claude/commands/pre-commit.md to:
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 a CodeRabbit review step to .claude/commands/pre-commit.md after all checks pass: run coderabbit review --type uncommitted --prompt-only.
- If actionable/serious findings are reported, stop and address them before proposing the commit.
- If only nitpick-level findings, report them and continue to the commit proposal.
- Skip gracefully with a note if the CodeRabbit CLI is not installed.
-
Add .claude/commands/pre-release.md implementing a three-phase pre-release checklist:
- Phase 1 — Determine next release: verify clean
master, read the historic football club naming convention from CHANGELOG.md (A–Z table), run git 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 /pre-commit and open a PR — all with explicit confirmation at each step.
- Phase 3 — Tag and release: wait for CI green and PR merged into
master; pull master; propose the annotated tag; push only after explicit approval.
Acceptance Criteria
.claude/commands/precommit.md renamed to pre-commit.md
- Step 1 of
/pre-commit updates CHANGELOG.md automatically, referencing the issue number
/pre-commit runs coderabbit review --type uncommitted --prompt-only after checks pass; blocks on serious findings, continues on nitpicks
/pre-release is 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
Problem
There is no
/pre-releaseslash command for this repo. The release process (determining the next version and club codename, preparing the release branch, updatingCHANGELOG.md, tagging) is done manually and is error-prone.Additionally, step 1 of
/pre-commitcurrently reads:The agent should handle this step, not defer it to the user. A CodeRabbit review step is also missing from the pre-commit flow.
Proposed Solution
Rename
.claude/commands/precommit.mdto.claude/commands/pre-commit.md.Update step 1 of
.claude/commands/pre-commit.mdto:Add a CodeRabbit review step to
.claude/commands/pre-commit.mdafter all checks pass: runcoderabbit review --type uncommitted --prompt-only.Add
.claude/commands/pre-release.mdimplementing a three-phase pre-release checklist: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.release/vX.Y.Z-{club}, move[Unreleased]content into a versioned heading, propose thedocs(changelog)commit, then run/pre-commitand open a PR — all with explicit confirmation at each step.master; pullmaster; propose the annotated tag; push only after explicit approval.Acceptance Criteria
.claude/commands/precommit.mdrenamed topre-commit.md/pre-commitupdatesCHANGELOG.mdautomatically, referencing the issue number/pre-commitrunscoderabbit review --type uncommitted --prompt-onlyafter checks pass; blocks on serious findings, continues on nitpicks/pre-releaseis available and follows the propose-before-acting workflowCHANGELOG.md[Unreleased]content