|
| 1 | +# The Bounty Hunter Guide |
| 2 | +At Golem, we value the open source community very much. We believe that everyone should have the opportunity to contribute to the future of durable computing and learn from the best. We value it so much that we put up [paid bounties](https://algora.io/golemcloud/home) so that potential contributors can earn some money while contributing to the project. While we encourage people of all levels to contribute, we do have a certain standard that we ask contributors to meet up to in order to ensure that we can provide the best possible experience for everyone including maintainers. At Golem we only accept HIGH QUALITY contributions, the best of the best! We do not accept hacks and non-production quality code. Below are some ways to ensure that you meet up to our contribution standards and make the maintainers happy: |
| 3 | +1. Do not open Pull Requests when your submission is incomplete. Doing this could give the maintainers going through the list of PRs a difficult time. Only open one when you are done or very close to the finish line so you don't pollute the pull requests page. Not even draft Pull Requests are necessary. Wait until you are ready to submit your work before creating a PR. |
| 4 | +2. Do not open PRs with broken code. This will make the maintainers very confused and will cause them to have to close your PR. Run all necessary tests and tasks before submitting. At the very least your code should compile and run successfully. |
| 5 | +3. Do not open PRs with code that is not your own. We check the timestamps and we know if you are taking someone else's code and passing it off as your own. If you do this repeatedly, you will get ignored indefinitely. |
| 6 | +4. When you have questions about the issue, feel free to indulge the maintainers. You can ask questions in the comments of the relevant issue. Note that for paid bounties, we will not provide you with implementation details or help with your code. We will only answer questions that help you understand the issue better. |
| 7 | +5. AI Generated Pull Requests are NOT ALLOWED! Your pull request has to be written by you. PLEASE DO NOT USE AI TO GENERATE ENTIRE PULL REQUESTS if you don't want to get blacklisted by the golem community. If your code is suspected to be AI generated (usually obvious from the low quality, poorly written slop code), your PR will never get reviewed and will be closed immediately and this may harm your reputation in our community. |
| 8 | +6. Do not create junk tests. By junk, we mean useless tests. You don't need a test that checks if Open AI is working. It always works! Write quality tests that target your code and ensures that your code works as intended. Check out the `test` directory for examples of well-written integration tests. |
| 9 | +7. Don't submit long continuous blocks of code or functions as this can impact readability and increase cognitive load on the reviewer. Prioritize refactoring them into smaller functions with descriptive names. This helps the reviewer glance through your code and understand what is going on easily. |
| 10 | +8. Using `Result::unwrap` and `Option::unwrap` is not a crime, but use it wisely. The reviewers can't know for sure that your unwrap won't cause a panic, restrict its usage to calls that obviously will not fail just by reading the code. The builder pattern is one popular example of this scenario. |
| 11 | +9. If you want an in-depth review of your code, make sure to share a working video in your Pull Request show casing all the relevant test cases passing. If not provided, your PR may be ignored because there is a lot of code for maintainers to go through so please do your part. |
| 12 | + |
| 13 | +We guarantee you that if you follow these guidelines you will be rewarded with a lot of money and a lot of respect from the maintainers! |
| 14 | +For setup instructions, please see the [README.md](README.md) file. |
0 commit comments