Repository navigation
v1.0.0
v1.0.0 (2026-09-04)
Breaking
- feat!: convert repo into a Copier template
Move the CLI scaffold under template/ (Jinja-rendered where it needs
project_name/description/author substitutions, verbatim elsewhere so
GitHub Actions' ${{ }} syntax doesn't collide with Jinja) and add
copier.yml with _subdirectory: template, so copier copy https://github.com/briandcho/minimal-cli my-project scaffolds a new
CLI project.
The repo root is repurposed into meta-tooling that only tests the
template: pyproject.toml/tox no longer describe an installable
package, and tests/minimal_cli_test.py renders the template end-to-end
(via the copier API, substitution assertions, then an install + pytest
run of the generated project in a throwaway venv) instead of testing
minimal_cli.py directly.
Since copier copy resolves the latest git tag by default (not
main's HEAD), add a root release.yml that runs python-semantic-release
on every push to main to keep a current tag available - separate from
template/release.yml, which governs the generated project's own
PyPI release process.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MkpJdUbmXe6dt5zmrUjNWp (411f6c4)
Chore
- chore: pip-tools/pre-commit updates (
e22402a)
Fix
- fix: install project package in tox py env for version resolution
Removing the version fallback exposed that skipsdist=true prevented
tox from installing the package into any testenv, so importlib.metadata
lookups failed under tox -e py. Drop skipsdist and use usedevelop=true
for an editable install instead.
Also add CLAUDE.md documenting repo commands and architecture.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKGq93JoU3W9wk43yc5z6d (cc41647)
Performance
- perf: defer checkov to pre-push to speed up local pre-commit
checkov's IaC scan was adding noticeable time to every tox -e
pre-commit run. Scope it to the pre-push hook stage alongside
pip-audit, and add it as a standalone CI step so coverage isn't lost
for workflows that don't install git hooks locally.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0168oeQFkLH18jZzZusZgPFY (c2a8602)
- perf: defer pip-audit to pre-push to speed up local pre-commit
pip-audit's network-bound scan was adding ~8s to every tox -e pre-commit
run. Scope it to the pre-push hook stage instead, and add it as a
standalone CI step so coverage isn't lost for workflows that don't
install git hooks locally.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0168oeQFkLH18jZzZusZgPFY (2fb00e5)
Refactor
- refactor: modernize tox config to native pyproject.toml format
tox 4 supports [tool.tox] natively now, so the legacy_tox_ini escape
hatch (an embedded ini string) is no longer needed. Converted to native
tables/dotted-keys; pyproject-fmt normalized usedevelop=true to the
more idiomatic package="editable". Verified tox -av, tox -e py,
tox -e pre-commit, tox c -e update_deps, and a full tox run all behave
identically to the previous ini-based config.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BKGq93JoU3W9wk43yc5z6d (ce71895)
- refactor: drop uninstalled-package version fallback
Require the package to be installed for version resolution instead of
silently falling back to "0+unknown" when running the file directly from
an uninstalled checkout. (7d5cfbb)