Setup
What this deployment has configured.
Database + storage ready
Practice history sync. Without it, /api/runs returns 501 and stars stay on-device.
SUPABASE_URL · SUPABASE_SERVICE_ROLE_KEY
Sign-in ready
OAuth in the browser. Without it, the sign-in button hides itself.
NEXT_PUBLIC_SUPABASE_URL · NEXT_PUBLIC_SUPABASE_ANON_KEY
AI ready
Reading uploaded book pages into playable sheets (/api/sheet-extract). Without it, uploads return labelled demo data instead of a real read.
ANTHROPIC_API_KEY
AI workspace ready
Required only for identity-linked Anthropic keys, which reject every request without it. Plain workspace keys need nothing here.
ANTHROPIC_WORKSPACE_ID
Suggestions ready
The footer suggestion box files GitHub issues. Without a token it tells people it is not set up rather than failing silently.
GITHUB_TOKEN
Scheduled jobs not configured
Guards /api/cron/*. Nothing is scheduled today (vercel.json has no crons), so leaving it unset is correct.
CRON_SECRET
Owner pages ready
Visit /?key=… once per device. Unset means nobody is the owner.
ADMIN_KEY
Everything degrades on its own — the trainer runs fully with nothing configured. See .env.example.