# Конфигурация golangci-lint v2. # Запуск: `golangci-lint run ./...` (или `make lint`). # Формат v2: линтеры живут в `linters`, форматтеры (gofmt/goimports) — # в отдельной секции `formatters`. version: "2" run: timeout: 5m linters: # standard = errcheck, govet, ineffassign, staticcheck, unused. default: standard enable: - gocritic # подсвечивает сомнительные конструкции, в т.ч. if-цепочки вместо switch - misspell # опечатки в комментариях и строках - revive # замена устаревшему golint: стиль и именование exclusions: rules: # В тестах часть ошибок осознанно игнорируется (напр. откат tx в Cleanup). - path: _test\.go linters: - errcheck # Тестовые хелперы: t идёт первым — так заведено в testing-пакете # (t.Helper()), а ctx создаётся один раз на весь тест и подставляется # вторым. Перестановка местами ничего не даёт, но ломает читаемость. - path: _test\.go linters: - revive text: "context-as-argument" formatters: enable: - gofmt - goimports settings: goimports: # Локальные импорты не разбиваются на отдельную группу. local-prefixes: [building-mgmt]