SuperAPI AI 工具集

go-developer

编程与开发

查看项目

更新于 10-24 16:23

技能介绍

Go Developer 是一份面向 Go 1.25+ 的生产级编码与代码审查指南,主要用途是帮助在新建项目、审查代码和重构时遵循统一的最佳实践。

主要能力:其一,给出项目配置规范,包括 go.mod 中的 go 版本、依赖管理与 go work 多模块用法;其二,规定接口与依赖注入方式,要求把接口定义在使用方一侧,并保持接口精简;其三,规定错误处理,要求用 fmt.Errorf 包装错误、用 errors.Is/errors.As 检查错误链,并把领域错误在 API 边界翻译为状态码;其四,覆盖泛型与迭代器的合理使用边界;其五,覆盖并发与上下文传播,例如用 errgroup 管理并发任务、正确处理 cancel 与超时;其六,覆盖测试、slog 结构化日志以及 golangci-lint 配置与安全检查(govulncheck);其七,列出反模式清单与代码作者清单;其八,提供代码审查规则,按影响范围把文件分为 Critical、Standard、Low 三级,再按 P1(必须修复)与 P2(重要)优先级给出建议,默认不改样式偏好,并尊重仓库已有的迁移或技术债状态。

使用方式:新建项目时,按文档给出的默认值(go-version 1.25、golangci-lint v2、预设 linter、可选 testify、slog)执行;审查已有代码时,以仓库的 go.mod 与 .golangci.yml 为准,不覆盖项目已有配置。可通过 Cursor 的 .cursor/rules、Claude Code 的 CLAUDE.md 或通用 AGENTS.md 补充本仓库专属的覆盖内容,例如领域背景、审查行为、代码库状态与团队约定,但只写与默认值不同或代码无法推断的信息。

适用场景:创建 Go 项目、审查 Go 代码或 PR、重构,以及需要统一团队 Go 规范时。

限制与说明:该指南针对 Go 1.25 及以上版本,部分特性(如 Go 1.26 的语言变更、GC 改进、新包)属于后续版本内容,需参考对应参考资料;文档中提到的 references/ 目录下的详细示例文件在当前资料中未提供具体内容;linter 预设与默认值可被项目配置或本地覆盖文件调整,具体以实际项目配置为准。