Deployment & Operations
This page documents the current build and operational expectations for each shipped surface.
Repo-wide build contract
Top-level commands:
bun run typecheck
bun run test
bun run buildThese map to Turborepo tasks across the workspace.
Surface build and run expectations
apps/app
bun run dev:appbun run --filter @veref/app build- Next.js recruiter workspace deployment
apps/web
bun run dev:webbun run --filter @veref/web build- Next.js public marketing deployment
apps/docs
bun run dev:docsbun run --filter @veref/docs build- static-export-friendly Nextra docs deployment because
apps/docs/next.config.mjssetsoutput: "export"
apps/api
bun run dev:apibun run --filter @veref/api build- NestJS API process listening on
PORTor8787
apps/desktop
bun run dev:desktopbun run --filter @veref/desktop build- Electron packaging and local workstation runtime
apps/mobile
bun run dev:mobilebun run --filter @veref/mobile build- current build script explicitly says to use EAS for production mobile builds
apps/extension
bun run dev:extensionbun run --filter @veref/extension buildbun run --filter @veref/extension package- Plasmo extension packaging flow
apps/cli
bun run dev:clibun run --filter @veref/cli build- local operational CLI rather than a long-running server
Operational dependencies
Database
- Postgres reachable through
DATABASE_URL - Prisma client generated before API build and typecheck in
@veref/db
Auth
- Clerk only becomes fully configured when both publishable and secret keys are present
Hosted AI
- OpenRouter depends on
OPENROUTER_API_KEY - base URL defaults to the OpenRouter API endpoint unless overridden
Messaging
- Resend requires
RESEND_API_KEY - Twilio requires account SID, auth token, and messaging service SID
Desktop runtime
- local
claudeandcodexbinaries if you want live availability checks - healthy
.claudeand.codexlinks if you want the desktop skill catalog to match repo state
Deployment notes by surface
- browser surfaces depend on the
NEXT_PUBLIC_*URLs matching where sibling surfaces actually run - the CLI can point at non-local API environments through
VEREF_API_URL - the extension should be configured to open the correct recruiter app URL through
PLASMO_PUBLIC_APP_URL - docs can stay public while contributor-only guidance remains protected editorially rather than technically
Operational reality of preview mode
Several surfaces can still build or run without every provider configured. That is useful for onboarding, but production-style behavior still depends on real environment configuration and reachable services.
Last updated on