This project is the source for http://godoc.org/

[![GoDoc](https://godoc.org/github.com/golang/gddo?status.svg)](http://godoc.org/github.com/golang/gddo)
[![Build
Status](https://travis-ci.org/golang/gddo.svg?branch=master)](https://travis-ci.org/golang/gddo)

The code in this project is designed to be used by godoc.org. Send mail to
golang-dev@googlegroups.com if you want to discuss other uses of the code.

## Feedback

Send ideas and questions to golang-dev@googlegroups.com. Request features and
report bugs using the [GitHub Issue
Tracker](https://github.com/golang/gddo/issues/new).

## Contributions

Contributions to this project are welcome, though please [file an
issue](https://github.com/golang/gddo/issues/new). before starting work on
anything major.

Please refer to the [Contribution
Guidelines](https://golang.org/doc/contribute.html) on how to submit changes.

We use https://go-review.googlesource.com to review change submissions.

## Getting the Source

To get started contributing to this project, clone the repository from its
canonical location

```
git clone https://go.googlesource.com/gddo $GOPATH/src/github.com/golang/gddo
```

Information on how to set up a local environment is available at
https://github.com/golang/gddo/wiki/Development-Environment-Setup.

## More Documentation

More documentation about this project is available on the
[wiki](https://github.com/golang/gddo/wiki).
