Local Development

Use local workflows that mirror real service boundaries.

SynckHub local stack

From synckhub/:

docker compose -f env/local/compose/compose.yaml up --build

Optional enterprise authz overlay:

docker compose \
  -f env/local/compose/compose.yaml \
  -f env/local/compose/compose.enterprise.yaml \
  up --build

Common local stack

From common-control-plane/:

docker compose -p common-control-plane-dev -f env/local/compose/compose.yaml up -d --build

Practical development workflow

Use separate terminals and keep ownership clear:

  1. run Common when you need real control-plane behavior
  2. run SynckHub when you need repo and item behavior
  3. run synckhub.com when you need the web client or public docs rendering path

Do not collapse everything into one fake local shortcut and then pretend the integration is verified.

Test posture

Use Postgres-backed tests where available and keep environment variables explicit per repo scripts.

Useful habits:

  • verify route and API assumptions against the actual local stack
  • prefer spec-backed fixtures over ad-hoc DB edits
  • test cross-service behavior where routing, authz snapshot, or upload flows are involved

Practical rule

Do not blur service ownership by adding DB-direct shortcuts to clients or UI layers.