Releasing Survey#
Releases are automated with release-please: merges to main accumulate into a release PR, and merging it tags the version and dispatches the npm publish workflow. Use conventional commit prefixes (feat:, fix:, docs:, chore:) so version inference works. The manual flow below remains valid for exceptional releases.
This document is the operator checklist for cutting a release of @kontourai/survey.
Preconditions#
npm run verifypasses.npm pack --dry-runshows only intended package files.@kontourai/surfacedependency points at a published compatible version.- package metadata in
package.jsonis correct. @kontourai/survey/review-workbenchresolves fromdist/src/review-workbenchand not fromdist/examples.npm pack --dry-runincludes the scopeddist/src/review-workbench/review-workbench.cssasset.
Release Flow#
- Update
package.jsonversion. - Merge the release commit to
main. - Create and push a tag matching the package version, for example
v0.1.0. - Let
.github/workflows/publish-npm.ymlpublish the package. - Confirm the published tarball contents and README rendering on npm.
Local npm pack readiness does not authorize publication by itself. A human
with npm/GitHub release authority must approve the version bump, release commit,
tag, and trusted-publishing run before downstream products switch from local
proof dependencies to the published semver range.
Trusted Publishing#
The repo publishes through npm trusted publishing via GitHub Actions OIDC. Configure npmjs.com to trust:
- organization or user:
kontourai - repository:
survey - workflow filename:
publish-npm.yml - allowed action:
npm publish