# Toolchain Pinned versions and setup steps for this workspace. If you're on a new machine, install in this order. ## System - WSL2 Ubuntu 24.04 (Noble) on Windows 11 - Docker Desktop with WSL2 integration enabled ## Runtime - Node.js 24.x (via nvm) - pnpm 10.x (`npm install -g pnpm@latest`) ## Workspace - Nx 22.7.x - Angular 21.2.x - NestJS 11.1.x - TypeScript 5.9.x ## Test runners - API: Jest 30 - Overlay: Vitest 4 via `vitest-angular` (Angular's official Vitest integration) - Libraries: Vitest 4 - E2E: Playwright 1.59 (chromium only) ## Local services Run via `docker compose up -d postgres redis`: - Postgres 16-alpine (port 5432, db `fog_expedition`, user `fog`, password `fog_dev`) - Redis 7-alpine (port 6379) - Caddy 2 (port 443, HTTPS reverse proxy to host:3000) ## Bootstrap on a new machine ```bash nvm install 24 nvm use 24 npm install -g pnpm@latest git clone http://pihole.home:3000/maurycy/fog.git ~/code/fog-expedition cd ~/code/fog-expedition pnpm install pnpm approve-builds # select all pnpm install pnpm exec playwright install --with-deps chromium docker compose up -d postgres redis pnpm exec nx run-many --target=test --all --watch=false ```