Go Cobra CLI 构建套件
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/go-cobra-cli-guide。
技能介绍
解决什么问题
团队里的运维脚本大多散落在 Git 仓库的角落,能跑但没人记得住参数,换台机器要重新写一遍补全脚本。
如何工作
这个技能基于 Cobra 的设计,提供一套五步构建法,帮你把散落的脚本组织成可维护的命令行应用。核心能力包括子命令树设计、--flag 作用域划分、参数校验和 Shell 补全。
五步构建法
- 初始化根命令:用
rootCmd定义名称、短描述、长描述和版本,Execute()作为入口。 - 拆分子命令:每个能力对应一个
cmd,通过rootCmd.AddCommand挂载,形成清晰的命令树。 - 声明 flag:局部 flag 用
Flags().StringVar,全局 flag 挂root并通过PersistentFlags暴露。 - 校验与运行:在
PreRun做参数校验,RunE返回 error 由框架统一处理退出码。 - 生成补全:执行
cobra completion产出 bash、zsh、fish、powershell 脚本,提交到仓库。
适用边界
这个技能是开发方法论,AI 输出以 Cobra 官方文档为准。生产环境中需要补充单元测试与版本管理,确保稳定性。
使用场景
- 运维工程师将散落在仓库的运维脚本封装为团队内部 Go CLI,需要定义清晰的命令树和全局 flag
- Go 工程师开发内部 CLI 工具,要拆分子命令并区分全局与局部 flag,实现参数的分层管理
- 开发团队需要为 Go CLI 生成各 Shell 的补全脚本,确保用户在不同终端能自动补全命令和参数
适合人员
- 运维工程师:希望把零散的运维脚本整理成结构清晰的团队工具,方便其他成员复用
- Go 后端工程师:打算开发内部 CLI 工具,需要掌握 Cobra 的子命令和 flag 配置方法
- 工具链开发者:要为团队 CLI 生成多 Shell 补全脚本,提升用户的命令行使用体验