Every AI coding assistant reads its own config: CLAUDE.md, AGENTS.md, .cursor/rules/*.mdc, .github/copilot-instructions.md, .gemini/settings.json, and more. Keeping rules, prompts, MCP servers, hooks, and permissions the same across Claude Code, Cursor, GitHub Copilot, Gemini CLI, Codex CLI, and the rest by hand does not scale, and the copies drift.
AgentsMesh makes .agentsmesh/ the one source. Write rules, commands, agents, skills, MCP servers, hooks, ignore patterns, and permissions once. agentsmesh generate writes every tool's native files, agentsmesh import pulls existing configs back in without loss, and agentsmesh check fails CI when anything drifts.
Your agents learn from your repo. Lessons give every agent, in every tool, one git-tracked memory: capture a rule after a failure, recall it before the next edit. Same mistake, never twice.
Note
Full documentation, guides, and the per-tool reference: samplexbro.github.io/agentsmesh
Every method ships the same CLI (agentsmesh, alias amsh). The npm package also exposes the TypeScript API.
# Homebrew (macOS / Linux), no Node.js required
brew install samplexbro/agentsmesh/agentsmesh
# Standalone binary (Linux / macOS), no Node.js required
# Windows: download agentsmesh-windows-x64.exe from GitHub Releases
curl -fsSL https://github.com/sampleXbro/agentsmesh/releases/latest/download/install.sh | sh
# npm / pnpm / yarn, requires Node.js 20+
npm install -g agentsmesh # or: pnpm add -g agentsmesh / yarn global add agentsmesh
npm install -D agentsmesh # pin per repo as a dev dependency, then run with npxBinaries with SHA-256 checksums are on GitHub Releases.
agentsmesh init # detect and import existing tool configs, or scaffold fresh
agentsmesh generate # write each tool's native config from the one source
agentsmesh check # CI drift gate against .agentsmesh/.lockOn a terminal, init runs a short wizard: pick targets, import detected configs (.cursor/, .claude/, .github/copilot-instructions.md, and more), enable lessons, and optionally generate right away. Nothing is written until you finish. Use --yes for the non-interactive default, --global for your user-level config under ~/.agentsmesh/, and npx agentsmesh if you installed it as a dev dependency.
Tip
Commit both .agentsmesh/ and the generated tool files, like a lockfile: the tools read the generated files directly, and agentsmesh check keeps the two from drifting.
# Before: one copy of the same intent per tool
CLAUDE.md
AGENTS.md
.cursor/rules/*.mdc
.github/copilot-instructions.md
.gemini/settings.json
.windsurf/rules/*.md
.codex/config.toml
.kiro/steering/*.md
# After: one canonical source, generated everywhere
.agentsmesh/
rules/_root.md # the root rule every tool projects
commands/ # reusable slash-style prompts
agents/ # agent definitions
skills/ # composable skills with supporting files
mcp.json # MCP server definitions
hooks.yaml # pre/post tool hooks
permissions.yaml # allow/deny rules
ignore # paths the assistant must not touch
lessons/ # optional shared agent memory
agentsmesh.yaml selects targets and features, agentsmesh.local.yaml holds per-developer overrides (gitignored), and .agentsmesh/.lock records the checksums that check enforces. Cross-file links are rewritten to each tool's own paths on the way out.
No other config-sync tool has this. Lessons are a memory of past mistakes that every agent reads before it acts and writes after something goes wrong, so a lesson one agent learns today helps every teammate's agent tomorrow, in any tool.
The memory is one git-tracked file, .agentsmesh/lessons/lessons.json, driven by two commands:
# After a failure, the agent writes the rule down with a trigger:
agentsmesh lessons add "Normalize CLI display paths to forward slashes" \
--topic windows-paths --trigger-file "src/cli/**/*.ts"
# Before the next edit, any agent in any tool recalls it:
agentsmesh lessons query --file src/cli/output.ts --session auto
# -> "Normalize CLI display paths to forward slashes"agentsmesh init --lessons wires the loop once: an always-on rule in _root.md, a lessons skill where supported, recall and capture hooks on hook-capable tools, and matching MCP tools (lessons_query, lessons_add) for agents without shell access. Rules can be scoped by file, command, or keyword, or always-on with --scope always.
Full walkthrough: Teach your AI agents with lessons · agentsmesh lessons reference
Most sync tools stop at copying rule files into each assistant's folder. AgentsMesh also round-trips losslessly, rebases cross-tool links, lints before a tool would silently drop content, and lets anyone add a new tool as a plugin.
| Capability | AgentsMesh | Ruler | rulesync |
|---|---|---|---|
| Generate native config for many tools | ✅ | ✅ | ✅ |
| Import existing tool config back to source | ✅ | — | ✅ |
| Lossless round-trip (re-import restores originals) | ✅ | — | partial |
| Convert one tool's config directly to another | ✅ | — | ✅ |
| Automatic cross-tool link rebasing | ✅ | — | — |
| Lessons: a shared agent memory that learns | ✅ | — | — |
| Plugins: add a target without a release | ✅ | — | — |
| Cross-target lint (warn before silent data loss) | ✅ | — | — |
| CI drift gate + git-merge recovery | ✅ | partial | partial |
| Self-serve MCP server (agent-operable config) | ✅ | — | — |
--json output + typed programmatic API |
✅ | — | partial |
Reflects the public projects as of June 2026. Sources and detail in the alternatives guide; corrections welcome.
Built to be depended on: 12,000+ tests on Linux, macOS, and Windows CI, JSON-Schema-validated configs, npm releases with provenance, and a per-file coverage floor in the test gate.
- Lossless two-way sync. When a tool has no native slot for a feature, it is embedded with round-trip metadata instead of dropped. Managed embedding
- Automatic link rebasing.
.agentsmesh/skills/api-gen/template.hbsbecomes.claude/skills/...or.cursor/skills/...in each generated file. Generation pipeline - Safe adoption.
import, thendiff, thengenerate, thencheck; nothing is overwritten blind. Existing-project guide - Migrate between tools.
convert --from <a> --to <b>rewrites one tool's config directly into another's. convert - Global mode.
~/.agentsmesh/syncs personal config to~/.claude/,~/.cursor/,~/.codex/, and more; config commands accept--global. Global paths - CI-ready.
checkgates drift,diffpreviews,mergerebuilds the lock after a Git conflict, andlintwarns about content a tool would mishandle. check · lint - Community packs and
extends. Install rules, skills, agents, and commands from any git repo; hooks, permissions, and MCP from remote sources stay off until you opt in. install - Plugins. Ship a new tool as an npm package with full parity to built-in targets. Build a plugin
- Schema-validated configs. Every config ships a JSON Schema for editor autocomplete. JSON schemas
- Scriptable. A typed API for
generate,import,lint,diff, andcheck,--jsonenvelopes on every command exceptwatch, and an MCP server so agents can operate the config themselves. API · MCP server
| Command | What it does |
|---|---|
init |
Scaffold .agentsmesh/ and config (interactive wizard on a TTY) |
generate |
Write native config for every enabled tool |
check |
Fail when generated files drift from .agentsmesh/.lock (CI gate) |
diff |
Preview what the next generate would change |
import |
Pull an existing tool's config into .agentsmesh/ |
convert |
Convert one tool's config directly into another's |
lint |
Validate canonical config against target constraints |
watch |
Regenerate target files on save |
merge |
Rebuild .agentsmesh/.lock after a Git merge conflict |
matrix |
Print the feature and target support matrix |
install · uninstall · installs |
Add, remove, and list community packs |
refresh |
Re-fetch installed packs from their sources |
plugin |
Add, list, or remove plugin-provided targets |
target |
Scaffold a new target's source skeleton (for contributors) |
lessons |
Query and capture agent memory |
mcp |
Start the AgentsMesh MCP server (stdio) |
Run agentsmesh <command> --help for flags, or see the CLI reference.
AgentsMesh generates native config for every major AI coding assistant, plus plugin targets. Native, embedded, and partial support per feature is tracked in the supported-tools matrix.
- CLI agents: Aider, Amp, Claude Code, Codebuff, Codex CLI, Crush, Deep Agents CLI, Gemini CLI, Goose, Kimi Code CLI, OpenCode, OpenHands, Pi Agent, Qwen Code, Rovo Dev, Warp.
- IDE integrations: Amazon Q Developer, Antigravity, Augment Code, Cline, Continue, GitHub Copilot, Cursor, Junie, Kilo Code, Kiro, Roo Code, Trae, Windsurf, Zed.
- Cloud agent platforms: Factory Droid, Jules, Replit Agent.
| Feature | Aider | Amazon Q Developer | Amp | Antigravity | Augment Code | Claude Code | Cline | Codebuff | Codex CLI | Continue | GitHub Copilot | Crush | Cursor | Deep Agents CLI | Factory Droid | Gemini CLI | Goose | Jules | Junie | Kilo Code | Kimi Code CLI | Kiro | OpenCode | OpenHands | Pi Agent | Qwen Code | Replit Agent | Roo Code | Rovo Dev | Trae | Warp | Windsurf | Zed |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Rules | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native |
| Additional Rules | Embedded | Native | Embedded | Native | Native | Native | Native | Native | Native | Native | Native | Embedded | Native | Embedded | Embedded | Embedded | Embedded | Embedded | Native | Native | Embedded | Native | Native | Native | Embedded | Native | Embedded | Native | Embedded | Native | Embedded | Native | Embedded |
| Commands | — | Native | Embedded | Native (workflows) | Native | Native | Native (workflows) | Embedded | Embedded | Native | Native | Embedded | Native | Embedded | Native | Native | Embedded | Partial | Native | Native | Embedded | Embedded | Native | Native | Native | Native | Embedded | Native | Native | Native | Embedded | Native (workflows) | Embedded |
| Agents | — | Native | Embedded | Native | Native | Native | Native | Partial | Native | Native | Native | — | Native | Native | Native | Native | Embedded | — | Native | Native | Native | Native | Native | Native | — | Native | Embedded | Native | Embedded | Native | — | Embedded | — |
| Skills | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native |
| MCP Servers | Partial | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Partial | Native | Native | Native | Native | Native | Native | — | Native | Partial | Native | Partial | Native | Native | Partial | Native |
| Hooks | Native | Embedded | Partial | Native | Native | Native | Native | Partial | Native | Native | Native | Native | Native | — | Native | Native | Native | Partial | Partial | Partial | Partial | Native | Partial | Native | Partial | Native | Partial | — | — | Native | Partial | Native | — |
| Ignore | Native | Embedded | Partial | Native | Native | Native | Native | Native | — | Native | — | Native | Native | Partial | Partial | Native (settings-embedded) | Native | Partial | Native | Native | — | Native | Embedded | — | Partial | Native | Partial | Native | Partial | Native | Native | Native | Embedded |
| Permissions | Partial | Embedded | Partial | Partial | Native | Native | Partial | Partial | Native | — | — | Native | Native | Partial | Native | Partial | Partial | Partial | Partial | Native | Partial | Embedded | Native | Partial | Native | Native | Partial | Native | — | — | Partial | Partial | — |
| Feature | Aider | Amazon Q Developer | Amp | Antigravity | Augment Code | Claude Code | Cline | Codebuff | Codex CLI | Continue | GitHub Copilot | Crush | Cursor | Deep Agents CLI | Factory Droid | Gemini CLI | Goose | Jules | Junie | Kilo Code | Kimi Code CLI | Kiro | OpenCode | OpenHands | Pi Agent | Qwen Code | Replit Agent | Roo Code | Rovo Dev | Trae | Warp | Windsurf | Zed |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Rules | Native | Embedded | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native |
| Additional Rules | Embedded | Embedded | Embedded | Embedded | Native | Native | Native | Embedded | Embedded | Native | Embedded | Embedded | Native | Embedded | Embedded | Embedded | Embedded | — | Embedded | Native | Embedded | Native | Native | Native | Embedded | Native | — | Native | Embedded | Native | Embedded | Embedded | Embedded |
| Commands | — | Native | Embedded | Native (workflows) | Native | Native | Native (workflows) | Embedded | Embedded | Native | — | Embedded | Native | Embedded | Native | Native | Embedded | — | Native | Native | Embedded | Embedded | Native | Native | Native | Native | — | Native | Native | Native | Embedded | Native (workflows) | Embedded |
| Agents | — | Native | Embedded | Native | Native | Native | — | Partial | Native | Native | Native | — | Native | Native | Native | Native | Embedded | — | Native | Native | Native | Native | Native | Native | — | Native | — | Partial | Embedded | Native | — | Embedded | — |
| Skills | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native |
| MCP Servers | Partial | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | — | Native | Native | Native | Native | Native | Native | — | Native | — | Partial | Native | Native | Native | Native | Native |
| Hooks | Native | Embedded | Partial | Native | Native | Native | Native | Partial | Native | Native | Native | Native | Native | Native | Native | Native | Native | — | Embedded | Partial | Native | Partial | Partial | Native | Partial | Native | — | — | Native | Native | Partial | Native | — |
| Ignore | Native | Embedded | Partial | — | — | Native | — | — | — | Native | — | Native | Native | Partial | Partial | — | Native | — | — | — | — | Native | Embedded | — | Partial | — | — | — | Partial | — | Partial | Native | Embedded |
| Permissions | Partial | Embedded | Partial | Native | Native | Native | Partial | Partial | Native | Native | Partial | Native | Native | Embedded | Native | Native | Native | — | Native | Native | Native | Native | Native | Partial | Native | Native | — | Partial | Native | Partial | Native | Partial | Native |
- Getting started: install and first run
- Canonical config: rules, commands, agents, skills, MCP, hooks, ignore, permissions
- CLI reference: every command and flag
- Guides: adopting in an existing repo, lessons, sharing config, plugins
- Reference: supported tools, generation pipeline, managed embedding, API
Contributions welcome: edit canonical .agentsmesh/ sources, never the generated files. See CONTRIBUTING.md. Released under the MIT license.


