release-workflow
SKILL.md
Release Workflow
Project-specific release conventions for lunar-claude. For the interactive
release workflow, use the /generate-changelog command from the git-workflow
plugin.
Current Release State
- Latest tag: !
git describe --tags --abbrev=0 2>/dev/null || echo "No tags yet" - Marketplace version: !
jq -r '.metadata.version' .claude-plugin/marketplace.json - Unreleased commits: !
git log --oneline $(git describe --tags --abbrev=0 2>/dev/null)..HEAD 2>/dev/null | wc -l | tr -d ' '
Version Scheme
- Semantic versioning:
MAJOR.MINOR.PATCH - Tag format:
v0.x.y(prefixed withv) - Marketplace and plugin manifests track versions independently
Version Bump Decision
| Commit types present | Bump level |
|---|---|
BREAKING CHANGE: in footer or ! after type |
Major |
feat: (new features) |
Minor |
fix:, docs:, refactor:, perf:, test:, chore: only |
Patch |
Commit โ Changelog Group Mapping
git-cliff (cliff.toml) maps conventional commits to changelog groups:
| Commit prefix | Changelog group |
|---|---|
feat |
๐ Features |
fix |
๐ Bug Fixes |
refactor |
๐ Refactor |
doc |
๐ Documentation |
perf |
โก Performance |
style |
๐จ Styling |
test |
๐งช Testing |
chore, ci |
โ๏ธ Miscellaneous Tasks |
| body contains "security" | ๐ก๏ธ Security |
revert |
โ๏ธ Revert |
Auto-Skipped Commits
These are filtered out of the changelog automatically:
chore(release): prepare forโ release prep commitschore(deps*)โ dependency updates (Renovate/Dependabot)chore(pr)/chore(pull)โ PR merge housekeeping
Files to Update on Release
- CHANGELOG.md โ Generated by
git-cliff --tag vX.Y.Z -o CHANGELOG.md .claude-plugin/marketplace.jsonโ Updatemetadata.version- Plugin manifests โ Update
versionin each changed plugin'splugins/<cat>/<name>/.claude-plugin/plugin.json(only if that plugin changed)
Release Commit & Tag
$ git add CHANGELOG.md .claude-plugin/marketplace.json
$ git commit -m "docs: update changelog for vX.Y.Z"
$ git tag -a vX.Y.Z -m "Release vX.Y.Z"
$ git push && git push --tags
GitHub Actions (release.yml) automatically creates the GitHub release from
the tag, generating release notes via git-cliff.
Gotchas
- Push tags separately:
git pushdoes not push tags โ always follow withgit push --tags - Marketplace version: Easy to forget updating
.claude-plugin/marketplace.jsonalongside CHANGELOG.md - Plugin versions are independent: Only bump a plugin's version if that plugin had changes โ not every release bumps every plugin
- Pre-release tags: Tags containing
rc,beta, oralphaare marked as pre-release in GitHub automatically - Dependency commits vanish: Renovate/Dependabot commits are auto-skipped in the changelog โ this is intentional, not a bug
Weekly Installs
7
Repository
basher83/lunar-claudeGitHub Stars
14
First Seen
Feb 25, 2026
Security Audits
Installed on
opencode7
gemini-cli7
github-copilot7
codex7
kimi-cli7
amp7