diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 00000000000..8d1a67248c0 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,66 @@ +# Contributing to Stockfish + +Welcome to the Stockfish project! We're excited that you're interested in contributing. This document outlines the guidelines and steps to follow when making contributions to Stockfish. + +## Table of Contents + +- [Getting Started](#getting-started) + - [Setting up Stockfish](#setting-up-stockfish) + - [Building Stockfish](#building-stockfish) +- [Making Contributions](#making-contributions) + - [Reporting Issues](#reporting-issues) + - [Submitting Pull Requests](#submitting-pull-requests) +- [Code Style](#code-style) +- [Community and Communication](#community-and-communication) +- [License](#license) + +## Getting Started + +### Setting up Stockfish + +1. Fork this repository. +2. Clone your forked repository: `git clone https://github.com/your-username/Stockfish.git` +3. Add the Stockfish repository as a remote: `git remote add upstream https://github.com/official-stockfish/Stockfish.git` + +### Building Stockfish + +In case you dont have a C++ Compiler installed you can follow the instructions from our wiki [linux](https://github.com/official-stockfish/Stockfish/wiki/Compiling-from-source#linux)/[windows](https://github.com/official-stockfish/Stockfish/wiki/Compiling-from-source#windows)/[macos](https://github.com/official-stockfish/Stockfish/wiki/Compiling-from-source#macos) to install one. + +## Making Contributions + +### Reporting Issues + +If you find a bug, please open an issue on the [issue tracker](https://github.com/official-stockfish/Stockfish/issues). Be sure to include relevant information like your operating system, build environment, and a detailed description of the problem. + +_Please note that Stockfishs development isn't focused on adding new features. So any issues regarding missing features will potentially be closed without further discussion._ + +### Submitting Pull Requests + +1. Make sure your forked repository is up to date with the official Stockfish repository: `git pull upstream master` +2. Create a new branch for your changes: `git switch -c branch-name` +3. Commit your changes and add a descriptive commit message. + - If you are making a functional change, include the Bench in your commit message + and submit it to fishtest. See [Creating my first test.](https://github.com/glinscott/fishtest/wiki/Creating-my-first-test#create-your-test) + - Otherwise include "No functional change" in your commit message. +4. Push your branch to your forked repository: `git push --set-upstream origin branch-name` +5. Open a pull request against the `master` branch of the official Stockfish repository. + This is easily done from your forked repository on GitHub. Github should prompt you to open a pull request when you push your branch to your forked repository. + +_First time contributors should add their name to [AUTHORS](https://github.com/official-stockfish/Stockfish/blob/master/AUTHORS)._ + +_Stockfish's development isn't focused on adding new features. So any pull requests introducing new features will potentially be closed without further discussion._ + +## Code Style + +We dont have a strict code style. But it's best to stick to the existing style of the file you are editing. + +## Community and Communication + +- Join the [Stockfish discord](https://discord.gg/GWDRS3kU6R) to discuss ideas, issues, and development. +- Participate in the [Stockfish GitHub discussions](https://github.com/official-stockfish/Stockfish/discussions) for broader conversations. + +## License + +By contributing to Stockfish, you agree that your contributions will be licensed under the GNU General Public License v3.0. See [Copying.txt](https://github.com/official-stockfish/Stockfish/blob/master/Copying.txt) for more details. + +Thank you for contributing to Stockfish and helping us make it even better! diff --git a/README.md b/README.md index e0e3da394f5..249bff1c04f 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,8 @@ Detailed compilation instructions for all platforms can be found in our ## Contributing +__See [Contributing Guide](./.github/CONTRIBUTING.md).__ + ### Donating hardware Improving Stockfish requires a massive amount of testing. You can donate your