Contributing

Thank you for your interest in contributing to BESSER! This section covers everything you need to get started, from setting up your environment to submitting a pull request.

Tip

Not sure where to start? Check Where to Contribute to find the part of the codebase that matches your interests, or browse open issues labeled good first issue.

Code Style

  • Python: PEP 8, 4-space indentation, 120-character line limit

  • Linting: The CI pipeline uses Ruff with rules E, W, F enabled. Run locally before pushing:

    pip install ruff
    ruff check besser/
    
  • Naming: snake_case for functions and variables, PascalCase for classes, UPPER_CASE for constants

  • Commits: Use Conventional Commits (feat:, fix:, refactor:, docs:, test:)

Branching and PR Workflow

  1. Create a feature branch from master (e.g., feature/add-rdf-generator).

  2. Make focused, incremental commits.

  3. Run tests: python -m pytest

  4. Run linting: ruff check besser/

  5. Build docs (if changed): cd docs && make html

  6. Push and open a pull request against master.

  7. Fill in the PR description with: what changed, why, how to test, any follow-up work.

  8. Respond to review feedback — reviews are collaborative.

CI will automatically run tests on Python 3.10/3.11/3.12, Ruff linting, and (for frontend changes) npm lint + build.

Our Team

Maintainers:

We want to recognize the work of the contributors:

Contact

You can reach us at: info@besser-pearl.org

Website: https://besser-pearl.github.io/website/