Skip to content

Standards and Conventions

Branch Naming Convention

Create your branches with a structured naming pattern to keep our repository organized:

Pattern: launch_{number}_task_{number}

Example: For working on Task 1 of Launch 1, the branch name should be launch_1_task_1.

Commit Guidelines

Follow the Conventional Commits standards for all your commits. This pattern enhances readability and helps automate the changelog generation.

Pull Request (PR) Practices

Naming: Align PR names with the Conventional Commits format to maintain consistency.

Description: Include the task closure keyword in the PR body, e.g., Closes #1 for automatically linking and closing the related issue upon PR merge.

Learn more: Linking a pull request to an issue using a keyword.

Testing and Quality Assurance

Unit Testing: Implement and pass unit tests to fulfill the Test and Coverage checks before requesting a PR review.

We use pytest as test library

Automated PR review

If the Code and Test implementation is all correct and align with the Task description, then you will likely see the Approval, from real GitHub user:

Approval

If the review fails for the Code changes, the Changes will be Requested as:

CodeReview

If the review fails for the Test implementation, the Changes will be Requested as:

TestReview

This will simplify to localize the review process at certain level. By reading the review comment you understand either your Code implementation is incorrect or the Test implementation.

Setting Up the Project

Initial Setup

First, set up a virtual environment and activate it:

python3.11 -m venv .venv
source .venv/bin/activate

Installing Dependencies

Utilize flit as the package manager and install development dependencies:

make install-flit
make enable-pre-commit-hooks
make install-dev

Useful Commands

Familiarize yourself with the Makefile for commonly used commands, simplifying repetitive tasks:

In the project repo you can read Makefile and make yourself familiar with its structure and commands.

The idea is pretty simple, everything that is repetitive can be wrapped in make command.

Run unit tests

make test

Always run the formatter, before commits

make format

Always run the linter check, before commits

make lint

To run the security check:

make secure

To run the type check:

make type-check

Each command helps ensure that your contributions are not only consistent with our project's standards but also maintain a high quality. Engage with these tools to make your development process more effective and efficient.