Agent Skills
返回列表
💻

ESLint 自定义规则生成代理

开发编程 更新于 2026.08.29

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

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

技能介绍

它解决什么问题

团队里总有一些约定散落在 README 或 Code Review 评论里:导出的常量必须带后缀、某些 API 不允许在业务代码里出现、文件命名要统一。把这些约定落地成 ESLint 规则,通常意味着手写 AST 遍历、补 RuleTester 用例、再处理 TypeScript 的类型收窄,成本高到多数人直接放弃,让约定停留在口头。

这个技能做的是:把一句自然语言描述变成可用的 ESLint 规则。你描述希望拦截什么样的代码,它基于 RuleTester API 与 AST 选择器生成规则实现与校验用例,并接入 typescript-eslint 解析器,让规则在 TypeScript 代码里也能读到类型信息。

核心能力与工作流程

  • 自然语言到规则:把「禁止在 import 中使用 require」这类描述,转成 RuleMetaData、create() 里的遍历逻辑与报错信息。
  • AST 选择器定位目标:用选择器精确描述要匹配的语法节点,而不是靠猜一条遍历路径。
  • RuleTester 校验:生成的规则自带最小测试用例,保证该报错的报错、该放过的放过。
  • TypeScript 感知:借助 typescript-eslint parser 获取类型信息,覆盖重载、条件类型这类纯 JS 解析器看不清的场景。

大致流程:描述规则 → 解析出目标 AST 节点与触发条件 → 生成规则代码与 RuleTester 用例 → 本地跑一遍验证。

适用边界与注意点

  • 生成结果仍是规则骨架:语义判断(例如「这个默认参数不安全」)需要你自己补逻辑,工具提供结构与测试脚手架。
  • Node.js 版本要求较新:^20.19.0、^22.13.0 或 >=24,且构建时需要 SSL 支持。
  • 若要使用 ESLint 的 TypeScript 类型定义,需要 TypeScript 5.3+。
  • 上游文档摘自 ESLint 官方 README,规则 API 以实际安装的 ESLint 版本为准。

使用场景

  • 给代码库补充团队约定规则:希望禁止 import 里出现 require,并生成 RuleTester 用例来验证。
  • 项目从 JavaScript 迁到 TypeScript,需要基于 typescript-eslint 解析器生成能识别类型信息的规则。
  • 针对某个 API 调用路径写拦截规则,用 AST 选择器精确定位语法节点,避免误伤无关代码。
  • 想把评审里反复出现的规范问题固化成规则骨架,先拿到可跑的实现与测试再自行补语义判断。

适合人员

  • 维护自研脚手架的前后端工程师:需要在模板仓库里新增 ESLint 规则并附带 RuleTester 用例。
  • 负责 TypeScript 迁移的技术负责人:希望检查规则能感知类型信息,覆盖重载与条件类型场景。
  • 补齐 CI 检查项的 DevOps 工程师:打算把命名与导入约定固化为规则,在流水线里自动校验。
  • 给开源库写贡献的提交者:需要按维护者要求新增一条自定义规则并附上最小测试用例。