version: "2" run: modules-download-mode: vendor issues-exit-code: 1 tests: true linters: enable: - bodyclose - depguard - dogsled - dupl - gocognit - goconst - gocritic - gosec - lll - misspell - nakedret - prealloc - staticcheck - unconvert - unparam - whitespace settings: dupl: threshold: 400 errcheck: check-type-assertions: true check-blank: true funlen: lines: 80 statements: 40 goconst: min-len: 3 min-occurrences: 3 gocritic: enabled-tags: - diagnostic - experimental - opinionated - performance - style settings: hugeParam: sizeThreshold: 80 rangeExprCopy: sizeThreshold: 512 rangeValCopy: sizeThreshold: 128 gocyclo: min-complexity: 10 govet: enable: - asmdecl - assign - atomic - atomicalign - bools - buildssa - buildtag - cgocall - composite - copylock - ctrlflow - deepequalerrors - errorsas - findcall - httpresponse - inspect - loopclosure - lostcancel - nilfunc - nilness - pkgfact - printf - shift - sortslice - stdmethods - structtag - tests - unmarshal - unreachable - unsafeptr - unusedresult disable: - shadow lll: line-length: 180 tab-width: 1 misspell: locale: US nakedret: max-func-lines: 30 prealloc: simple: true range-loops: true for-loops: false depguard: rules: main: allow: - $gostd - github.com/google/go-cmp/cmp unparam: check-exported: true exclusions: generated: lax presets: - comments - common-false-positives - legacy - std-error-handling paths: - third_party$ - builtin$ - examples$ formatters: enable: - gofmt - goimports settings: gofmt: simplify: true goimports: local-prefixes: - go.lsp.dev/uri exclusions: generated: lax paths: - third_party$ - builtin$ - examples$