run: go: "1.22" linters-settings: errcheck: check-type-assertions: true check-blank: true funlen: lines: 100 statements: 50 gocognit: min-complexity: 15 gocritic: enabled-tags: - diagnostic - experimental - opinionated - performance - style disabled-checks: - dupImport # https://github.com/go-critic/go-critic/issues/845 - hugeParam # No golang generic support. See https://github.com/golangci/golangci-lint/issues/2649 - rangeValCopy # ^ - typeDefFirst # | - paramTypeCombine # | gocyclo: min-complexity: 15 gomnd: # don't include "assign" checks: - argument - case - condition - operation - return lll: line-length: 150 makezero: always: true misspell: locale: US nakedret: max-func-lines: 5 linters: disable-all: true enable: # default - errcheck - gosimple - govet - ineffassign - staticcheck - typecheck - unused # additional linters, see https://golangci-lint.run/usage/linters - bodyclose - dogsled - dupl - durationcheck - exportloopref - funlen - gochecknoinits - gocognit - goconst - gocritic - gocyclo - godot - err113 - gofmt - mnd - goprintffuncname - gosec - importas - lll - makezero - misspell - nakedret - noctx - prealloc - stylecheck - thelper - unconvert - unparam - wastedassign - whitespace - wrapcheck issues: exclude-rules: - path: _test\.go linters: - noctx # Always closing the HTTP body unnecessarily complicates the tests - bodyclose # We don't need to wrap errors in tests - wrapcheck