SuperAPI AI 工具集

ruler-rules-init

编程与开发

查看项目

更新于 10-30 16:21

技能介绍

用途

ruler-rules-init 用于把仓库迁移或引导为可复用的 Ruler 规则结构。它提供安全的审计/写入(audit/apply)工作流:先审计缺失文件与差异,再执行创建,并可通过重复执行确认幂等性。默认模板为英文,除显式使用 --force 外,不覆盖仓库中现有的项目特定内容。

主要能力

  • 基于预设的模板选择:支持 auto、base、nextjs、monorepo、node-lib。
  • 预设自动检测:存在 next.config.* 判定为 nextjs;存在 turbo.json 或 pnpm-workspace.yaml 判定为 monorepo;package.json 含 main 或 exports 且无 next.config.* 判定为 node-lib;无匹配信号时回退 base。
  • 预设选择优先级:显式 --preset 参数最高,其次为文件自动检测,最后回退 base。
  • 通用文件(ruler.toml、AGENTS.md、00-core-principles.md)始终取自 base 目录;预设只控制项目特定模板文件(10-project-context.md、20-dev-commands.md、30-coding-conventions.md)的内容。
  • 可选集成 skills:sync:claude(通过 --with-optional-sync 开启)。
  • 安全默认:文件存在差异时不覆盖,仅在需要有意替换模板时使用 --force。

使用方式

需先收集以下输入:目标仓库根路径、audit 或 apply 模式、模板预设(默认 auto)、是否包含可选 skills:sync:claude 集成、是否允许覆盖(--force)。

在该技能目录下执行命令:

# 审计(默认预设自动检测)
node ./scripts/bootstrap-ruler.mjs --target /path/to/repo --mode audit

# 使用自动检测的预设执行写入
node ./scripts/bootstrap-ruler.mjs --target /path/to/repo --mode apply

# 显式指定预设
node ./scripts/bootstrap-ruler.mjs --target /path/to/repo --mode apply --preset nextjs
node ./scripts/bootstrap-ruler.mjs --target /path/to/repo --mode apply --preset monorepo
node ./scripts/bootstrap-ruler.mjs --target /path/to/repo --mode apply --preset node-lib
node ./scripts/bootstrap-ruler.mjs --target /path/to/repo --mode apply --preset base

# 带可选同步与强制覆盖
node ./scripts/bootstrap-ruler.mjs --target /path/to/repo --mode apply --preset nextjs --with-optional-sync
node ./scripts/bootstrap-ruler.mjs --target /path/to/repo --mode apply --force

推荐工作流:先以 audit 模式运行,检查缺失文件、差异与需手动处理的动作;再以 apply 模式创建缺失文件与安全默认;重复执行 apply 以确认幂等性;最后在目标仓库运行 ruler:apply 生成根规则输出。

适用场景

  • 需要在单个或多个仓库中统一引导 Ruler 规则结构。
  • 项目类型明确(Next.js、Turborepo/pnpm 工作区、Node.js 库)或需通用 base 模板。
  • 需要在不破坏既有内容的条件下增量补齐规则文件。
  • 需要同时配置 Claude 技能同步(可选)。

验证与限制

写入后应核对:.ruler/ruler.toml 存在并定义 codex + claude 输出;所需 .ruler/*.md 模板存在;.gitignore 含 Ruler 生成文件块;package.json 含 ruler:apply;若使用 is-ci 风格守卫则已安装 is-ci(pnpm add -D is-ci);postinstall 遵循 CI 跳过建议或显式本地替代方案(保留既有安装命令时用 && (...) 串联);在目标仓库运行 ruler:apply 成功。

相关资源包括脚本 scripts/bootstrap-ruler.mjs,参考文档 references/migration-playbook.md、references/applyto-patterns.md,以及 assets/templates/base/.ruler/、assets/templates/presets/nextjs/.ruler/、assets/templates/presets/monorepo/.ruler/、assets/templates/presets/node-lib/.ruler/ 等模板目录。资料未说明支持的平台范围、是否收费及价格信息。