A FastAPI web application that uses the Claude Agent SDK to run iterative AI agents on GitHub repositories, generating formal clean room specifications with provable properties, purity boundaries, and verification tooling.
- Python 3.12
- uv package manager
- An Anthropic API key exported as
ANTHROPIC_API_KEY
uv sync --extra devuv run uvicorn clean_room.main:app --reload --port 8317Open http://localhost:8317 to access the dashboard.
- Click Add Repo and paste a GitHub URL
- On the repo detail page, select a prompt and click Create Job
- Watch the agent generate specs in real time via the SSE log stream
- Find generated specs in
~/.clean-room/specs-monorepo/
| Variable | Default | Description |
|---|---|---|
CLEAN_ROOM_DIR |
~/.clean-room |
Base directory for repos, specs, and database |
DEFAULT_MODEL |
claude-sonnet-4-20250514 |
Claude model used by the agent |
uv run pytest tests/ -v # Run tests
uv run ruff check src/ tests/ # Lint
uv run mypy src/ --ignore-missing-imports # Type checkThis project uses Jujutsu (jj) for version control, not git.
Full documentation is in the docs/ directory, organized using the Diataxis framework:
- Tutorial: Getting Started -- Step-by-step first run walkthrough
- How-to Guides
- Reference
- Explanation: Architecture -- Design decisions and trade-offs