What I do
- •Determine the next version based on conventional commit history
- •Draft release notes from merged PRs and commits
- •Provide a copy-pasteable
gh release createcommand - •Follow semantic versioning (semver) conventions
When to use me
Use this skill when preparing a tagged release. It helps ensure consistent versioning and comprehensive changelogs.
Versioning Rules
Follow semantic versioning (MAJOR.MINOR.PATCH):
- •
MAJOR version bump when:
- •A commit message contains
BREAKING CHANGE:in the body - •A commit type has
!suffix (e.g.,feat!: remove API)
- •A commit message contains
- •
MINOR version bump when:
- •Commits include
feat:orfeature:types
- •Commits include
- •
PATCH version bump when:
- •Commits include
fix:,perf:, ordocs:types - •No feat or breaking changes present
- •Commits include
Release Notes Format
Structure release notes as:
markdown
## What's Changed ### Breaking Changes - Description of breaking change (#PR) ### New Features - feat: description (#PR) ### Bug Fixes - fix: description (#PR) ### Other Changes - chore/refactor/docs: description (#PR) **Full Changelog**: https://github.com/owner/repo/compare/v0.1.0...v0.2.0
Workflow
- •Run
gh release list --limit 1to find the latest release tag - •Run
git log <last-tag>..HEAD --onelineto see commits since last release - •Categorize commits by type (feat, fix, chore, etc.)
- •Determine version bump based on commit types
- •Generate release notes in the format above
- •Present to user for review
- •Create the release with
gh release create
Pre-release Conventions
- •Use
-alpha.N,-beta.N, or-rc.Nsuffixes for pre-releases - •Mark pre-releases with the
--prereleaseflag - •Example:
v1.0.0-beta.1,v2.0.0-rc.1