mcpField
R
rule-writing

rule-writing

github.com/millionco开发15.1k440 次安装2 周前更新
代码仓库

关于 rule-writing

rule-writing 是依据研究契约实现 lint 规则的开发 Skill。它涵盖检测器设计、对抗性测试、规则注册与验证,并要求对不确定情况保持谨慎。

主要功能

  1. 01规划检测条件与适用边界
  2. 02添加有效与无效情况的对抗测试
  3. 03按契约实现受支持行为
  4. 04更新生成的规则注册信息
  5. 05运行专项测试与包检查

适用场景

  1. 01依据研究契约实现规则
  2. 02为边界情况与误报添加测试
  3. 03交接前验证规则

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/millionco/react-doctor --skill rule-writing

安装后在 Claude Code 中输入/rule-writing确认已加载。

详细介绍

编写规则

实现 rule-research 契约。如果不存在,请在编辑前定义一份简明契约。

规划检测器

说明诊断条件、必需语法和绑定、不支持的情况,以及对抗性测试。如果用户已要求实现,请简短说明计划。

添加辅助函数前,先搜索是否有可复用的函数:

bunx @rayhanadev/truffler "<symbol-or-behavior>" \
  packages/oxlint-plugin-react-doctor/src/plugin \
  --kind function,interface,type,constant --limit 20

阅读 docs/HOW_TO_WRITE_A_RULE.md、相邻规则、实用工具和测试。

实现并测试

  1. 编写检测器伪代码。
  2. 添加对抗性的有效和无效测试。
  3. 仅实现契约支持的行为。
  4. 优先复用实用工具,再创建新工具。
  5. 使用仓库命令更新生成的注册信息。
  6. 运行针对性测试和程序包检查。
  7. 如果真实代码反馈可能暴露误报,请使用 rde-eval。
  8. 将完成的更改交给 rule-validate。

注意:

  • 导入别名和被遮蔽的绑定
  • 不会立即执行的嵌套函数
  • 透明的 JavaScript 和 TypeScript 包装器
  • 动态计算属性
  • 导入的或无法解析的值
  • 框架的绕过机制
  • 诊断结论所需的控制流路径
  • 评审或评估中发现的回归

对不确定的情况保持静默。诊断消息应与检测器能够证明的条件相匹配。

运行仓库检查

使用 @antfu/ni 命令:

nr test
nr lint
nr typecheck
nr format
nr smoke:json-report

迭代时使用针对性命令。记录运行过的每条命令。

报告实现情况

报告已修改的规则、测试和注册信息,复用或新增的实用工具,报告的行为、明确不支持的目标,以及验证结果。最后以交接给 rule-validate 结束。

评论

支持 Markdown