Contributing to behave-kit
July 21, 2026 ยท View on GitHub
Thank you for your interest in contributing! This document covers setup, development commands, and the release process.
Setup
git clone https://github.com/MathiasPaulenko/behave-kit.git
cd behave-kit
pip install -e ".[dev,yaml,excel,dotenv]"
pre-commit install
pre-commit run --all-files
Development Commands
| Command | Description |
|---|---|
make dev | Install with dev dependencies |
make lint | Run ruff check + mypy |
make lint-fix | Run ruff check with --fix |
make format | Run ruff format |
make format-check | Check formatting without changes |
make test | Run pytest |
make test-cov | Run pytest with coverage |
make build | Build sdist + wheel |
make clean | Remove build artifacts |
Pre-PR Checklist
-
make lintpasses with 0 errors -
make format-checkpasses -
make test-covpasses with coverage >= 90% - All public functions have type hints
- Tests cover happy path + edge cases
- Documentation updated if public APIs or behavior changed
- CHANGELOG.md updated (if user-facing changes)
- Backward compatibility considered
Release Process
- Update
CHANGELOG.mdwith a new[Unreleased]->[X.Y.Z]section - Bump
versioninpyproject.toml - Run
make lint,make format-check, andmake test-cov - Commit and push to
main - CI detects the version bump, creates the tag, builds, publishes to PyPI, and creates a GitHub Release automatically