GitHub 热门项目推荐:ub-mode(多语言|5819 Star)

这个项目有什么用

ub-mode 是一个面向编码智能体的 agent skill,用来在写代码或改代码时强制贯彻一套有纪律的软件工程原则。它并不提供运行时库或 CLI 工具,而是把「先把功能做出来、再把代码做对」的工程习惯固化成智能体可执行的技能,并配合确定性的质量门禁工具,减少智能体随手堆代码、只求跑通不管质量的问题。

它主要解决什么

  • 智能体写代码时容易跳过测试、跳过设计,直接产出「能跑但难维护」的实现;ub-mode 用一套明确的流程约束这类行为。
  • 把「先让它工作,再让它正确」拆成可执行的原则条目,让智能体在改动代码时有章可循。
  • 把主观的「代码好不好」部分交给确定性工具判断,例如相似度检测、变异测试和可视化。

典型使用场景

  • 在支持 skills 机制的编码智能体(如 README 中举例的 grok、claude、cursor 目录结构)中,为日常编码会话加载统一的工程规范。
  • 团队希望多个智能体会话遵循同一套开发纪律,而不是每人一套提示词。
  • 配合 crapper、mutator、uml-viewer 等工具,对智能体产出的代码做质量核验。

适合已经在使用编码智能体、并且在意代码长期可维护性的个人开发者或团队;如果只是想让智能体快速生成一次性脚本,这套约束会显得偏重。

核心特性

  • 两阶段工程流程:先「First Make it Work」,再「Then Make it Right」,把开发过程拆成先求可用、再求正确的两个阶段,避免一上来就过度设计或只求跑通。
  • 成体系的原则清单:第一阶段包含 Laziness Protocol、Foundational Thinking、TDD、Redesign From First Principles、Attack the Premise、Subtract Before You Add、Outcome-Oriented Execution、Build the Lever,以及架构层面的 Model the Domain、Boundary Discipline、Type System Discipline、Make Operations Idempotent、Separate Before Serializing Shared State。
  • 第二阶段聚焦根因与可验证性:强调 Fix Root Causes、把工作拆成可验证单元、测试行为而非实现细节。
  • 确定性的质量门禁:README 提到与 crapper(CRAP = 0.8 similarity)配合,消除高相似度代码。
  • 变异测试支撑:通过 unclebob/mutator 运行变异测试,暴露未被覆盖的代码以及测试没能抓住的存活变异体。
  • 可视化反馈:unclebob/uml-viewer 可展示组件、覆盖率、CRAP、变异分数与依赖方向。

怎么安装

README 没有提供包管理器式的安装方式,安装的本质是把技能文件放进智能体的 skills 目录。前提是你使用的智能体支持 skills 机制,并且存在对应的技能目录。

  1. 获取仓库中的 SKILL.md 文件(从仓库 unclebob/ub-mode 下载或克隆)。
  2. 把 SKILL.md 复制到智能体的 skills 目录下,路径形如 ub-mode/SKILL.md。README 给出的示例目录包括:~/.grok/skills/ub-mode/SKILL.md、~/.claude/skills/ub-mode/SKILL.md、~/.cursor/skills/ub-mode/SKILL.md。
  3. 在会话中调用技能:
    /ub-mode

README 未说明是否需要额外安装 crapper、mutator、uml-viewer 才能使用技能本体,也未给出这些工具的具体安装命令,官方文档未说明。

怎么使用

最基础的用法就是在完成安装后,于智能体会话中触发该技能,之后让智能体按这套原则写代码或改代码:

/ub-mode

触发后,智能体在编码过程中会遵循 README 描述的两阶段流程:先让功能工作起来,再修正实现;在修正阶段强调定位根因、把工作拆成可验证单元、测试行为而不是实现细节。

进阶用法是把它与确定性质量门禁结合:

  • 用 unclebob/crapper 检查代码相似度,README 给出的判定口径是 CRAP = 0.8 similarity,超过该相似度的重复实现需要消除。
  • 用 unclebob/mutator 跑变异测试,找出测试没覆盖到的代码和存活变异体,据此补测试或改实现。
  • 用 unclebob/uml-viewer 查看组件、覆盖率、CRAP、变异分数和依赖方向,作为重构与评审的参考。

这些工具的具体调用参数与配置项,README 摘录中未给出,官方文档未说明。

适用场景与注意事项

适合的场景:已经使用支持 skills 的编码智能体,希望统一工程纪律;需要在智能体产出代码后做质量核验;团队想把「先工作、再正确」的流程固化下来。

不太适合的场景:只需要一次性脚本或原型验证;使用的智能体不支持 skills 目录机制;不打算引入额外质量工具链的轻量场景。

注意事项:

  • 本项目以 SKILL.md 形式分发,效果依赖具体智能体对技能文件的读取与执行方式,README 未说明各智能体的兼容性差异。
  • README 提到它松散地基于 @poteto 的规则(poteto-mode / pstack)并做了精简,若需要完整规则可参考上游。
  • 配套的 crapper、mutator、uml-viewer 是独立仓库,是否必须联网或需要额外服务,README 摘录未说明。
  • 仓库信息中未提供开源协议,使用前请自行到仓库确认许可证条款。

项目地址

仓库地址:https://github.com/unclebob/ub-mode
作者/组织:unclebob

这是一个把软件工程纪律写成智能体技能的小型项目,价值主要在于流程约束和配套质量工具的衔接,是否好用取决于你所用的智能体对 skills 的支持程度。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享