blob: 73e494b40d41b7e71d150edd0aefe7611df6aae1 [file] [log] [blame] [view]
# 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 isnt 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)!