Release flow
Suggested release checklist
- Start from a clean branch based on the current
maincommit. - Install the repository-pinned npm version and run
npm ciwithout override flags. - Ensure the full verification command below leaves tracked files unchanged.
- Merge the release-preparation pull request only after all applicable checks and review threads are green.
- Re-run the full verification command on the exact merged
maincommit. - Confirm the chosen version is absent from npm and Git tags/releases, then
dispatch
.github/workflows/release.ymlonce for that exact branch and release type. Do not useskip_verifyfor a normal release. - Wait for the workflow-created version commit, tag, npm publication, and GitHub release before independently validating the registry package, both GitHub assets, provenance, generated documentation, and a fresh consumer.
The workflow packs once, publishes that exact .tgz to npm, and uploads the
same file to the GitHub release so the registry and GitHub tarballs are
byte-identical.
Verification commands
npm run release:verify
This includes build, lint, typecheck, tests, docs build, and package dry run.
The release workflow reads both npm 11 array metadata and npm 12 keyed-object
metadata from npm pack --json; the keyed npm 12 shape is the current path.