Contributing¶
Prerequisites¶
- Python >= 3.11
- uv
Setup¶
This installs all dev dependencies and sets up pre-commit hooks.
Development¶
make check # lint + typecheck + tests with coverage
make test # tests with coverage
make lint # ruff check
make format # ruff format
make typecheck # ty check
make docs # serve docs locally
Pre-commit Hooks¶
Installed automatically by make install. Runs on every commit:
- ruff format + lint
- ty type check
- commitlint (conventional commits)
- pygrep checks
Commit Messages¶
This project uses Conventional Commits with python-semantic-release:
feat(module): add on_destroy lifecycle hook # triggers MINOR bump
fix(container): resolve singleton cache miss # triggers PATCH bump
chore: update dependencies # no release
Pull Requests¶
- Fork the repo
- Create a feature branch
- Make your changes
- Run
make check - Commit with conventional commit message
- Open a PR against
main