Lint commit messages using gitlint in pre-commit. Gitlint enforces rules that are configured by .gitlint. The checks enforce the [`Conventional Commits`](https://www.conventionalcommits.org) commit message style. Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2.3 KiB
Contributing to EOS
Thanks for taking the time to read this!
The EOS
project is in early development, therefore we encourage contribution in the following ways:
Documentation
Latest development documentation can be found at Akkudoktor-EOS.
Bug Reports
Please report flaws or vulnerabilities in the GitHub Issue Tracker using the corresponding issue template.
Ideas & Features
Please first discuss the idea in a GitHub Discussion or the Akkudoktor Forum before opening an issue.
There are just too many possibilities and the project would drown in tickets otherwise.
Code Contributions
We welcome code contributions and bug fixes via Pull Requests. To make collaboration easier, we require pull requests to pass code style, unit tests, and commit message style checks.
Setup development environment
Setup virtual environment, then activate virtual environment and install development dependencies. See also README.md.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
pip install -e .
Install make to get access to helpful shortcuts (documentation generation, manual formatting, etc.).
-
On Linux (Ubuntu/Debian):
sudo apt install make
-
On MacOS (requires Homebrew):
brew install make
The server can be started with make run
. A full overview of the main shortcuts is given by make help
.
Code Style
Our code style checks use pre-commit
.
To run formatting automatically before every commit:
pre-commit install
pre-commit install --hook-type commit-msg
Or run them manually:
pre-commit run --all-files
Tests
Use pytest
to run tests locally:
python -m pytest -vs --cov src --cov-report term-missing tests/
Commit message style
Our commit message checks use gitlint
. The checks
enforce the Conventional Commits
commit message style.