Skip to content

Quality Tooling

Lint and typecheck

  • Lint: pnpm lint (Turbo, all workspaces). Auto-fix: pnpm lint:all:fix. Uses Biome (see Biome).
  • Typecheck: pnpm typecheck (Turbo, all workspaces). TypeScript strict mode across the monorepo.

Tests

  • Unit tests: From repo root, pnpm test:all runs tests in all workspaces (Turbo; E2E package has no test script so is skipped). From a workspace directory, run pnpm test to run that package's unit tests only.
  • E2E: Playwright in @kartuli/e2e. Use root scripts pnpm c:e2e:game-client, etc., or pnpm e2e with BASE_URL set. See E2E Hub and tools/e2e/README.md.

Lighthouse

  • Local: pnpm lighthouse (runs lhci autorun). Used in CI for Next.js apps (staging and production) with assertions; reports and artifacts on failure.
  • CI: Staging (Next.js workflow) and production (game-client, backoffice-client) run Lighthouse after build/deploy.

Git hooks (Lefthook)

  • Pre-commit: Lint (Turbo), conflict-marker check, large-file check in src/. Configured in lefthook.yml. Installed via pnpm prepare (lefthook install).

Dependency updates

  • Renovate: Config in renovate.json. Opens PRs for dependency updates; review and merge as usual. @types/node is pinned to 24.x (allowedVersions <25) to match the Node 24 runtime.

Review and branch protection

References