Scaffold AI-development-ready FastAPI projects: pinned upstream template plus Claude Code skills, MCP config, and design docs
Project description
dev-ready
Scaffold a production-grade, AI-development-ready FastAPI + React project in one command:
uvx dev-ready init my-app
The upstream template is pinned to a CI-verified commit (never an untested "latest"), and generation is all-or-nothing — if any step fails, your target directory is never touched.
What you get
A generated project based on fastapi/full-stack-fastapi-template (FastAPI, React, SQLModel, PostgreSQL, Docker Compose), plus an AI tooling overlay so it works well with coding agents out of the box:
CLAUDE.md— project instructions for Claude Code- Claude Code skills (e.g. project orientation)
- MCP server configuration (
mcp.json) - Design-doc templates (
architecture.md,requirements.md)
Requirements
- Python >= 3.12 (uv can install this for you automatically)
- git (Copier fetches the pinned template via git)
- Network access to github.com (to fetch the pinned template snapshot)
- Docker is not required to generate a project — only to run the generated one
Installation
No install needed with uv (any recent version):
uvx dev-ready init my-app
Or install with pip (requires Python >= 3.12):
pip install dev-ready
dev-ready init my-app
Usage
# Interactive: prompts for anything not given on the command line
uvx dev-ready init
# Non-interactive: accept all defaults, no prompts
uvx dev-ready init my-app --yes
# Options
uvx dev-ready init my-app \
--dir path/to/target \ # default: ./my-app
--no-skills \ # skip the Claude Code skills overlay
--no-mcp \ # skip the MCP configuration overlay
--no-docs # skip the design-doc templates
Then follow the printed next steps (typically docker compose watch inside the generated project).
Exit codes: 0 success; 1 unexpected error or user abort; 2 argument error; 3 network/fetch failure; 4 target directory conflict; 5 structural verification failure.
How it works
The CLI ships with a lockfile (manifest.json) pinning the upstream template commit. Generation fetches that exact snapshot, applies the overlay with variable substitution, verifies the result structurally — all inside a staging directory — and only then moves it into the target. The pin is kept current by a weekly CI job that opens bump PRs, each validated by actually generating and booting a project with Docker Compose.
Links
- Source & issues: https://github.com/MoofonLi/dev-ready
- CLI spec, architecture, and ADRs: https://github.com/MoofonLi/dev-ready/tree/main/docs
License
MIT. Generated projects include content derived from fastapi/full-stack-fastapi-template (MIT); see THIRD_PARTY_NOTICES.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dev_ready-0.2.0.tar.gz.
File metadata
- Download URL: dev_ready-0.2.0.tar.gz
- Upload date:
- Size: 80.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f848459d3297015bc475076a1e594cde34b2bbb52ce3675694e1d8d1b6538120
|
|
| MD5 |
6163ca7362ce77856868283a5f2d431c
|
|
| BLAKE2b-256 |
dbf7cb88a25921359c44d43a6240b543767b04e16d5aae1318b8c070efc9b120
|
Provenance
The following attestation bundles were made for dev_ready-0.2.0.tar.gz:
Publisher:
release.yml on MoofonLi/dev-ready
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dev_ready-0.2.0.tar.gz -
Subject digest:
f848459d3297015bc475076a1e594cde34b2bbb52ce3675694e1d8d1b6538120 - Sigstore transparency entry: 2180769235
- Sigstore integration time:
-
Permalink:
MoofonLi/dev-ready@d484e239348556dc5554d7741e3d5608ac338b01 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/MoofonLi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d484e239348556dc5554d7741e3d5608ac338b01 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dev_ready-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dev_ready-0.2.0-py3-none-any.whl
- Upload date:
- Size: 26.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc1d7c0531e55d86910063edc62a0dd3628af9f69334927504f4b2c1788ea538
|
|
| MD5 |
17760db109486c803e1f4154bc454439
|
|
| BLAKE2b-256 |
7879f5c478178fd5a7854043b878bf696a08383f475a06554388ced980ba963e
|
Provenance
The following attestation bundles were made for dev_ready-0.2.0-py3-none-any.whl:
Publisher:
release.yml on MoofonLi/dev-ready
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dev_ready-0.2.0-py3-none-any.whl -
Subject digest:
bc1d7c0531e55d86910063edc62a0dd3628af9f69334927504f4b2c1788ea538 - Sigstore transparency entry: 2180769544
- Sigstore integration time:
-
Permalink:
MoofonLi/dev-ready@d484e239348556dc5554d7741e3d5608ac338b01 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/MoofonLi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d484e239348556dc5554d7741e3d5608ac338b01 -
Trigger Event:
push
-
Statement type: