Both apps in the war.re monorepo share a common set of yarn scripts. You always run commands from inside an app directory — either main/ or subdomains/ryan/. There is no root-level script runner. The sections below cover every available command, call out which ones are app-specific, and show the exact invocations for each context.
Running a Dev Server
Start the Next.js development server on localhost:3000:
Building for Production
Both apps use Next.js static export. yarn build compiles the app and writes the output to an out/ directory inside the app folder:
Linting
Run ESLint using the next/core-web-vitals ruleset across the entire app:
Type Checking
Run the TypeScript compiler in check-only mode. The pretypecheck hook runs next typegen automatically before tsc --noEmit, so generated Next.js types are always up to date before the check runs:
Formatting
Use Prettier to format all files in the app, or check formatting without writing changes:
Unit Tests
Jest unit tests are only available in subdomains/ryan/. The main/ app has no Jest test suite — use e2e tests there instead.
End-to-End Tests
Both apps have a Playwright e2e suite. These are screenshot-based smoke tests that require a production build to be present before they run.
Always run yarn build before yarn e2e. Playwright serves the static out/ directory — if the build is missing or stale, the tests will fail or use outdated output.
yarn e2e:coverage is only available in main/. It enables browser source maps and uses monocart-coverage-reports to map coverage data back to TypeScript source files.
Command Reference