Skip to content

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 init using src/ layout. See actual pyproject.toml in Plan 04.
  • Set up src/ package structure. Created src/commitizen_spdx_changelog/formatters/ with __init__.py files.
  • 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.txt in Plan 07).

Acceptance

  • Project directory exists with src/ layout
  • pyproject.toml created with uv/uv_build config
  • Package lives under src/commitizen_spdx_changelog/
  • Directory structure matches the expected layout

Next

→ Continue to Plan 03 — Design

See also