Welcome to the Pikafish project! We are excited that you are interested in contributing. This document outlines the guidelines and steps to follow when making contributions to Pikafish.
In case you do not have a C++ compiler installed, you can follow the instructions from our wiki.
If you find a bug, please open an issue on the issue tracker. Be sure to include relevant information like your operating system, build environment, and a detailed description of the problem.
_Please note that Pikafish's development is not focused on adding new features and only comply with Computer Rule. Thus any issue regarding missing features or not complying with other rules will potentially be closed without further discussion.
-
Functional changes need to be tested on fishtest. See Creating my First Test for more details. The accompanying pull request should include a link to the test results and the new bench.
-
Non-functional changes (e.g. refactoring, code style, documentation) do not need to be tested on fishtest, unless they might impact performance.
-
Provide a clear and concise description of the changes in the pull request description.
First time contributors should add their name to AUTHORS.
Pikafish's development is not focused on adding new features. Thus any pull request introducing new features will potentially be closed without further discussion.
Changes to Pikafish C++ code should respect our coding style defined by
.clang-format. You can format your changes by running
make format
. This requires clang-format version 17 to be installed on your system.
- Join the Pikafish discord to discuss ideas, issues, and development.
- Participate in the Stockfish GitHub discussions for broader conversations.
By contributing to Pikafish, you agree that your contributions will be licensed under the GNU General Public License v3.0. See Copying.txt for more details.
Thank you for contributing to Pikafish and helping us make it even better!