Agent Skills
返回列表
💻

ESLint 规则分析器与修复器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/eslint-rule-analyzer-fixer。

技能介绍

要解决的问题

团队迭代一段时间后,ESLint 配置往往会「层层叠加」:历史上为了绕过某个报错加的 off 或宽松规则,和新引入的推荐配置互相打架;同一份规则在 .eslintrc 与 flat config 两种体系下语义又不一样。结果是 npx eslint 满屏报错,但没人说清哪条规则在冲突、谁该让路,手动改配置往往越改越乱。

核心能力与工作方式

这个技能直接调用 ESLint 的 Node.js API 与 flat config 体系,把配置解析成可编程的对象,而不是靠文本匹配猜测:

  • 冲突定位:逐条比对规则在 plugins、options、severity 上的重叠,列出互相覆盖的规则对,并说明后者覆盖前者的原因。
  • 自动修复:对能安全收敛的冲突(如同一文件同一规则被重复定义),按 flat config 的合并语义重写配置,保留人工显式写出的部分。
  • 生成共享配置:把收敛后的规则集导出为 shareable config,方便多个项目复用同一套基线。
  • 趋势报告:结合多次检查结果输出代码质量趋势,指出质量回退集中在哪些规则或目录,而不是只给一个总数。

关键步骤依次是:加载当前配置并展开 flat config 链 → 模拟解析每个源文件得到规则命中结果 → 归因每条告警到具体规则与配置来源 → 应用可自动修复的变更并生成报告。

适用边界与注意点

  • 运行环境需要 Node.js ^20.19.0、^22.13.0 或 >=24,且编译时带有 SSL 支持;官方发行版一般已内置。
  • 使用 pnpm 管理依赖时需设置 node-linker=hoisted,否则 ESLint 的插件解析可能找不到 node_modules 里的包。
  • 需要 ESLint 的 TypeScript 类型定义时,要求 TypeScript 5.3 或更高版本。
  • 自动修复只处理规则层面的冲突;代码里真正的逻辑问题(如未使用变量来自错误导入)仍需人工判断,技能不会替你改写业务逻辑。
  • 迁移旧版 .eslintrc 项目时,flat config 对 extends 和插件解析的语义不同,建议先在独立分支上运行分析,再合并结果。

使用场景

  • 仓库里 `.eslintrc` 与 flat config 混用,同一规则被反复覆盖,需要定位冲突来源并生成可合并的配置。
  • 多包 monorepo 中各项目重复维护 ESLint 规则,需要抽取成共享配置并保持各子项目行为一致。
  • CI 出现大量 ESLint 报错,但难以区分是配置覆盖还是代码质量问题,需要按规则来源归因并输出趋势报告。
  • 升级 ESLint 主版本前,需要解析现有配置,确认哪些规则在 flat config 下的语义和优先级发生了变化。

适合人员

  • 维护大型前端仓库的工程师,需要在合并配置前定位规则冲突,减少无效告警。
  • 构建团队共享代码规范的平台开发者,需要把分散的 ESLint 规则收敛为可复用的共享配置。
  • 负责 CI 稳定性的技术负责人,需要在 ESLint 报错激增时按规则来源判断是配置问题还是代码质量问题。
  • 准备迁移到 flat config 的研发效能工程师,需要验证现有规则在新配置体系下的行为变化。