mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
Create CONTRIBUTING.md
This commit is contained in:
parent
4a6068b078
commit
ec6d76d46d
76
.github/CONTRIBUTING.md
vendored
Normal file
76
.github/CONTRIBUTING.md
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
# Contributing to Slimefun
|
||||
This document outlines various ways how you can help contribute to Slimefun and make this a bigger and better project.<br>
|
||||
All contributions must be inline with our [Code of Conduct](https://github.com/TheBusyBiscuit/Slimefun4/blob/master/.github/CODE_OF_CONDUCT.md) and [License](https://github.com/TheBusyBiscuit/Slimefun4/blob/master/LICENSE).
|
||||
Please also follow the templates for Issues and Pull Requests we provide.
|
||||
|
||||
## 1. Issues: Bug Reports
|
||||
One of the foundations for good software is reliability. To facilitate this reliability, our community must work together to crush bugs that arise.
|
||||
This of course requires good information and knowledge about ongoing bugs and issues though.
|
||||
|
||||
You can help this project by reporting a bug on our [Issues Tracker](https://github.com/TheBusyBiscuit/Slimefun4/issues).<br>
|
||||
Please adhere to the provided template and provide as much information as possible.
|
||||
For more info on how to make good and helpful bug reports, check out our article on [How to report bugs](https://github.com/TheBusyBiscuit/Slimefun4/wiki/How-to-report-bugs).
|
||||
|
||||
If you encounter an issue which has already been reported, please don't open a new one.<br>
|
||||
It would be awesome though if you could post a comment on the existing issue which explains how you were able to reproduce this yourself.
|
||||
The more context and information we get, the easier we can fix it
|
||||
|
||||
## 2. Pull Requests: Bug Fixes
|
||||
Bugs that have been reported need to be fixed of course.<br>
|
||||
Any open Issue on our [Issues Tracker](https://github.com/TheBusyBiscuit/Slimefun4/issues) is waiting to be fixed.
|
||||
|
||||
This is an Open-Source project and we love Pull Requests.
|
||||
So if you have an idea on how to approach a known issue, feel free to make a [Pull Request](https://github.com/TheBusyBiscuit/Slimefun4/pulls) which fixes this bug.
|
||||
You can also comment on the existing Issue, proposing your idea or communicating that you wanna work on this.
|
||||
|
||||
## 3. Pull Requests: Additions/Changes
|
||||
Slimefun is an Open-Source project and anyone is allowed to make changes or add content to this plugin!
|
||||
|
||||
Please visit our [Discord Server](https://github.com/TheBusyBiscuit/Slimefun4#discord) and share your ideas first, we hate to reject changes because the community disagrees.<br>
|
||||
So communicating your intended changes before-hand will ensure that you don't put too much work into something that might get rejected.<br>
|
||||
We also have a suggestions section in our Discord Server too, you can check out `#approved` for any suggestions the community has voted for.
|
||||
It is a great place to start looking for ideas on what to add or change.
|
||||
|
||||
Also consider making an addon for your additions when they get too large, check out our [Developer Guide](https://github.com/TheBusyBiscuit/Slimefun4/wiki/Developer-Guide).
|
||||
|
||||
## 4. Translations
|
||||
Another great way to contribute to Slimefun is by working on translations for the project.
|
||||
Slimefun's translation is available on [gitlocalize.com](https://gitlocalize.com/repo/3841).
|
||||
Just find a language you are fluent in and translate away. But make sure to submit a "Review Request" when you are done.
|
||||
One of our language moderators will review the changes and submit a Pull Request to the project for you.
|
||||
|
||||
#### Language moderation
|
||||
Very active community translators will have the option to become a "language moderator".
|
||||
Language moderators are responsible for proof-reading any new translations for their designated language and correct it when they see a mistake.
|
||||
|
||||
For more info on how or what to translate, check out our article on [How to translate Slimefun](https://github.com/TheBusyBiscuit/Slimefun4/wiki/Translating-Slimefun).
|
||||
|
||||
## 5. Wiki contributions
|
||||
Slimefun is a very large project and might be quite intimidating for new players.
|
||||
That's why good documentation is always nice and helpful.
|
||||
If you have played with Slimefun for a while and gotten yourself familiar with how things work, please consider contributing your experiences and knowledge to others via the wiki!
|
||||
It would help out a lot <3
|
||||
|
||||
You can find a tutorial on how to contribute to our wiki right here:<br>
|
||||
https://github.com/TheBusyBiscuit/Slimefun4/wiki/Expanding-the-Wiki
|
||||
|
||||
## 6. Pull Requests: Code Quality
|
||||
Slimefun uses [sonarcloud.io](https://sonarcloud.io/dashboard?id=TheBusyBiscuit_Slimefun4) to monitor Code Quality.
|
||||
|
||||
We always welcome quality improvements to the code and the "Code Smells" section on [sonarcloud.io](https://sonarcloud.io/dashboard?id=TheBusyBiscuit_Slimefun4) is a great place to start.
|
||||
But please keep in mind that some design patterns may not be changed too abruptly if an addon depends on them.
|
||||
To prevent any accidents from happening, please contact us on our [Discord Server](https://github.com/TheBusyBiscuit/Slimefun4#discord) before-hand and state your intended changes.
|
||||
|
||||
#### documentation
|
||||
Code documentation is also a great way to improve the maintainability of the project.
|
||||
Every class and every public method should have a Javadocs tag assigned to it.
|
||||
Classes should also include an "author" tag to indicate who worked on that class.
|
||||
|
||||
Feel free to visit our [Javadocs](https://slimefun.github.io/javadocs/Slimefun4/docs/overview-summary.html)
|
||||
|
||||
#### Unit Tests
|
||||
Unit Tests help us test the project to work as intended in an automated manner.<br>
|
||||
More or better Unit Tests are always good to have, so feel free to submit a Test and place it in our [src/test/java](https://github.com/TheBusyBiscuit/Slimefun4/tree/master/src/test/java/io/github/thebusybiscuit/slimefun4/testing) directory
|
||||
|
||||
We are using [Junit 5 - Jupiter](https://github.com/junit-team/junit5/) and [MockBukkit](https://github.com/seeseemelk/MockBukkit) as our testing environment.<br>
|
||||
Every new Unit Test should have a "DisplayName" annotation with a plain text description on what the Unit Test tests.
|
Loading…
Reference in New Issue
Block a user