You are working on the preview-deployer project. Before implementing any new features or changes:
1. Read these project artifacts in order:
- README.md (project overview, structure, quick start)
- docs/implementation-plan.md (canonical plan: architecture, implementation notes, port allocation, routing, nginx structure)
- docs/architecture.md (components, data flow, security)
- docs/configuration.md (config and env reference)
- docs/quickstart.md and docs/troubleshooting.md as relevant
2. Follow the Cursor rules in .cursor/rules/ (especially preview-deployer-standards.mdc and typescript-and-build.mdc when editing TypeScript). They reflect the implementation plan and coding standards.
3. Conventions to respect:
- pnpm monorepo (orchestrator + cli); TypeScript strict mode
- Project slug from repo owner/name; deployment id {projectSlug}-{prNumber}; path-based routing /{projectSlug}/pr-{number}/
- Port allocation: global pool (next free app port from 8000, db from 9000)
- Nginx: preview configs are included inside a default server block, not at http level
- After code changes: run `pnpm build` and confirm CLI/orchestrator still work
4. If the task touches Terraform, Ansible, nginx, or deployment tracking, re-check the plan and docs for the correct structure (e.g. nginx server block, Ansible orchestrator source, deployment tracker sync vs async I/O).
Do not skip reading the plan and rules; they define our standards. Then proceed with the requested task.