用途:在 TS/JS、Python、Go、Rust 项目中识别未使用的代码、导出、文件与依赖,自动删除可确证已失效的部分,并输出带置信度评级的评估报告,把模糊项留给人工确认。
主要能力:按语言选择工具。TypeScript/JavaScript 使用 knip(bunx knip --reporter json > /tmp/knip.json 或 npx knip --reporter json);Python 使用 vulture(uvx vulture . --min-confidence 80 --json);Go 使用 staticcheck(staticcheck -checks=U1000 ./...);Rust 使用 cargo-machete,必要时配合 RUSTFLAGS="-W dead_code"。
使用方式:先探测语言并跳过不存在的语言;检查 git 状态,工作区不干净时拒绝自动应用,要求先 stash 或 commit;创建 .claude/cleanup-reports/ 目录并加入 .gitignore;扫描动态导入模式(如 import(、import、reflect.、cfg(feature) 等),相关发现降为 MEDIUM。报告写入 .claude/cleanup-reports/cleanup-unused-{YYYY-MM-DD}.md,包含范围、摘要、发现表格与批判性评估。
自动应用规则:仅自动删除 HIGH 置信项——工具标记、不在动态导入风险区、不在公共 API 表面、经 grep 确认全仓零引用;依赖需未在任何脚本、配置或运行时 require 中使用。MEDIUM 仅报告不执行,LOW 只记录。删除后合并为一次提交,并依序运行类型检查、测试与 lint;任一失败则 git revert HEAD --no-edit,将自动应用项降级为 MEDIUM 并追加失败说明。
限制:不得删除 node_modules/、.next/、dist/、build/ 等生成目录;不得删除迁移文件(drizzle/*.sql、alembic/、migrations/);不得依据 knip 标记删除测试夹具;不得在脏工作区自动应用;不得盲目信任框架约定目录(Next.js app/、pages/、Remix routes/)中的文件;依赖解析出问题时不得使用 npm install --force 等绕过锁文件完整性的参数。安装工具仅在询问后按需进行。具体效果、收费与价格信息暂未提供。