Skip to main content

Change Guide

Before backend changes

Read:

  • AGENTS.md
  • backend/core-api/app/api/v1/api.py
  • target module under backend/core-api/app/modules
  • backend/core-api/app/core/auth.py if route is authenticated
  • current migrations under supabase/migrations

Rules:

  • Put new backend behavior inside the relevant module first.
  • Expose through routers after module logic exists.
  • Keep legacy adapters under app/api/v1/legacy/* only.
  • Preserve route compatibility during migration.

Before frontend changes

Read:

  • apps/webapp/src/modules/README.md
  • target module under apps/webapp/src/modules
  • route file under apps/webapp/src/app

Rules:

  • Keep route files thin.
  • Prefer module APIs/hooks.
  • Use public exports from @/modules/<feature>.

Before DB changes

  • Add incremental migrations under supabase/migrations.
  • Update reference schema if needed.
  • Consider rollback docs under supabase/migrations/rollbacks.
  • Prefer database filtering and RPC for repeated aggregation.

Before auth changes

Validate:

  • OIDC issuer/audience/JWKS values.
  • Supabase auth mode.
  • Cookie/bearer/API-key behavior.
  • DID/profile mapping.
  • UUID assumptions in database fields.