## ADDED Requirements ### Requirement: Development environment setup guide The system SHALL include a document (`docs/engineering/07-dev-setup.md`) that takes a new engineer from zero to a fully running local stack in under 30 minutes, with no prior knowledge of the project assumed. #### Scenario: Prerequisites listed completely - **WHEN** a new engineer reads 07-dev-setup.md - **THEN** they SHALL find a complete prerequisites list: Node.js 18+, Docker Desktop, Git, a PostgreSQL client (optional), and links to install each — with no undocumented dependencies #### Scenario: Repository clone and setup steps complete - **WHEN** a new engineer follows the clone and setup steps - **THEN** they SHALL be able to: clone the repo, copy `.env.example` to `.env`, run `npm install`, and have all dependencies installed with zero manual configuration #### Scenario: Docker Compose local stack starts successfully - **WHEN** a new engineer runs `docker-compose up -d` - **THEN** all services (PostgreSQL, Redis, API server) SHALL start, migrations SHALL run automatically, and the guide SHALL show how to verify each service is healthy #### Scenario: Smoke test confirms working stack - **WHEN** a new engineer follows the smoke test section - **THEN** they SHALL run a curl command to POST /oauth2/token with the seed credentials and receive a valid JWT — confirming the full stack is operational #### Scenario: Common setup errors documented - **WHEN** a new engineer encounters a setup error - **THEN** the guide SHALL include a troubleshooting section covering the 5 most common errors: port already in use, migration failure, Node version mismatch, Docker not running, and missing .env variables #### Scenario: Running tests locally documented - **WHEN** a new engineer wants to run the test suite - **THEN** the guide SHALL show: `npm test` (unit tests only, no services needed), `npm run test:integration` (requires Docker stack), and how to run a single test file #### Scenario: Web dashboard local development documented - **WHEN** a new engineer wants to run the web dashboard - **THEN** the guide SHALL show how to start the Vite dev server (`npm run dev` in `dashboard/`) and which port it runs on, and confirm it connects to the local API server