Agent Skills
返回列表
💻

ESLint 配置强制执行器

开发编程 更新于 2026.08.29

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/eslint-config-enforcer 到 AI 助手。

技能介绍

解决什么问题

在 monorepo 中,多个子包通常各自引用共享的 ESLint 配置(如团队封装的 eslint-config-*)。当规则散落在不同层级、各包版本不一致时,会出现两类典型问题:

  • 规则冲突:上层配置允许 no-console,下层覆盖又把它关掉,实际生效的规则很难凭读文件判断;
  • 合规盲区:部分包漏配、部分包过期,CI 只跑默认规则,仓库实际风格与规范文档逐渐脱节。

这个技能的目标是把「配置是否生效」从口头约定变成可执行、可检查的工程步骤。

工作原理

技能围绕 ESLint 的 flat config 体系展开,核心流程如下:

  1. 合并配置:将 monorepo 内各包的共享配置按 flat config 的优先级合并,理清 languageOptions、rules、overrides 的来源与覆盖顺序;
  2. 冲突检测:对比不同共享配置之间的规则差异,标出互相矛盾的条目;
  3. 生成覆盖文件:对需要差异化处理的包,自动生成 eslint.config.js 的 override 片段,而不是让每个包各自复制一份配置;
  4. 合规报告:借助 eslint --inspect-config 输出实际生效的配置与差距,便于在 CI 中作为门禁依据。

适用边界与注意点

  • 该技能基于 flat config 工作,仍在使用 .eslintrc 旧格式的项目需先完成迁移;
  • 官方要求 Node.js 为 ^20.19.0、^22.13.0 或 >=24,且编译时带 SSL 支持;
  • 使用官方 Node.js 发行版时 SSL 默认内置,自编译环境需要自行确认;
  • pnpm 场景下需要设置 node-linker=hoisted 以保证依赖解析符合预期;
  • 若需要使用 TypeScript 类型定义,要求 TypeScript 5.3 或更高版本;
  • 技能只负责配置的合并、检测与报告,不包含代码自动修复逻辑,规则的实际修正仍需开发者执行。

使用场景

  • Monorepo 中多个子包引用不同版本的共享 ESLint 配置,导致规则生效不一致,需要统一合并并检测冲突
  • 共享配置更新后,各包本地覆盖规则出现冲突,需自动生成 override 片段并验证生效结果
  • CI 流水线需集成配置合规检查,通过 eslint --inspect-config 报告各包实际生效规则与规范差距
  • 团队从旧版 .eslintrc 迁移到 flat config 后,需理清多层配置覆盖顺序并修复规则矛盾

适合人员

  • Monorepo 维护工程师:需确保多包 ESLint 配置统一,避免规则冲突影响代码质量
  • 前端开发者:希望自动检测并解决跨包配置冲突,减少手动调试时间
  • CI/CD 工程师:需要在流水线中集成配置合规检查,确保提交符合规范
  • 技术负责人:需统一团队代码规范,通过工具自动检测配置偏差