I want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
I use github to host code, to track issues and feature requests, as I'll as accept pull requests.
Pull requests are the best way to propose changes to the codebase (reference for Github Flow). Before you make a PR, make sure to let me know of your interest to contribute via issue. To make a PR:
- Fork the repo and create your branch from
main
. - Use a logical naming convention for your banch (
feature/<feature_name>
,bug/<bug_name>
). - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Make sure your code lints.
- Issue that pull request!
In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project.
Report bugs using Github's issues
I use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!
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
- Include pictures/videos if applicable.
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
Ensure you set up your development environment to properly format the codebase. I use the official Rust extension to format the Rust files, and Prettier to format pretty much everything else :)
By contributing, you agree that your contributions will be licensed under its MIT License.