git checkout main && git pull && git checkout -b release— branch off the latestmain.npm version patch(orminor/major) — bumpspackage.json, commits, creates av*tag locally.git push -u origin release— pushes the commit only (no tag yet).- Open a pull request from
releaseintomain. Critical: it MUST be merged using a merge commit (not squash or rebase) so the tagged commit is preserved onmain. - After the PR is merged, push the tag:
git push origin v<version>(e.g.git push origin v0.1.6). This triggers the publish workflow.
The Publish workflow runs on the tag push: it runs lint, tests, and build, verifies the tag matches package.json's version, publishes to npm, and creates a GitHub release with auto-generated notes.