RuleMux
RuleMux
A single-binary CLI that compiles one canonical
AGENTS.mdinto every coding agent's native dialect —CLAUDE.md,.cursor/rules/*.mdc,.github/copilot-instructions.md,GEMINI.md,.windsurfrules— preserving each tool's frontmatter, and fails CI the moment any generated file drifts from the source.
Problem
AGENTS.md won the standard war — it ships in 60,000+ public repos and is read by Codex, Copilot, Cursor, Claude Code, Gemini, Aider, goose, and more — but every tool still reads a different file, and the standard itself says nothing about keeping them in sync. A serious multi-agent repo ends up with five near-identical instruction files plus the tool-specific features that plain AGENTS.md can't express at all: Cursor's glob-scoped .mdc rules, Copilot's path-specific applyTo blocks, Windsurf's character budget. The community's current best practice is ln -s AGENTS.md CLAUDE.md symlinks — which break on Windows, can't carry per-dialect frontmatter, and silently rot the moment one file is hand-edited.
Target user
Open-source maintainers and small engineering teams whose contributors each bring a different coding agent to the same repo, so the project must satisfy Claude Code, Cursor, Copilot, and Codex at once. JTBD: "Let me write our project conventions exactly once, render them into every agent's expected file with that tool's special frontmatter intact, and guarantee in CI that nobody can merge a PR where the rendered files have drifted from the source." Today they either copy-paste five files by hand or maintain symlinks that lose Cursor's globs and Copilot's applyTo scoping.
MVP scope
rulemux buildreads a canonicalAGENTS.md(plus optional.agents/partials) and renders each enabled target:CLAUDE.md,.cursor/rules/*.mdc,.github/copilot-instructions.md,GEMINI.md,.windsurfrules, AiderCONVENTIONS.md. Output is deterministic (stable section ordering) so the drift check never flaps.- Dialect adapters carry each tool's quirks: Cursor
.mdcfrontmatter (description,globs,alwaysApply), CopilotapplyToglobs, Windsurf's ~6k-character budget (warn + auto-split into ordered files), Claude@pathimports flattened or preserved per config. - Section-level targeting: tag a block
only: [cursor, copilot]orexclude: [windsurf]in the canonical file so dialects can diverge intentionally without forking the whole document. rulemux check(CI mode): regenerate in memory, diff against the committed files, exit non-zero on any drift, print a unified diff and a one-linerun rulemux buildhint. Ships as a ready-to-paste GitHub Action.rulemux initautodetects which agent files already exist, merges them into a starterAGENTS.md, and flags conflicting instructions for human resolution instead of silently picking one.- Distributed as a single static Go binary plus
npx rulemux, zero runtime deps, so it runs as the first step of a hardened CI image with no Node or Python required.
Monetization
Freemium. Core CLI is MIT-licensed and free forever — that is what earns the GitHub stars and the contributor trust. RuleMux Cloud is a GitHub App ($6/repo/month, $49/month org flat for ≤25 repos): it runs check as a required status check, auto-opens a "regenerate dialect files" PR whenever AGENTS.md changes, tracks a versioned dialect-spec table so adapters stay current when Cursor or Copilot shift their frontmatter, and surfaces an org dashboard of which repos are in/out of sync. A hosted starter-pack registry (curated rule sets per stack) seeds adoption and funnels teams to the paid app.
Why now
AGENTS.md was proposed by OpenAI in August 2025, donated to the Linux Foundation's Agentic AI Foundation in December 2025 alongside MCP, and by May 2026 is native in every major agent and live in 60,000+ repos — yet the standard's own site offers no sync strategy, and a May 27, 2026 cross-tool-portability writeup shows developers still wiring this by hand with symlinks and per-tool settings.json mappings. The standard solved one root file; it did not solve nested per-package instructions, tool-specific frontmatter, or drift — which is exactly the gap a small compiler-plus-CI-gate fills, and exactly the layer no agent vendor is incentivized to own.
Risks & open questions
- Demand-side: many maintainers will shrug and keep a single
AGENTS.mdplus symlinks; the wedge has to be the CI drift gate (the one thing symlinks structurally cannot do), not the translation alone. - Convergence risk: if every tool eventually reads
AGENTS.mdnatively with shared frontmatter, the translation value evaporates — durable value then lives in section targeting, nested files, and the drift check, so the product must lead with those. - Build-side: Cursor
.mdcand CopilotapplyTospecs change without notice; the adapter table is the real maintenance burden and the thing the Cloud tier actually sells. - Charging is hard — a free GitHub Action running
rulemux checkdoes 80% of the Cloud app's job, so the paid tier must justify itself on auto-PRs, the spec mirror, and the org dashboard. - Platform risk: GitHub already nudges
AGENTS.mdin Copilot; a first-party "sync my agent files" feature would commoditize the core overnight.
Next step
Promote to the weekly prototype slot — ship build + check for AGENTS.md → {CLAUDE.md, .cursor/rules/*.mdc, .github/copilot-instructions.md} with the GitHub Action, and dogfood it on this very repo (which already carries a CLAUDE.md). Validate by converting five real multi-agent OSS repos and counting how many have already silently drifted across their instruction files.
Sources
- https://agents.md/ — the standard's own site: 60,000+ repos, the full supported-tool roster (Codex, Copilot, Cursor, Zed, Windsurf, Aider, goose, Jules, Devin, RooCode), and the conspicuous absence of any cross-file sync story.
- https://codex.danielvaughan.com/2026/05/27/agent-instruction-files-agents-md-claude-md-cross-tool-portability-codex-cli/ — May 27, 2026 writeup enumerating the divergent per-tool files and the symlink /
settings.jsonworkarounds, and stating Cursor glob-scoped.mdcand Copilot path-specific rules "cannot be expressed inAGENTS.md." - https://www.infoq.com/news/2025/08/agents-md/ — August 2025 origin of the standard via OpenAI, Google, Cursor, Factory, and Sourcegraph, establishing the vendor-neutral baseline RuleMux compiles from.
- https://self.md/guides/agent-config-files-compared/ — side-by-side of where each tool expects its instructions to live, the reference RuleMux's dialect adapters target.