github.com/consensys/gnark-crypto@v0.14.0/CONTRIBUTING.md (about)

     1  # Contributing to gnark-crypto
     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-crypto 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-crypto/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. 
    30  * Provide **specific examples** to demonstrate the steps. Include links to files or GitHub projects, or 
    31  copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, 
    32  use [Markdown code blocks](https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github/).
    33  * Describe the **behavior you observed** after following the steps and explain the 
    34  problem with that behavior.
    35  * Explain the **behavior you expected** instead and why.
    36  * **Can you reliably reproduce the issue?** If not, provide details about how often the problem 
    37  happens and under which conditions it normally happens.
    38  
    39  ### Suggesting Enhancements
    40  #### Before Submitting An Enhancement Suggestion
    41  * [Search](https://github.com/consensys/gnark-crypto/issues) to see if the enhancement has already been 
    42  suggested. If it has, add a comment to the existing issue instead of opening a new one.
    43  
    44  #### How Do I Submit A (Good) Enhancement Suggestion?
    45  Enhancement suggestions are tracked as GitHub issues. Create an issue on and provide 
    46  the following information:
    47  
    48  * Use a **clear and descriptive title** for the issue to identify the suggestion.
    49  * Provide a **step-by-step description** of the suggested enhancement in as much detail as possible.
    50  * Describe the **current behavior** and explain the **behavior you expect** instead and why.
    51  * Explain why this enhancement would be useful to other users.
    52  * Specify the **name and version of the OS** you're using.
    53  * Specify the **name and version of any relevant packages**.
    54  
    55  ### Pull Requests
    56  There are a number of automated checks:
    57  * `go fmt`
    58  * `go vet`
    59  
    60  If these checks pass, pull requests will be reviewed by the project team against criteria including:
    61  * purpose - is this change useful
    62  * test coverage - are there unit/integration/acceptance tests demonstrating the change is effective
    63  * code consistency - naming, comments, design
    64  * changes that are solely formatting are likely to be rejected
    65  
    66  Always write a clear log message for your commits. One-line messages are fine for small changes, but 
    67  bigger changes should contain more detail.