---
estimated_steps: 16
estimated_files: 6
skills_used: []
---

# T01: Project scaffolding and Docker Compose

1. Create project directory structure:
   - backend/ (FastAPI app)
   - frontend/ (React app, placeholder)
   - whisper/ (desktop transcription script)
   - docker/ (Dockerfiles)
   - prompts/ (editable prompt templates)
   - config/ (canonical tags, settings)
2. Write docker-compose.yml with services:
   - chrysopedia-api (FastAPI, Uvicorn)
   - chrysopedia-web (React, nginx)
   - chrysopedia-db (PostgreSQL 16)
   - chrysopedia-worker (Celery)
   - chrysopedia-redis (Redis for Celery broker)
3. Follow XPLTD conventions: bind mounts, project naming xpltd_chrysopedia, dedicated bridge network
4. Create .env.example with all required env vars
5. Write Dockerfiles for API and web services

## Inputs

- `chrysopedia-spec.md`
- `XPLTD lore conventions`

## Expected Output

- `docker-compose.yml`
- `.env.example`
- `docker/Dockerfile.api`
- `backend/main.py`

## Verification

docker compose config validates without errors
