Releasing
Releases go to npm as staged versions: CI builds and stages them, and they go live only when a maintainer approves them with two-factor authentication. The Claude Code plugin updates from the same commit.
-
Bump the version.
npm versionupdatespackage.json, runsscripts/sync-version.mjsto copy the version into both plugin manifests, and commits and tagsvX.Y.Zin one go:Terminal window npm version minor # or patch / majorgit push --follow-tags -
The tag starts
.github/workflows/release.yml. It runs the full CI, checks that the tag matchespackage.json, runsstack doctor, thennpm stage publishand creates the GitHub release with generated notes. -
Approve the staged version:
Terminal window npm stage list @aurostack/stacksnpm stage approve <stage-id>Or on npmjs.com: the package → Staged Packages.
How CI publishes without a token
Section titled “How CI publishes without a token”npm trusts the workflow directly (a trusted publisher): repository
aurostack-org/stacks, workflow release.yml, environment npm, allowed to
stage only. The npm GitHub environment accepts only v* tags, so nothing but a
release tag can publish, and nothing goes live without a maintainer’s approval.
Choose the bump by what changed for users: a new template or feature is minor, a fix is a patch, and a change that breaks existing flags or generated layouts is major.