version-release
Version release workflow — release process and GitHub Release notes (not docs/changelog pages).
Security Assessment
About version-release
version-release documents the LobeHub version release workflow — the release branch/PR process, CI trigger rules, and GitHub Release note authoring. It solves the problem of running a consistent, automation-friendly release: development happens on the canary branch, which is merged into main, after which the auto-tag-release.yml workflow handles tagging, version bumping, GitHub Release creation, and syncing main back to canary. The skill acts as a router that delegates detailed steps to reference files. It is explicitly scoped away from writing website changelog pages (docs/changelog/*.mdx), which are handled by a separate docs-changelog skill.
It covers two practical release types — minor (feature iteration, ~every 4 weeks, strict PR title 'release: v{x.y.0}') and patch (weekly/hotfix/model/DB-migration, auto patch +1) — and documents the exact auto-release trigger priority: exact-version minor titles, branch-name matches (hotfix/*, release/*) or title-prefix matches for patch, and non-triggering prefixes (docs, chore, ci, test). Hard rules forbid manually editing package.json versions or creating tags (CI owns both). A strong theme is factual accuracy of release notes: PR numbers, compare bases, metrics, and contributor handles must all be derived from git and gh commands (git describe, git log, gh pr view) rather than memory, with a mandatory pre-publish verification step diffing body PR refs against the canonical computed set to prevent hallucinated references.
It targets LobeHub maintainers and release managers producing releases and GitHub Release notes. The commands it uses are standard, read-oriented git and gh operations for computing release facts.
FAQ
What is the branch and release flow?
Development happens on canary; releasing merges canary into main, after which auto-tag-release.yml automatically tags, bumps the version, creates a GitHub Release, and syncs main back to canary.
What triggers an automatic release?
A minor PR title 'release: v{x.y.z}' releases that exact version; patch releases trigger on hotfix/* or release/* branch names or on title prefixes like style, feat, fix, refactor, hotfix, or build. Prefixes like docs, chore, ci, and test do not trigger a release.
Should I edit package.json or create tags manually?
No. Hard rules state CI handles version bumps and tag creation; you must not edit the package.json version or create tags manually.
How does it prevent wrong PR numbers in release notes?
Every (#XXXX) reference and metric must be derived from git (git describe for the compare base, git log for PR refs and counts, gh pr view for author handles), and a mandatory pre-publish step diffs the body's PR refs against the canonical computed set — never from memory.
Does this skill write the website changelog?
No. It is scoped to the release process, CI trigger constraints, and GitHub Release notes; website changelog pages (docs/changelog/*.mdx) are handled by a separate docs-changelog skill.
All Files
8 filesInstall version-release
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
lobehub/lobehub