with one click
release
// Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.
// Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.
| name | release |
| description | Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow. |
Your job is to guide the user through a full release for this project. A release includes preparing the code (version bumps, README documentation, changelog), creating an annotated git tag with a v prefix (e.g. v1.5.0), pushing it to trigger the GoReleaser GitHub Actions workflow, setting release notes, and linking the GHCR Docker image.
git tag -a), never a lightweight tag.vMAJOR.MINOR.PATCH following Semantic Versioning.Gather context
git status).git tag --sort=-v:refname) to determine the next version.Ask the user
Categorize commits into Keep a Changelog sections:
Added โ new features and capabilities.Changed โ changes to existing functionality.Deprecated โ features marked for removal.Removed โ features that were removed.Fixed โ bug fixes.Security โ vulnerability fixes.docs:, test:, ci:, or merge commits.Bump version strings
go test ./cmd/ -run TestVersion -count=1 to verify the bump is consistent.Update README.md
Update CHANGELOG.md
# Changelog header.[1.0.0]: https://github.com/jrswab/axe/releases/tag/v1.0.0[1.1.0]: https://github.com/jrswab/axe/compare/v1.0.0...v1.1.0Commit and push prep changes
Update changelog and version for vX.Y.ZVerify
go build . to confirm the binary compiles.go test ./cmd/ -run TestVersion -count=1 at minimum.Ask user to confirm tag creation
Create the annotated tag on the prep commit.
Push the tag to origin only after the user confirms. The v* tag push triggers the GoReleaser workflow which builds binaries and creates the GitHub release.
Set release notes via gh
CHANGELOG.md โ everything between the ## [X.Y.Z] heading and the next ## heading, excluding the heading itself and trailing blank lines.## Docker
```bash
docker pull ghcr.io/jrswab/axe:X.Y.Z
```
See the [GHCR package page](https://github.com/jrswab/axe/pkgs/container/axe) for all available tags.
gh release view vX.Y.Z every 10 seconds (up to 120 seconds) until the GoReleaser workflow creates the release.gh release edit vX.Y.Z --notes-file <tmp-file> to set the release description..goreleaser.yml (auto-changelog is disabled).github/workflows/release.yml (builds binaries and Docker image; do NOT rely on it for release notes)CHANGELOG.mdcmd/root.go โ const Version (source of truth)internal/mcpclient/mcpclient.go โ hardcoded Version: in mcp.NewClient callcmd/version_test.go โ test assertions for the version stringdocker pull ghcr.io/jrswab/axe:<version>X.Y.Z, X.Y, X, latest (on default branch)