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

CommandDescription
make devInstall with dev dependencies
make lintRun ruff check + mypy
make lint-fixRun ruff check with --fix
make formatRun ruff format
make format-checkCheck formatting without changes
make testRun pytest
make test-covRun pytest with coverage
make buildBuild sdist + wheel
make cleanRemove build artifacts

Pre-PR Checklist

  • make lint passes with 0 errors
  • make format-check passes
  • make test-cov passes 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

  1. Update CHANGELOG.md with a new [Unreleased] -> [X.Y.Z] section
  2. Bump version in pyproject.toml
  3. Run make lint, make format-check, and make test-cov
  4. Commit and push to main
  5. CI detects the version bump, creates the tag, builds, publishes to PyPI, and creates a GitHub Release automatically