Coding

Go Lint 配置工具

Try it

面向个人 Go 项目的 golangci-lint 配置与排障工具,快速起步。Use when 需要项目管理、任务规划、进度跟踪、团队协作时使用。不适用于实际人员绩效评估。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

What it does

面向个人 Go 项目的 golangci-lint 配置与排障工具,快速起步。Use when 需要项目管理、任务规划、进度跟踪、团队协作时使用。不适用于实际人员绩效评估。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

The skill document

Go Lint 配置工具(免费版)

概述

本工具帮助个人 Go 开发者快速接入 golangci-lint,提供最小与标准两套配置模板,覆盖导入解析、类型检查与基础 CI 排障。适合单项目本地开发与简单 CI 场景.

核心能力

能力说明免费版范围
配置模板最小(仅 gofmt)与标准(7 个 linter)两套
排障清单导入解析、类型检查、CI 依赖常见项
linter 选用按用途推荐基础 7 个
运行验证本地与简单 CI单项目
技术实现要点:核心能力基于input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置.

核心功能执行

input_params参数进行配置.

处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

参数配置与调用

config_options参数进行配置.

处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用config_options参数,支持修改/重置/导入操作

结果处理与输出

output_format参数进行配置.

处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:面向个人、项目的、golangci、配置与排障工具、快速起步、开发者的、最小与标准两套配、常见导入解析、选用指南、单项目本地运行与等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.

使用场景

场景一:个人项目接入 lint

# 依赖说明
# macOS / Linux (Homebrew)
brew install golangci-lint
# 通用 (Go 工具链)
go install golangci-lint/cmd/golangci-lint@latest
# 或从官方发布页下载二进制
# ...
# 运行
golangci-lint run ./...

场景二:CI 导入解析报错

CI 环境报 undefined: package,改用最小配置:

# .golangci.yml 最小配置(CI 友好)
run:
  timeout: 5m
  tests: false
linters:
  disable-all: true
  enable:
    - gofmt
linters-settings:
  gofmt:
    simplify: true
issues:
  max-issues-per-linter: 50
  max-same-issues: 3

场景三:本地标准检查

# .golangci.yml 标准配置(本地开发)
run:
  timeout: 5m
  tests: true
linters:
  enable:
    - gofmt
    - govet
    - errcheck
    - staticcheck
    - unused
    - gosimple
    - ineffassign
linters-settings:
  govet:
    enable:
      - shadow
  errcheck:
    check-type-assertions: true
  staticcheck:
    checks: ["all"]

不适用场景

以下场景Go Lint 配置工具不适合处理:

  • 无明确技术栈的模糊需求
  • 纯架构设计决策
  • 运维部署管理

触发条件

需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于非本工具能力范围的需求.

快速开始

  1. 安装 golangci-lint.
  2. 选择最小或标准模板写入 .golangci.yml.
  3. 运行 golangci-lint run ./....
  4. 按报错逐项修复.
# 指定配置运行
golangci-lint run --config .golangci.yml ./...

响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.

示例

基础 linter 选用:

linter用途
gofmt格式一致性
govet语义错误
errcheck未检查错误
staticcheck静态分析
unused死代码检测
gosimple简化建议
ineffassign无效赋值

最佳实践

  • CI 用最小:CI 环境优先用最小配置,避免导入解析问题.
  • 本地用标准:本地开发启用完整 linter 尽早发现问题.
  • 先 mod download:CI 中先 go mod download 再跑 lint.
  • 复杂 linter 临时关:类型检查失败时临时关闭复杂 linter 或用 --fast.

常见问题

Q1:CI 报 undefined 包怎么办? A:用最小配置 disable-all: true 仅启用 gofmt,并确保 go mod download 先执行. Q2:类型检查失败怎么办? A:临时关闭需要类型检查的 linter,或加 --fast 跑快速检查. Q3:免费版支持自定义规则吗? A:不支持。自定义规则集与多项目统一治理为专业版能力. Q4:能跑在 GitHub Actions 吗? A:能。免费版提供基础 CI 工作流示例.

