| name | release |
| description | Create a new version tag and generate release notes |
| argument-hint | [version e.g. v1.0.0] |
Release
Create a new release tag for the project.
Prerequisites
- Must be on
main branch with latest changes pulled
- If on a dev branch, remind the user to merge first
Steps
- Check current branch (
git branch)
- If not on main:
git checkout main && git pull
- If on main:
git pull to get latest
- Check latest tag:
git tag --sort=-v:refname | head -5
- Determine version: use
$ARGUMENTS if provided, otherwise increment from latest tag
- Create annotated tag:
git tag -a vX.Y.Z -m "vX.Y.Z - short description"
- Push tag:
git push origin vX.Y.Z
- Sync dev with main:
git checkout dev && git merge main && git push
- Generate release notes for GitHub (see format below)
Release Notes Format
## vX.Y.Z — Title
### Feature Group 1
- **Feature name** — description
### Feature Group 2
- **Feature name** — description
### Bug Fixes
- **Fix description** — details
**Full changelog:** vPREVIOUS...vX.Y.Z
Rules:
- No tables (they don't copy well to GitHub release UI)
- Group changes by feature area
- Bold the feature names
- Include the full changelog link at the bottom