- Use short-lived feature/fix branches off
main. - Naming:
type/short-description(e.g.,feat/add-logging,fix/zero-division,docs/update-readme). - For agency-wide standards, prefix with
std/when updating shared configs (e.g.,std/ci-base). - Keep
mainprotected: no direct pushes; all changes via PR.
- Create branch from
main. - Make changes, commit with conventional commit messages.
- Push branch and open PR against
main. - Add descriptive title and body; reference issue numbers.
- Request reviews from CODEOWNERS and required reviewers.
- Ensure all status checks pass before merge.
- Use conventional commits:
feat,fix,docs,style,refactor,test,chore. - Keep commits atomic; link PRs to commits.
- Ensure a build script exists (npm
build, or native/build equivalents). - Run tests locally and via CI.
- CI must include at least: lint, unit tests, build.
- If no npm pipeline, adapt: Android (
./gradlew build), Rust (cargo build/test), Python (pytest), Next.js (next build). - Post-build, verify artifacts and run relevant test suites.
- After PR merge, watch CI for post-merge workflows.
- Confirm deployment pipelines succeed (staging/prod as applicable).
- For web apps, run smoke checks: reach main page, key endpoints.
- For libraries, ensure version bump and publish if applicable.
- Record deploy logs and link PR in release notes.
- Repository-specific documentation may live in
.docs/ordocs/. - Keep
README.mdandAGENTS.mdin repository root (outside.docs). - Architecture and design documents should be versioned and linked from README.
- CODEOWNERS defines who reviews what.
- PRs must be approved by at least one owner for the changed paths.
- Use
@org/teammentions for cross-team reviews.
- Protect
mainwith required status checks and required reviewers. - Use branch creation rules to enforce naming and permissions.
- CI must be green before merge allowed.
- Use GitHub Actions/CI to gate merges automatically.
- Branch follows naming convention.
- Commits are conventional.
- Build passes locally and in CI.
- Tests pass.
- PR has reviewers and passes status checks.
- After merge, verify deployment and smoke tests.
- Update documentation in
.docs/if needed; keep root README/AGENTS.md intact.