Use golangci-lint

Status

Accepted

Context

Code style can vary from developer to developer. Because we are not using any kind of framework, differing patterns can emerge, so let’s do our best to minimize that with a linter. We also want to catch common pitfalls that the go community has identified and created linters for.

Decision

Use golangci-lint with as many linters as possible.

Consequences

Pros

  • Greater code uniformity

  • Automatic linting during pr

  • Can pick and choose which linters we don’t care about

Cons

  • Extra step can make prs take longer

  • Cost of github actions minutes

  • Some lint rules are a bit annoying