Plan 02 — Scaffolding
Context¶
The project was scaffolded manually with uv init using the src/ layout from
the start, avoiding the overhead of a template-based approach. The upstream
commitizen_cz_template was initially considered — it targets
commit-style plugins (commitizen.plugin entry point), not changelog format
plugins (commitizen.changelog_format entry point, subclassing BaseFormat) —
so it was not used.
Tasks¶
Completed¶
- Scaffold project manually. Created with
uv initusingsrc/layout. See actualpyproject.tomlin Plan 04. - Set up
src/package structure. Createdsrc/commitizen_spdx_changelog/formatters/with__init__.pyfiles. - Verify scaffold. Directory tree matches the expected structure from Plan 03.
Dependencies¶
- Plan 01 must be complete — bug confirmed, upstream path closed, plugin approach agreed.
- Python 3.13+ available locally (project uses 3.14 in
.python-version). - curl/wget available (for fetching
LICENSES/Apache-2.0.txtin Plan 07).
Acceptance¶
- Project directory exists with
src/layout -
pyproject.tomlcreated with uv/uv_build config - Package lives under
src/commitizen_spdx_changelog/ - Directory structure matches the expected layout
Next¶
→ Continue to Plan 03 — Design