Make and promote recommended and shareable presets like in eslint, tslint

Author: jirfagCreated May 17, 2020Updated Jun 5, 2026
Labelsenhancementno decision

Motivation

  1. Some linters are duplicated partially or fully: [errcheck, goerr13, staticcheck], [modguard, depguard], [golint, stylecheck]
  2. Some really cool linters aren't used because there are too many linters and only some of them are enabled by default.
  3. Configuration became too large. Even maintainers (me too) don't know all configuration options and linters.
  4. A common situation is to have multiple .golangci.yml config files because of a lack of extending capabilities.

Proposal

We need to research how eslint, tslint, etc work with that. My first guess is to introduce presets like golangci:recommended and add the ability to share and reuse such presets like airbnb-eslint. Such presets can include any configuration subset: linters, their configuration, output, etc.