agentsmesh
sampleXbro · sampleXbro/agentsmesh
Synchronizes configurations, rules, skills, and MCP servers across various AI coding tools and enables agents to learn from past mistakes.
One config for every AI coding tool, plus lessons so your agents learn from their mistakes. Sync rules, skills, MCP servers and hooks to Claude Code, Cursor, Copilot, Codex and more.
Preview
What you can do with it
- Maintain consistent behavior and rules across Claude Code, Cursor, Copilot, and other AI agents.
- Prevent configuration drift by using a single source of truth for all agent settings.
- Enable AI agents to learn from previous errors and improve their performance over time.
Safety check
Usable, but read the notes first.
- ●Installer downloads a remote script and pipes it to the shell.
scripts/install.sh
Automated scan of the repo files. Always review code you run.
From the README
AgentsMesh
One config for every AI coding tool, with a shared memory that learns from your repo.
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. No other config-sync tool has this.
[!NOTE] Full documentation, guides, and the per-tool reference: samplexbro.github.io/agentsmesh
Install
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 npx
Binaries with SHA-256 checksums are on GitHub Releases.
60-second quickstart
agentsmesh init # detect the tools you use, import their configs, or scaffold fresh
agentsmesh generate # write each tool's native config from the one source
agentsmesh check # CI drift gate against .agentsmesh/.lock
On 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 (in a script, init without --yes stops when it finds existing tool config, so generate never replaces config you have not imported), --global for your user-level config under ~/.agentsmesh/, and npx agentsmesh if you installed it as a dev dependency.
init enables the tools you actually use, not all of them: whatever this project already has config for, else whatever is installed on your machine, else a minimal set of Claude Code, Cursor and Copilot. It prints what it picked. Pass --targets a,b to choose, or --all-targets for everything.
[!TIP] Commit both
.agentsmesh/and the generated tool files, like a lockfile: the tools read the generated files directly, andagentsmesh checkkeeps the two from drifting.
Before / After
# 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.
Teach your agents: lessons
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. A git merge driver, set up by init --lessons and then by generate in every clone, combines lessons captured on two branches; agentsmesh lessons resolve repairs a conflict that slips through.
Full walkthrough: Teach your AI agents with lessons · agentsmesh lessons reference