Release Checklist
Steps to ship a Kunai CLI release with matching documentation metadata and release artifacts.
Use this checklist when cutting a CLI release. Docs build stays separate from the binary, but reference tables should match the shipped CLI.
Full release mechanics (version PR, candidate artifacts, protected promotion, metadata recovery) live in RELEASING.md and PACKAGING.md.
Before the version PR
Land CLI changes and run full verify
bun run ciAdd a changeset for @kitsunekode/kunai
bun run changesetMerge the feature PR. Push to main opens or updates the Changesets version PR only — it does not publish.
Regenerate docs metadata
bun run --cwd apps/docs generate
git add apps/docs/lib/generated-metadata.jsonConfirm cliSourceRevision and fingerprints updated in the committed JSON.
Run docs gate locally
bun run --cwd apps/docs scripts/check-codegen-freshness.ts
bun run --cwd apps/docs test
bun run --cwd apps/docs build:appUpdate user-facing prose when behavior changed
Check docs/promotion-manifest.yaml for agent docs that need promotion into docs/users/.
After the version PR merges
Confirm staged release metadata (schema v2):
.release/kunai-vX.Y.Z.jsonhasstatus: "staged"andpublishedAt: null- Public docs latest remains the newest published release (for example 0.2.5 while 0.2.6 is staged under Upcoming, not history)
Promote with workflow_dispatch
- Actions → Release → Run workflow with the exact version matching
apps/cli/package.jsonand theprovider_signoff_run_idfor current default-route evidence. - Wait for the candidate job: CI, binaries,
bun run release:pack→ preservedkunai-npm.tgz+ 8 binaries +SHA256SUMS. - Wait for the confirmation job (
release:confirmation:check) to emit ready-for-confirmation evidence. - Approve the protected environment
release-production. - publish downloads preserved artifacts (no rebuild),
bun publishof the tarball, draft GitHub release, verify, then promote to public latest. - metadata runs
set-release-status.ts … publishedand pushes the narrow.releaseJSON update.
If the metadata push fails under branch protection, recover manually with a contents-write PAT (see RELEASING.md) — do not re-publish npm solely to fix metadata.
Release artifacts
- CHANGELOG entry via changesets (version PR)
- Staged
.release/kunai-v*.json/.mduntil promotion - Nine GitHub assets after publish (8 binaries +
SHA256SUMS) bun run release:notes:checkwhen available
After release
- Verify
/releasesshows the new tag as published latest (staged-only versions stay under Upcoming) - Optional local Lighthouse:
bun run --cwd apps/docs lighthouse:docs
See Docs maintenance for the L0–L4 truth model.
Last updated on