Contributing Guidelines#
First off, thanks for considering to contribute to this project!
These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
Git hooks#
We use git hooks through pre-commit to enforce and automatically check some “rules”. Please install it before to push any commit.
See the relevant configuration file: .pre-commit-config.yaml.
Code Style#
Make sure your code roughly follows PEP-8 and keeps things consistent with the rest of the code:
docstrings: sphinx-style is used to write technical documentation.
formatting: black is used to automatically format the code without debate.
static analisis: flake8 is used to catch some dizziness and keep the source code healthy.
static typing: following PEP-484 type annotations are used to improve code readability and reliability.
Git flow#
Branches naming pattern#
The pattern is: {category}/{issue-code}_-_{slugified-description}. Where:
categoryis the type of work. Can be:feature,bug,tooling,refactor,test,chore,release,hotfix,docs,ci,deployorrelease-candidate.issue-codeis the GitHub issue number followed by an underscore. If it’s not relevant, ignore this.slugified-descriptionis the description of the work, slugified.
Example: feature/137_content_negociation