SuperAPI AI 工具集

go-architect

通用与其它

查看项目

更新于 10-15 21:54

技能介绍

用途:作为 Go 架构专家技能,用于搭建规范、可扩展的 Go 项目脚手架,并在涉及新项目、结构或布局时启用。

主要能力:

  1. 标准布局:cmd/<app_name>/main.go 作为极简入口(配置、信号捕获、调用 run());internal/ 存放私有应用代码;pkg/ 仅用于确实希望被外部导入的公共库代码;api/ 存放 OpenAPI、Protobuf、JSON schema。
  2. 面向包的设计:按功能/领域(如 user/、billing/)组织代码,而非按层(handlers/、services/);避免 util、common、base 等“杂物抽屉”包,按提供内容命名(如 platform/database、platform/logger)。
  3. 依赖注入:不使用全局状态保存数据库连接或 logger;通过构造函数显式传入依赖,例如 func NewService(db *sql.DB, log *slog.Logger) *Service。
  4. 依赖管理与防幻觉:引入新依赖前先获取并阅读文档;使用 add_dependency 工具获取文档,必要时用 go_docs 深入了解 API,不猜测方法。
  5. 记录决策(ADR):对重大架构选择(新功能、依赖变更、重构)在 design/ADR-00X-title.md 编写 ADR,状态流转为 Draft -> Proposed -> Accepted(或 Rejected/Superseded)。

使用方式: 新项目流程依次为:创建 go.mod(或让用户执行 go mod init);按模板创建 cmd/api/main.go;创建 internal/platform/;添加默认 .golangci.yml 或 linter 配置;初始化 README.md 与 GEMINI.md;用 add_dependency 安装关键依赖(如 github.com/jackc/pgx);最后 verify_build 验证。 设计功能流程为:分析需求、起草 ADR、请用户评审上下文与选项、根据反馈修订、标记 Accepted,之后才进入编码。

适用场景:Go 新项目初始化、目录结构规划、依赖引入与架构决策记录。 限制:资料未提供收费、价格、平台支持或效果数据;具体命令与工具行为以实际环境为准。