Skip to main content

Contributing

Constellation uses a developrelease/*main GitFlow. The full rules live in the root CLAUDE.md; the shape is summarised here.

Branches

BranchPurposeMerges to
mainProduction
developIntegration — all feature workmain via release branch
feat/* / fix/* / refactor/*Short-liveddevelop via PR
release/*Release stabilisationmain + back-merge to develop
hotfix/*Emergency production fixesmain + back-merge to develop

Always cut new branches from a fresh origin/develop:

git fetch origin
git checkout -b feat/my-feature origin/develop

PR requirements

Every PR to develop must satisfy the Quality Gates CI job:

  1. Ticket reference#123 or ABC-123 in the PR title or body. Escape with [skip ticket].
  2. Changeset fragment — a new file under .changeset/ describing user-visible impact. Escape with [skip changeset].
  3. Spec for feat: PRs — at least one file added/modified under .ai/specs/ or .kiro/specs/. Escape with [skip spec].
  4. SonarCloud green — bugs, vulnerabilities, high/medium code smells must be resolved.

Commits

Use Conventional Commits (feat:, fix:, chore:, refactor:, docs:). Include the task key in the PR title (e.g. feat(catalog): bulk import [CAT-12]) so the GitHub webhook auto-closes the linked Project Tracker task on merge.

Pre-push checklist

npx prettier --check "**/*.{ts,tsx,js,jsx,json,md}"
npx turbo run lint typecheck build test
npm run check:routes

All three must pass.