# Copenhagen Truck Wash API Development Guidelines This file is generated from the canonical AI workflow and is the supported Junie-facing reference for the backend repository. ## Build And Run - Project root: `services/nginx/app` is the effective PHP application root. - Setup: use `./scripts/setup.sh` on POSIX or `powershell -ExecutionPolicy Bypass -File .\scripts\setup.ps1` on Windows. - Start local API stack: `docker compose up -d traefik redis mysql-debug php1 caddy`. - Tail logs with `docker compose logs -f --tail=200 php1`. ## Testing - Supported backend validation runs in `php1`. - Unit tests: `docker compose exec -T php1 sh -lc "cd /var/www/html && composer test:unit"`. - Integration tests: `docker compose exec -T php1 sh -lc "cd /var/www/html && composer test:integration"`. - API tests: `docker compose exec -T php1 sh -lc "cd /var/www/html && composer test:api"`. - Prefer the narrowest suite that proves the change, then run the broader suite that matches the risk. ## Workflow Notes - Generated assistant metadata is checked with `node scripts/sync-ai-workflow.mjs --check`. - Route and schema changes require matching updates to `openapi.yaml`. - Runtime OpenAI product behavior is out of scope for this workflow bundle unless a task explicitly changes product code. Canonical workflow reference: `.ai-workflow/workflow.md`.