ESLint 自定义规则生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/eslint-custom-rule-generator。
技能介绍
解决什么问题
当项目里反复出现某种坏味道——比如有人习惯把 var 声明随手堆在顶层,或者 console 语句散落在生产代码中——内置规则往往覆盖不到,你需要一条自定义 ESLint 规则。但手写规则并不轻松:要先用 AST Explorer 确认目标语法的节点结构,再编写 meta(含 schema 和 messages)、create 函数、可选的 fixer,最后用 RuleTester 补上正反用例。模板代码繁琐,测试最容易被省略,规则质量也参差不齐。
它如何工作
这个技能把上述流程压缩成一次自然语言输入:你描述要禁止或鼓励的行为,它基于 ESLint 的 RuleTester API 与 AST Explorer 的模式,生成完整的规则模块,包括:
meta定义与 JSON Schema,声明可选项与报告消息;create函数,在对应 AST 节点上注册检查逻辑;- 可用的
fixer,为可自动修复的问题生成替换逻辑; - 一套覆盖面较全的
RuleTester测试用例。
输出是可以直接放进项目的独立模块,而不是一段需要人补全的提示词。
适用边界与注意点
- 生成结果依赖目标代码的 AST 结构,在宏或实验性语法下需要人工核对节点类型。
fixer会直接改写代码,合并前务必跑一遍测试,确认替换不破坏语义。- 环境要求来自上游 ESLint:Node.js 需为
^20.19.0、^22.13.0或>=24且带 SSL 支持;Pnpm 场景需配置node-linker=hoisted;若使用官方 TypeScript 类型定义,要求 TypeScript 5.3 或更高版本。 - 规则的语义最终由测试用例定义,生成的用例是起点,不是终点。
使用场景
- 团队代码库中频繁出现未使用的变量,需生成自定义规则检测并自动修复,同时提供测试用例
- 项目要求禁止特定API(如`console.log`),需快速生成规则并配置元数据Schema
- 多人协作时代码风格不统一(如缩进、命名),需生成规则覆盖团队规范并包含修复逻辑
- 需为现有代码库补充缺失的ESLint规则,要求包含完整的`meta`定义和测试用例
适合人员
- 前端开发工程师,需为团队定制ESLint规则以统一代码风格
- 项目负责人,需快速添加静态分析规则以拦截项目中的常见坏味道
- 开源贡献者,需为ESLint插件生成带测试的自定义规则以降低维护成本
- 全栈开发团队,需通过自定义规则确保前后端代码规范一致性