用途
golang-cli-review 用于审查 Go 语言编写的命令行(CLI)应用,并生成一份可执行的审查清单(actionable checklist)。它适合在代码评审、发布前检查或重构 CLI 项目时使用,帮助开发者系统性地发现问题和改进点。
主要能力
该技能按以下类别对代码进行系统评估:
- CLI 结构与框架:框架使用情况(复杂 CLI 建议使用 Cobra)、命令层级与可发现性、帮助文本质量(含示例)、遵循 semver 的版本命令。
- 错误处理:RunE 与 Run 的取舍(应返回错误)、使用 %w 和上下文进行错误包装、面向用户的错误可操作性、有意义的退出码(0=成功,1=错误,2=用法错误)、正常路径中不出现 panic。
- 标志与参数设计:小写 kebab-case 命名、常用选项的短标志(-v、-o、-q)、必填标志的标记与提前校验、合理的默认值、清晰的描述。
- 输入/输出:错误与进度输出到 stderr、数据输出到 stdout;支持机器可读输出(--json、--format);支持安静与详细模式;非 TTY 模式处理(不弹出提示)。
- 安全:密钥通过环境变量或文件传递而非标志;防止路径遍历;避免 shell 注入;校验 URL scheme;日志中不包含敏感数据。
- 测试:命令级单元测试、错误路径覆盖、关键流程的集成测试。
- 性能与资源:基于 context 的取消、信号处理(SIGINT/SIGTERM)、正确的资源清理(defer)、无 goroutine 泄漏。
- Go 惯用法:符合 Effective Go 风格、即时错误处理、包命名约定、接口/结构体模式。
使用方式
审查工作流分为三步:
- 收集代码:读取 CLI 项目中的所有 Go 文件。
- 分析:对照上述审查类别进行评估。
- 产出清单:使用 references/review-checklist.md 中的模板输出结果。
输出格式采用清单模板,按严重程度分组:
- Critical Issues(关键问题):安全漏洞、崩溃、数据丢失——必须修复。
- Warnings(警告):缺陷、反模式、维护性问题——应当修复。
- Suggestions(建议):风格、优化、小幅改进——可选。
- Positive Patterns(良好实践):值得肯定的做法。
每条发现包含文件与行号、描述,以及影响/原因和修复建议。
适用场景
适用于 Go CLI 项目的代码评审、质量把关和重构指导,尤其适合需要统一审查标准、覆盖安全与错误处理等关键维度的团队。
限制
该技能的具体安装方式、运行环境要求、是否收费及价格等信息暂未提供。