SuperAPI AI 工具集

go-cli-tui

通用与其它

查看项目

更新于 10-15 20:33

技能介绍

用途:用于开发 Go 命令行工具、终端仪表盘、选择器和交互式向导,也可用于修复交互问题。它是开发技能,不是 Lazygit 使用指南或通用 Go 教程,不提供生成器或脚手架代码。

主要能力:围绕“看见→选择→操作→看结果”组织界面,保持上下文可见、常用操作可发现、任务执行时导航仍响应。包含交互契约(任务、界面形态、布局、导航、入口、操作、状态、配置、验收)、交互不变量(稳定上下文、双导航词汇、输入优先、可发现快捷方式、即时反馈、按比例确认)以及 CLI/向导入口策略表(裸命令、显式向导命令、显式 --interactive、非 TTY 等情形)。

使用方式:先读 go.mod 再参考示例。命令树推荐 Cobra,TUI 推荐 Bubble Tea、Bubbles、Lip Gloss,表单复杂时用 Huh;极简 CLI 可用 flag;已有项目沿用现有框架。工作流为:立足任务、定义交互、构建纵向切片、补全状态、验证收尾。可按需查阅 cli-wizards-config.md、charm-stack.md、async-terminal.md、agent-facing-cli.md、go-distribution.md、shell-completion.md、shell-context.md、self-update.md、verification.md 等参考文档。

适用场景:新建 Go CLI、仪表盘、选择器、向导,以及分布式 CLI 的安装与升级路径设计;已发布 CLI 需提供可发现的升级入口与 upgrade --check。

限制与注意:Charm v1/v2 示例不可混用(v2 使用 charm.land/bubbletea/v2、tea.KeyPressMsg、View() tea.View);异步包装仍可能阻塞启动;取消后迟到的结果需按当前请求校验;终端宽度不能用字节或 rune 计算;字符设备不一定是 TTY;flag 默认值不等于显式覆盖;os.UserConfigDir() 在 macOS 上不遵循 XDG;嵌套终端读取器会互相竞争。验证需用真实 PTY,截图不能证明输入行为。具体版本要求、安装命令与价格等信息暂未提供。