Skip to main content

Contributing

Keep changes small, testable, and reviewable. CI is a hard gate.

Development Workflow

  1. Sync main: git checkout main && git pull origin main
  2. Create branch: git checkout -b feat/<short-name>
  3. Implement with tests/docs in the same change set
  4. Run local checks before opening PR
  5. Open PR to main
  6. Merge only after required checks pass

Required Local Checks

For E2E-sensitive changes, also run:

Commit Convention

Use conventional commits:

Pull Request Checklist

  • Problem statement is clear
  • Scope is limited to one coherent change
  • Typecheck/lint/tests pass locally
  • Security/permission boundaries considered
  • Docs updated if behavior changed
  • Release note sentence included for user-facing changes

Release Notes Guidance

When a PR changes behavior users/staff will notice, include:
  1. What changed (plain language)
  2. Why it matters
  3. Any migration/config impact

Architecture Decisions

For significant design choices:
  1. Document context and tradeoffs in docs
  2. Link to affected systems/pages
  3. Capture migration path if needed

Local Development

Canonical setup guide

Deployment Workflow

Branch, CI, and release flow