SuperAPI AI 工具集

generate-rule

编程与开发

查看项目

更新于 10-16 05:45

技能介绍

用途:向仓库中已有的 CLAUDE.md.spec.ts 规格文件添加一条新规则,规则内容由自然语言描述给出,例如“生产代码中不要用 console.log”“每个 controller 都要有测试文件”。

主要能力:先定位仓库根目录的 CLAUDE.md.spec.ts;若不存在,则检查是否有手写的 CLAUDE.md,并建议先运行 migrate-to-spec 技能;若两者都没有,建议运行 npx vigiles init 生成。随后根据描述把规则分类为 enforce()(可由 linter 规则支撑,需检查 ESLint、Ruff、Clippy、Pylint、RuboCop、Stylelint 等配置,也可查看 ast-grep、Dependency Cruiser、Steiger 等架构工具)、check()(文件系统结构约定,如 every("glob").has("pattern"),仅用于文件配对模式,不检查代码内容)或 guidance()(无法机械执行的约定、流程规则或迁移背景)。不确定是否存在对应 linter 规则时应询问用户而非猜测。

使用方式:规则 ID 用 kebab-case 从描述派生,写入规格的 rules 对象;若原规则按字母排序则保持排序,否则追加到末尾;按需补充 check、every 等 builder 的导入。最后运行 npm run build 与 npx vigiles compile 编译验证,若失败(如 linter 规则不存在)则报告错误并给出替代建议,同时展示更新后的规格与编译出的 CLAUDE.md 差异。

限制:仅处理规则生成与规格维护,不负责初始化项目或迁移手写文档;check() 不用于检查代码内容;无法机械执行的规则只能归为 guidance()。