Contributing
Contributions are welcome and appreciated. This page covers the basics — for the full guidelines, please read CONTRIBUTING.md in the repository.
Setup
git clone https://github.com/MathiasPaulenko/behave-runner.git
cd behave-runner
make dev
pre-commit install
Workflow
- Create a feature branch from
main - Make your changes
- Run
make check(lint + format check + tests) - Run
make test-cov(coverage must be >= 90%) - Update
CHANGELOG.mdunder the[Unreleased]section - Submit a pull request
Code style
- Linter: Ruff (check + format, line length 100)
- Type checker: Mypy
--strict - Tests: Required for new features and bug fixes
- Docstrings: Google style for all public APIs
- Imports:
from __future__ import annotationsin every module
Pre-commit hooks
The repository includes a .pre-commit-config.yaml with Ruff, Mypy, and
standard hygiene hooks. Run pre-commit install after cloning to enable
automatic checks on every commit.
Reporting issues
- Bugs: Use the bug report template
- Features: Use the feature request template
- Questions: Use GitHub Discussions