SuperAPI AI 工具集

ponytail-audit

编程与开发

查看项目

更新于 10-15 10:17

技能介绍

用途

ponytail-audit 用于对整个代码仓库做过度工程(over-engineering)审计。它定位为 ponytail-review 的仓库级版本:ponytail-review 检查的是某一次 diff,而 ponytail-audit 扫描的是一整棵代码树。它面向的目标是发现可以删除、简化或替换的冗余代码,并按照“削减量从大到小”排序,让使用者优先处理收益最大的部分。

主要能力(标签体系)

该技能沿用 ponytail-review 的标签分类,每条发现归入以下类型之一:

  • delete:死代码、无人使用的灵活性、推测性功能。替代方案:无(nothing)。
  • stdlib:手写的、标准库其实已经提供的实现。需要指出对应的函数名。
  • native:依赖或代码在做平台本身已经提供的事情。需要指出对应的平台特性名。
  • yagni:只有一个实现的抽象、没人设置的配置项、只有一个调用方的中间层。
  • shrink:逻辑相同但可以用更少行数表达。需要给出更短写法。

查找范围

技能会主动搜索以下模式:

  • 标准库或平台已经内置、却仍被引入的依赖
  • 只有一个实现的接口
  • 只产出一种产品的工厂
  • 仅做委托的包装器
  • 只导出一个内容的文件
  • 失效的标志位(flag)与配置
  • 手写的标准库功能

输出格式

每条发现占一行,按排序输出,格式为:

<tag> <what to cut>. <replacement>. [path].

即:标签、要削减的内容、替代方案、文件路径。

最后以一行汇总收尾:

net: -<N> lines, -<M> deps possible.

表示预计可净减少多少行、多少个依赖。若没有可削减项,则输出:Nothing to cut: Lean already. Ship.

适用场景

  • 在接手或审查一个陌生代码库时,快速定位过度设计。
  • 做技术债清理、精简依赖、降低维护成本之前的盘点。
  • 希望获得一份按优先级排序的“可删清单”,供人工进一步决策。

限制与边界

  • 范围仅限过度工程与复杂度。正确性缺陷、安全漏洞、性能问题明确不在其职责内,需交由常规 review 流程处理。
  • 只列出发现项,不应用任何修改。
  • 属于一次性(one-shot) 执行。
  • 可通过 "stop ponytail-audit" 或 "normal mode" 退出该模式。

使用方式

资料中未提供具体的安装命令、调用命令或平台接入步骤,暂未提供相关信息。