diff --git a/README.md b/README.md index 26d74df..b222a01 100644 --- a/README.md +++ b/README.md @@ -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) @@ -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) diff --git a/SECURITY.md b/SECURITY.md index e215c7b..3f47085 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -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/` | +| `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. diff --git a/docs/CPA_TEMPLATES_TRACKING.md b/docs/CPA_TEMPLATES_TRACKING.md index 776eff7..afd7f11 100644 --- a/docs/CPA_TEMPLATES_TRACKING.md +++ b/docs/CPA_TEMPLATES_TRACKING.md @@ -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). -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 | +| Template bank | https://github.com/Create-Python-App/cpa-templates | + +## 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` |