# dpg — Dynamic Page Generation

Modular pipeline that turns a user prompt + reference images + DDL into a full
FastAPI backend and a React/Vite frontend.

## Layout

```
dpg/
├── specs/                 # drop-in inputs (prd/, ddl/, images/)
├── 02-docs/                  # extra docs
├── pipeline/              # the production code
│   ├── step-01-input-ingestion/
│   ├── step-02-prd-generation/
│   ├── step-03-backend-generation/
│   ├── step-04-frontend-generation/
│   └── master-pipeline/
├── runs/
│   ├── inputs/
│   └── outputs/              # generated_projects/<run_id>/{backend,frontend,ir}
├── 05-runbooks/
├── shared/                   # cross-step library (config, logging, media)
├── scripts/
└── main.py
```

## Quick start

```bash
# Drop a PRD, DDL, and images into specs/{prd,ddl,images}/
uv sync
uv run python main.py generate
uv run python main.py edit --prompt "make the header blue"
```

## Flow

```
ingest (step-01)  →  PRD (step-02)  →  backend (step-03)  →  frontend (step-04)
```

Each step is a self-contained package under its own `pipeline/` directory and
is composed by `master-pipeline/pipeline/orchestrator.py`.
