diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..8f36182 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,96 @@ +--- +run: + go: '1.20' + tests: true + skip-dirs: + - static + - public + +issues: + max-issues-per-linter: 0 + max-same-issues: 0 + +linters: + enable: + - bidichk + - dupl + - decorder + - dogsled + - exportloopref + - forbidigo + - gas + - gocognit + - goconst + - gocritic + - godot + - govet + - gofmt + - gofumpt + - goimports + - goprintffuncname + - gosec + - ineffassign + - misspell + # - prealloc + - revive + - tparallel + - unconvert + - unparam + - unused + - wastedassign + - whitespace + - wsl + +linter-settings: + dupl: + threshold: 100 + gocritic: + enabled-tags: + - diagnostic + - experimental + - opinionated + - performance + - style + disabled-checks: + - dupImport # https://github.com/go-critic/go-critic/issues/845 + - ifElseChain + - octalLiteral + - whyNoLint + - wrapperFunc + gocyclo: + min-complexity: 15 + gofumpt: + extra-rules: true + lang-version: "1.20" + govet: + check-shadowing: true + revive: + severity: warning + confidence: 0.8 + errorCode: 1 + warningCode: 1 + rules: + - 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: duplicated-imports + - name: modifies-value-receiver + wsl: + allow-cuddle-declaration: true +...