Release Workflow
This project uses Changesets for version management and changelog generation.
Adding Changes (Contributors)
npx changeset add # Add a changeset for your changes
# Select: major/minor/patch
# Write: summary (appears in CHANGELOG)
git add .changeset/ && git commit -m "docs: add changeset"
⚠️ REQUIRED: Every PR must include a changeset. CI will reject PRs without one. For changes that don't affect the published package (docs, internal tooling), add an empty changeset with npx changeset add --empty.
Version Guidelines
- patch: Bug fixes, documentation, internal changes
- minor: New features, enhancements (backwards compatible)
- major: Breaking changes (API changes, removed features)
Release Commands
npm run release:prepare # Preview pending changesets
npm run release:version # Bump version + update CHANGELOG + README badges
npm run release:draft # Test, build, pack, create draft GitHub release
npm run release:publish # Publish the draft release (or use GitHub UI)
npm run clean # Remove build directory
Release Flow (Maintainers)
- Run
npm run release:prepareto see pending changes - Run
npm run release:versionto apply version bump - Commit:
git add -A && git commit -m "chore: release vX.Y.Z" - Run
npm run release:draftto create draft release - Review draft on GitHub, then run
npm run release:publish - Push:
git push && git push --tags