ub-mode
项目能做什么
使用说明 查看原始 README 原仓库文档
项目简介
ub-mode 是一个面向 AI 智能体(Agent)的技能扩展(Agent Skill),旨在辅助编写或修改代码时强制执行规范严格的软件工程原则。
该项目基于 @poteto 的规则方案(poteto-mode / pstack)进行精简,并结合了多款确定性质量门禁工具(quality-gate tools),确保生成的代码不仅能正常运行,还能维持高标准的结构与可维护性。
核心功能
ub-mode 主要包含三大阶段原则及配套质检工具链:
-
First Make it Work(先跑通) - 遵循 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)。
-
Then Make it Right(再规范) - 直击根因(Fix Root Causes),将开发任务拆解为可独立验证的单元(Verifiable Units)。 - 面向行为测试而非面向实现细节(Test Behavior Not Implementation)。 - 配套质量把关工具:
- unclebob/crapper:计算函数圈复杂度(cyclomatic complexity)、测试覆盖率及 CRAP 分数,确保每个函数维持在安全阈值(
CRAP < 10)。 - unclebob/dryer:检测结构化代码重复,消除相似度
>= 0.8的重复代码块。 - unclebob/mutator:执行变异测试(mutation testing),暴露未覆盖代码并消除幸存变异体(kill the survivors),清理冗余无用代码。
- unclebob/uml-viewer:可视化展示组件结构、覆盖率、CRAP 分数、变异测试得分以及依赖方向。
- 持续重构(Refactoring)。
- unclebob/crapper:计算函数圈复杂度(cyclomatic complexity)、测试覆盖率及 CRAP 分数,确保每个函数维持在安全阈值(
-
Practice(日常实践) - 保持过程记录(Keep a Log)。 - 严控 Agent 上下文窗口(Guard the Context Window)。 - 及时清理工作树(Worktree Cleanup)。 - 采用有序的细粒度小提交进行 Commit 和 Push。
适合谁用
- 使用 Cursor、Claude 或 Grok 等支持 Agent Skill 的 AI 编程工具的开发者。
- 追求高标准代码质量、TDD 流程以及反感冗余、高复杂度代码的个人开发者与技术团队。
安装步骤
将仓库中的 SKILL.md 复制到对应 Agent 的 skills 目录下,并保存为 ub-mode/SKILL.md。
常见工具路径示例如下:
- Grok:
~/.grok/skills/ub-mode/SKILL.md - Claude:
~/.claude/skills/ub-mode/SKILL.md - Cursor:
~/.cursor/skills/ub-mode/SKILL.md
安装完成后,在对话或指令中调用 /ub-mode 即可启用。
配置说明
此部分原文未说明,请查看原仓库。
常见问题
此部分原文未说明,请查看原仓库。
原始 README 摘录(英文原文,节选前 3000 字符)
# ub-mode `ub-mode` is an agent skill that enforces disciplined software engineering principles when writing or changing code. It is loosely based on portions of [@poteto](https://github.com/poteto)'s rules (`poteto-mode` / `pstack`), reduced and paired with deterministic quality-gate tools: 1. **First Make it Work** — Laziness Protocol, Foundational Thinking, TDD, Redesign From First Principles, Attack the Premise, Subtract Before You Add, Outcome-Oriented Execution, Build the Lever, and Architecture (Model the Domain, Boundary Discipline, Type System Discipline, Make Operations Idempotent, Separate Before Serializing Shared State). 2. **Then Make it Right** — Fix Root Causes, Sequence Work into Verifiable Units, Test Behavior (Not Implementation), [Crapper](https://github.com/unclebob/crapper) (`CRAP < 10`), [Dryer](https://github.com/unclebob/dryer) (duplication `< 0.8`), [Mutator](https://github.com/unclebob/mutator) (cover the uncovered, kill the survivors, delete dead code), and Refactoring. 3. **Practice** — Keep a Log, Guard the Context Window, Worktree Cleanup, and Commit and Push in small ordered commits. ## Companion Tool Repositories `ub-mode` relies on deterministic quality-gate tools to enforce structure, complexity, duplication, and test thoroughness: - [unclebob/crapper](https://github.com/unclebob/crapper) — Computes cyclomatic complexity, test coverage, and CRAP score per function so every function stays under the CRAP threshold (`< 10`). - [unclebob/dryer](https://github.com/unclebob/dryer) — Detects structural code duplication so duplicate blocks (`>= 0.8` similarity) are eliminated. - [unclebob/mutator](https://github.com/unclebob/mutator) — Runs mutation testing to expose uncovered code and surviving mutants that tests fail to catch. - [unclebob/uml-viewer](https://github.com/unclebob/uml-viewer) — Visualizes components, coverage, CRAP, mutation scores, and dependency directions. ## Installation Copy `SKILL.md` into your agent's skills directory as `ub-mode/SKILL.md` (for example `~/.grok/skills/ub-mode/SKILL.md`, `~/.claude/skills/ub-mode/SKILL.md`, or `~/.cursor/skills/ub-mode/SKILL.md`), then invoke `/ub-mode`.阅读完整原文
商业机会分析 AI 生成
AI 编程质量门禁 CI/CD 插件与 SaaS 审计平台
| 产品构想 | 将 ub-mode 及其配套工具链(crapper, dryer, mutator)封装为 GitHub Actions / GitLab CI 插件,对 AI 提交的 PR 进行自动化质量打分与门禁阻断,提供团队看板。 |
| 核心功能 | CRAP 复杂度检测阻断、结构性代码重复率(>=0.8)检测、变异测试幸存者告警、PR 自动注入改进 Prompt 指引。 |
| 目标用户 | 中大型研发团队的架构师、工程效率团队、Tech Lead。 |
| 难度/周期 | 中等 · 1 - 2 个月 · 成本:轻量云服务器与 CI 运行资源,成本约 $50 - $200/月。 |
| 收费模式 | 按仓库数或活跃开发者席位收取 SaaS 订阅费(如 $15/开发者/月),免费开源基础版 CI Action。 |
| 竞争风险 | 变异测试和全量静态分析在大型项目中运行耗时较长,可能影响 CI 流水线响应速度;配套工具多语言支持度尚需验证。 |
| 依据 | 已验证事实 |
全功能 IDE 质量扩展与本地工具箱(Cursor / VS Code Extension)
| 产品构想 | 打包 ub-mode 规范及配套 CLI 工具,制作成一键配置的 IDE 扩展,无需手动复制 SKILL.md 与配置底层依赖即可在本地实时监控 CRAP 分数与生成质量。 |
| 核心功能 | 本地环境免配置依赖安装、保存时自动计算 CRAP/重复度、一键调用 Agent 执行 TDD 重构指令、可视化架构依赖预览(集成 uml-viewer)。 |
| 目标用户 | 追求高工程标准的独立开发者、使用 Cursor / Claude Code 的职业程序员。 |
| 难度/周期 | 较低 · 2 - 4 周 · 成本:开发机及开发者账号费用,几乎零额外运维成本。 |
| 收费模式 | 免费基础功能 + 升级至 Pro 版(高级重构提示词包、无限次架构可视化解析、云端规则同步),售价 $29 - $49 买断或订阅制。 |
| 竞争风险 | 开发者的本地环境(Node/Python/Rust 等运行时)差异可能导致配套工具安装失败率高。 |
| 依据 | AI推测 |
企业级 AI 软件工程规范(Clean Code Agent Rulesets)与定制服务
| 产品构想 | 针对合规、金融或核心基础设施团队,提供基于 Uncle Bob 清洁代码理念的专有 Agent 规则包定制、架构防护策略与团队工程纪律落地培训。 |
| 核心功能 | 定制化业务领域架构边界规则、企业私有仓库的最佳工程实践微调 Prompt、团队 Clean Code AI 交付标准落地方案与培训。 |
| 目标用户 | 对系统可靠性要求极高的技术驱动型企业、CTO、研发流程规范顾问。 |
| 难度/周期 | 低(技术实现)/ 高(商务拓展) · 按项目交付(2 - 4 周/期) · 成本:主要是人力时间成本。 |
| 收费模式 | 企业咨询与定制服务费(单次项目制收费)。 |
| 竞争风险 | B端获客周期长,高度依赖个人行业影响力与销售网络,难以规模化复制。 |
| 依据 | 尚需验证的假设 |
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| NDXDeveloper/formation-cpp-moderne-ubuntu | 基于 Ubuntu 的现代 C++ 完整进阶教程,涵盖 DevOps 与云原生实践。 | 53 | C++ |
| vohidjon123/google | 中文介绍暂未生成 (function(sttc){/* Copyright The Closure Library Authors |
46 | - |
| DickDumBR1/Aim | 中文介绍暂未生成 Skip to content Sign up Sign in This repository Search Exp |
28 | - |
| DeepNeuron/Uber_Profit_Model | 中文介绍暂未生成 A predictive model to help Uber drivers make more money |
24 | Jupyter Notebook |
| Lifestylerr/DAWD | 中文介绍暂未生成 /*The MIT License (MIT) Copyright (c) 2015 Apostolique Permi |
20 | - |
| MasterSix997/UBImGui | 中文介绍暂未生成 UB ImGui (Unity Better ImGui) is a binding of "Dear ImGui" f |
18 | C# |
项目优势与风险
| 技术成熟度 | 创建于 ,最近推送 |
| 社区活跃 | Star 7,540 / Fork 0 / Issue 0(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
git clone https://github.com/unclebob/ub-mode.git cd ub-mode # 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)