ESLint 自定义规则构建器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的官方指南,把 @user_3c6cb52e/eslint-custom-rule-builder 这个技能安装到我的 AI 助手中并启用。
技能介绍
解决什么问题
当团队代码规范超出 ESLint 内置规则的覆盖范围时,你迟早要写自定义规则。难点不在于「能不能写」,而在于规则落地质量难以保证:AST 匹配写歪了、context.report() 的 message 与文档对不上、自动修复逻辑只覆盖部分场景,这些缺陷往往在规则合并后才暴露。这个技能把规则开发的外围工作收敛掉,让你专注于规则本身的判定逻辑。
核心能力
- 脚手架生成:按 RuleTester API 的标准结构搭建规则骨架,规则文件的导出格式、
meta字段、create函数的组织方式直接可用。 - 测试同步编写:基于
RuleTester生成覆盖正常路径与错误路径的测试用例,验证context.report()触发的时机和参数是否符合预期。 - AST Explorer 模式适配:遵循 AST Explorer 的节点探索习惯,方便你在开发中快速定位目标语法节点、确认
node.type与选择器写法。 - 文档与 autofix 配套:生成规则说明文档,并为可修复的规则补上
fixable标记及自动修复实现,保证--fix行为与文档描述一致。
关键步骤
- 明确规则要拦截或修复的代码模式,用 AST Explorer 确认目标节点类型。
- 通过技能生成规则骨架与
RuleTester测试脚手架。 - 在
create函数中实现节点监听与context.report()调用,同步补齐测试断言。 - 若规则可自动修复,在
report中附加fix逻辑,并在meta.docs中标注fixable。 - 校验测试全部通过后,将规则接入项目的 ESLint 配置。
适用边界
- 运行环境需要 Node.js
^20.19.0、^22.13.0或>=24,且编译时启用了 SSL 支持;官方发行版默认包含。 - 使用 ESLint 的 TypeScript 类型定义时,要求 TypeScript
5.3及以上。 - 技能负责规则的结构与测试框架,不替代你对 ESLint 规则 API 本身的理解;复杂 AST 场景仍需结合官方文档调整选择器与遍历逻辑。
使用场景
- 团队代码规范超出内置规则时,需要生成规则骨架、meta 字段与 create 函数
- 为自定义规则补齐 RuleTester 用例,覆盖 valid 与 invalid 路径
- 为可自动修复的规则实现 fix 逻辑并在 meta.docs 标注 fixable
- 接入前用 AST Explorer 确认目标语法节点的类型与选择器写法
适合人员
- 前端工程师:要把团队内部编码规范落地为可运行的 ESLint 规则
- Node.js 后端工程师:维护项目 lint 配置并需要可复用的规则模板
- 开源贡献者:为 ESLint 生态新增规则,需配套测试与文档
- 工程效能团队成员:负责统一代码规范并要求规则支持自动修复