* docs: use uv for development setup * docs: restore contributor footer * docs: run development commands with uv
2.6 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
Issues in the GitHub Issue Tracker are also fine to discuss ideas and features.
You may first discuss the idea in the Akkudoktor Forum before opening an issue.
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
Use uv to create the virtual environment and install development dependencies.
uv sync --extra dev
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
All code, comments, docstrings, identifiers and API field names are written in English.
Our code style checks use pre-commit.
To run formatting automatically before every commit:
uv run pre-commit install
uv run pre-commit install --hook-type commit-msg --hook-type pre-push
Or run them manually:
uv run pre-commit run --all-files
Tests
Use pytest to run tests locally:
uv run python -m pytest -vs --cov src --cov-report term-missing tests/
Commit message style
Our commit message checks use
commitizen. The checks
enforce the Conventional Commits commit message style.
You may use commitizen also to create a
commit message and commit your change.
Thank you!
And last but not least thanks to all our contributors