Skip to content

Root Scripts

All commands below are run from the repository root with pnpm. See per-app/per-tool docs for which commands apply to each app or tool.

Prerequisites: Node (version in .nvmrc; run nvm use) and pnpm (from root package.jsonpackageManager; use Corepack with corepack enable so the correct version is used).

Development

ScriptDescription
pnpm dev:allRun dev in all workspaces (Turbo)
pnpm c:dev:game-clientStart game client dev server (port 3000)
pnpm c:dev:backoffice-clientStart backoffice dev server (port 3001)
pnpm c:dev:storybookStart Storybook dev server (port 6006)
pnpm c:dev:web-docs-clientStart VitePress docs dev server

Build

ScriptDescription
pnpm build:allRun build in all workspaces (Turbo)
pnpm build:all:no-cacheSame as build:all but skip Turbo cache (--force)
pnpm c:build:game-clientBuild game client only
pnpm c:build:backoffice-clientBuild backoffice client only
pnpm c:build:storybookBuild Storybook static site
pnpm c:build:web-docs-clientBuild docs site (VitePress)

Preview (production build locally)

ScriptDescription
pnpm c:preview:game-clientServe production build of game client
pnpm c:preview:backoffice-clientServe production build of backoffice
pnpm c:preview:storybookServe built Storybook
pnpm c:preview:web-docs-clientServe built docs site

Test

ScriptDescription
pnpm test:allRun unit tests in all workspaces (Turbo; E2E package has no test script so is not run)
pnpm test:all:no-cacheSame as test:all but skip Turbo cache (--force)
pnpm test:all:coverageRun Vitest with coverage from root
pnpm e2eRun all E2E tests (set BASE_URL or use per-target scripts below)
pnpm e2e:uiRun Playwright UI mode
pnpm c:e2e:game-clientE2E vs game client (localhost:3000)
pnpm c:e2e:backoffice-clientE2E vs backoffice (localhost:3001)
pnpm c:e2e:storybookE2E vs Storybook (localhost:6006)
pnpm c:e2e:web-docs-clientE2E vs web-docs (localhost:4173)

Lint and typecheck

ScriptDescription
pnpm lint:allRun lint in all workspaces (Turbo)
pnpm lint:all:fixLint with auto-fix (Turbo)
pnpm lint:all:no-cacheSame as lint:all but skip Turbo cache (--force)
pnpm typecheck:allRun typecheck in all workspaces (Turbo)
pnpm typecheck:all:no-cacheSame as typecheck:all but skip Turbo cache (--force)

Affected (CI / local)

ScriptDescription
pnpm turbo:detect-affected:prList packages affected vs origin/main (Turbo build affected; used by staging orchestrator; needs git fetch)
pnpm turbo:detect-affected:prodList packages affected vs previous commit (Turbo build affected)

Other

ScriptDescription
pnpm turbo:cache:wipeRemove local Turbo cache (.turbo); remote cache unchanged
pnpm lighthouseRun Lighthouse CI (e.g. lhci autorun)
pnpm prepareInstall lefthook git hooks (runs post-install)

See also