Branching Strategy
Branches
Section titled “Branches”| Branch | Purpose | Deploys |
|---|---|---|
main | Stable releases | Publishes to public npm + updates Homebrew tap |
release | Release candidates | Publishes RC to GitHub Packages (internal testing) |
feat/* | New features | — |
fix/* | Bug fixes | — |
chore/* | Maintenance, tooling, docs | — |
feat/my-feature ──→ main ──→ publish stable (npm + Homebrew) │ └──→ release ──→ publish RC (GitHub Packages)- Create a feature branch from
main(e.g.feat/add-retry-logic) - Make changes, commit, push
- Open a PR targeting
main - After review and merge,
publish.ymlpublishes a stable release to public npm and syncs the Homebrew tap - For release candidates, merge
mainintoreleaseto triggerrc.yml, which publishes to GitHub Packages with thercdist-tag
PR conventions
Section titled “PR conventions”- Keep PRs focused on a single concern
- Branch names should use the
feat/,fix/, orchore/prefix - Commit messages should be descriptive of the change