关于 enforce-rules-format
用于审查项目指令文件,并将每条规则归类为强制执行、检查或指导。支持类型化的 v2 规范与手写 v1 文件,修改前会征求确认。
主要功能
- 01识别 v1 与 v2 指令格式
- 02检查规则执行标注
- 03审查 Linter 映射与断言
- 04建议修复及迁移方案
- 05使用 vigiles 命令验证
适用场景
- 01审查 CLAUDE.md 或 AGENTS.md 规则
- 02检查 TypeScript 规则规范
- 03查找适合交由 Linter 执行的指导
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zernie/ vigiles --skill enforce-rules-format安装后在 Claude Code 中输入/enforce-rules-format确认已加载。
详细介绍
验证项目指令文件中的每条规则是否都具有适当的执行分类,并修复缺少分类的规则。
指令
步骤 1:检测格式
检查项目使用的格式:
v2(基于规范): 查找 CLAUDE.md.spec.ts 或任何 *.spec.ts 文件。如果找到,则这是 v2 项目,规则必须使用 enforce()、check() 或 guidance()。
v1(手动编写): 查找 CLAUDE.md、AGENTS.md、.cursorrules。如果找到了这些文件但没有规范文件,则这是 v1 项目,规则需要添加 **Enforced by:** 或 **Guidance only** 注释。
步骤 2:验证
对于 v2 规范:
TypeScript 类型系统已能阻止未注释的规则——创建规则时必须调用 enforce()、check() 或 guidance()。因此,请重点检查:
enforce()规则是否引用了真实的 linter 规则?运行npx vigiles compile进行检查。- 是否存在可以改为
enforce()的指导规则?检查 linter 配置中是否有匹配的规则。 - 是否存在可以交由 linter 执行的
check()断言?建议改用enforce()。
npx vigiles compile
npx vigiles discover
对于 v1 手动编写的文件:
扫描 ### 标题。每个标题都必须有以下注释之一:
**Enforced by:** \linter/rule-name``**Guidance only** — 原因- ``
使用汇总表报告缺少注释的情况。
步骤 3:修复问题
对于发现的每个问题:
- 检查项目的 linter 配置,查找匹配的规则。
- 建议使用
enforce("linter/rule")(v2)或**Enforced by:** \linter/rule``(v1)。 - 如果不存在 linter 规则,则建议使用
guidance()(v2)或**Guidance only**(v1)。 - 进行更改前,先询问用户。
步骤 4:建议迁移
如果项目使用 v1 格式,建议迁移到 v2 规范,以获得类型安全保障:
你的规则可以通过类型安全的规范获益。运行
adopt-spec技能,将你的 CLAUDE.md 转换为类型化的 .spec.ts 文件。
步骤 5:验证
运行相应的命令:
# v2
npx vigiles compile && npx vigiles check
# validate
npx vigiles check
报告验证结果。
评论
支持 Markdown