关于 rule-writing
rule-writing 是依据研究契约实现 lint 规则的开发 Skill。它涵盖检测器设计、对抗性测试、规则注册与验证,并要求对不确定情况保持谨慎。
主要功能
- 01规划检测条件与适用边界
- 02添加有效与无效情况的对抗测试
- 03按契约实现受支持行为
- 04更新生成的规则注册信息
- 05运行专项测试与包检查
适用场景
- 01依据研究契约实现规则
- 02为边界情况与误报添加测试
- 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、相邻规则、实用工具和测试。
实现并测试
- 编写检测器伪代码。
- 添加对抗性的有效和无效测试。
- 仅实现契约支持的行为。
- 优先复用实用工具,再创建新工具。
- 使用仓库命令更新生成的注册信息。
- 运行针对性测试和程序包检查。
- 如果真实代码反馈可能暴露误报,请使用
rde-eval。 - 将完成的更改交给
rule-validate。
注意:
- 导入别名和被遮蔽的绑定
- 不会立即执行的嵌套函数
- 透明的 JavaScript 和 TypeScript 包装器
- 动态计算属性
- 导入的或无法解析的值
- 框架的绕过机制
- 诊断结论所需的控制流路径
- 评审或评估中发现的回归
对不确定的情况保持静默。诊断消息应与检测器能够证明的条件相匹配。
运行仓库检查
使用 @antfu/ni 命令:
nr test
nr lint
nr typecheck
nr format
nr smoke:json-report
迭代时使用针对性命令。记录运行过的每条命令。
报告实现情况
报告已修改的规则、测试和注册信息,复用或新增的实用工具,报告的行为、明确不支持的目标,以及验证结果。最后以交接给 rule-validate 结束。
评论
支持 Markdown