用途:Fallow 用于分析 JavaScript/TypeScript 代码库结构问题,适合发布或重构前清理死代码、审计项目结构、检测重复与复杂度热点、为死代码或重复设置 CI 阈值,以及自动修复未使用的导出和依赖。
主要能力:可检测未使用文件、导出、类型、枚举成员、类成员、依赖,以及未解析导入、未列出依赖、重复导出、循环依赖、架构边界违规、失效抑制注释等;提供 dupes 重复检测(strict/mild/weak/semantic 模式)、health 函数复杂度分析、audit 变更文件综合审计、flags 特性开关模式检测。支持内联抑制注释(fallow-ignore-next-line、fallow-ignore-file)与 @expected-unused 标记。
使用方式:需先安装,如 npm install -g fallow、npx fallow dead-code 或 cargo install fallow-cli。常用命令包括 fallow(默认全部分析)、dead-code、dupes、fix、init、migrate、list、health、audit、flags、schema、config。机器可读输出建议使用 --format json --quiet 2>/dev/null,不要用 2>&1;命令后可加 || true,因为退出码 1 表示发现问题而非运行时错误,退出码 2 才是真实错误。修复前先用 fix --dry-run,再用 fix --yes 应用;非 TTY 环境必须加 --yes。可通过 MCP(fallow-mcp)调用 analyze、check_changed、find_dupes、fix_preview、fix_apply、check_health、audit、project_info、list_boundaries、detect_flags 等工具。
限制:仅做语法分析,不含 TypeScript 编译器,无法解析完全动态的 import(变量);不适用于运行时错误分析、类型检查、代码风格或格式检查、安全漏洞扫描、打包体积分析,以及非 JavaScript/TypeScript 项目。配置默认零配置,可从 .fallowrc.json 或 fallow.toml 读取。其他细节暂未提供。