linters-settings:
  goimports:
    local-prefixes: github.com/goyek/goyek
  gocyclo:
    min-complexity: 15
  govet:
    check-shadowing: true
  nolintlint:
    allow-leading-space: false # require machine-readable nolint directives (with no leading space)
    allow-unused: false # report any unused nolint directives
    require-explanation: true # require an explanation for nolint directives
    require-specific: false # don't require nolint directives to be specific about which linter is being skipped

linters:
  # please, do not use `enable-all`: it's deprecated and will be removed soon.
  # inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint
  disable-all: true
  enable:
    - deadcode
    - errcheck
    - gosimple
    - govet
    - ineffassign
    - staticcheck
    - structcheck
    - typecheck
    - unused
    - varcheck
    - bodyclose
    - depguard
    - dupl
    - exportloopref
    - forcetypeassert
    - funlen
    - gci
    - gocognit
    - goconst
    - gocritic
    - gocyclo
    - godot
    - gofumpt
    - revive
    - gomnd
    - goprintffuncname
    - gosec
    - ifshort
    - noctx
    - nolintlint
    - rowserrcheck
    - sqlclosecheck
    - stylecheck
    - thelper
    - tparallel
    - unconvert
    - unparam
    - whitespace

issues:
  # enable issues excluded by default 
  exclude-use-default: false
