We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Contributing or proposing a new feature
- Submitting a fix
We use GitHub to host code, to track issues and feature requests, as well as to accept pull requests.
We Use Github Flow, So All Code Changes Happen Through Pull Requests
Pull requests are the best way to propose changes to the codebase (we use Github Flow). We actively welcome your pull requests:
- Before creating a pull request, please make sure it is in line with the projects' goals. If you have doubts about this, feel free to open a discussion first before spending time on a pull request that may get rejected.
- Fork the repo and create your branch from
main
. - If you've added code that should be tested, add tests.
- Be mindful of breaking changes, please discuss these first with the maintainers. This is mainly a concern when your contribution affects how existing commands work.
- Ensure the test suite passes.
- Make sure your code is correctly formatted (see below).
- Issue that pull request!
In short, when you submit code changes, your submissions are understood to be under the same Apache License and MIT License that cover the project. Feel free to contact the maintainers if that's a concern.
Report bugs using GitHub's issues
We use GitHub issues to track public bugs. Report a bug by opening a new issue!
Use GitHub's discussions for other feedback
Do you want to request a new feature, or suggest another kind of change? Maybe you have a question about how to approach something? Please start a new discussion!
Great bug reports tend to have:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
The better you help us understand your problem, the better we can help you!
Please follow the Rust Coding Conventions.
We run cargo fmt -- --check
to verify pull requests confirm to the expected
style and you can use this command locally to verify your changes before
pushing. In addition, we use cargo clippy
to detect common issues with the
code itself.
This document was adapted from the contribution guidelines for Transcriptase.