Contributors Guide¶
Thank you for your interest in contributing to senfd! Please follow the guidelines below to ensure a smooth and effective collaboration.
Commit Message Guidelines¶
senfd follow the Conventional Commits v1.0.0 specification for commit messages. A clear and consistent commit message format helps us understand the history of senfd. Each commit message should:
Start with a type (e.g., feat, fix, refactor) and a brief summary.
Be written in the imperative mood.
Have a line-width of at most 78 characters, including newline.
For examples, please refer to the structure of the current git commit messages in our repository.
Sign Off Your Commits / DCO¶
All commits must be signed off to acknowledge the Developer Certificate of Origin (DCO). This certifies that you wrote the patch or have the right to pass it on as an open-source patch.
Code Formatting¶
To ensure all code adheres to senfd’s formatting and type-info guidelines, run:
make format
This will perform code auto-formatting where possible and guide you to fix what needs to be addressed manually.
Building and Testing¶
To build, install, and test the project, run:
make
Prerequisites¶
On your system you need a couple of tools and libraries:
On the system
pipx, to install
senfdand dependencieslibxml2, library needed by
python-docxlibxslt, library needed by
python-docx
The install of
senfditself is done viapipxwith dependenciesThis installs
senfdand pytest into the same pipx-managed virtual environment, ensuring that test written in pytest canimport senfdNotice that
pipxmakes the executable endpoints thatsenfdprovides, and its dependencies, available. That is, your systempytestwill with this point to the one install here
The
Makefilewill install the following viapipxpre-commit (for formating and type-checking)
twine (only for maintainers needing to push packages manually)
Contributing Process¶
Fork the repository.
Make your changes in your forked repository.
Check the items above (Commits, DCO, Format)
Create a pull request with your changes.
Thank you for contributing!