Note: This is a similar section as the one in the project README.md, seen here: It's separate in case we need to add more clarification items as they come up. Any discrepancies noticed should be brought to our attention or fixed. _Contributions welcome._ # Contributing Contributions take a variety of forms, not just writing code. We love to hear feedback and ideas. Feel free to leave some issues, or go through our current issues and PRs, and give us your thoughts. ## Communication If you'd like to reach out and learn more, we use a Discord community server to coordinate: [![Discord](https://img.shields.io/discord/788559109011406889?style=for-the-badge&logo=discord)](https://discord.gg/cvgbcSwYzy) _(There's also a link to join our server at the top of this README.)_ ## Code Contributing should be easy, and the only hard installation pre-requisites needed to contribute should be rustup and git. We try to work within a monorepo for code that we maintain that is relevant to a single set of related tools and compiled binaries. Simply fork this repository, make your changes, submit a PR, and we'll review it. Feel free to coordinate with us further in our Discord server. Please use rustfmt before submitting, or else CI will yell at you. We also use clippy linting, and that might yell at you, too. - `cargo fmt` - `cargo clippy` - `cargo test` Don't worry about rebasing, we just use merge. We could always use tooling improvements that contribute to code quality. Unit tests and benchmarks are also really useful. These are both really helpful places to dive in, in order to help understand existing project code when you want to write code to make the project better. ## Review After making your changes, submit your pull request upstream, to this repo. The process should go: 1. Fork 2. Branch locally: `git checkout -b some-feature-name-idk-lol` 3. Push to your fork 4. Submit a PR to this repo 5. Write some stuff about what you did, and mention any current existing numbers using the `#` sign for the issue number. 6. If we don't see it in a timely manner, mention it on Discord. 7. We'll review your contribution and leave comments in places if changes is required. 8. When a team member approves the contribution and indicates the work is good, and all tests pass, the work will be merged. 9. If there are still some changes that need to be made after the PR is merged, be sure to file a new PR and/or new issues. 10. Delete any branches afterwards We don't really have a strict process, just try to be productive while helping us be productive, also. ## Membership If you make enough contributions, and want to offer your time to make the project better on a more regular basis, feel free to let us know, and we'll get your GitHub username added to the project. ## Conduct Try to be polite, but don't worry about the project being too strict. We're just regular people. It's easier to review contributions or fix things if everyone's nice about it. Bugs can be understandably frustrating, so we'll try our best to be understanding in that case. If we don't get to your issue in a timely manner, reach out via our Discord server. Also, please keep in mind, your potential audience might be larger than you might imagine at time of writing. And remember: It's okay to make mistakes, and ideally, to learn from them. ## Monetary contributions Feel free to send some Monero to the address below. And if you do so, feel free to reach out, or promote what we're doing. Any little bit helps, it's a form of encouragement. XMR: `8ADbBKaunVWjdg5aWQ5ZBNDACdPVMTUBnKETaZbUZ8gMfDfpwhcBeo31kfUgCJKATMPaqmsUoxBwicTpRLg4p4F57kPJ5ab` Any monetary contributions will be used to pay hosting and service costs, in addition to giving back to other projects that are used by this project.