用途:为各类 Go 项目提供架构设计指导,不限于后端服务,也覆盖 CLI 工具、共享库/SDK、基础设施工具(operator、controller、agent)、数据管道、分布式系统组件等。核心主张是架构即取舍,Go 偏好简单,应从问题出发而非套用模式,优先使用 internal/ 包与接口等 Go 原生手段,而非引入框架。
主要能力:按八步思考流程展开——理解项目类型、消费者、生命周期、团队规模与硬约束;按项目复杂度选择架构(简单 CLI 用扁平结构,中等 CLI 用 cmd/ 加 internal/,简单 CRUD 用分层,复杂业务用整洁/六边形架构,库用面向包设计,operator 用 controller-runtime,数据管道用流水线模式,分布式组件用 DDD);设计模块与包结构,按职责而非类型分包,保持 main.go 精简;设计依赖与接口,接口定义在使用方,依赖指向内层,用 main.go 做依赖注入;统一错误处理(哨兵错误、%w 包装、errors.Is/As);按项目类型规划单元、集成与 E2E 测试;生产就绪清单(配置、结构化日志、context、优雅关闭、健康检查、指标、可复现构建、CI 检查);给出实现顺序。
使用方式:技能内含 sqlc 初始化脚本,命令为 bash /mnt/skills/user/golang-architect/scripts/sqlc-init.sh [project-dir] [db-engine],参数 project-dir 默认当前目录,db-engine 支持 postgresql、mysql、sqlite3,默认 postgresql。
适用场景:需要为 Go 项目选型架构、划分包结构、设计接口与依赖、规划测试与生产化时。
限制:资料未提供该技能的收费、价格、平台支持与效果数据;具体项目仍需结合实际约束判断,避免过度设计或设计不足。