Reporting Bugs and Contributing#

Reporting Bugs#

To report bugs and other issues, please file a GitHub issue. Issues should:

  • Contain any relevant log messages (if the bug relates to a command, running with the -v flag will make debugging easier)

  • Describe what the expected outcome is

  • Describe the proposed code fix (optional)

Contributing#

Contributors have two options:

  1. Fork the repository, then make a PR to merge your changes

  2. If you have been added as a repository contributor, you can go with the method above or you can create a feature branch, then submit a PR for that feature branch when it is ready to be merged.

In either case, please provide a comprehensive description of your changes with the PR. PRs will never be merged directly to master; they are merged into a release branch. To learn more about PR and release workflows, visit the GitHub workflows overview.

Development Environment Setup#

After forking or cloning the repository:

  1. Run make install or ./install/src/install.sh to set up the development environment

  2. Dependencies are managed in pyproject.toml

  3. Run make pre-commit to lint changes before committing

All dependency updates are managed through Dependabot, which creates automated pull requests. Contributors should not manually update dependency versions unless addressing a specific security vulnerability or bug.

Testing Requirements#

If your contribution modifies or adds modules to the library, you must add library tests for all affected modules.

If your contribution modifies the CLI, you must add CLI tests to ensure your changes work.