claude-app-scaffold
Scaffold a FastAPI + Claude API + Railway + Netlify/Vercel project in 30 seconds.
6 questions, and you get a working backend (FastAPI + Anthropic SDK), a vanilla
HTML/CSS/JS frontend, deployment files for Railway and Netlify or Vercel, GEO
basics (llms.txt, robots.txt, sitemap.xml, Schema.org JSON-LD), and a
CLAUDE.md pre-filled so Claude Code has
full context from the first message.
Install
pip install claude-app-scaffold
Usage
Interactive mode — 6 questions (name, type, model, frontend target, description, addons):
claude-app-scaffold
Non-interactive mode, for scripting:
claude-app-scaffold --name "My App" --type chatbot --model haiku \
--description "A support chatbot for my SaaS" \
--auth --postgres --output .
| Flag | Values | Description |
|---|---|---|
--name / -n |
any string | Project name |
--type / -t |
chatbot, rag, optimizer, agent |
What kind of Claude app |
--model / -m |
haiku, sonnet |
Which Claude model to wire up |
--description / -d |
any string | One-liner used in README/CLAUDE.md/meta tags |
--auth |
flag | Add a simple Bearer-token auth dependency |
--stripe |
flag | Add Stripe checkout + webhook routes |
--postgres |
flag | Add PostgreSQL (Railway) connection + init |
--frontend-target |
netlify, vercel |
Which deployment instructions/config to generate for the frontend |
--output / -o |
path | Parent directory for the generated project |
--force |
flag | Overwrite if the target directory already exists |
Project types
| Type | Main endpoint | What it adds |
|---|---|---|
chatbot |
POST /chat |
Multi-turn conversation with history |
rag |
POST /query |
Keyword search over backend/data/*.txt (swap for real vector search as your corpus grows) |
optimizer |
POST /optimize |
Upload a .txt/.pdf, get back an improved version |
agent |
POST /agent |
Tool-use loop with an example tool |
What you get
my-app/
├── CLAUDE.md # project context, pre-filled for Claude Code
├── README.md
├── .gitignore
├── backend/
│ ├── main.py # FastAPI app, routes match the chosen type
│ ├── requirements.txt
│ ├── Procfile # Railway
│ ├── runtime.txt
│ ├── env.example
│ └── utils/
└── frontend/
├── index.html # vanilla HTML/CSS/JS, Schema.org JSON-LD
├── llms.txt
├── robots.txt
└── sitemap.xml
Then:
cd my-app/backend
pip install -r requirements.txt
cp env.example .env # fill in ANTHROPIC_API_KEY
uvicorn main:app --reload
Deploy backend/ to Railway and frontend/ to
Netlify or Vercel, depending on
what you picked.
Why
Every FastAPI + Claude project starts with the same boilerplate — CORS, env vars, a Claude client wrapper, a Procfile, GEO basics. This CLI generates that scaffold so you can start on the actual product instead.
License
MIT — see LICENSE.
Built by Raymond Gadji.
Metadata
Release files for claude-app-scaffold 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| claude_app_scaffold-0.2.0.tar.gz | 19.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| claude_app_scaffold-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.1 kB
Release files / claude_app_scaffold-0.2.0.tar.gz
| Download URL | claude_app_scaffold-0.2.0.tar.gz |
|---|---|
| Size | 19.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f6be2504e80e3a2509b785b49e61a82625a496804a68829215c6c04de130cbe5
|
|
BLAKE2b-256 checksum How to use checksums |
f0470b282b047c934530d77355f6387dd955355eac8a17efda1c7570c95d165a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / claude_app_scaffold-0.2.0-py3-none-any.whl
| Download URL | claude_app_scaffold-0.2.0-py3-none-any.whl |
|---|---|
| Size | 23.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dcc06332ef562db5036cea616fdbe44affece14cfafeb280111098da7992458e
|
|
BLAKE2b-256 checksum How to use checksums |
209f903adcb2ff4cd0cc2a2a1598d290daba6e98746b1a23f897438d95db739e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|