This guide describes how to contribute to the Ground open-source project. Please read it in its entirety before you begin.
First-time setup:
- Read the Code of Conduct
- Read and accept the Contributor License Agreement
- Clone the repo
- Set up your environment
- Build and run the app
Contributing to Ground:
- Claim an issue
- Create a new branch
- Iterate on your change
- Create a pull request
Note: This guide assumes you are comfortable working with Git and GitHub. If you're new to Git and/or GitHub, check out Quickstart - GitHub Docs to help you get started.
Help us keep the Ground project open and inclusive. Please read and follow Google's Open Source Community Guidelines when contributing.
Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this agreement gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.
You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.
The following instructions describe how to fork this repository in order to contribute to the Ground codebase. If you are a maintainer on the Ground core team, follow the instructions under Maintainers. Community contributors should instead proceed as described in Community contributors.
Maintainers may push directly to branches in the google/ground-platform, and
so they do not need to fork the repo. Simply clone the repo with:
git clone https://github.com/google/ground-platform.git-
Clone the new fork to your local device:
git clone https://github.com/<user>/ground-platform.git`
Where
<user>is your GitHub username. -
To be able to pull changes from upstream, add the base repository as a remote:
git remote add upstream https://github.com/google/ground-platform.git
You can then pull future upstream changes into your local clone with
git pull upstream master.
See README.md for instructions how to build, run, and test locally.
Before you begin work on a change, comment on one of the open issues saying you'd like to take it on. If one does not exist, you can also create one here.
We strongly encourage contributors to create a separate branch for each pull request. Maintainers working directly in google/ground-platform should create branches with names in the form <username>/<issue-no>/<short-desc>. For example:
git checkout -b <user-id>/1234/fix-save-buttonAll submissions require review and approval by at least one maintainer. The same rule also applies to mainatiners themselves. We use GitHub pull requests for this purpose.
When creating a new pull request from one of the provide templates, be sure to replace template fields, especially the PR title and Fixes #<issue no> field in the comment field.
For more information about creating pull requests, see https://help.github.com/articles/creating-a-pull-request/. To learn more about referencing issues in your pull request or commit messages, see https://help.github.com/articles/closing-issues-using-keywords/.
> :exclamation: Any subsequent changes committed to the branch you used
> to open your PR are automatically included in the PR. If you've opened a
> PR but would like to continue to work on unrelated changes, be sure to
> start a new branch to track those changes.