This repo uses Changesets to make npm releases reviewable.
For any pull request that changes user-facing behavior, a changeset should be added before the work is considered ready to release:
npm run changesetChoose the smallest appropriate bump:
patch: fixes, docs-visible behavior changes, small compatibility workminor: new features or notable new behaviormajor: breaking changes
The generated markdown file in .changeset/ should explain the release impact in a sentence or two.
PRs that only touch internal tooling or CI can skip a changeset when they do not need an npm release note.
Maintainers own release metadata.
- For internal PRs, the author can add the changeset directly.
- For external PRs, do not expect the contributor to know or run the Changesets workflow. The reviewer or merge maintainer should add the changeset before merge, or immediately afterward in a small follow-up PR.
- If a releasable PR lands without a changeset, create a catch-up changeset PR before running the release flow.
The practical rule is simple: if the change should appear in npm release notes,
make sure a maintainer gets a .changeset/*.md file onto main.
- Merge releasable PRs to
main - Let the
Version Packagesworkflow open or update the release PR - Review the generated version bump and
CHANGELOG.md - Merge the release PR to
main - Manually trigger the
Publish Packageworkflow on the merged release commit - Approve the workflow if a protected GitHub Environment is configured
- Let the workflow:
- install dependencies
- run tests
- publish to npm
- create tag
vX.Y.Z - create the GitHub release using the matching
CHANGELOG.mdsection as the primary notes - prepend those notes ahead of GitHub's generated contributor and compare summary
The repo-side files are not enough by themselves. A maintainer still needs to configure npm trusted publishing for this GitHub repository/workflow pair.
Recommended external setup:
- Configure npm trusted publishing for this repo and the
publish.ymlworkflow - Optionally create a GitHub Environment named
npm-publishand add required reviewers - Confirm the repository label taxonomy used by
.github/release.yml
When configuring npm trusted publishing, register the GitHub workflow using the exact workflow filename in this repo: .github/workflows/publish.yml.
The publish workflow is intentionally manual. Release issuance should stay deliberate even after trusted publishing is enabled.