github.com/lingyao2333/mo-zero@v1.4.1/CONTRIBUTING.md (about)

     1  # Contributing
     2  
     3  Welcome to go-zero!
     4  
     5  - [Before you get started](#before-you-get-started)
     6    - [Code of Conduct](#code-of-conduct)
     7    - [Community Expectations](#community-expectations)
     8  - [Getting started](#getting-started)
     9  - [Your First Contribution](#your-first-contribution)
    10    - [Find something to work on](#find-something-to-work-on)
    11      - [Find a good first topic](#find-a-good-first-topic)
    12      - [Work on an Issue](#work-on-an-issue)
    13      - [File an Issue](#file-an-issue)
    14  - [Contributor Workflow](#contributor-workflow)
    15    - [Creating Pull Requests](#creating-pull-requests)
    16    - [Code Review](#code-review)
    17    - [Testing](#testing)
    18  
    19  # Before you get started
    20  
    21  ## Code of Conduct
    22  
    23  Please make sure to read and observe our [Code of Conduct](/code-of-conduct.md).
    24  
    25  ## Community Expectations
    26  
    27  go-zero is a community project driven by its community which strives to promote a healthy, friendly and productive environment.
    28  go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.
    29  
    30  # Getting started
    31  
    32  - Fork the repository on GitHub.
    33  - Make your changes on your fork repository.
    34  - Submit a PR.
    35  
    36  # Your First Contribution
    37  
    38  We will help you to contribute in different areas like filing issues, developing features, fixing critical bugs and
    39  getting your work reviewed and merged.
    40  
    41  If you have questions about the development process,
    42  feel free to [file an issue](https://github.com/lingyao2333/mo-zero/issues/new/choose).
    43  
    44  ## Find something to work on
    45  
    46  We are always in need of help, be it fixing documentation, reporting bugs or writing some code.
    47  Look at places where you feel best coding practices aren't followed, code refactoring is needed or tests are missing.
    48  Here is how you get started.
    49  
    50  ### Find a good first topic
    51  
    52  [go-zero](https://github.com/lingyao2333/mo-zero) has beginner-friendly issues that provide a good first issue.
    53  For example, [go-zero](https://github.com/lingyao2333/mo-zero) has
    54  [help wanted](https://github.com/lingyao2333/mo-zero/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) and
    55  [good first issue](https://github.com/lingyao2333/mo-zero/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
    56  labels for issues that should not need deep knowledge of the system.
    57  We can help new contributors who wish to work on such issues.
    58  
    59  Another good way to contribute is to find a documentation improvement, such as a missing/broken link.
    60  Please see [Contributing](#contributing) below for the workflow.
    61  
    62  #### Work on an issue
    63  
    64  When you are willing to take on an issue, just reply on the issue. The maintainer will assign it to you.
    65  
    66  ### File an Issue
    67  
    68  While we encourage everyone to contribute code, it is also appreciated when someone reports an issue.
    69  
    70  Please follow the prompted submission guidelines while opening an issue.
    71  
    72  # Contributor Workflow
    73  
    74  Please do not ever hesitate to ask a question or send a pull request.
    75  
    76  This is a rough outline of what a contributor's workflow looks like:
    77  
    78  - Create a topic branch from where to base the contribution. This is usually master.
    79  - Make commits of logical units.
    80  - Push changes in a topic branch to a personal fork of the repository.
    81  - Submit a pull request to [go-zero](https://github.com/lingyao2333/mo-zero).
    82  
    83  ## Creating Pull Requests
    84  
    85  Pull requests are often called simply "PR".
    86  go-zero generally follows the standard [github pull request](https://help.github.com/articles/about-pull-requests/) process.
    87  To submit a proposed change, please develop the code/fix and add new test cases.
    88  After that, run these local verifications before submitting pull request to predict the pass or
    89  fail of continuous integration.
    90  
    91  - Format the code with `gofmt`
    92  - Run the test with data race enabled `go test -race ./...`
    93  
    94  ## Code Review
    95  
    96  To make it easier for your PR to receive reviews, consider the reviewers will need you to:
    97  
    98  - follow [good coding guidelines](https://github.com/golang/go/wiki/CodeReviewComments).
    99  - write [good commit messages](https://chris.beams.io/posts/git-commit/).
   100  - break large changes into a logical series of smaller patches which individually make easily understandable changes, and in aggregate solve a broader issue.