github.com/consensys/gnark@v0.11.0/CONTRIBUTING.md (about)

     1  # Contributing to gnark
     2  
     3  ### Table of Contents
     4  
     5  [Code of Conduct](#code-of-conduct)
     6  
     7  [How to Contribute](#how-to-contribute)
     8  
     9  * [Reporting Bugs](#reporting-bugs)
    10  * [Suggesting Enhancements](#suggesting-enhancements)
    11  * [Pull Requests](#pull-requests)
    12  
    13  
    14  
    15  ## Code of Conduct
    16  * This project is governed by the [gnark Code of Conduct](CODE_OF_CONDUCT.md). By participating, 
    17  you are agreeing to uphold this code. Please report unacceptable behavior.
    18  ## How to Contribute
    19  
    20  ### Reporting Bugs
    21  #### Before Submitting A Bug 
    22  * Ensure the bug is not already reported by searching on GitHub under 
    23  [Issues](https://github.com/consensys/gnark/issues).
    24  #### How Do I Submit a (Good) Bug?
    25  * If you are unable to find an open issue addressing the problem, open a new one. Be sure to include a 
    26  **title and clear description**, as much relevant information as possible, and a **code sample** or 
    27  an **executable test case** demonstrating the unexpected behavior.
    28  * Describe the **exact steps** to **reproduce the problem** in as many details as possible. When 
    29  listing steps, don't just say what you did, but explain how you did it. For example, the exact 
    30  commands used in the terminal to start `gnark`. 
    31  * Provide **specific examples** to demonstrate the steps. Include links to files or GitHub projects, or 
    32  copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, 
    33  use [Markdown code blocks](https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github/).
    34  * Describe the **behavior you observed** after following the steps and explain the 
    35  problem with that behavior.
    36  * Explain the **behavior you expected** instead and why.
    37  * **Can you reliably reproduce the issue?** If not, provide details about how often the problem 
    38  happens and under which conditions it normally happens.
    39  
    40  ### Suggesting Enhancements
    41  #### Before Submitting An Enhancement Suggestion
    42  * [Search](https://github.com/consensys/gnark/issues) to see if the enhancement has already been 
    43  suggested. If it has, add a comment to the existing issue instead of opening a new one.
    44  
    45  #### How Do I Submit A (Good) Enhancement Suggestion?
    46  Enhancement suggestions are tracked as GitHub issues. Create an issue and provide 
    47  the following information:
    48  
    49  * Use a **clear and descriptive title** for the issue to identify the suggestion.
    50  * Provide a **step-by-step description** of the suggested enhancement in as much detail as possible.
    51  * Describe the **current behavior** and explain the **behavior you expect** instead and why.
    52  * Explain why this enhancement would be useful to other users.
    53  * Specify the **name and version of the OS** you're using.
    54  * Specify the **name and version of any relevant packages**.
    55  
    56  ### Pull Requests
    57  There are a number of automated checks:
    58  * `go fmt`
    59  * `go vet`
    60  
    61  If these checks pass, pull requests will be reviewed by the project team against criteria including:
    62  * purpose - is this change useful
    63  * test coverage - are there unit/integration/acceptance tests demonstrating the change is effective
    64  * code consistency - naming, comments, design
    65  * changes that are solely formatting are likely to be rejected
    66  
    67  Always write a clear log message for your commits. One-line messages are fine for small changes, but 
    68  bigger changes should contain more detail.