进阶用法

本地与 CI 配置分离

本地用完整 linter 尽早发现问题,CI 用最小配置避免环境问题,二者分离管理:

.golangci.yml        # 本地标准配置(完整 linter)
.golangci.minimal.yml # CI 最小配置(仅 gofmt + govet)
# 本地
golangci-lint run ./...
# ...
# CI 显式指定最小配置
golangci.minimal.yml ./...

按需启用额外 linter

标准 7 个之外,按项目需要增量启用:

linter何时启用
gocyclo关注圈复杂度时
misspell多语言注释项目
gosec安全敏感项目
revive替代 golint 的风格检查
bodyclose频繁 HTTP 调用项目

排除测试文件

issues:
  exclude-rules:
    - path: _test\.go
      linters: [gosec, errcheck]

排障决策树

CI lint 报错
  ├─ 是导入解析(undefined package)?
  │    → 改用最小配置 + go mod download
  ├─ 是类型检查失败?
  │    → 关闭需类型检查的 linter 或加 --fast
  ├─ 是超时?
  │    → 调大 run.timeout 或减少 linter
  └─ 是误报过多?
       → 用 exclude-rules 按路径/规则排除

配置演进

  • 从最小起步:新项目先用最小配置跑通,再逐步加 linter.
  • 变更要可追溯:配置文件纳入版本库,变更走 PR 评审.
  • 本地早发现:本地启用完整 linter,CI 用最小保证稳定.
  • 误报先排除:频繁误报的规则用 exclude-rules 局部排除,别全局禁用.

依赖说明

运行环境

  • Agent 平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI 等)
  • 操作系统: Windows / macOS / Linux
  • Go: 1.21+

第三方依赖

依赖项类型是否必需获取方式
golangci-lint命令行工具必需go install ...@latest
Go工具链必需go.dev 下载
LLM APIAPI必需由 Agent 内置 LLM 提供

API Key 配置

  • 本工具为纯 Markdown 指令,无需额外 API Key

可用性分类

  • 分类: MD+EXEC(Markdown 指令 + 命令行执行)
  • 说明: 通过自然语言指令驱动 Agent 生成配置并运行 lint

错误处理

错误场景原因处理方式
配置错误参数缺失或格式错误检查依赖说明中的配置要求
运行时错误运行环境不满足确认运行环境符合依赖说明
网络错误连接超时或不可达执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案

已知限制

  • 本地运行,不支持多设备同步
  • 当前为免费版本,如需完整功能请升级到付费版获取全部能力

输出格式

{
  "success": true,
  "data": {
    "result": "Go Lint 配置工具处理结果",
    "execution_time": "0.5s",
    "metadata": {
      "version": "1.0",
      "processor": "go linter config"
    }
  },
  "execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
  "error": null
}

Related skills

轻量级JSON语法校验工具,递归扫描工作区.json文件并输出结构化错误报告。Use when 需要文件处理、文档转换、格式互转、内容提取时使用。不适用于加密文件破解。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

1 installs

Configure .golangci.yml, interpret lint output, and write nolint suppressions with proper justifications.

20 installs

Go模块安全缺陷检测工具,使用govulncheck扫描已知漏洞、评估影响并提供修复建议,适合个人Go开发者使用。Use when 需要安全检测、合规审计、质量检查、加密防护时使用。不适用于安全评估未授权目标。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。

基础 DNS 记录配置工具,支持 TTL 管理、邮件认证与迁移前准备,适合个人站点。Use when 需要消息发送、通知推送、邮件短信、通信集成时使用。不适用于垃圾信息群发。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

提供Git常见操作辅助、冲突解决指引、提交规范检查与安全操作清单,适合开发者日常使用。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。

1 installs

提供代码风格规范、安全基础检查与可访问性要点,适合个人开发者快速校验代码质量。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

1 installs