run: timeout: 3m issues-exit-code: 2 tests: false # 不檢查測試檔案 linters: enable: - govet # 官方靜態分析,抓潛在 bug - staticcheck # 最強 bug/反模式偵測 - revive # golint 進化版,風格與註解規範 - gofmt # 風格格式化檢查 - goimports # import 排序 - errcheck # error 忽略警告 - ineffassign # 無效賦值 - unused # 未使用變數 - bodyclose # HTTP body close - gosimple # 靜態分析簡化警告(staticcheck 也包含,可選) - typecheck # 型別檢查 - misspell # 拼字檢查 - gocritic # bug-prone code - gosec # 資安檢查 - prealloc # slice/array 預分配 - unparam # 未使用參數 issues: exclude-rules: - path: _test\.go linters: - funlen - goconst - cyclop - gocognit - lll - wrapcheck - contextcheck linters-settings: revive: severity: warning rules: - name: blank-imports severity: error gofmt: simplify: true lll: line-length: 140 # 可自訂目錄忽略(視專案需求加上) # skip-dirs: # - vendor # - third_party # 可以設定本機與 CI 上都一致 # env: # GOLANGCI_LINT_CACHE: ".golangci-lint-cache"