| 
									
										
										
										
											2022-08-22 17:39:55 -05:00
										 |  |  | # Contributing
 | 
					
						
							| 
									
										
										
										
											2024-05-28 20:46:17 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | All contributions are welcome, though we have a few requests of contributors, whether they be for core, webhost, or new  | 
					
						
							|  |  |  | game contributions: | 
					
						
							| 
									
										
										
										
											2022-08-22 17:39:55 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-15 13:18:57 -05:00
										 |  |  | * **Follow styling guidelines.** | 
					
						
							|  |  |  |   Please take a look at the [code style documentation](/docs/style.md) | 
					
						
							|  |  |  |   to ensure ease of communication and uniformity. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-28 20:46:17 -05:00
										 |  |  | * **Ensure that critical changes are covered by tests.** | 
					
						
							|  |  |  |   It is strongly recommended that unit tests are used to avoid regression and to ensure everything is still working. | 
					
						
							|  |  |  |   If you wish to contribute by adding a new game, please take a look at | 
					
						
							|  |  |  |   the [logic unit test documentation](/docs/tests.md). | 
					
						
							|  |  |  |   If you wish to contribute to the website, please take a look at [these tests](/test/webhost). | 
					
						
							| 
									
										
										
										
											2023-11-15 13:18:57 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | * **Do not introduce unit test failures/regressions.** | 
					
						
							| 
									
										
										
										
											2024-05-28 20:46:17 -05:00
										 |  |  |   Archipelago supports multiple versions of Python. You may need to download older Python versions to fully test | 
					
						
							|  |  |  |   your changes. Currently, the oldest supported version | 
					
						
							| 
									
										
										
										
											2024-11-27 03:28:00 +01:00
										 |  |  |   is [Python 3.10](https://www.python.org/downloads/release/python-31015/). | 
					
						
							| 
									
										
										
										
											2024-05-28 20:46:17 -05:00
										 |  |  |   It is recommended that automated github actions are turned on in your fork to have github run unit tests after | 
					
						
							|  |  |  |   pushing. | 
					
						
							|  |  |  |   You can turn them on here:   | 
					
						
							|  |  |  |    | 
					
						
							| 
									
										
										
										
											2022-08-22 17:39:55 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 16:55:12 +01:00
										 |  |  | * **When reviewing PRs, please leave a message about what was done.** | 
					
						
							| 
									
										
										
										
											2024-05-28 20:46:17 -05:00
										 |  |  |   We don't have full test coverage, so manual testing can help. | 
					
						
							|  |  |  |   For code changes that could affect multiple worlds or that could have changes in unexpected code paths, manual testing | 
					
						
							|  |  |  |   or checking if all code paths are covered by automated tests is desired. The original author may not have been able | 
					
						
							|  |  |  |   to test all possibly affected worlds, or didn't know it would affect another world. In such cases, it is helpful to | 
					
						
							|  |  |  |   state which games or settings were rolled, if any. | 
					
						
							|  |  |  |   Please also tell us if you looked at code, just did functional testing, did both, or did neither. | 
					
						
							|  |  |  |   If testing the PR depends on other PRs, please state what you merged into what for testing. | 
					
						
							|  |  |  |   We cannot determine what "LGTM" means without additional context, so that should not be the norm. | 
					
						
							| 
									
										
										
										
											2024-03-05 16:55:12 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-28 20:46:17 -05:00
										 |  |  | Other than these requests, we tend to judge code on a case-by-case basis. | 
					
						
							| 
									
										
										
										
											2023-11-15 13:18:57 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | For contribution to the website, please refer to the [WebHost README](/WebHostLib/README.md). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you want to contribute to the core, you will be subject to stricter review on your pull requests. It is recommended | 
					
						
							|  |  |  | that you get in touch with other core maintainers via the [Discord](https://archipelago.gg/discord). | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-28 20:46:17 -05:00
										 |  |  | If you want to add Archipelago support for a new game, please take a look at | 
					
						
							|  |  |  | the [adding games documentation](/docs/adding%20games.md) | 
					
						
							|  |  |  | which details what is required to implement support for a game, and has tips on to get started. | 
					
						
							|  |  |  | If you want to merge a new game into the main Archipelago repo, please make sure to read the responsibilities as a | 
					
						
							|  |  |  | [world maintainer](/docs/world%20maintainer.md). | 
					
						
							| 
									
										
										
										
											2022-08-22 17:39:55 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-28 20:46:17 -05:00
										 |  |  | For other questions, feel free to explore the [main documentation folder](/docs), and ask us questions in the | 
					
						
							|  |  |  | #ap-world-dev channel of the [Discord](https://archipelago.gg/discord).
 |