Release
Use this skill when the user asks to create a formal project release.
1. Review unreleased changes
- •Read
CHANGELOG.mdand collect all items under## [Unreleased]. - •Show those items to the user and ask for confirmation.
- •If Unreleased is empty, stop and report there is nothing to release.
2. Recommend version bump
- •Read latest released version from
CHANGELOG.md. - •Recommend
major,minor, orpatchbased on unreleased content. - •Explain reasoning and let user confirm or override target version.
3. Prepare release metadata
Use date format YYYY-MM-DD.
CHANGELOG.md
- •Rename
## [Unreleased]content block to## [<version>] - <date>. - •Insert a new empty
## [Unreleased]section above it. - •Preserve older release sections unchanged.
docs/TODO.md
- •Reflect completed work and release status changes for impacted phases only.
docs/SPEC.md
- •Update only if release includes spec-impacting changes.
- •If updated, align acceptance criteria and metadata fields.
Package versions
Set version in:
- •
issuer/package.json - •
verification/package.json
4. Verify quality gates
- •Run
npm testfrom repo root. - •If tests fail, stop and report failures before continuing.
5. Build and package artifacts
- •Build issuer:
cd issuer && npm run build. - •Build verification:
cd verification && npm run build. - •Create artifacts:
- •
zip -r issuer-v<version>.zip issuer/dist - •
zip -r verification-v<version>.zip verification/dist
- •
6. Commit release
- •Stage release files explicitly by name (no
git add -A/git add .). - •Ask user to choose commit alias:
- •
git cai - •
git ch
- •
- •Commit with message:
release: v<version>. - •Push branch.
7. Tag and publish
- •Create and push tag:
- •
git tag v<version> - •
git push --tags
- •
- •Create GitHub release with notes from changelog section and both zip files:
bash
gh release create v<version> \ --title "v<version>" \ --notes "<changelog entries for this version>" \ issuer-v<version>.zip \ verification-v<version>.zip
- •Show the resulting release URL.
8. Clean up artifacts
Remove temporary zip files after successful release creation:
- •
rm issuer-v<version>.zip verification-v<version>.zip
Safety constraints
- •Stop on test/build failures and ask how to proceed.
- •Never release without explicit user confirmation of version.
- •Never stage secrets/private keys.