Claude Code 和 Codex 的代码越写越脏,我加了一层 Fallow 做代码清理

大家好,我是印刻君。最近我一直在用 AI 写代码。

我一般会让第二个 Agent 做 Review,比如 Claude Code 写、Codex 查,但时间长了,项目还是越来越脏。

AI 很喜欢 export 一堆没人用的东西,package.json 里也会慢慢积累无用依赖。这类问题,ESLint 很难发现。

后来我发现了一个工具:Fallow。github.com/fallow-rs/f...

它是 Rust 写的静态代码分析工具,专门查 TypeScript / JavaScript 里的死代码、重复代码和依赖问题。

Fallow 的安装与常用命令

安装:

css 复制代码
npm install --save-dev fallow

常用命令:

bash 复制代码
# 全量分析
npx fallow

# 只检测死代码
npx fallow dead-code

# 检测重复代码
npx fallow dupes

# 变更风险
npx fallow audit

# 预览清理
npx fallow fix --dry-run

我自己的尝试

我拿自己的项目 You Pencil(youpencil.com)进行了尝试。

虽然我平时有意识地做了代码清理,还是扫出不少问题。

控制台输出太长,不太方便看。

我后来直接导成 Markdown,让 AI 自己读:

css 复制代码
npx fallow --format markdown > .fallow-report.md

然后告诉 Claude Code:

读一下 .fallow-report.md,把 Unused exports、Unused type exports、Unused dependencies 按优先级处理掉。

把 Fallow 塞进 Claude Code / Codex 工作流

不过手动执行还是太麻烦。我索性把这步集成到工作流里。

Fallow 内置了 agent hook 安装器,可以生成配置文件:

css 复制代码
npx fallow hooks install --target agent --agent claude

该命令会在 .claude/ 下生成两个文件。

bash 复制代码
.claude/settings.json
.claude/hooks/fallow-gate.sh

settings.json 配置了一个 Claude Code 的 PreToolUse hook。

也就是说,Claude 每次准备执行 Bash 命令时,都会先经过 fallow-gate.sh。

整个流程大概是:

  1. Claude 执行 git commit
  2. hook 拦截,自动运行 fallow audit
  3. 如果检查失败,脚本 exit 2,并把结果输出到 stderr
  4. Claude 收到错误信息
  5. Claude 自己修复,再重新 commit

最后形成了一个自动循环:commit 被拦 → 读错误 → 修复 → 再 commit。

Codex 的配置方式类似:

scss 复制代码
# Codex:自动在 AGENTS.md 中追加 managed block
npx fallow hooks install --target agent --agent codex

人工改代码,也最好加一道拦截

上面那套主要防 AI。但很多脏东西,其实也是人手改出来的。所以我后来又在 Git 层加了一层 hook:

css 复制代码
npx fallow hooks install --target git

这样无论是谁提交代码,都会先跑一遍检查。

目前就这么用着

我走完这套流程之后,项目确实干净了不少。

以上就是我的使用过程,分享给有同样需求的人。

相关推荐
tingke1 小时前
AI Native 团队完整开发落地手册
ai编程
四六的六1 小时前
Agent 长会话设计实战:从对话上下文到持久状态,把记忆写进检查清单
人工智能·个人开发·ai编程·ai产品·长上下文·ai代码生成·ai会话
ServBay2 小时前
基于Jev的浏览器Agent插件狂揽 21k star,3分钟教你解放双手
后端·aigc·ai编程
wieimmer2 小时前
Opus 5.5 当导演,Sonnet 5.5 当画师:纯 JS 画出一部蜡笔水彩风《奥德赛》短片
claude
9i编程2 小时前
15. 把 DDD 开源脚手架化为自己的:第四次联调(一)——刚加载瘦身的 CLAUDE.md,问题就排着队来
人工智能·openai·ai编程
HelloWorld0012 小时前
告别大模型废话!给 Agent 装上 Jev“小脑”:70ms 决策实战与成本暴降 90% 的秘密
ai编程
TTc_3 小时前
Agent长上下文压缩为什么会反复失败
ai·ai编程
深蓝AI3 小时前
旗舰被小弟反超:Claude Sonnet 5.5 智能体编码凭什么压过 Opus 5.5
agent·ai编程
Sunny_G3 小时前
所见即所得编辑器原理实战:源码与渲染永不失真的三层一致性设计(Markdown/CodeMirror 装饰)
ai编程·harmonyos
ZzT4 小时前
用 Claude 设计 eval,再一轮轮把分数提上去
ai编程·claude