Skip to content

Contribution guide

This project welcomes contributions! Whether you’re fixing bugs, adding features, improving documentation, or helping with testing, your help is appreciated.

  1. Find something to work on: Browse the outstanding issues for ideas, or open a new issue to discuss your proposed changes.
  2. Set up your environment: Follow the local development guide to get your development environment ready.
  3. Make your changes: Write focused, well-tested code that follows the project’s conventions.
  4. Submit a pull request: Open a PR with a clear description of the changes and why they’re needed.

All contributions, whether written by hand or generated with AI assistance, must meet the same standards.

  • Focused scope: Each PR should address a single concern or feature. Large, unfocused PRs will likely be rejected or require splitting.
  • Well documented: Explain the purpose and context of your changes in the PR description.
  • Well tested: Include tests that demonstrate your changes work and don’t break existing functionality.
  • Clean commit history: Structure commits to make review easier. Related changes should be grouped logically.
  • Follow the project’s code conventions
  • Write clear code: favour simplicity and readability
  • Include appropriate error handling
  • Add comments where logic isn’t self-evident, or a maintainer would benefit from additional context

AI agent use for contributions is accepted under the same conditions as handwritten contributions. If you use AI tools (such as GitHub Copilot, Claude, Crush, or similar) to help write your contribution:

  • You are responsible for the quality and correctness of the output
  • You must review and understand all generated code before submitting
  • The contribution must still be focused, well-documented, and well-tested
  • You must verify that the AI-generated output does not contain unattributed intellectual property from other sources

AI-generated contributions that fail to meet quality standards, contain unattributed code, or show signs of inadequate review will require changes before any thorough review is completed.

Maintainers will review your PR for:

  • Alignment with project goals
  • Code quality and test coverage
  • Documentation completeness
  • Commit structure and clarity

Feedback may include requests for changes, clarifications, or discussion of alternative approaches. This is a normal part of the process and helps maintain project quality.