# golangci-lint configuration # See https://golangci-lint.run/usage/configuration/ version: 2 run: timeout: 5m tests: true modules-download-mode: readonly linters: enable: - errcheck - govet - staticcheck - revive - gosec disable: - gocritic # Can be enabled later for stricter checks formatters: enable: - gofmt - goimports linters-settings: revive: rules: - name: exported severity: warning arguments: - checkPrivateReceivers # Disable stuttering check - interface names like ConfigProvider are acceptable - name: package-comments severity: warning gosec: severity: medium errcheck: check-blank: true issues: exclude-use-default: false max-issues-per-linter: 0 max-same-issues: 0 exclude-rules: # Exclude test files from some checks - path: _test\.go linters: - errcheck - gosec # ConfigProvider stuttering is acceptable - it's a common pattern for interfaces - path: pkg/config/config\.go linters: - revive output: format: colored-line-number print-issued-lines: true print-linter-name: true