Releasing MCPVault
August 22, 2026 ยท View on GitHub
Production releases are created through GitHub Releases. Publishing a release triggers .github/workflows/publish.yml, which tests, builds, and publishes the matching package version to npm with provenance.
Do not backfill a GitHub Release for 0.15.0: that version was published manually, and publishing a release now would trigger a duplicate npm publish. Start this process with the next version.
1. Prepare the release in a PR
The release PR must contain every artifact users will receive:
- the semver bump in
package.jsonandpackage-lock.json - source and tests
- rebuilt
dist/from the same source CHANGELOG.md- website release history in both
website-shibumi/src/components/UpdateCallout.tsxandwebsite-shibumi/public/index.md - any feature documentation in both browser and Markdown formats
Run the root tests, build, audit, dry-run package, and website build before merging.
2. Verify main
After the release PR merges, wait for required main checks to pass. Confirm the intended version is not already on npm:
VERSION=$(node -p "require('./package.json').version")
npm view "@bitbonsai/mcpvault@$VERSION" version
A not-found response is expected before publishing. Stop if npm already has the version.
3. Publish a GitHub Release
Write concise release notes from the matching changelog entry, then create the release. This command creates the vX.Y.Z tag at the selected main commit and publishes the GitHub Release:
VERSION=$(node -p "require('./package.json').version")
gh release create "v$VERSION" \
--repo bitbonsai/mcpvault \
--target main \
--title "v$VERSION" \
--notes-file /tmp/mcpvault-release-notes.md
Do not use generated notes for the first GitHub Release because the repository has no historical release tags; use the curated changelog entry instead.
4. Verify publication
Watch the Publish workflow and verify npm after it succeeds:
gh run list --repo bitbonsai/mcpvault --workflow Publish --limit 1
npm view @bitbonsai/mcpvault version
npx --yes "@bitbonsai/mcpvault@$VERSION" --version
Confirm the GitHub Release tag, npm version, installed CLI version, and website release copy all agree before considering the release complete.
Failure handling
- npm versions are immutable. Never bump or republish the same version after a partial failure.
- If the workflow fails before npm publication, fix the workflow and rerun it.
- If npm already shows the version, do not rerun the publish step; verify the package and repair only the missing release metadata.
npm run publish:latestis an emergency fallback, not the normal production path. It does not provide the GitHub Release-driven provenance flow.- Beta publishing remains explicit through
npm run publish:beta; do not create a production GitHub Release for an unapproved beta.