Plan 07 — REUSE Compliance and Local Smoke Test
REUSE compliance¶
The package itself must be REUSE-compliant. Every source file needs an SPDX header (as shown in all snippets). Provide the full license text:
mkdir -p LICENSES
curl -sL https://www.apache.org/licenses/LICENSE-2.0.txt \
-o LICENSES/Apache-2.0.txt
Verify compliance locally:
The package's own changelog (docs/changelog.md) carries the same YAML
frontmatter with SPDX headers — a nice self-hosting dogfood loop. (We use
docs/changelog.md instead of the conventional CHANGELOG.md so it embeds in
the documentation site; the path is configurable via changelog_file in
pyproject.toml.)
Local smoke test¶
After installing in editable mode, verify the entry point is visible to commitizen and that a dry-run bump works end-to-end:
# Editable install into the project venv
uv pip install -e .
# Confirm the entry point is registered
python -c "
from importlib.metadata import entry_points
eps = {ep.name: ep.value for ep in entry_points(group='commitizen.changelog_format')}
print(eps)
# Expected: {'markdown': '...', 'spdx-markdown': 'commitizen_spdx_changelog...'}
"
# Dry-run bump against the project's own changelog (docs/changelog.md)
cz bump --dry-run --changelog --yes
# Confirm: no false version detection, insertion point is after the frontmatter.
# --yes is required for the first tag confirmation prompt (no git tags yet).
Tasks¶
Completed¶
- Download the Apache 2.0 license text.
LICENSES/Apache-2.0.txtexists. - Add SPDX headers to all source files. Every
.py,.md,.toml,.yml,.yaml,.sh,.cfg,.editorconfig,.gitignore, and.python-versionfile has SPDX headers. - Verify REUSE compliance.
uv run reuse lintpasses with 77/77 files. - Editable install.
uv pip install -e .succeeds. - Verify entry point registration.
spdx-markdownis visible incommitizen.changelog_formatentry points. - Dry-run bump.
cz bump --dry-run --changelog --yessucceeds and increments0.0.1 → 0.1.0(MINOR,feat:commit).
Remaining¶
(All tasks complete.)
Dependencies¶
- Plan 06 must be complete — CI workflows are in place.
reusetool installed (in dev dependencies).commitizen>=4.16.3installed (in runtime dependencies).curlorwgetavailable.
Acceptance¶
-
LICENSES/Apache-2.0.txtexists. -
uv run reuse lintpasses with zero errors. -
uv pip install -e .succeeds. - Entry point
spdx-markdownis visible viaimportlib.metadata.entry_points. -
cz bump --dry-run --changelog --yescompletes withoutNoRevisionErrorand bumps0.0.1 → 0.1.0.
Next¶
→ Continue to Plan 08 — Release