Local-first monorepo for a LiveKit-based DnD virtual table with whisper audio channels, PTT, and DM spotlight.
- Copy env files:
cp backend/.env.example backend/.envcp frontend/.env.local.example frontend/.env.localcp infrastructure/.env.example infrastructure/.env
- Start infra:
pnpm compose:up - Start app:
pnpm dev
Local auth note:
pnpm compose:uprebuilds the auth image and starts the local stack.infrastructure/.envmust setLIVEKIT_API_KEYandLIVEKIT_API_SECRET;AUTH_BIND_ADDR,JOIN_SECRET,ALLOWED_ROOMS,TOKEN_TTL_SECONDS, andFRONTEND_ORIGINSare optional.- If Vite logs
connect ECONNREFUSED 127.0.0.1:8787for/api/v1/token, the auth service is not running on port8787; check the auth logs first.
frontend: TanStack Start + TypeScript + LiveKit UIbackend: Rust axum token serviceinfrastructure: docker compose, Caddy, LiveKit config, deploy scriptsdocs/contracts: protocol and API contractsdocs/plans: implementation plans/session tracking
docs/google-oauth-onboarding.md: Google Cloud and env setup for backend-owned OAuth