linters:
  enable:
    - errcheck
    - gosimple
    - govet
    - ineffassign
    - staticcheck
    - unused
    - revive  # replacement for golint
  disable:
    - golint  # deprecated

linters-settings:
  errcheck:
    check-type-assertions: true
    check-blank: true
  
  revive:
    rules:
      - name: exported
        severity: warning
        disabled: false

output:
  format: colored-line-number

run:
  timeout: 5m
  skip-dirs:
    - vendor
    - third_party

issues:
  exclude-use-default: false
  max-issues-per-linter: 0
  max-same-issues: 0
  exclude-rules:
    - path: _test\.go
      linters:
        - errcheck
        - gosec

# Cache configuration
cache:
  dir: .cache/golangci-lint

# Enable all available Go versions for the current module
service:
  golangci-lint-version: "latest"
  prepare:
    - go mod download 