version: "2"

formatters:
  enable:
    - gofmt
    - gofumpt
    - goimports
    - gci
  settings:
    gofmt:
      simplify: true
      rewrite-rules:
        - pattern: interface{}
          replacement: any
    gofumpt:
      module-path: github.com/go-task/task/v3
    goimports:
      local-prefixes:
        - github.com/go-task
    gci:
      sections:
        - standard
        - default
        - prefix(github.com/go-task)
        - localmodule
  exclusions:
    generated: lax
    paths:
      - third_party$
      - builtin$
      - examples$

linters:
  enable:
    - depguard
    - mirror
    - misspell
    - noctx
    - paralleltest
    - thelper
    - tparallel
    - usetesting
  settings:
    depguard:
      rules:
        main:
          files:
            - $all
            - '!$test'
            - '!**/errors/*.go'
          deny:
            - pkg: errors
              desc: Use github.com/go-task/task/v3/errors instead
  exclusions:
    generated: lax
    presets:
      - comments
      - common-false-positives
      - legacy
      - std-error-handling
    paths:
      - third_party$
      - builtin$
      - examples$
