First off, thank you for taking the time to contribute! ❤️
All types of contributions are encouraged and valued. Please refer to the Table of Contents for various ways you can help and details on how this project handles contributions. Be sure to read the relevant sections before contributing, it will make things easier for us maintainers and provide a smoother experience for everyone involved. The community looks forward to your contributions! 🎉
If you like the project but don’t have time to contribute, that's perfectly fine. There are other simple ways to support the project and show your appreciation, which we would greatly appreciate:
- Star the project
- Tweet about it
- Mention this project in your project's README
- Share the project at local meetups and with your friends/colleagues
Before asking a question, please ensure you’ve read the documentation available in the
docs
directory.
The best way to ask a question is by joining our community on Discord. The most suitable place to post your question is #benchmarking-tool
If you still need clarification after that, we recommend the following:
- Open an Issue.
- Provide as much context as possible about the issue you're facing.
We will address your issue as soon as possible.
Most project communications occur on our Discord server. Discussions related to the benchmarking tool typically happen in the benchmarking-tool channel.
Discussions about specific codebase work take place on GitHub, in issues and pull requests.
Our development calls are scheduled every Tuesday at 18:00 CET. You can see them in the Discord sidebar under Events and subscribe to be notified.
When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content, and that the content you contribute may be provided under the project license.
The project follows an open contributor model, where anyone is welcome to contribute through reviews, documentation, testing, and patches. Follow these steps to contribute:
-
Fork the Repository
-
Set Up Git Hooks
git config core.hooksPath .githooks
: This command configures Git to use the.githooks
directory for all Git hooks. -
Create a Branch
-
Commit Your Changes
-
Submit a Pull Request: Once you're satisfied with your changes, submit a pull request to the repository. Provide a clear and concise description of the changes you've made. If your pull request addresses an existing issue, reference the issue number in the description. To contribute to the protocol implementation, every PR must be opened against the
main
branch. To better understand the branch structure, please refer to this guide. -
Review and Iterate
-
Merge and Close: Once your pull request has been approved and all discussions have been resolved, a project maintainer will merge your changes into the
main
branch. Your contribution will then officially become part of the project. The pull request will be closed, marking the completion of your contribution.
To contribute, a basic understanding of Git and GitHub is needed. If you're not familiar with them, check out this resource to learn how to use them.
Not sure where to start contributing to SRI? You can begin by looking through issues labeled good first issue
:
-
Good first issue - These issues typically require only a few lines of code and a test or two.
-
Help wanted - issues which should be a bit more involved than good first issue issues.
Another way to better understand where to focus your contribution is by looking at our project board: https://github.com/orgs/stratum-mining/projects/10