关于 bubbletea
面向 Go 开发者的 Bubble Tea TUI 开发技能,帮助在现有项目结构中实现终端界面。重点关注终端尺寸、Unicode 显示、布局与模型更新生命周期。
主要功能
- 01遵循项目现有模型与更新结构
- 02按终端单元格测量和截断文本
- 03处理小型终端的布局尺寸
- 04保持命中检测与渲染一致
- 05将副作用置于渲染之外
适用场景
- 01为现有 Go 项目添加 TUI 组件
- 02修正窄终端中的面板布局
- 03处理 Unicode 文本对齐和截断
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pedronauck/ skills --skill bubbletea安装后在 Claude Code 中输入/bubbletea确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/components.mdemoji-width-fix.mdgolden-rules.mdtroubleshooting.md详细介绍
Bubble Tea TUI 开发
使用仓库已安装的 Bubble Tea/Lip Gloss 版本,以及现有的 model/update/view 结构。针对特定版本的 API 变更,请查阅当前官方文档;不要假设附带的示例与使用该项目的主版本相符。
实现
- 复用附近的组件和状态所有权。小型控件不需要新建项目脚手架、YAML 配置、热重载、鼠标处理或效果库。
- 更改布局前,请查看
references/golden-rules.md中的相关指南。测量实际的边框/内边距,并限制小型终端的尺寸;只有对那个特定边框而言,减去固定的两个单元格才有效。 - 使用支持终端单元格和 ANSI 的测量与截断方式。不要按字节长度切分字符串,也不要假设码点数等于显示宽度。根据内容的行为选择裁剪、换行或滚动;并非所有带边框的文本都必须截断。
- 确保命中测试与渲染布局和焦点状态一致。比例尺寸适用于可灵活调整的面板;固定尺寸也适用于有意设置固定大小的控件。
- 将有副作用的工作放在渲染之外,并保留 model/update 生命周期。验证更改后的交互以及相关的窄屏/宽屏终端尺寸;仅在行为缺少覆盖时添加对应测试。
参考资料
| 关注点 | 按需阅读 |
|---|---|
| 边框尺寸、面板对齐 | references/golden-rules.md |
| 现有控件模式 | references/components.md |
| 渲染失败 | references/troubleshooting.md |
| Unicode/emoji 对齐 | references/emoji-width-fix.md |
附带的模板可作为新应用的可选起点。请调整其 API 版本和布局假设;不要替换可正常运行的项目结构,也不要添加项目用不到的依赖。通过仓库的包管理工作流安装所需依赖,不要手动编辑 go.mod。产品行为、终端限制和项目约定优先于示例说明。
评论
支持 Markdown