Releasing
Releasing
Section titled “Releasing”The CLI package is @topogram/cli and publishes to npmjs.
Prepare
Section titled “Prepare”npm run release:prepare -- <version>npm run release:checknpm run release:preflightCommit the version changes before publishing.
Publish
Section titled “Publish”Use the manual GitHub Actions workflow Publish CLI Package.
The repo must define NPM_TOKEN with publish access for @topogram/cli.
The publish workflow runs Secret Scan and scripts/verify-release.sh before
npm publish, so manual dispatch cannot bypass docs, SDLC, engine, or package
smoke gates.
The publish workflow is rerun-safe for an already published version: after
preflight it checks npmjs, skips token validation and npm publish when the
selected @topogram/cli version already exists, and can still create the
release tag when create_tag is enabled.
After publish
Section titled “After publish”npm run smoke:fresh-npmjsnpm run release:statusnpm run release:roll-consumers -- --latest --watchnpm run release:status:strictnpm run release:status:strict -- --write-report ./docs/release-matrix.mdsmoke:fresh-npmjs installs the published CLI from npmjs, checks the public
catalog, installs first-party extractor packages, runs package-backed
extract/adopt review on a small brownfield source, then copies and compiles a
catalog starter. It is the public-package smoke, not a local fixture test.
npm run release:status wraps topogram release status, and
npm run release:roll-consumers wraps topogram release roll-consumers; those
commands own release status reports and rollout evidence.
release:roll-consumers prints per-consumer progress to stderr while it updates,
checks, commits, pushes, and optionally watches CI. If a rollout is interrupted,
rerun the same command; the report includes recovery state for consumers that are
already pinned, already pushed, or still need attention. Omit --watch when you
want to push consumer commits and verify later with npm run release:status:strict;
use --no-watch when you want that choice to be explicit in command logs.
docs/release-matrix.md is generated release evidence, not first-run product
documentation.