SuperAPI AI 工具集

cleanup-cycles

编程与开发

查看项目

更新于 10-16 04:57

技能介绍

用途:检测项目中的循环导入依赖,并在机械上安全的范围内拆解,避免人工排查的成本。

主要能力:预先识别语言(package.json 判定 TS/JS,pyproject.toml 判定 Py,go.mod 判定 Go,Cargo.toml 判定 Rust),并检查 Git 状态、报告目录与已有主题脚本。检测方面,TS/JS 使用 madge(大仓库可用 skott:bunx madge --circular --extensions ts,tsx,js,jsx --json src/ apps/ packages/);Python 用 pipx run pycycle --here --verbose,备选 import-linter;Go 与 Rust 在编译期即禁止循环,因此以 go build ./... 和 cargo build 确认构建干净即可,如 go build 报 import cycle 即为所需报告。

评估输出:生成 .claude/cleanup-reports/cleanup-cycles-{YYYY-MM-DD}.md,按 HIGH(2 个模块、可叶子提取)、MEDIUM(需重构)、LOW(架构性重设计)分级,附路径、共享件与拆解计划。

应用范围:仅自动修复 HIGH 置信度的叶子提取循环;MEDIUM 与 LOW 只报告。修复后重新运行检测确认,并执行类型检查、测试与 lint;若验证失败或出现新循环则 git revert HEAD 并升级处理。Go/Rust 采用编译期校验。

限制:不在脏工作树上自动应用;不自动处理 3 个以上模块的循环;不使用 barrel 文件(index.ts 重导出)作为拆解手段;不触碰框架约定的循环;不将类型集中到 types.ts 巨型文件;不通过工具配置静默循环警告。