Contributing¶
Any form of contribution is appreciated. If you found a bug or have a feature request, please file an issue. If you want to help with the documentation or want to contribute code, please open a pull request.
Bemerkung
Please read this page carefully before contributing.
Organization and branches¶
The stable development happens on the main-branch for which only maintainers have write access. Any pull request
should hence be targeted at main. Regularly, the production instances are updated to the latest main version,
in particular these are considered to be stable.
If you have standard write access to the repository, feel free to create new branches. To make organization
easier, please follow the branch naming convention: <username>/<feature>.
Workflow¶
request a gitea account from the project maintainers
decide on an issue to work on or create a new one
branch out to an own branch (naming convention:
<username>/<feature>) from themain-branchwork on the issue and commit your changes
create a pull request from your branch to the
main-branch
Documentation¶
If you want to contribute to the documentation, please follow the steps below.
Online (latest release version): https://chrisflav.github.io/kompass
This documentation is build sphinx and awsome sphinx theme the source code is located in
docs/.- All documentation is written in reStructuredText and uses the sphinx directives.
The directives can vary due to the theme, see the awesome sphinx theme documentation.
All technical documentation is written in English, user documentation is written in German.
To read the documentation build it locally and view it in your browser:
cd docs/
make html
# MacOS (with firefox)
open -a firefox $(pwd)/build/html/index.html
# Linux
firefox $(pwd)/build/html/index.html
Code¶
If you want to contribute code, please follow the inital setup steps in the Development Setup section. And dont forget to document your code properly and write tests.
Linting and formatting¶
We use pre-commit to automatically lint and format the (python) code. To locally run
pre-commit, install:
pip install pre-commit
Then you can manually run the linters and formatters:
pre-commit
This runs the suite on all staged files. If you want to run it on all files, use
pre-commit run --all-files
Tests¶
Full test coverage is enforced by continuous integration, for more information see Testing.