SuperAPI AI 工具集

improve-codebase-architecture

编程与开发

查看项目

更新于 10-28 16:16

技能介绍

用途

该技能面向代码库架构改进,目标是发现并呈现“深化机会”(deepening opportunities):把浅模块(接口几乎和实现一样复杂)重构为深模块,从而提升可测试性和 AI 可导航性。它由项目的领域模型驱动,并建立在共享的设计词汇之上。

主要能力

  • 探索代码库,识别架构摩擦点,例如:理解一个概念需要在多个小模块间来回跳转;模块过浅;为可测试性而抽取的纯函数掩盖了真正的调用缺陷(缺乏局部性);紧耦合模块跨接缝泄漏;未测试或难以通过现有接口测试的部分。
  • 对疑似浅模块应用“删除测试”:删除它会让复杂度集中,还是只是转移?
  • 生成自包含的 HTML 报告,写入操作系统临时目录(从 $TMPDIR 解析,回退到 /tmp 或 Windows 的 %TEMP%),文件名为 architecture-review-<timestamp>.html,并在浏览器中打开。
  • 报告使用 CDN 引入的 Tailwind 做布局与样式,使用 CDN 引入的 Mermaid 绘制图/流程/时序图,并混合手工 CSS/SVG 视觉。每个候选以卡片呈现:涉及文件、问题、方案、收益(以局部性和杠杆说明,以及测试如何改善)、前后对比图、推荐强度徽章(Strong、Worth exploring、Speculative)。报告结尾给出首选建议。
  • 用户选定候选后,进入“拷问”循环,通过决策树梳理约束、依赖、深化模块的形态、接缝背后的内容、哪些测试可保留。
  • 按需调用子技能:/domain-modeling 解析并读取项目配置的产物,并在任务授权编辑时持久化已接受的模型变更;/swarm 用于委派工作;/codebase-design 提供架构词汇(模块、接口、深度、接缝、适配器、杠杆、局部性)及其原则(删除测试、“接口即测试面”、“一个适配器=假设接缝,两个=真实接缝”);/principles 用于规划阶段;/grilling 用于决策树。

使用方式

  1. 探索:先确定范围(YAGNI)。若用户指定方向则采用;否则回看提交历史(git log --oneline)找热点。先读取项目配置的词汇、模型和相关 ADR,再派生子代理有机地遍历代码库并记录摩擦。
  2. 呈现候选:在评分前调用 /principles,将所选原则应用于每个候选和首选建议。写出 HTML 报告并打开,然后询问用户想探索哪一个。此阶段不提出接口。
  3. 拷问循环:用户选定后调用 /grilling 走决策树。副作用随决策成形内联发生,通过 /domain-modeling 保持领域模型最新:新领域概念记入词汇;模糊术语或关系通过同一所有者协调;用户因持久权衡拒绝候选时,按 ADR 标准记录合格决定,未决的留作问题。想探索替代接口时调用 /codebase-design 的 design-it-twice 并行子代理模式。

适用场景

  • 代码库近期频繁变更、需要优先改进的区域。
  • 模块过浅、接口复杂、耦合泄漏、测试困难或缺乏局部性的代码。
  • 希望提升可测试性和 AI 可导航性的重构规划。

限制

  • 深化模块的收益来自让未来变更更容易,因此对近期变更的部分加权。
  • 若候选与现有 ADR 冲突,仅当摩擦足够真实、值得重新审视 ADR 时才呈现,并在卡片中明确标注(如“与 ADR-0007 冲突,但值得重开,因为……”),不列出 ADR 禁止的每个理论重构。
  • 实现需要单独的任务范围。
  • 报告写入临时目录,不落入仓库。
  • 嵌入仓库和 issue 文本前需转义。
  • 完成条件:报告将每个候选建立在观察到的摩擦上,所选候选的设计前沿已解决,已接受的模型变更无重复产物地协调。

暂未提供

该技能的收费、价格、平台支持范围、具体效果指标等事实暂未提供。