Rulesync
从统一的 AI 规则文件自动生成各类 AI 编码工具的配置文件,一次维护、全工具同步。
- Star 数
- ★ 1.6k
- 最近更新
- 今天
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 69/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 团队同时使用 Cursor 和 Claude Code,希望维护一份统一规则而不必手动同步多个配置文件。
- 不适合
- 只想用一个 AI 工具、不需要跨工具同步配置的开发者
- 需要图形界面、不愿使用命令行的人
- 依赖 Roo Code 或 Continue 后续新功能的团队
- 源码审查
- 69/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
Rulesync 是一个 Node.js CLI 工具,可从统一的规则源(.rulesync/ 目录)自动生成多种 AI 开发工具所需的配置文件。它支持规则、忽略文件、MCP、命令、子代理、技能、钩子和权限等特性的选择性生成,并具备完整的导入/导出能力。支持的 AI 编码工具包括 Claude Code、Cursor、GitHub Copilot、Codex CLI、Cline、Kilo Code、OpenCode、Kiro、JetBrains Junie 等数十种,同时兼容 AGENTS.md 和 AgentsSkills 等开放标准。除常规生成外,它还提供 rulesync convert 命令,可在不落盘 .rulesync/ 文件的情况下直接在不同工具间转换配置。项目采用 MIT 许可证发布,通过 npm、Homebrew tap 和单二进制安装脚本分发。
运行 rulesync init 创建目录结构、示例规则文件和配置文件;用 rulesync fetch 安装官方技能;用 rulesync generate --targets "*" --features "*" 从 .rulesync/ 源批量生成目标工具的配置(规则、MCP、命令、子代理、技能、钩子、权限等)。若已有配置,可用 rulesync import --targets claudecode/cursor/copilot 分别从 CLAUDE.md、.cursorrules、.github/copilot-instructions.md 导入到 .rulesync/**/*。还可用 rulesync convert --from cursor --to copilot,claudecode 一步完成工具间转换,不写入 .rulesync/ 文件。
- 团队同时使用 Cursor 和 Claude Code,希望维护一份统一规则而不必手动同步多个配置文件。
- 开发者从 Cursor 迁移到 GitHub Copilot,想用 convert 命令把 .cursorrules 直接转换成 Copilot 配置。
- 已有项目散落着 CLAUDE.md、copilot-instructions.md 等配置,想用 import 命令汇聚到统一的 .rulesync/ 源。
- 需要为多个 AI 工具统一配置 MCP 服务器、命令和技能,避免逐工具重复维护。
- 开源项目维护者希望以 AGENTS.md 等开放标准为主源,同时为各专有工具生成适配配置。
如何安装或部署这个 Agent?
通过 npm 全局安装:npm install -g rulesync。或在 macOS/Linux 上通过 Homebrew tap 安装(tap 位于仓库内,无 homebrew- 前缀,必须使用两参数形式):brew tap dyoshikawa/rulesync https://github.com/dyoshikawa/rulesync && brew install rulesync。也可用单二进制脚本安装:curl -fsSL https://github.com/dyoshikawa/rulesync/releases/latest/download/install.sh | bash。
如何使用这个 Agent?
首次使用:rulesync init 创建目录、示例规则和配置文件;推荐执行 rulesync fetch dyoshikawa/rulesync 安装官方技能;然后运行 rulesync generate --targets "*" --features "*" 生成全部配置。已有配置时:rulesync import --targets claudecode(从 CLAUDE.md)、--targets cursor(从 .cursorrules)、--targets copilot(从 .github/copilot-instructions.md)。工具间直转:rulesync convert --from cursor --to copilot,claudecode。
这个 Agent 有哪些优点和局限?
- 支持数十种 AI 编码工具(Cursor、Claude Code、Copilot、Codex CLI、Cline、Kiro 等),且按规则/忽略/MCP/命令/子代理/技能/钩子/权限逐特性标注支持矩阵,选型透明。
- 同时支持项目级和全局级生成模式,并兼容 AGENTS.md、AgentsSkills 等开放标准。
- 提供 import(反向汇聚)和 convert(工具间直转)双向能力,降低存量配置迁移成本。
- 分发渠道齐全:npm、Homebrew tap、单二进制安装脚本,均有文档站支持。
- 需要 Node.js 运行时(npm 安装路径),Homebrew 安装要求使用两参数 tap 形式,简写 brew install dyoshikawa/rulesync/rulesync 不生效。
- ignore 特性已被权限(permissions)特性取代,处于弃用状态,旧项目存在未来大版本迁移风险。
- 部分目标已弃用或有注意事项:Roo Code 已停止维护(需改用 zoocode),Kiro 拆分为 kiro-cli 和 kiro-ide,旧 kiro 目标仅为弃用别名。
- claudecode-plugin 和 antigravity-plugin 等插件打包目标被排除在 --targets "*" 之外,需要通过 --output-roots 显式指定。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Rulesync 当前 | 69 · 存在缺口 | 命令行工具免费 | ★ 1.6k | 今天 | TypeScript | Codex · Claude Code |
| Agent Toolkit | 74 · 存在缺口 | 命令行工具免费 | ★ 19 | 1 天前 | V | ChatGPT · Codex · Claude Code |
| Agentic Plugin Marketplace | 66 · 存在缺口 | Agent 插件 / 技能免费 + 模型费 | ★ 42k | 1 天前 | Python | Codex · Claude Code |
| Azure Agent Skills(微软官方 Azure 技能库) | 61 · 存在缺口 | Agent 插件 / 技能免费 | ★ 791 | 6 天前 | — | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示该工具默认只在本项目内读写配置文件(.rulesync/、各工具目录),插件目标被显式排除出 --targets "*",体现了最小权限意识(2);`prepare` 脚本在安装时自动运行 `pnpm generate` 会写入文件,README 未说明是否需确认(1,扣分点);数据流(导入/生成/转换路径)描述清晰(2);secretlint 在 CI 中运行(2);依赖均为固定精确版本,但无 lockfile 或审计证据展示(2);`curl | bash` 单二进制安装属于远程脚本执行,README 未提供校验和或签名(1,扣分点);无回滚/撤销生成的说明(1,扣分点);作者身份在 LICENSE/package. 中一致(2)。
README 与 package. 的工具/功能表由脚本生成并做 diff 校验(check:supported-tools),自洽性较好(2);依赖固定精确版本、engines 明确(2);但提供的文件中没有任何错误信息、退出码或失败处理的具体证据,仅 1 分。
面向多 AI 工具的规则统一场景,受众和场景定义非常清楚(3);能力边界通过支持矩阵和弃用说明界定(2);触发方式为显式 CLI 命令,init/import/generate/convert 职责区分明确(2);支持 npm/Homebrew/单二进制多渠道并说明平台差异(2)。
README 结构清晰,支持矩阵自动生成并与文档同步校验(3);安装说明覆盖三种渠道并指出 brew tap 的坑(3);命名稳定,弃用保持别名且行为不变(3);有 Quick Start 与外部文档链接但仓库内示例文件未提供(2);弃用与已知限制(ignore 弃用、Roo EOL、Kiro 拆分)说明非常详尽(3);LICENSE 完整 MIT(3);版本号与 SECURITY.md 版本表不一致(16.x vs 5.1.x/4.0.x),且无 CHANGELOG 文件在证据中(2,扣分点);维护者活跃迹象(GMO 资助徽章、自动化工作流)但无明确维护承诺文档(2)。
输出为各工具的标准配置文件,并有防覆盖插件目录等保护(2);边际价值明确:消除多工具规则重复维护(3);成本收益总体合理,但 prepare 钩子自动生成与远程脚本安装增加集成成本(2)。
支持矩阵由脚本生成并可 diff 校验,主张可追溯(2);README 徽章与 npm/GitHub 元数据可交叉印证,但静态审查无法执行验证(2);事实与推断基本分离,⚠️ 弃用标记明确(2)。
- README 推荐的 `curl -fsSL ... | bash` 远程脚本安装未提供校验和或签名,建议改用 npm/Homebrew 渠道或先审计 install.sh。
- SECURITY.md 仍是未填写的 GitHub 模板,版本支持表与实际版本(16.x)不符,安全报告渠道实际不可确认。
- `prepare` 钩子会在安装依赖时自动运行生成命令并写入文件,集成前请知悉。
- 证据中未见 CHANGELOG 与锁文件,依赖供应链状况需自行审计。
- 发布者为未验证身份,属未知而非可疑,请按普通开源项目尽职调查处理。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Breaking Changes - OpenCode: the opencode target now writes for OpenCode 2.x, and a new opencodev1 target keeps the previous OpenCode 1.x output. OpenCode 2.x restructured nearly every key Rulesync writes: permissions become the ordered permissions array, MCP servers move under mcp.servers, command subtask becomes subagent, subagent frontmatter is V2-only, and hooks are a { id, setup(ctx) } plugin. Projects still on OpenCode 1.x must switch to the opencodev1 target and rename their opencode sections and override keys to opencodev1. (#3614) …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed - feat(opencode): opt-in V2 mcp.servers output via the configShape option by @dyoshikawa in https://github.com/dyoshikawa/rulesync/pull/3604 - Set targets.opencode.mcp.configShape: "v2" to write OpenCode V2's mcp.servers.<name> shape (disabled, timeout objects, snake_case oauth) and keep a V2 file stable across import and generate. The default stays "v1", so existing output is unchanged. - feat(hooks): pass tool input to OpenCode preToolUse hooks and let them deny the call by @dyoshikawa in https://github.com/dyoshikawa/rulesync/pull/3605 …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed The MCP server (rulesync mcp) now covers the whole CLI (#3591). - feat(mcp): accept the remaining CLI options in generate, import and convert by @dyoshikawa in https://github.com/dyoshikawa/rulesync/pull/3595 - generate gains dryRun, check (returns upToDate and a plan instead of exiting), retireTargets, outputRoots, inputRoots, inputRoot and configPath; import accepts targets and outputRoot. …在 GitHub 查看 ↗