Metadata-Version: 2.4
Name: claude-app-scaffold
Version: 0.2.0
Summary: Scaffold a FastAPI + Claude API + Railway + Netlify/Vercel project in 30 seconds.
Author-email: Raymond Gadji <gadjiraymond7@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/raymondgadji/claude-app-scaffold
Project-URL: Issues, https://github.com/raymondgadji/claude-app-scaffold/issues
Keywords: claude,anthropic,fastapi,scaffold,cli,railway,netlify,vercel
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.12
Requires-Dist: rich>=13.0
Requires-Dist: questionary>=2.0
Requires-Dist: jinja2>=3.1
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Dynamic: license-file

# 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](https://claude.com/claude-code) has
full context from the first message.

## Install

```bash
pip install claude-app-scaffold
```

## Usage

Interactive mode — 6 questions (name, type, model, frontend target, description, addons):

```bash
claude-app-scaffold
```

Non-interactive mode, for scripting:

```bash
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:

```bash
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](https://railway.app) and `frontend/` to
[Netlify](https://netlify.com) or [Vercel](https://vercel.com), 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](LICENSE).

Built by [Raymond Gadji](https://www.linkedin.com/in/raymond-gadji/).
