Maintainer Guide¶
This guide is for maintainers of kazunoko. It covers version management, releases, and repository administration.
Version Management¶
This project uses Commitizen for semantic versioning, driven by Conventional Commit messages.
task bump:check # preview the next version bump (dry-run)
task bump:auto # bump version, auto-detected from commit history
task bump:patch # force a patch bump (x.y.Z)
task bump:minor # force a minor bump (x.Y.0)
task bump:major # force a major bump (X.0.0)
Each bump command:
- Updates the version in
pyproject.toml - Updates
CHANGELOG.md - Creates a git tag
Release process¶
# 1. Verify the version bump looks correct
task bump:check
# 2. Apply the bump (updates pyproject.toml, CHANGELOG.md, creates git tag)
task bump:auto
# 3. Scaffold the release note
task docs:release -- X.Y.Z
# 4. Edit docs/releases/vX.Y.Z.md with the release summary
# 5. Commit the release note
git add docs/releases/vX.Y.Z.md
git commit -m "docs: add vX.Y.Z release note"
# 6. Push commits and tag
task push:tags
# 7. Publish the GitLab release
task push:release -- X.Y.Z
Environment management¶
task env:setup # uv sync --all-groups + pre-commit install
task env:clean # remove .venv, __pycache__, .pytest_cache, .ruff_cache
task deps:outdated # list outdated packages
task deps:update # uv sync --upgrade --all-groups
task pre-commit:update # autoupdate pre-commit hooks
task pre-commit:uninstall # remove pre-commit hooks