This project uses a lightweight workflow intended for a small prototype team.
mainis the integration branch.- Use short-lived topic branches for all non-trivial work.
- Preferred branch prefixes:
feature/<scope>fix/<scope>chore/<scope>docs/<scope>
- Rebase or merge
maininto your branch before opening or updating a pull request if it has drifted.
- Prefer small, reviewable commits over large mixed commits.
- Use a conventional subject line:
feat:fix:chore:docs:refactor:test:build:ci:
- Keep the subject line imperative and specific.
- Avoid delivery-stage naming in commits, filenames, code, and runtime messaging.
Examples:
feat: add bootstrap status cardsdocs: clarify Codex project configci: validate local Supabase startup
- Open a pull request for any change beyond a trivial typo.
- Keep pull requests focused on one concern or one roadmap step.
- Include:
- what changed
- why it changed
- how it was validated
- any follow-up work or known gaps
Minimum expected validation before merge:
pnpm lint
pnpm typecheck
pnpm test
pnpm buildIf your change touches Supabase workflow or local infrastructure, also validate:
pnpm db:start
pnpm db:status
pnpm db:stop- Local Supabase requires Docker Desktop or another Docker-compatible runtime.
- The repository-scoped
supabase/directory is committed and is the source of truth for local configuration. - Treat local Supabase as development-only infrastructure.
- Do not check secrets into the repo; keep them in
.env.local.
Expected local verification flow:
pnpm db:start
pnpm db:status
pnpm db:types:local
pnpm db:stop- Keep tooling, infrastructure, and domain behavior separated into focused changes where practical.
- Avoid naming files, functions, or messages after roadmap phases or delivery stages.
- When a change introduces new processing, event, or scoring behavior, document the rule shape before broad implementation.