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

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

目前就这么用着

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

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

相关推荐
chaors8 小时前
DeepResearchSystem 0x02:Graph 构建
langchain·openai·ai编程
东小西10 小时前
第11篇:《上生产前夜的恐惧:Prompt注入、敏感词、Token成本,我一个一个填坑》
openai·ai编程
Java.慈祥12 小时前
Claude 配置学习
ai·ai编程
uccs12 小时前
把工具组装成应用:代码分析、Research Agent、Vibe Coding
agent·ai编程·claude
码哥字节12 小时前
0元搭了240篇文章的AI知识库,比付费版查得更准
开源·ai编程·mcp
dogstarhuang13 小时前
用 Doubao-Seed-Evolving + Python 免费写一个网页正文提取工具(实战教程)
爬虫·python·ai编程
吴佳浩13 小时前
一文讲透AI算力单位:TFLOPS、PFLOPS、TOPS、稀疏算力,到底怎么算、怎么比?
人工智能·ai编程·gpu
猫头虎14 小时前
什么是ZCode for GLM-5.2?
开发语言·人工智能·python·科技·算法·ai编程·ai写作
颜进强14 小时前
LangChain 从入门到实践:用最小案例理解 RAG 的 5 个核心抽象
前端·后端·ai编程
颜进强14 小时前
MCP 从入门到实践:用 TypeScript 实现第一个 MCP Server
前端·后端·ai编程