Contribution Guide

Before you get started

Code of Conduct

Please make sure to read and observe our Code of Conduct.

Your First Contribution

Find a good first topic

You can start by finding an existing issue with the good first issue or help wanted labels. These issues are well suited for new contributors.

Setting up your development environment

Badger uses Go Modules to manage dependencies. The version of Go should be 1.12 or above.

Fork the project

Clone the project

$ git clone https://github.com/$GITHUB_USER/badger
$ cd badger
$ git remote add upstream git@github.com:dgraph-io/badger.git

# Never push to the upstream master
git remote set-url --push upstream no_push

New branch for a new code

Get your local master up to date:

$ git fetch upstream
$ git checkout master
$ git rebase upstream/master

Create a new branch from the master:

$ git checkout -b my_new_feature

And now you can finally add your changes to project.

Test

Build and run all tests:

$ ./test.sh

Commit and push

Commit your changes:

$ git commit

When the changes are ready to review:

$ git push origin my_new_feature

Create a Pull Request

Just open https://github.com/$GITHUB_USER/badger/pull/new/my_new_feature and fill the PR description.

Sign the CLA

Click the Sign in with Github to agree button to sign the CLA. An example.

Get a code review

If your pull request (PR) is opened, it will be assigned to one or more reviewers. Those reviewers will do a code review.

To address review comments, you should commit the changes to the same branch of the PR on your fork.