Python project boilerplate for use with PRP methodology.
This is not meant to be used directly. Use
/init-projectfrom the prp-methodology to pull this boilerplate into your project.
src/app/
├── core/ # Config, logging, exceptions, database
├── backend/ # FastAPI routers, services, models (scaffolded)
└── frontend/ # FastHTML components (scaffolded)
tests/
├── unit/
└── integration/
docs/guides/fastapi-patterns.mddocs/guides/sqlalchemy-patterns.mddocs/guides/fasthtml-patterns.mddocs/guides/htmx-patterns.mddocs/guides/testing-patterns.md
/scaffold- Create project structure (api-only, web-only, etc.)
| Pattern | Use Case | Stack |
|---|---|---|
| core-only | Library, scripts | Pydantic, loguru |
| cli-app | CLI tool | + Typer |
| api-only | REST API | + FastAPI |
| web-only | Web app | + FastHTML |
| api-web | Both | + FastAPI + FastHTML |
This boilerplate is pulled automatically by /init-project:
# 1. Create empty project with methodology
mkdir my-project && cd my-project
git init
git remote add prp-method https://github.com/matscarrgard/prp-methodology.git
git subtree add --prefix=.prp prp-method main --squash
# 2. Start Claude and run init
claude
/init-project
# 3. When prompted, choose "Python" to pull this boilerplate
# 4. Scaffold your project structure
/scaffold api-only- Python 3.13+
- Pydantic v2 - Validation
- loguru - Logging
- FastAPI - REST API (optional)
- FastHTML - Web UI (optional)
- SQLAlchemy 2.0 - Database (optional)
- Typer - CLI (optional)
- ruff - Linting
- pytest - Testing
- uv - Package management
MIT