Engineering & delivery

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 client
  • packages/domain — RBAC helpers, profile formatting, shared types
  • packages/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:turbo for 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 (requires gh auth)
CI/CD
  • pull-request-checks.yml — install, lint, build on PRs to main
  • deploy-main.yml — deploy on merge to main (or manual dispatch)
  • rollback.yml — manual rollback to a prior release directory
  • Deploy smoke tests use APP_BASE_URL (GitHub secret)

Home