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.