diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 4164727df51fb..c9abc3d0d1e9d 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -1,4 +1,3 @@ - # Contributing ## Requirements @@ -16,7 +15,9 @@ Use the following `make` commands and scripts in development: ## Styling -### Use Go style +### Backend + +#### Use Go style Contributions must adhere to the guidelines outlined in [Effective Go](https://go.dev/doc/effective_go). We prefer linting rules over documenting @@ -26,13 +27,27 @@ Read [Go's Code Review Comments Wiki](https://github.com/golang/go/wiki/CodeReviewComments) for information on common comments made during reviews of Go code. -### Avoid unused packages +#### Avoid unused packages Coder writes packages that are used during implementation. It isn't easy to validate whether an abstraction is valid until it's checked against an implementation. This results in a larger changeset, but it provides reviewers with a holistic perspective regarding the contribution. +### Frontend + +#### Follow component conventions + +Each component gets its own folder. Make sure you add a test and Storybook +stories for the component as well. By keeping these tidy, the codebase will +remain easy-to-navigate, healthy and maintainable for all contributors. + +#### Keep accessibility in mind + +We strive to keep our UI accessible. When using colors, avoid adding new +elements with low color contrast. Always use labels on inputs, not just +placeholders. These are important for screen-readers. + ## Reviews > The following information has been borrowed from [Go's review