chore: Add contributing guidelines (#874)

It's helpful for us Coders to align on a common set of style
guidelines. While I'd prefer to automate this, documentation
should get us a lot of the way there!

Please review these thoroughly, as PRs will be checked against it
after merge.
This commit is contained in:
Kyle Carberry
2022-04-05 15:02:28 -05:00
committed by GitHub
parent abddd64497
commit 1e9e5f7c76
2 changed files with 33 additions and 1 deletions
+32
View File
@@ -0,0 +1,32 @@
# Contributing
## Go Style
Contributions must adhere to [Effective Go](https://go.dev/doc/effective_go). Linting rules should
be preferred over documenting styles (run ours with `make lint`); humans are error prone!
Read [Go's Code Review Comments Wiki](https://github.com/golang/go/wiki/CodeReviewComments) to find
common comments made during reviews of Go code.
### No Unused Packages
Coders write packages that are used during implementation. It's difficult to validate whether an
abstraction is valid until it's checked against an implementation. This results in a larger
changeset but provides reviewers with an educated perspective on the contribution.
## Review
> Taken from [Go's review philosophy](https://go.dev/doc/contribute#reviews).
Coders value thorough reviews. Think of each review comment like a ticket: you are expected to
somehow "close" it by acting on it, either by implementing the suggestion or convincing the reviewer
otherwise.
After you update the change, go through the review comments and make sure to reply to every one. You
can click the "Done" button to reply indicating that you've implemented the reviewer's suggestion;
otherwise, click on "Reply" and explain why you have not, or what you have done instead.
It is perfectly normal for changes to go through several round of reviews, with one or more
reviewers making new comments every time and then waiting for an updated change before reviewing
again. All contributors, including experienced maintainers, are subject to the same review cycle;
this process is not meant to be applied selectively or discourage anyone from contribution.
+1 -1
View File
@@ -64,7 +64,7 @@ $ coder projects update gcp-linux
## Development
The code structure is inspired by [Basics of Unix Philosophy](https://homepage.cs.uri.edu/~thenry/resources/unix_art/ch01s06.html) and [Effective Go](https://go.dev/doc/effective_go).
Read the [contributing docs](./CONTRIBUTING.md) for style and review guidelines.
Coder requires Go 1.18+, Node 14+, and GNU Make.