用途:校验项目指令文件中的每条规则是否具备正确的执行分类,并修复缺失的分类。
主要能力:
- 检测格式。若存在 CLAUDE.md.spec.ts 或任意 *.spec.ts 文件,则为 v2(spec-based),规则须使用 enforce()、check() 或 guidance();若存在 CLAUDE.md、AGENTS.md、.cursorrules 且无 spec 文件,则为 v1(手写),规则需要 Enforced by: 或 Guidance only 标注。
- 校验。v2 中 TypeScript 类型系统已能阻止未标注规则,重点检查 enforce() 是否引用真实 linter 规则、guidance 规则是否可改为 enforce()、check() 断言是否可委托给 linter。相关命令:npx vigiles compile、npx vigiles discover。v1 中扫描 ### 标题,每条须带 Enforced by: \linter/rule-name``、Guidance only — reason 或 <!-- vigiles-disable -->,缺失项以汇总表报告。
- 修复。对每处问题检查 linter 配置,建议 enforce("linter/rule")(v2)或 Enforced by: \linter/rule``(v1);若无对应 linter 规则则建议 guidance()(v2)或 Guidance only(v1)。修改前需询问用户。
- 迁移建议。v1 项目可迁移到 v2 spec 以获得类型安全,使用 adopt-spec 技能将 CLAUDE.md 转为类型化 .spec.ts 文件。
- 验证。v2 运行 npx vigiles compile && npx vigiles check,v1 运行 npx vigiles check,并报告校验结果。
适用场景:维护 Vigiles 规则文件的项目的规则治理与格式规范化。
限制:依赖 vigiles CLI 与项目现有 linter 配置;v2 的强制校验主要依赖 TypeScript 类型系统;修改前需用户确认。具体支持的 linter、版本要求等暂未提供。