CONTRIBUTING.MD


Overview

The `CONTRIBUTING.MD` file provides guidelines and instructions for contributors who want to participate in the development of the ShapeShift Unchained project. It sets expectations about the types of contributions accepted, the process for submitting issues and pull requests (PRs), and the review and acceptance workflow. This document helps maintain code quality, streamline collaboration, and ensure that contributions align with the project’s standards and security policies.


Detailed Explanation

This file is a markdown document focused on community contribution policies rather than executable code. It contains several key sections, each outlining important rules and workflows.

Sections and Their Purposes

1. Typo-Only Changes Not Accepted

2. Submitting an Issue

3. Submitting a Patch (Pull Request)

4. Getting Your PR Accepted


Implementation Details


Interaction with Other Parts of the System


Usage Example

When a developer wants to fix a bug or add a feature:

  1. They first check CONTRIBUTING.MD for the process.

  2. They open a GitHub issue to discuss the change, unless it’s a security vulnerability.

  3. After discussion and approval, they create a branch, implement the fix/feature, and add tests.

  4. They open a PR referencing the issue, describing the problem and solution.

  5. Maintainers review, request changes if needed, and sign off.

  6. The contributor merges the PR once accepted.

This process reduces miscommunication and improves project quality.


Visual Diagram

Below is a flowchart illustrating the contribution workflow as described in `CONTRIBUTING.MD`.

flowchart TD
    A[Start: Contributor wants to contribute] --> B{Is it a security vulnerability?}
    B -- Yes --> C[Do NOT open GitHub issue]
    C --> D[Use responsible disclosure program]
    B -- No --> E[Open GitHub issue to discuss change]
    E --> F[Create a patch / feature branch]
    F --> G[Implement changes and add tests]
    G --> H[Open Pull Request with description and issue link]
    H --> I{Maintainer reviews PR}
    I -- Request changes --> G
    I -- Approved --> J[ShapeShift Fox signs off PR]
    J --> K[Contributor merges PR]
    K --> L[Contribution complete]

Summary

`CONTRIBUTING.MD` is a crucial documentation file that governs how contributors engage with the ShapeShift Unchained project. It defines policies to ensure security, quality, and effective collaboration. By following this guide, contributors help maintain the integrity and progress of the software while benefiting from a structured and supportive contribution process.