Skip to content

Latest commit

 

History

History
87 lines (58 loc) · 3.13 KB

CONTRIBUTING.md

File metadata and controls

87 lines (58 loc) · 3.13 KB

Contributing Guidelines

To ensure smooth collaboration, please follow these guidelines.

Table of Contents

Branching Strategy

We follow a Feature Branch Workflow strategy. This means:

  • Main Branch: The main branch always reflects the production-ready state.
  • Development Branch: The develop branch serves as the main integration branch. All feature branches are merged into this branch for testing before being merged into main.
  • Feature Branches: For each new feature or bug fix, create a new branch off develop. Use descriptive branch names that reflect the nature of the work being done.

GitHub branching strategy

Creating a Feature Branch

When working on a new feature or bug fix:

  1. Ensure you are on the develop branch: git checkout develop
  2. Create a new branch: git checkout -b feature/your-feature-name
  3. Implement your changes in this branch

Pull Requests

When submitting a Pull Request:

  1. Ensure your branch is up to date with develop: git pull origin develop
  2. Rebase your branch if necessary to incorporate the latest changes: git rebase develop
  3. Submit your Pull Request targeting the develop branch
  4. Provide a clear description of the changes made and any relevant information for reviewers
  5. Link the Pull Request with the relevant Project, Assignee, Development Issue and Milestone
  6. When merging a Pull Request, please do Squash and Merge to merge all commits into a single commit

To learn more about Git, check out Learn Git Branching.

Commit Message Conventions

We use Conventional Commits for our commit messages. Each commit message consists of a type, a brief description, and an optional body.

A commit message follows this format:

<type>: <description>

[optional body]

Types

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation changes
  • refactor: Code refactoring
  • style: Code style changes (formatting, indentation)
  • test: Adding or modifying tests
  • chore: Changes to the build process, dependencies, or other non-code modifications

Examples

  • feat: adds user authentication feature

  • fix: resolves issue with form validation

  • With a body:

    docs: update README with usage instructions
    
    - removes unneeded comments and adds a `TOC`
    - cleans up wording for the `Install w/ Linux` section

Tooling

To maintain code quality and consistency, consider installing the following tools: