用途:该技能面向使用 Go 与 Bubbletea 框架开发终端用户界面(TUI)的场景,适用于新建 TUI 应用、为现有应用添加 Bubbletea 组件、修复布局与渲染问题(边框、对齐、溢出)、实现鼠标与键盘交互、构建双栏或多面板布局、添加视觉效果以及排查 TUI 渲染故障。
主要能力:提供生产可用的项目模板与架构约定,新项目结构包含 main.go、types.go、model.go、update.go、update_keyboard.go、update_mouse.go、view.go、styles.go、config.go,并内置该技能目录。组件目录涵盖面板系统(单栏、双栏、多面板、标签页)、列表(简单、过滤、树形)、输入(文本、多行、表单、自动补全)、对话框、菜单、状态栏、预览(文本、Markdown、语法高亮、图片、十六进制)与表格。效果库包含 metaballs、波浪、彩虹渐变与 ANSI 多层合成。
使用方式:实现布局前须查阅 references/golden-rules.md 中的四条黄金法则:计算高度时先减去边框占用的 2 行;有边框面板中不要依赖自动换行,须显式截断文本;鼠标检测坐标方向须与布局方向一致(水平用 X、垂直用 Y);使用权重而非像素做比例布局。布局实现按“计算可用空间→按权重分配面板尺寸→截断文本”的顺序进行。配置采用 YAML 并支持热重载,从 ~/.config/your-app/config.yaml 与 ./config.yaml 加载。依赖包括 github.com/charmbracelet/bubbletea、lipgloss、bubbles 与 gopkg.in/yaml.v3,可选 glamour、huh、chroma/v2、bubble-table、go-fzf。
限制:资料未提供该技能的收费、价格、平台支持范围与效果数据;参考文档按需渐进加载,具体内容需查阅对应文件。避免在有边框的 Lipgloss 样式上设置显式 Height(),并避免在鼠标处理中假定布局方向。