version: "2" run: go: "1.24" tests: false linters: enable: # Additional linters requested - testifylint # Checks usage of github.com/stretchr/testify - usetesting # usetesting is an analyzer that detects using os.Setenv instead of t.Setenv since Go 1.17 - tagliatelle # Checks the struct tags - nlreturn # nlreturn checks for a new line before return and branch statements - nilnil # Checks that there is no simultaneous return of nil error and an invalid value - nestif # Reports deeply nested if statements - mnd # An analyzer to detect magic numbers - lll # Reports long lines - intrange # intrange is a linter to find places where for loops could make use of an integer range - gochecknoglobals # Check that no global variables exist # Default/existing linters that are commonly useful - govet - errcheck - staticcheck - unused - ineffassign - misspell - revive - gosec - unconvert - unparam linters-settings: lll: line-length: 120 mnd: # List of enabled checks, see https://github.com/tommy-muehle/go-mnd/#checks for description. checks: - argument - case - condition - operation - return - assign ignored-numbers: - '0' - '1' - '2' - '8' - '16' - '40' # GPG fingerprint length - '64' - '128' - '256' - '512' - '1024' - '2048' - '4096' nestif: min-complexity: 4 nlreturn: block-size: 2 revive: rules: - name: var-naming arguments: - [] - [] - "upperCaseConst=true" tagliatelle: case: rules: json: snake yaml: snake xml: snake bson: snake testifylint: enable-all: true usetesting: {} issues: max-issues-per-linter: 0 max-same-issues: 0 exclude-rules: - path: ".*_gen\\.go" linters: - lll # Exclude unused parameter warnings for cobra command signatures - text: "parameter '(args|cmd)' seems to be unused" linters: - revive # Allow ALL_CAPS constant names - text: "don't use ALL_CAPS in Go names" linters: - revive # Exclude all linters for internal/macse directory - path: "internal/macse/.*" linters: - errcheck - lll - mnd - nestif - nlreturn - revive - unconvert - govet - staticcheck - unused - ineffassign - misspell - gosec - unparam - testifylint - usetesting - tagliatelle - nilnil - intrange - gochecknoglobals