- First things first, clone the Challenger repository.
- Make sure you can compile the project. If you can't run
cargo --version
then you likely need to install Rust. - The most important step by far is to understand the code that is already in place. Attempting to develop and add new features without understanding the codebase will likely result in adding code that will only introduce bugs or performance issues to your development branch.
Create a branch and optimize away! We're still working out a way to benchmark challenger as a while so stay tuned on how to prove your optimization improves on previous implementation. Benchmark tests that show improvements within one or more functions will be accepted as would demonstrating an improvment in the current level of stockfish beaten.
- Ensure the bug was not already reported by searching the current Challenger Issues.
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title, clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
-
Open a new GitHub pull request with the patch by heading to the pull request page.
-
Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
- Open a new GitHub pull request on the pull request page. Make sure to write and submit the relevant tests for your code as this will help speed the request along.