2021-04-03 04:51:15 +00:00
# So you want to contribute to PCSX2? Great
2021-05-10 14:11:37 +00:00
As a first step, please review these links as they'll help you understand how the development of PCSX2 works.
2014-07-03 19:16:51 +00:00
2021-03-12 02:07:59 +00:00
* [Just Starting Out ](#just-starting-out )
2021-05-08 09:50:11 +00:00
* [Issue Reporting ](#issue-reporting )
2021-04-03 04:51:15 +00:00
* [Pull Request Guidelines ](#pull-request-guidelines )
2021-03-12 02:07:59 +00:00
* [General Documentation And Coding Strategies ](#general-documentation-and-coding-strategies )
* [Tasks ](#tasks )
2016-01-06 07:08:26 +00:00
## Just Starting Out
2021-04-03 04:51:15 +00:00
2023-09-11 18:27:13 +00:00
* If you're unfamilar with git, check out this [brief introduction to Git ](https://github.com/PCSX2/pcsx2/wiki/07-Git-survival-guide )
* [How to build PCSX2 for Windows ](https://github.com/PCSX2/pcsx2/wiki/12-Building-on-Windows )
* [How to build PCSX2 for Linux ](https://github.com/PCSX2/pcsx2/wiki/10-Building-on-Linux )
2016-01-06 07:08:26 +00:00
2021-05-08 09:50:11 +00:00
## Issue Reporting
2021-04-03 04:51:15 +00:00
* [How to write a useful issue ](https://github.com/PCSX2/pcsx2/wiki/How-to-create-useful-and-valid-issues )
## Pull Request Guidelines
The following is a list of *general* style recommendations that will make reviewing and merging easier:
* Commit Messages
* Please try to prefix your commit message, indicating what area of the project was modified.
2021-07-06 17:08:43 +00:00
* For example `gs: message...` .
2021-04-03 04:51:15 +00:00
* Looking at the project's commit history will help with keeping prefixes consistent overtime, *there is no strictly enforced list* .
2022-08-26 19:52:51 +00:00
2021-04-03 04:51:15 +00:00
* Try to keep messages brief and informative
2022-11-25 22:18:20 +00:00
2021-04-03 04:51:15 +00:00
* Remove unnecessary commits and squash commits together when appropriate.
* If you are not familiar with rebasing with git, check out the following resources:
* CLI - https://thoughtbot.com/blog/git-interactive-rebase-squash-amend-rewriting-history
* GUI (SourceTree) - https://www.atlassian.com/blog/sourcetree/interactive-rebase-sourcetree
2022-08-26 19:52:51 +00:00
2021-04-03 04:51:15 +00:00
* Code Styling and Formatting
* [Consult the style guide ](https://github.com/tadanokojin/pcsx2/blob/coding-guide/pcsx2/Docs/Coding_Guidelines.md )
2022-08-26 19:52:51 +00:00
2021-04-03 04:51:15 +00:00
* Run `clang-format` using the configuration file in the root of the repository
* Visual Studio Setup - https://devblogs.microsoft.com/cppblog/clangformat-support-in-visual-studio-2017-15-7-preview-1/
* IMPORTANT - if you are running `clang-format` on unrelated changes (ie. formatting an entire file), please do so in a separate commit.
* If you cannot scope your `clang-format` to just your changes and do not want to format unrelated code. Try your best to stick with the existing formatting already established in the file in question.
2016-01-06 07:08:26 +00:00
## General Documentation And Coding Strategies
2021-04-03 04:51:15 +00:00
2023-09-11 18:27:13 +00:00
* [Commenting Etiquette ](https://github.com/PCSX2/pcsx2/wiki/06-Commenting-Etiquette )
2022-08-26 19:52:51 +00:00
2021-03-12 02:07:59 +00:00
* [Coding style ](https://github.com/PCSX2/pcsx2/wiki/Code-Formatting-Guidelines )
2021-04-03 04:51:15 +00:00
* [More comprehensive style-guide (Currently in Draft) ](https://github.com/tadanokojin/pcsx2/blob/coding-guide/pcsx2/Docs/Coding_Guidelines.md )
2016-01-06 07:08:26 +00:00
## Tasks
2021-04-03 04:51:15 +00:00
2021-03-12 02:07:59 +00:00
* [Issues ](https://github.com/PCSX2/pcsx2/issues )