This document is the org-wide default. It applies to every KlaappInc repository
unless a repo overrides it with its own CONTRIBUTING.md.
| Branch | Role |
|---|---|
develop |
Default & integration branch. All work targets it. |
main |
Production. Tagged. Only release/* and hotfix/* merge here. |
feature/* |
New work. Branch from develop, PR back to develop. |
fix/* |
Bug fixes. Branch from develop, PR back to develop. |
release/* |
Optional stabilization. Branch from develop, PR to main. |
hotfix/* |
Urgent prod fix. Branch from main, PR to main, then back-merge to develop. |
Both develop and main are protected: PRs only, β₯1 approval, conversation
resolution required, no force-push, no deletion. Org admins can bypass for
break-glass situations.
Every PR is checked by commitlint. Use the Conventional Commits format:
<type>(<optional scope>): <subject>
feat: a new feature β minor version bump
fix: a bug fix β patch version bump
feat!: / BREAKING CHANGE: β major version bump
chore:, docs:, ci:, refactor:, test:, build:, perf:, style: β no release
This is what lets release-please compute versions and changelogs automatically.
- Land
feat/fixPRs intodevelop. - Promote to
main(directly, or via arelease/x.ystabilization branch). - On push to
main, release-please opens/updates a release PR that bumps the version and updatesCHANGELOG.md. - Merging that release PR creates the git tag + GitHub Release, which triggers the repo's deploy/publish workflow (wrangler / EAS / npm / docker).
- Back-merge
mainβdevelop.
Do not hand-edit version numbers or tags β release-please owns them.
Dependabot is configured per repo to open PRs against develop on a weekly
schedule, using build(deps) / ci(deps) commit prefixes so they pass commitlint.