Skip to content

Commit 66ade25

Browse files
docs: overhaul CPA package README to CNA parity
Rewrite the PyPI-facing create-awesome-python-app README with install channels, recipes, CLI/cache reference, and site links; refresh the monorepo README to point users at the package docs (#221). Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 8a04271 commit 66ade25

2 files changed

Lines changed: 685 additions & 73 deletions

File tree

README.md

Lines changed: 95 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
# create-python-app
1+
<!--lint disable double-link awesome-heading awesome-git-repo-age awesome-toc-->
2+
3+
<div align="center">
4+
5+
# Create Awesome Python App
6+
7+
**The open-source monorepo behind `create-awesome-python-app`: compose templates and addons into production-ready Python, FastAPI, Django, Celery, CLI, and uv workspace projects.**
8+
9+
One command. Any stack.
210

311
[![CI Tests](https://github.com/Create-Python-App/create-python-app/actions/workflows/test.yml/badge.svg)](https://github.com/Create-Python-App/create-python-app/actions/workflows/test.yml)
412
[![Lint](https://github.com/Create-Python-App/create-python-app/actions/workflows/lint.yml/badge.svg)](https://github.com/Create-Python-App/create-python-app/actions/workflows/lint.yml)
@@ -9,70 +17,70 @@
917
[![Homebrew](https://img.shields.io/badge/homebrew-Create--Python--App%2Ftap-orange?logo=homebrew)](https://github.com/Create-Python-App/homebrew-tap)
1018
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
1119

12-
Composable scaffolding CLI for production-ready Python apps.
20+
[Package README](./packages/create-awesome-python-app/README.md) · [Official Site](https://create-awesome-python-app.vercel.app) · [Templates](https://create-awesome-python-app.vercel.app/templates) · [Extensions](https://create-awesome-python-app.vercel.app/extensions) · [Contributing](./CONTRIBUTING.md) · [Troubleshooting](./docs/TROUBLESHOOTING.md)
1321

14-
> **Status:** CLI monorepo bootstrapped. Template bank: [`cpa-templates`](https://github.com/Create-Python-App/cpa-templates). Roadmap: [#1](https://github.com/Create-Python-App/create-python-app/issues/1).
22+
</div>
1523

16-
## Ecosystem
24+
---
1725

18-
| Repository | Role |
19-
|------------|------|
20-
| [create-python-app](https://github.com/Create-Python-App/create-python-app) (this repo) | CLI (`create-awesome-python-app`) and scaffolding engine (`create-python-app-core`) |
21-
| [cpa-templates](https://github.com/Create-Python-App/cpa-templates) | Official templates and extensions (`templates.json` catalog) |
22-
| [homebrew-tap](https://github.com/Create-Python-App/homebrew-tap) | Homebrew formula |
23-
| [aur-package](https://github.com/Create-Python-App/aur-package) | AUR PKGBUILD mirror |
26+
## What This Repo Contains
2427

25-
The CLI fetches the catalog from:
28+
This repository contains the source code for [`create-awesome-python-app`](https://pypi.org/project/create-awesome-python-app/), the CLI that composes curated templates, addons, custom options, and AI-ready conventions into working projects.
2629

27-
`https://raw.githubusercontent.com/Create-Python-App/cpa-templates/main/templates.json`
30+
Use this README if you want to understand the codebase, run it locally, contribute a fix, improve documentation, or work on the CLI packages. If you only want to generate an app, start with the [package README](./packages/create-awesome-python-app/README.md).
2831

29-
Override with `CPA_CATALOG_URL` for forks or local testing (`file://` supported).
32+
---
3033

31-
## Install
34+
## Quick Start For Users
3235

3336
```bash
34-
# PyPI / uv
3537
uvx create-awesome-python-app@latest my-app
36-
37-
# Homebrew
38-
brew tap Create-Python-App/tap
39-
brew install create-awesome-python-app
40-
41-
# AUR
42-
yay -S create-awesome-python-app
43-
44-
# Docker
45-
docker run --rm -it -v "${PWD}:/app" -w /app \
46-
ulisesjeremias/create-awesome-python-app my-app
4738
```
4839

49-
Or pin a version:
40+
Run headlessly for scripts, CI, or platform automation:
5041

5142
```bash
52-
uvx create-awesome-python-app@0.1.0 my-app --template fastapi-starter --no-interactive
43+
uvx create-awesome-python-app my-api \
44+
--template fastapi-starter \
45+
--addons github-setup \
46+
--addons fastapi-sqlalchemy \
47+
--no-interactive
5348
```
5449

55-
From this workspace (development):
50+
More examples live in the [CLI package README](./packages/create-awesome-python-app/README.md).
5651

57-
```bash
58-
uv sync
59-
uv run create-awesome-python-app --help
60-
```
52+
---
6153

62-
### Shell completion
54+
## Ecosystem
6355

64-
```bash
65-
create-awesome-python-app --install-completion # bash / zsh / fish
66-
create-awesome-python-app --show-completion # print script only
67-
```
56+
| Repository | Role |
57+
|------------|------|
58+
| [create-python-app](https://github.com/Create-Python-App/create-python-app) (this repo) | CLI (`create-awesome-python-app`) and scaffolding engine (`create-python-app-core`) |
59+
| [cpa-templates](https://github.com/Create-Python-App/cpa-templates) | Official templates and extensions (`templates.json` catalog) |
60+
| [website](https://github.com/Create-Python-App/website) | Docs + catalog UI ([create-awesome-python-app.vercel.app](https://create-awesome-python-app.vercel.app)) |
61+
| [homebrew-tap](https://github.com/Create-Python-App/homebrew-tap) | Homebrew formula |
62+
| [aur-package](https://github.com/Create-Python-App/aur-package) | AUR PKGBUILD mirror |
6863

69-
## License
64+
The CLI fetches the catalog from:
7065

71-
MIT — see [LICENSE](./LICENSE).
66+
`https://raw.githubusercontent.com/Create-Python-App/cpa-templates/main/templates.json`
67+
68+
Override with `CPA_CATALOG_URL` for forks or local testing (`file://` supported).
7269

73-
## Monorepo layout (uv workspaces)
70+
---
7471

75-
This repository is a **virtual uv workspace**: the root is not published; packages live under `packages/*` and share one `uv.lock` / `.venv`.
72+
## Repository Map
73+
74+
This is a **virtual uv workspace**: the root is not published; packages live under `packages/*` and share one `uv.lock` / `.venv`.
75+
76+
| Path | Purpose |
77+
|------|---------|
78+
| [`packages/create-awesome-python-app`](./packages/create-awesome-python-app) | Main CLI package (Typer), interactive wizard, catalog listing |
79+
| [`packages/create-python-app-core`](./packages/create-python-app-core) | Scaffolding engine: resolve sources, merge layers, install, git init |
80+
| [`docs/`](./docs) | Brand, troubleshooting, migration, distribution, versioning |
81+
| [`.github/workflows`](./.github/workflows) | CI, release, Docker / Homebrew / AUR publish, distribution smoke |
82+
83+
Template and extension data is maintained in [`Create-Python-App/cpa-templates`](https://github.com/Create-Python-App/cpa-templates). This repo consumes that catalog remotely.
7684

7785
```text
7886
create-python-app/ # virtual workspace root (no [project] table)
@@ -84,16 +92,34 @@ create-python-app/ # virtual workspace root (no [project] table)
8492
└── create-awesome-python-app/ # CLI (depends on core via workspace)
8593
```
8694

87-
### Setup
95+
---
96+
97+
## Local Development
98+
99+
Requires **Python 3.12+** (pinned in `.python-version`) and [uv](https://docs.astral.sh/uv/):
88100

89101
```bash
90-
# Requires uv: https://docs.astral.sh/uv/
102+
git clone https://github.com/Create-Python-App/create-python-app.git
103+
cd create-python-app
91104
uv sync --group dev
105+
uv run create-awesome-python-app --help
92106
```
93107

94-
## Development commands
108+
Non-interactive local smoke test:
95109

96-
From the repo root (requires [uv](https://docs.astral.sh/uv/)):
110+
```bash
111+
uv run create-awesome-python-app smoke-app \
112+
--template fastapi-starter \
113+
--addons github-setup \
114+
--no-interactive \
115+
--no-install
116+
```
117+
118+
Install git hooks: `uv run pre-commit install`
119+
120+
---
121+
122+
## Development Commands
97123

98124
| Task | Make | Equivalent |
99125
|------|------|------------|
@@ -103,38 +129,45 @@ From the repo root (requires [uv](https://docs.astral.sh/uv/)):
103129
| Type-check | `make typecheck` | `uv run pyright` |
104130
| Build packages | `make build` | `uv build --all` |
105131

106-
Install git hooks: `uv run pre-commit install`
107-
108-
## Python version
132+
---
109133

110-
- **Pin file:** `.python-version``3.12`
111-
- **Constraint:** every workspace member sets `requires-python = ">=3.12"`
112-
- **CI:** workflows install Python 3.12+ matching this pin
134+
## Install Channels (published package)
113135

114136
```bash
115-
uv python install
116-
uv sync --group dev
117-
```
137+
# PyPI / uv
138+
uvx create-awesome-python-app@latest my-app
118139

119-
## Docker
140+
# Homebrew
141+
brew tap Create-Python-App/tap
142+
brew install create-awesome-python-app
120143

121-
Published image: [`ulisesjeremias/create-awesome-python-app`](https://hub.docker.com/r/ulisesjeremias/create-awesome-python-app)
144+
# AUR
145+
yay -S create-awesome-python-app
122146

123-
```bash
124-
docker run --rm ulisesjeremias/create-awesome-python-app:0.1.0 --version
147+
# Docker
125148
docker run --rm -it -v "${PWD}:/app" -w /app \
126-
ulisesjeremias/create-awesome-python-app my-app --template fastapi-starter --no-interactive
149+
ulisesjeremias/create-awesome-python-app:latest my-app \
150+
--template fastapi-starter
127151
```
128152

129-
Local build (installs the given PyPI version into the image):
153+
Published image: [`ulisesjeremias/create-awesome-python-app`](https://hub.docker.com/r/ulisesjeremias/create-awesome-python-app)
154+
155+
Local image build (installs the given PyPI version into the image):
130156

131157
```bash
132-
docker build --build-arg VERSION=0.1.0 -t create-awesome-python-app .
158+
docker build --build-arg VERSION=0.2.5 -t create-awesome-python-app .
133159
docker run --rm create-awesome-python-app --help
134160
```
135161

162+
---
163+
164+
## License
165+
166+
MIT — see [LICENSE](./LICENSE).
167+
136168
### Reference
137169

170+
- [Package README](./packages/create-awesome-python-app/README.md) — user-facing CLI docs
138171
- [uv workspaces handbook](https://pydevtools.com/handbook/how-to/how-to-set-up-a-python-monorepo-with-uv-workspaces/)
139172
- [cpa-templates](https://github.com/Create-Python-App/cpa-templates) — template and extension bank
140173
- Node parity: [Create-Node-App/create-node-app](https://github.com/Create-Node-App/create-node-app) + [cna-templates](https://github.com/Create-Node-App/cna-templates)

0 commit comments

Comments
 (0)