====================== Contributing to Sponge ====================== This section shows you how to get involved with Sponge. What are the projects I can help with? ====================================== The Sponge Project and its parts are maintained on `GitHub `_. If you're unfamiliar with GitHub and the tool git, then take a look at :doc:`howtogit` first. A read of our :doc:`guidelines` is strongly advised before starting any work. There are several projects we're currently maintaining: * SpongeAPI * SpongeForge * SpongeVanilla * SpongeCommon * Mixin * SpongeDocs * Ore If you want to know more about the structure of the project and how everything is tied together, head over to :doc:`../about/structure`. What kind of help is needed? ============================ Basic contributions ~~~~~~~~~~~~~~~~~~~ This can be done by almost everyone. You don't need to know a programming language like Java or Python to: * test SpongeForge or SpongeVanilla and report bugs or usage quirks * report or suggest any errors, faults or bugs you encounter * post suggestions or idea you have which would make Sponge better Reporting bugs best via our `GitHub repositories `_, suggestions fit onto our `forums `_. Just have a look at our :doc:`Bug Reporting page <../server/spongineer/bugreport>` for further instructions. Intermediate Contributions ~~~~~~~~~~~~~~~~~~~~~~~~~~ You should at least have basic knowledge of Java, Python or reST to help out on the following tasks: * help fixing bugs * finish the implementation of the API (SpongeForge and SpongeVanilla) * :doc:`help writing the SpongeDocs ` * help `translate the Docs on Crowdin `_ * help out developing Ore The development of the `SpongeAPI `_, `SpongeForge `_, `SpongeVanilla `_ and `Ore `_ as well as the `SpongeDocs `_ is done in several repositories hosted on GitHub. Advanced Contributions ~~~~~~~~~~~~~~~~~~~~~~ And finally these are the most difficult things you can help out with. Advanced knowledge of Java, Minecraft and at least basic knowledge of the `SpongeAPI `_ and its `structure `_ is strongly advised before attempting to help out with: * adding functionality to the API (:doc:`implementation/pr`) * implementing advanced API functionality in the implementations Contents ======== .. toctree:: :maxdepth: 2 :titlesonly: guidelines howtogit implementation/index spongedocs porting versioning