SuperAPI AI 工具集

go-development

编程与开发

查看项目

更新于 10-16 01:35

技能介绍

用途:在开发 Go 应用时提供统一的工程模式与检查清单,适用于实现任务调度或 cron(netresearch/go-cron、ofelia)、Docker API 集成、LDAP/AD 客户端等场景,也用于代码评审前置的质量检查。

主要能力与原则:强调类型安全,避免 interface{}(用 any)、sync.Map、散落的类型断言和反射,优先泛型 [T any]、errors.AsType[T](Go 1.26)与具体类型,升级后运行 go fix ./...;强调一致性,同一问题域只保留一种模式,沿用既有代码风格,配置优先级为默认值 < 配置文件 < 环境变量 < 命令行标志;测试用构建标签分层(unit 默认、integration、e2e),使用 t.Parallel()、t.Helper() 与表驱动子测试,直接用 log/slog 而不包装自定义 Logger 接口;命名用 ID、URL、HTTP;错误包装用 fmt.Errorf("failed to process: %w", err)。

使用方式:在动手前运行 go fix ./...;配置 Git 钩子可执行 ls lefthook.yml 2>/dev/null && lefthook install || echo "Add lefthook — see references/lefthook-template.md";按需加载 references 目录下的文档,包括架构、日志、cron 调度、弹性、Docker、LDAP、测试、lint、API 设计、模糊测试、契约与不变量、变异测试、Makefile、现代化、依赖、lefthook 模板、分支保护、可复用工作流、单次构建发布、awesome-go 提交等主题。

质量门禁(完成评审前运行):golangci-lint run --timeout 5m、go vet ./...、staticcheck ./...、govulncheck ./...、go test -race ./...。若 govulncheck 报告标准库漏洞,通过 vuln.go.dev 查询修复版本,更新 go.mod 中的 go X.Y.Z 后运行 go mod tidy。

限制:资料未提供具体版本兼容范围、性能数据、授权与价格信息;ST1003 默认关闭,命名规则不被工具强制。