用途
在采用 ponytail 约定的代码库中,每一处有意的简化都会用一条 ponytail: 注释标记,注明它的上限(ceiling)和升级路径(upgrade path)。ponytail-debt 的作用是把这些标记集中收集到一份债务清单里,让一条延期事项不会在无人注意的情况下变成永久性遗留。
主要能力
- 扫描:在仓库中检索注释标记,跳过
node_modules、.git和构建产物。提供的检索命令为:
grep -rnE '(#|//) ?ponytail:' . (add other comment prefixes if your stack uses them)
每命中一处即对应清单中的一行。要求带注释前缀,是为了把仅仅在正文里提到这一约定的文字排除在清单之外。
- 输出:每条标记一行,按文件分组,格式为:
<file>:<line>, <what was simplified>. ceiling: <the limit named>. upgrade: <the trigger to revisit>.
由于约定格式是 ponytail: <ceiling>, <upgrade path>,上限和触发条件可直接从注释中提取。若希望每行还带负责人,可加上 git blame -L<line>,<line>。
-
标记腐化风险:任何没有写明升级路径或触发条件的
ponytail:注释会被打上no-trigger标签——这些正是会悄悄腐化的条目。 -
结尾统计:输出以
<N> markers, <M> with no trigger.结束;若什么都没找到,则输出No ponytail: debt. Clean ledger.
使用方式
该工具是一次性执行的扫描与报告工具。如需持久化结果,可提出要求,它会把清单写入文件(例如 PONYTAIL-DEBT.md)。要停止使用,可用 "stop ponytail-debt" 或 "normal mode" 恢复。
适用场景
适合在遵循 ponytail 约定、存在有意简化与延期事项的项目中,定期梳理技术债,尤其用于发现那些未写明升级触发条件、可能被长期遗忘的条目。
限制
只读取和报告,不修改任何内容;是否将清单写入文件需另行提出。不负责修复债务本身。除上述扫描命令与输出格式外,其余实现细节与运行环境暂未提供。