Portmod Developer Guide
=======================
.. _contributing:
Contributing to Portmod
-----------------------
There are many different ways you can contribute to Portmod. With the exception of :ref:`l10n`, all of these contributions will require the use of git.
If you are unfamiliar with git you may want to check out the `GitLab Basics Guide `_.
In particular, you may want to look at:
- `Making your first commit `_, which guides you through the basics of git, gitlab, and commits.
- `Forking Workflow `_, which describes how to use forks to contribute to projects you don't have write access to.
Contributing to Portmod or its subprojects means that you are licensing your contributions under the GPL version 3 or later.
Setting up a local clone
........................
You will need to fork the repository you wish to contribute to (look for the fork button in the top right of the project page).
Make a local copy of your fork:
.. code:: bash
git clone git@gitlab.com:/.git
Documentation
-------------
Documentation is written using `Sphinx `_ and `reStructuredText `_.
All documentation should be written in British English (en-GB). Sphinx documentation can be `internationalised `_, but this has not yet been set up. If you are interested in contributing translations of the documentation, please open an issue on `the issue tracker `_.
Localisation
------------
.. toctree::
:maxdepth: 2
l10n
Packaging Mods
--------------
.. toctree::
:maxdepth: 2
packages
Working with Package Repositories
---------------------------------
.. toctree::
:maxdepth: 2
repo/index
Contributing to Portmod's Package Mangager Code
-----------------------------------------------
.. toctree::
:maxdepth: 2
setup
l10n
Portmod's Python API (Unstable)