version: "2" formatters: enable: - gofumpt - goimports settings: gofumpt: extra-rules: true linters: enable: - asasalint - bidichk - dogsled - dupword - durationcheck - err113 - errname - errorlint - fatcontext - forbidigo - gocheckcompilerdirectives - gochecknoinits - gocritic - godot - godox - goheader - gomoddirectives - goprintffuncname - gosec - inamedparam - interfacebloat - ireturn - mirror - misspell - nolintlint - revive - staticcheck - testifylint - thelper - unconvert - unparam - usestdlibvars - whitespace - wsl_v5 settings: gocritic: disabled-checks: - paramTypeCombine # already handle by gofumpt.extra-rules - whyNoLint # already handle by nonolint - unnamedResult - hugeParam - sloppyReassign - rangeValCopy - octalLiteral - ptrToRefParam - appendAssign - ruleguard - httpNoBody - exposedSyncMutex enabled-tags: - diagnostic - style - performance godox: keywords: - FIXME goheader: template: |- Copyright 2015 Tim Heckman. All rights reserved. Copyright 2018-{{ YEAR }} The Gofrs. All rights reserved. Use of this source code is governed by the BSD 3-Clause license that can be found in the LICENSE file. gosec: excludes: - G115 misspell: locale: US revive: rules: - name: struct-tag - name: blank-imports - name: context-as-argument - name: context-keys-type - name: dot-imports - name: error-return - name: error-strings - name: error-naming - name: exported - name: if-return - name: increment-decrement - name: var-naming - name: var-declaration - name: package-comments - 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 - name: unreachable-code - name: redefines-builtin-id exclusions: presets: - comments - common-false-positives - std-error-handling issues: max-issues-per-linter: 0 max-same-issues: 0