Contribution Guidelines

Thank you for considering contributing to our project! We value your effort and to ensure smooth collaboration, we kindly ask you to follow the below conventions and rules. This will help maintain the quality and consistency of our codebase.

Coding Style:

  1. PEP8 Compliance: Make sure your code strictly adheres to the PEP8 Style Guide.

  2. Type Hints: Always provide type hints in your function and method definitions. This helps in understanding the expected data types and ensures type safety.

  3. Docstrings: Adopt the Sphinx format for docstrings. Every public class and method should have a descriptive docstring.

  4. Line Length: Be mindful of the line length. The maximum permissible line length is 120 characters.

  5. Canonical Abbreviations: We have agreed upon a set of standard abbreviations that shall be used in the code, see abbreviations.txt

Commit Messages:

  1. Descriptiveness: Your commit messages should clearly convey the change you’ve made. Ambiguous messages like “fix bug” are discouraged.

  2. Imperative Language & Capitalization: Write your commit messages in an imperative tone, as if you’re giving a command. For example, “Add user login feature”, “Fix bug in payment gateway”. Always capitalize the first letter.

  3. First Line Constraints: The first line of your commit message should be concise, aiming for no more than 50 characters. If more details are needed, provide them after a blank line.

Branch Names:

  1. Naming Convention:

    • For features: feature/<issue-number>-<description>. Example: feature/123-user-authentication.

    • For bug fixes: bug/<issue-number>-<description>. Example: bug/456-payment-gateway-error.

By following these guidelines, you’re helping us keep the project’s quality high and ensuring your contributions can be smoothly integrated. We appreciate your commitment and look forward to collaborating!