| # Contributing to pkg.go.dev |
| |
| Pkg.go.dev is part of the Go open source project. We would love to receive your |
| contributions! |
| |
| Since we are actively working on the site, we ask that you |
| [file an issue](https://golang.org/s/pkgsite-feedback) and claim it before |
| starting to work on something. Otherwise, it is likely that we might already be |
| working on a fix for your issue. |
| |
| Because we are currently working on |
| [design updates to pkg.go.dev](/README.md#roadmap), we will not be accepting |
| any contributions for |
| [issues with a UX label](https://github.com/golang/go/issues?q=is%3Aissue+is%3Aopen+label%3Ago.dev+label%3AUX). |
| |
| ## Finding issues |
| |
| All issues related to x/pkgsite are labeled with the |
| [`pkgsite` label](https://github.com/golang/go/issues/labels/pkgsite). |
| |
| In particular, we would love your help on issues tagged with the |
| [`help wanted` label](https://github.com/golang/go/issues?q=is%3Aissue+is%3Aopen+label%3Apkgsite+label%3A%22help+wanted%22+). |
| |
| If this is your first time contributing to x/pkgsite, take a look at the |
| [`Suggested` issues](https://github.com/golang/go/issues?q=is%3Aissue+is%3Aopen+label%3Apkgsite+label%3A%22Suggested%22+label%3A%22help+wanted%22) for a good first issue. |
| |
| Before you begin working on an issue, please leave a comment that you are claiming it. |
| |
| ## Getting started |
| |
| We accept contributions through |
| [Gerrit](https://golang.org/doc/contribute.html#sending_a_change_gerrit) or |
| [GitHub PRs](https://golang.org/doc/contribute.html#sending_a_change_github). To get started: |
| |
| 1. Complete the steps in the |
| [Go Contribution Guide](https://golang.org/doc/contribute.html). |
| |
| 2. Download the source code for x/pkgsite: |
| `git clone https://go.googlesource.com/pkgsite` |
| NOTE: You will need Go 1.19 to |
| develop pkgsite. |
| |
| 3. Review the [design document](doc/design.md). |
| |
| 4. If you are contributing a CSS change, please review the |
| [Go CSS Coding Guidelines](https://github.com/golang/go/wiki/CSSStyleGuide). |
| |
| ### Running pkg.go.dev locally |
| |
| There are two ways to run pkg.go.dev locally. |
| |
| 1. Use a proxy service as a datasource. |
| |
| 2. Use postgres as the datasource. |
| |
| See [doc/frontend.md](doc/frontend.md) for details. |
| |
| ### Changing the log level |
| |
| You can use the `GO_DISCOVERY_LOG_LEVEL` environment variable to set the log level. All logs below the level that is set will not be printed. |
| |
| For example, setting `GO_DISCOVERY_LOG_LEVEL=info` will not print `Debug` logs, but it will print `Info`, `Error` and `Fatal` logs. |
| |
| The supported levels are `Debug`, `Info`, `Error` and `Fatal`. |
| |
| By default, logs for all levels will be printed. |
| |
| ## Before sending a CL for review |
| |
| 1. Run `./all.bash` and fix all resulting errors. See |
| [doc/precommit.md](doc/precommit.md) for instructions on setting up a |
| pre-commit hook. |
| 2. Ensure your commit message is formatted according to |
| [Go conventions](http://golang.org/wiki/CommitMessage). |
| |
| ## Tips for Code Review |
| |
| After addressing code review comments, mark each comment as: |
| |
| - "Done" if you did it exactly as described |
| - "Done" with a reply if you did it, but with a variation |
| - "Ack" if either it wasn't a request for action, or it wasn't necessary to |
| take the action |
| - A reply to continue the discussion. |
| |
| If a CL is in progress, but you want to push the intermediate state, it is |
| helpful to mark the CL as “work in progress”. You can do this using the |
| three-dot menu at top right corner, and clicking `Mark as work in progress`. |
| Please do this to indicate to the reviewer(s) that a CL isn’t ready for review. |
| |
| ## Questions |
| |
| If you are interested in contributing and have questions, come talk to us in the |
| #pkgsite channel on the [Gophers Slack](https://invite.slack.golangbridge.org)! |