Maintenance release: dependency updates (ruff, GitHub Actions) since 0.3.0.
CLI power batch: machine-readable catalog output, answer files, and friendlier interactive runs.
--jsonfor--list-templates/--list-addons(jq-parseable contract) (#262)--skip-installalias for--no-install(#263)--category <slug>filter for--list-templates(#273)--config <path>JSON defaults merged under explicit--set(#271)--helpusage examples (interactive, headless, file:// banks, JSON+jq) (#264)- Rich progress spinner around scaffolding on interactive TTYs (#269)
docs/SHELL_COMPLETION.mdfor built-in shell completion (#270)CONTRIBUTING.es.mdSpanish onboarding translation (#265)
- Clearer Python-version failure (detected + required +
uv python installhint) (#266) - Integration coverage for
--setoverrides, coercion, and malformed input (#268) - Expanded
docs/TROUBLESHOOTING.mdrecipes (#272)
- Add PyPI
keywordsand Troveclassifierstocreate-awesome-python-appandcreate-python-app-corepyproject.tomlso the packages are discoverable on PyPI by scaffold/fastapi/django/celery/typer/uv/cli themes and filtered by Python version, license, and topic (#246).
- Do not treat
--template/-t/ other option values (e.g.file://…) as the project positional when expanding--addons/--extend. Fixes trailingproject_directorybeing swallowed as an addon slug after a template URL (#245).
- Validate non-empty target directory before the interactive wizard so a leftover default
my-project/does not waste a full prompt session. - Exit cleanly with a hint to use
--forceor pick a different directory name (no traceback).
- Stop treating a trailing
project_directoryafter--addons/--extendas another addon value (e.g.--addons a --addons b /tmp/app).
- Accept space-separated
--addons/--extendvalues (CNA Commander parity):--addons fastapi-docker github-setupexpands to repeated flags before Typer parses.
- Allow options after the project directory (
uvx create-awesome-python-app my-api --template …). Typer was registeringcacheas a nested command group, so Click treated--templateas a COMMAND name.
- Overhaul
create-awesome-python-appREADME to Create-Node-App package parity (install channels, recipes, CLI/cache reference, site links). - Refresh monorepo README as contributor-facing docs with a clear pointer to the package README.
- Git cache refresh now advances HEAD to the remote default tip when
?ref=is unset (CNA pull parity) - Force-refresh when a configured template/extension
subdiris missing from a warm cache (fixes post-renameManifestLoadErrorforall-github-setupand friends)
- Template select titles use FormattedText styles (no more literal
^[[1;94mANSI escapes)
- Template picker is now a browsable select with type-to-filter (↑↓ + search)
- High-contrast CPA blue/green prompt theme and bright category badges
- Template autocomplete no longer embeds ANSI category badges (questionary HTML parse error while typing to search)
- Interactive template autocomplete no longer passes unsupported
pointerto prompt_toolkit (TypeError: PromptSession.__init__() got an unexpected keyword argument 'pointer')
- Catalog slugs resolve to registry URLs (
--template fastapi-starterworks end-to-end) - Release prep automation (
prepare_release.py+Prepare release PRworkflow) - Hardened distribution smoke (PyPI/
uvx, Docker, Homebrew, AUR) with clearer version checks - AUR publish preflight + post-publish verification
- Cross-platform scaffold smoke (Ubuntu / macOS / Windows) against published
uvx
- Resolve
cpa-templatescatalog slugs for--template/--addonsbefore cloning --list-templates/--list-addonsreflect the live catalog (including new starters)
- Changelog-driven GitHub Release notes via
extract_release_notes.py - Docs:
VERSIONING.md,DISTRIBUTION_SETUP.md, cross-platform tracking
Paired catalog growth lives in cpa-templates (cli-starter, celery-worker, django-api, uv-workspace-starter, extension pack, typed FastAPI default, CNA-parity github-setup).
First public release of:
create-python-app-core— scaffolding engine (Jinja.template/.append,pyproject.tomlmerge, git cache,file:/// GitHub sources)create-awesome-python-app— Typer CLI
Default template catalog: Create-Python-App/cpa-templates (templates.json).
uvx create-awesome-python-app@0.1.0 my-api --template fastapi-starter --no-interactive