Contributor guidelines

Developer prerequisites

pre-commit

Refer to pre-commit for installation instructions.

TL;DR:

uv tool install pre-commit  # Install pre-commit
pre-commit install  # Install pre-commit hooks

Installing pre-commit will ensure you adhere to the project code quality standards.

Code standards

ruff and doc8 will be automatically triggered by pre-commit. Still, if you want to run checks manually:

make pre-commit

Requirements

Requirements are compiled using uv.

make compile-requirements

Virtual environment

You are advised to work in virtual environment.

TL;DR:

uv sync
uv pip install -e .'[all]'

Documentation

Check documentation.

Testing

Check testing.

If you introduce changes or fixes, make sure to test them locally using all supported environments. For that use tox.

tox

In any case, GitHub Actions will catch potential errors, but using tox speeds things up.

Pull requests

You can contribute to the project by making a pull request.

For example:

  • To fix documentation typos.

  • To improve documentation (for instance, to add new rule or fix an existing rule that doesn’t seem to work).

  • To introduce a new feature.

General list to go through:

  • Does your change require documentation update?

  • Does your change require update to tests?

When fixing bugs (in addition to the general list):

  • Make sure to add regression tests.

When adding a new feature (in addition to the general list):

  • Make sure to update the documentation (check whether the installation or features require changes).

Questions

Questions can be asked on GitHub discussions.

Issues

For reporting a bug or filing a feature request use GitHub issues.

Do not report security issues on GitHub. Check the support section.