Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -9,7 +9,20 @@

Composable scaffolding CLI for production-ready Python apps.

> **Status:** bootstrapping complete. Roadmap: [#1](https://github.com/Create-Python-App/create-python-app/issues/1).
> **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).

## Ecosystem

| Repository | Role |
|------------|------|
| [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`) |
| [cpa-templates](https://github.com/Create-Python-App/cpa-templates) | Official templates and extensions (`templates.json` catalog) |

The CLI fetches the catalog from:

`https://raw.githubusercontent.com/Create-Python-App/cpa-templates/main/templates.json`

Override with `CPA_CATALOG_URL` for forks or local testing (`file://` supported).

## Install (preview)

Expand DownExpand Up@@ -86,4 +99,5 @@ docker run --rm create-awesome-python-app --help
### Reference

- [uv workspaces handbook](https://pydevtools.com/handbook/how-to/how-to-set-up-a-python-monorepo-with-uv-workspaces/)
- Node parity: [Create-Node-App/create-node-app](https://github.com/Create-Node-App/create-node-app)
- [cpa-templates](https://github.com/Create-Python-App/cpa-templates) — template and extension bank
- 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)
11 changes: 11 additions & 0 deletions SECURITY.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,3 +10,14 @@ Please open a private security advisory on GitHub or email the maintainers.
Do not open a public issue for undisclosed vulnerabilities.

OSV scanning runs via `.github/workflows/osv-scanner.yml`.

## Network endpoints

The CLI may fetch remote resources when scaffolding or refreshing the template catalog:

| Host | Purpose | Timeout | User-Agent |
|------|---------|---------|------------|
| `raw.githubusercontent.com` | Template catalog `templates.json` from `cpa-templates` | 10 s | `create-awesome-python-app/<version>` |
| `github.com` | Template and extension repositories (git clone) | — | git |

Override the catalog URL with `CPA_CATALOG_URL`. Use `CPA_OFFLINE=1` / `--offline` and local `file://` URLs when working air-gapped.
28 changes: 23 additions & 5 deletions docs/CPA_TEMPLATES_TRACKING.md
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,28 @@
# Tracking: `cpa-templates` + website

Tracked by https://github.com/Create-Python-App/create-python-app/issues/44
Previously tracked by https://github.com/Create-Python-App/create-python-app/issues/44 (closed).

Check failure on line 3 in docs/CPA_TEMPLATES_TRACKING.md

View workflow job for this annotation

GitHub Actions/ markdownlint

Bare URL used

docs/CPA_TEMPLATES_TRACKING.md:3:23 MD034/no-bare-urls Bare URL used [Context: "https://github.com/Create-Pyth..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md034.md

Checklist:
## Status

- [ ] Create `Create-Python-App/cpa-templates`
- [ ] Seed README + `templates.json`
- [ ] Wire catalog URL in CLI
- [x] Create `Create-Python-App/cpa-templates`
- [x] Seed README + `templates.json`
- [x] `fastapi-starter` template + initial extensions
- [x] Wire catalog URL in CLI (`CPA_CATALOG_URL`, default raw GitHub URL)
- [x] Integration tests against `cpa-templates` checkout
- [ ] Website (optional, later)

## Repositories

| Repo | URL |
|------|-----|
| CLI monorepo | https://github.com/Create-Python-App/create-python-app |

Check failure on line 18 in docs/CPA_TEMPLATES_TRACKING.md

View workflow job for this annotation

GitHub Actions/ markdownlint

Bare URL used

docs/CPA_TEMPLATES_TRACKING.md:18:18 MD034/no-bare-urls Bare URL used [Context: "https://github.com/Create-Pyth..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md034.md
| Template bank | https://github.com/Create-Python-App/cpa-templates |

Check failure on line 19 in docs/CPA_TEMPLATES_TRACKING.md

View workflow job for this annotation

GitHub Actions/ markdownlint

Bare URL used

docs/CPA_TEMPLATES_TRACKING.md:19:19 MD034/no-bare-urls Bare URL used [Context: "https://github.com/Create-Pyth..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md034.md

## CNA parity reference

| CNA | CPA |
|-----|-----|
| `create-node-app` | `create-python-app` |
| `cna-templates` | `cpa-templates` |
| `cna.config.json` | `cpa.config.json` |
| `~/.cache/cna` | `~/.cache/cpa` |
Loading