From a9010df01921a13ee11478799740fc92965ef42d Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Mon, 4 Apr 2022 23:41:07 +0000 Subject: [PATCH] chore: Add contributing guidelines 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. --- CONTRIBUTING.md | 21 +++++++++++++++++++++ README.md | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000000..269ceb463b52d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,21 @@ +# Contributing + +## Style + +Contributions must adhere to [Effective Go](https://go.dev/doc/effective_go). Additional styles should prefer automated checks over documentation; humans are error prone! + +### 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 very 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. This cycle happens even for experienced contributors, so don't be discouraged by it. + +Read [Go's Code Review Comments Wiki](https://github.com/golang/go/wiki/CodeReviewComments) to find common comments made during reviews of Go code. diff --git a/README.md b/README.md index 07cc17c8b3a51..694f1f70309b3 100644 --- a/README.md +++ b/README.md @@ -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.