When the user says "prepare a release", "bump the version", "publish", "cut a release", or asks about versioning.
Instructions
Determine version bump:
Patch (0.1.0 → 0.1.1): Bug fixes, no API changes
Minor (0.1.0 → 0.2.0): New features, backward-compatible
Major (0.1.0 → 1.0.0): Breaking changes
Pre-1.0: minor = breaking, patch = features+fixes
Pre-release checklist:
All tests pass on the main branch
No uncommitted changes
Dependencies are up to date
CHANGELOG or release notes drafted
Prepare the changelog:
Group changes: Added, Changed, Fixed, Removed
Reference issue/PR numbers
Note breaking changes prominently
Bump version in all relevant files (Cargo.toml, pyproject.toml, package.json, etc.)
Commit and tag:
Commit message:
chore: bump version to vX.Y.Z
Tag:
vX.Y.Z
Publish according to the project's distribution channel
Examples
User: "Let's release — we fixed two bugs and added a feature"
Agent: Recommends a minor bump (new feature), drafts changelog entries, updates version files, creates the tagged commit.