Prompt file imported from RajwanYair/WoodworkingShop (
.github/prompts/release.prompt.md). Copyright stays with the author.
Release
You are publishing a new Cabinet Planner release.
Pre-flight checklist (verify before any changes)
npm run check— must pass with 0 errors / 0 warningscheckruns quality checks in parallel (quality:fast) then tests — usenpm run qualityif you need sequential output for debuggingnpm run dead:check— no orphaned exportsgit status— working tree is clean (all changes committed)CHANGELOG.md [Unreleased]section is populatedROADMAP.mdsprint items marked DONE where applicable
Steps
1 — Determine the new version
- Read
package.jsonfor current version (e.g.3.72.0) - Classify changes in
CHANGELOG.md [Unreleased]:- Breaking change → major bump (
4.0.0) - New feature / enhancement → minor bump (
3.73.0) - Bug-fix / chore only → patch bump (
3.72.1)
- Breaking change → major bump (
- Choose target version accordingly.
2 — Update version in package.json
npm version <major|minor|patch> --no-git-tag-version
3 — Update CHANGELOG.md
- Rename
[Unreleased]to[X.Y.Z] — YYYY-MM-DDwith today's date - Add a new empty
[Unreleased]section at the top - Keep format:
### Added / Changed / Fixed / Performance / Chore
4 — Update version references
Files that embed the version string:
.github/copilot-instructions.md—Current release: vX.Y.ZAGENTS.md— header line with versionROADMAP.md—Current version: X.Y.Z
Run a search: grep -r "3\.\d\+\.\d\+" --include="*.md" .github/ *.md
5 — Run npm run release:build
npm run release:build # build + bundle:check + sbom
6 — Commit and tag
git add -A
git commit -m "chore: release vX.Y.Z"
git tag -a vX.Y.Z -m "Release vX.Y.Z"
git push origin main --follow-tags
7 — Create GitHub Release
gh release create vX.Y.Z --generate-notes --title "v X.Y.Z"
Attach the generated SBOM from dist/ if present.
Constraints
- Never skip
npm run checkbefore bumping - Never force-push after tagging
- Keep release commit message format:
chore: release vX.Y.Z - SBOM file from
dist/sbom.jsonshould be attached to the GitHub Release
Output contract
- List all files changed.
- List verification commands executed.
- Report acceptance criteria as pass/fail.
- Report unresolved risks or follow-up items.
