Technical
Monorepo layout, local runtime, milestones, and automation. Product intent and phased delivery live in initial_plan.md at the repository root.
Monorepo
apps/web— Next.js (App Router, Tailwind v4)packages/db— Prisma ORM v7, schema and generated clientpackages/domain— RBAC helpers, profile formatting, shared typespackages/auth,packages/integrations,packages/ai,packages/ui
Local runtime
- Web app: port 6700 (see root README)
- Postgres: port 5440, database
theater_app_dev - Health check: /api/health
- Dev server:
pnpm dev(webpack);pnpm dev:turbofor Turbopack
Auth providers
Providers register in NextAuth only when env vars are set (see
.env.example). Login UI reads /api/auth/providers.- Google OAuthConfigured
- Facebook OAuthNot configuredSet: FACEBOOK_CLIENT_ID, FACEBOOK_CLIENT_SECRET
- Magic link (email)Configured
- Email & passwordConfigured
- Dev email (passwordless)Not configuredSet: NODE_ENV=development
Milestones & tracking
- M1 — Auth shell, RBAC helpers, organizations, invites, protected workspace routes
- M2 — Member profiles and experience ledger
- M3 — Productions: cast groups, acts/scenes, characters, staff assignments, schedule
- Refresh issue text from the plan:
pnpm issues:sync-plan(requiresghauth)
CI/CD
pull-request-checks.yml— install, lint, build on PRs tomaindeploy-main.yml— deploy on merge tomain(or manual dispatch)rollback.yml— manual rollback to a prior release directory- Deploy smoke tests use
APP_BASE_URL(GitHub secret)