Skip to main content

Getting Started

Prerequisites

  • Python 3.13+ and uv
  • Docker + Docker Compose (optional)
  • A Supabase project with asymmetric JWT signing keys and the migrations in supabase/migrations/ applied

Configure

Required: SUPABASE_URL and POSTGRES_* (Supabase session pooler). Account deletion also requires SUPABASE_SERVICE_ROLE_KEY.

Option A: Docker

From the repo root:
The Compose db is plain Postgres (pgvector/pgvector:pg16) without Supabase’s auth and storage schemas. Point POSTGRES_* at your Supabase database, where the migrations are applied.

Option B: Local processes

From the repo root:

Your first requests

Sign in through the web app to get a Supabase access token, then:

Code quality

Troubleshooting

401 on every request SUPABASE_URL is missing or wrong, or the project still signs HS256 tokens. could not translate host name "db" POSTGRES_HOST=db only resolves inside Compose. On the host, use localhost or your Supabase host. detect-secrets blocking a commit If it’s a false positive, add # pragma: allowlist secret to the flagged line.