Skip to main content

agentsync

One source of truth for your AI-agent instructions. Stop hand-syncing CLAUDE.md, AGENTS.md, Cursor rules, and Copilot instructions — and fail CI when they drift.

Every coding agent wants its own file: CLAUDE.md, AGENTS.md, .cursor/rules/*.mdc, .github/copilot-instructions.md. Teams keep duplicate copies that silently diverge — the most-requested gap in the ecosystem. agentsync generates them all from one source and gives you a CI check that fails the build the moment they fall out of sync.

pipx install mujin-agentsync     # command: agentsync

agentsync sync     # AGENTS.md -> CLAUDE.md (zero config), or per .agentsync.json
agentsync check    # exit 1 if any generated file has drifted (drop into CI)

Zero config

If you have an AGENTS.md (or CLAUDE.md), agentsync sync mirrors it to the other one. That's the whole "Claude Code won't read my AGENTS.md" problem solved in one command.

Find what you already have — discover

Not sure which agent-config files are scattered around your repo? Let agentsync find them:

agentsync discover            # scan the project tree
agentsync discover --global   # also check ~/.claude, ~/.codex, …
found 5 agent-config file(s):
  AGENTS.md                          AGENTS.md standard (Codex, Gemini, Cursor, Zed, …)
  CLAUDE.md                          Claude Code
  .cursor/rules/main.mdc             Cursor
  .github/copilot-instructions.md    GitHub Copilot
  packages/api/CLAUDE.md             Claude Code

It recognizes CLAUDE.md, AGENTS.md, GEMINI.md, Cursor .mdc rules, Copilot instructions, and legacy .cursorrules/.clinerules/.windsurfrules — and skips node_modules, .git, etc. (Pattern-based on your project tree, not a full-disk crawl.)

Choose your source of truth

You decide which file is canonical. Precedence: --source flag › source in .agentsync.json › auto (first of AGENTS.md, CLAUDE.md).

agentsync sync --source CLAUDE.md     # make CLAUDE.md the source, generate the rest

More targets — .agentsync.json

{
  "source": "AGENTS.md",
  "targets": [
    { "path": "CLAUDE.md", "format": "markdown" },
    { "path": ".github/copilot-instructions.md", "format": "markdown" },
    { "path": ".cursor/rules/agents.mdc", "format": "cursor" }
  ]
}

agentsync init writes a starter config. cursor targets get the right .mdc frontmatter (alwaysApply: true); markdown targets are mirrored with a "generated — don't edit" header.

CI drift gate

# .github/workflows/agent-config.yml
jobs:
  agentsync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with: { python-version: "3.11" }
      - run: pipx install mujin-agentsync
      - run: agentsync check     # fails the build if a generated file was hand-edited

Now nobody can quietly edit CLAUDE.md and let AGENTS.md rot — the source stays canonical.

Why this design

  • Deterministic. Targets are reproducible from the source, so check is exact — no guessing, no LLM, no network. Zero dependencies (Python ≥3.9).
  • Source-first. You pick the one file you actually maintain; everything else is generated.
  • Local and offline — it reads and writes files, nothing else.

Next to this

Once your agent config is consistent, audit it for security & quality with agentaudit (pipx install mujin-agentaudit) — it flags curl|bash, secret access, prompt injection, and more in skills / MCP servers / plugins.


Built by Mujin Labs — tooling for the autonomous-agent era. MIT.

Release files for mujin-agentsync 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mujin-agentsync 0.2.0
File Size Uploaded
mujin_agentsync-0.2.0.tar.gz 8.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mujin-agentsync 0.2.0
File Interpreter ABI Platform
mujin_agentsync-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.6 kB

Release files / mujin_agentsync-0.2.0.tar.gz

Download URL mujin_agentsync-0.2.0.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
92b70bae10d2701e4e0b54fa27f0c5173e7e04fbb34d340ddc6d79d5d89d4dc8
BLAKE2b-256 checksum
How to use checksums
86d0ec3be450e8a6dc85730fe3c18fc30d59a0011c845cb5e640f5be931edeb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release files / mujin_agentsync-0.2.0-py3-none-any.whl

Download URL mujin_agentsync-0.2.0-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ebde98242fbf59184a01327aad1d68bd67ae70a9d70bf03156db50bcc6dfe30
BLAKE2b-256 checksum
How to use checksums
791fbac90ddb34c8aced87cb1f88edc097720edc006e1823609c3a72cc1a9390
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.3

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page