Branching Strategy¶
The repository uses staging for day-to-day development and main for production
releases.
Branch types¶
staging: default development branch and integration branchmain: protected production branch, GitHub Pages deployment source, and Firebase production deploy triggercodex/<slug>: Codex-created implementation branchesfeat/<issue-id>-<slug>: feature deliveryfix/<issue-id>-<slug>: bug fixesdocs/<issue-id>-<slug>: documentation-only changes
Rules¶
- branch from the latest
staging - keep changes scoped to one issue or one closely related set of issues
- open a pull request to
stagingbefore merge - require one approval before merge, then ensure
CI - Branch Quality Gatespasses on the resultingstagingormainpush - promote
stagingtomainthrough the push-driven release PR - use merge commits for the
stagingtomainpromotion so release history stays aligned - let
mainrelease automation create the semver tag, GitHub release, Android AAB asset, signed iOS IPA asset, and GHCR mobile plus Firebase images - let Firebase production deploys run from
mainwith GitHub environment-scoped credentials
Example¶
codex/docs-pages-and-backlog
docs/BOOT-010-mkdocs-setup
feat/AUTH-001-login-method-selection
fix/SEC-003-branch-admin-guard