ub-mode
Uncle Bob 推出的 AI 编程代理技能,通过 SKILL.md 约束代理在写改代码时遵循 TDD、根因修复、小步提交等纪律,并配合 CRAP、重复度、变异测试等确定性质量门禁工具。
爱鲜报评分
0 人评分
4.7k
星数
否
中文
—
主语言
是
活跃
1
贡献者
人工分析
EDITORIAL推荐理由
作者是软件工程界知名人物 Uncle Bob,项目把「先做对、再做优」的工程纪律固化成可被 AI 代理调用的技能文件,思路清晰且可落地。它不依赖特定语言,适合任何使用 Claude Code、Cursor 等代理工具的团队借鉴。配合 crapper/dryer/mutator 等工具形成量化门禁,比单纯提示词更可靠。
适用场景
- AI 编程代理的工程规范约束
- TDD 与重构流程落地
- 代码复杂度与重复度治理
- 变异测试驱动的测试补全
- 团队统一 AI 辅助编码纪律
优点
- 由知名软件工程作者维护,理念成熟
- 以技能文件形式接入,跨代理工具通用
- 配套确定性质量门禁工具,可量化验证
- 强调小步提交与根因修复,降低技术债
缺点
- 仓库信息有限,安装与配置需自行摸索
- 依赖多个外部配套工具,链路较长
- 对代理工具版本与技能目录结构有要求
- 偏方法论,缺少开箱即用的自动化脚本
ub-mode 是什么
ub-mode 是 Uncle Bob(Robert C. Martin)发布的一个 AI 代理技能(agent skill)。它的目标很直接:当 AI 代理帮你写代码或改代码时,强制它遵守一套有纪律的软件工程原则,而不是随手生成一堆能跑但难维护的代码。
它参考了 @poteto 的 poteto-mode / pstack 规则并做了精简,同时搭配几个确定性的质量门禁工具,让「好不好」不再只靠感觉。
核心理念:三步走
1. 先让它能工作(First Make it Work)
包括惰性协议、基础性思考、TDD、从第一性原理重新设计、攻击前提、先减后加、结果导向执行、构建杠杆,以及架构层面的纪律:
- 为领域建模
- 边界纪律
- 类型系统纪律
- 让操作幂等
- 共享状态先分离再序列化
2. 再让它正确(Then Make it Right)
- 修复根因而非症状
- 把工作拆成可验证的小单元
- 测试行为而非实现
- 用配套工具做量化门禁
- 持续重构
3. 日常实践(Practice)
- 保持工作日志
- 守护上下文窗口
- 清理 worktree
- 小步、有序地提交并推送
配套质量门禁工具
ub-mode 本身是规则,真正的「硬约束」来自这些工具:
| 工具 | 作用 |
|---|---|
| crapper | 计算圈复杂度、测试覆盖率与 CRAP 分数,要求每个函数 CRAP < 10 |
| dryer | 检测结构性代码重复,相似度 >= 0.8 的重复块需要消除 |
| mutator | 运行变异测试,暴露未被覆盖的代码与存活变异体 |
| uml-viewer | 可视化组件、覆盖率、CRAP、变异分数与依赖方向 |
这些工具把「代码质量」变成了可测量、可比较的数字,代理和人都无法轻易糊弄过去。
如何接入
项目以单个 SKILL.md 文件分发。基本做法是把该文件放到你所使用代理的技能目录下,例如:
~/.claude/skills/ub-mode/SKILL.md
~/.cursor/skills/ub-mode/SKILL.md
~/.grok/skills/ub-mode/SKILL.md
然后在代理中调用 /ub-mode 即可启用。具体目录名与调用方式请以你所使用代理工具的文档为准。
适合谁用
- 已经在用 Claude Code、Cursor 等代理工具写代码的开发者
- 希望把 TDD、重构、小步提交等纪律固化进 AI 工作流的团队
- 关注复杂度、重复度、变异测试等量化指标的技术负责人
注意点
ub-mode 更偏方法论与规则集,本身不提供一键安装脚本;配套工具需要分别获取和配置。建议先在小项目上试用,确认代理行为符合预期后再推广到团队。
评论
- 暂无评论,来写第一条吧。