version: "2" linters: default: all disable: # - bodyclose - containedctx # - contextcheck - cyclop - depguard # - dupl - err113 - exhaustive - exhaustruct - funcorder - forcetypeassert - gochecknoglobals - gochecknoinits - gocognit - goconst - gocyclo - godot - gomoddirectives - gosmopolitan - ireturn - lll - maintidx - makezero - mnd - nakedret - nestif - nlreturn - nonamedreturns - noinlineerr - paralleltest - revive - rowserrcheck - sqlclosecheck - tagalign - tagliatelle - testpackage - tparallel - varnamelen - wrapcheck - wsl - wsl_v5 settings: errcheck: exclude-functions: - fmt.Fprintln - (*gin.Context).Error # gin context error handler forbidigo: forbid: - pattern: ^print(ln)?$ funlen: lines: -1 statements: 120 gocyclo: min-complexity: 14 godoclint: ignore: internal/api/v1/.+ godox: keywords: - FIXME govet: disable: - shadow - fieldalignment enable-all: true misspell: locale: US revive: rules: - name: struct-tag - name: blank-imports - name: context-as-argument - name: context-keys-type - name: error-return - name: error-strings - name: error-naming - name: exported disabled: true - name: if-return - name: increment-decrement - name: var-naming - name: var-declaration - name: package-comments disabled: true - name: range - name: receiver-naming - name: time-naming - name: unexported-return - name: indent-error-flow - name: errorf - name: empty-block - name: superfluous-else - name: unused-parameter disabled: true - name: unreachable-code - name: redefines-builtin-id staticcheck: checks: - all - -SA1019 - -QF1008 # keep embedded field selector for clarity tagalign: align: false sort: true order: - description - json - toml - yaml - yml - label - label-slice-as-struct - file - kv - export testifylint: disable: - suite-dont-use-pkg - require-error - go-require exclusions: generated: lax presets: - comments - common-false-positives - legacy - std-error-handling paths: - examples$ - internal/api/v1/.+ formatters: enable: - gofmt - gofumpt - goimports exclusions: generated: lax paths: - examples$ - internal/api/v1/.+ run: tests: false