Contributing¶
Contributions are welcome! See CONTRIBUTING.md in the repository for full guidelines.
Quick reference¶
# Clone and install with dev extras
git clone https://github.com/MathiasPaulenko/behave-doctor.git
cd behave-doctor
make dev # pip install -e ".[dev]"
pre-commit install
# Day-to-day commands
make help # show all available targets
make check # lint + format-check + test (full pre-commit check)
make lint # ruff check + mypy --strict
make lint-fix # auto-fix lint issues
make format # ruff format
make test # pytest
make test-cov # pytest with >= 90% coverage
make build # build sdist + wheel
make docs-serve # serve docs locally
make clean # remove build artifacts
Adding a new rule¶
- Choose a rule ID following the
BD{category}{number}pattern. - Implement the rule in the appropriate
rules/{category}.pyfile. - Register it in
rules/__init__.py. - Add a test fixture and unit test.
- Document it in
docs/rules/{category}.md. - Update
docs/rules/index.mdandREADME.md.
See Architecture for the internal design and key abstractions.