# This file is autogenerated! Do not modify manually.
# Generated by regen_golangci_config.py based on golangci/project.yaml template.

# ref: https://golangci-lint.run/usage/configuration/#config-file

linters:
  enable:
    - errorlint
    - gci
    - stylecheck

issues:
  # Independently from option `exclude` we use default exclude patterns,
  # it can be disabled by this option. To list all
  # excluded by default patterns execute `golangci-lint run --help`.
  # Default value for this option is true.
  exclude-use-default: false

  # Maximum issues count per one linter. Set to 0 to disable. Default is 50.
  max-issues-per-linter: 0

  # Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
  max-same-issues: 0

linters-settings:
  # https://golangci-lint.run/usage/linters/#gci
  gci:
    # Reorder import sections based on how they are ordered in `sections`.
    custom-order: true
    sections:
      # All standard packages.
      - standard
      # All packages that didn't fit other categories, usually third party.
      - default
      # All other luci-go imports.
      - prefix(go.chromium.org/luci)
      # Imports from the local package tree.
      - prefix(go.chromium.org/luci/cipkg)
      # All blank (import "_" ...) imports.
      - blank
      # All dot (import ".' ...") imports.
      - dot
