Skip to main content

agents-md-sync banner

agents-md-sync centralizes global AI agent instructions in one canonical AGENTS.md file and installs symlinks or copies to the paths expected by common agent CLIs.

Supported agents

Agent Target path
Amp ~/.config/AGENTS.md
Codex CLI ~/.codex/AGENTS.md
OpenCode ~/.config/opencode/AGENTS.md
Gemini CLI ~/.gemini/GEMINI.md
GitHub Copilot CLI ~/.copilot/copilot-instructions.md
Claude Code ~/.claude/CLAUDE.md

Install

uvx agents-md-sync --help

For local development:

uv sync
uv run agents-md-sync --help

Quickstart

Create the canonical source from a specific file:

uvx agents-md-sync init --from ./my-instructions.md --yes

Or let agents-md-sync init scan existing agent instruction files and ask which one to use as the base:

uvx agents-md-sync init

Install the configured source to every enabled target:

uvx agents-md-sync install --yes

Use copies instead of symlinks:

uvx agents-md-sync install --mode copy --yes

Show current target state:

uvx agents-md-sync status

Git-backed source

You can keep your canonical AGENTS.md in a Git repository. During init, pass a repo URL directly:

uvx agents-md-sync init --repo git@github.com:user/agent-config.git --dest ~/.agent-config --yes

Or select one of your GitHub repositories interactively:

uvx agents-md-sync init --select-repo --yes

The interactive selector uses gh repo list and requires the GitHub CLI (gh) to be installed and authenticated. If gh is unavailable or cannot list repos, agents-md-sync falls back to asking for the repo URL manually.

When a repo is configured, agents-md-sync init clones it into --dest (default: ~/.agent-config) or runs git pull --ff-only if the destination already exists. If the repo does not contain AGENTS.md, agents-md-sync writes the initial source file there. The config is updated with:

[source]
path = "~/.agent-config/AGENTS.md"

[repo]
url = "git@github.com:user/agent-config.git"
dest = "~/.agent-config"

After editing the configured source:

uvx agents-md-sync edit
uvx agents-md-sync push -m "update team agent instructions"

agents-md-sync push commits and pushes changes to the configured repo. It only tracks AGENTS.md, runs git pull --rebase --autostash first, and prints No changes to push when there is nothing to publish. Use --dry-run to see the commands without changing the repo.

agents-md-sync sync remains pull-only. Use it to clone or update a repository containing AGENTS.md, save it in config, and reinstall targets:

uvx agents-md-sync sync --repo git@github.com:user/agent-config.git --dest ~/.agent-config --yes

After the first sync, this is enough:

uvx agents-md-sync sync --yes

Recommended Git-backed workflow:

uvx agents-md-sync init --select-repo
uvx agents-md-sync edit
uvx agents-md-sync push
uvx agents-md-sync sync --yes

Configuration

By default, config is stored at ~/.config/agents-md-sync/config.toml:

[source]
path = "~/.config/AGENTS.md"

[[targets]]
name = "my-agent"
path = "~/.my-agent/instructions.md"
enabled = true

Ad-hoc targets are also supported:

uvx agents-md-sync install --extra-target my-agent=~/.my-agent/instructions.md --only my-agent --yes

Development

This project uses uv, ruff, ty, pytest, and pytest-cov.

uv sync
uv run ruff check .
uv run ruff format --check .
uv run ty check
uv run pytest

uv run pytest enforces 100% coverage for agents_md_sync.

No pre-commit setup is required.

Release files for agents-md-sync 1.0.1

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

Source distribution (sdist)

Source distribution for agents-md-sync 1.0.1
File Size Uploaded
agents_md_sync-1.0.1.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agents-md-sync 1.0.1
File Interpreter ABI Platform
agents_md_sync-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 31.5 kB

Release files / agents_md_sync-1.0.1.tar.gz

Download URL agents_md_sync-1.0.1.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
87b4cec8889022427c445133a444703fd7bbe674163dc98ca5fe368cf6b613bb
BLAKE2b-256 checksum
How to use checksums
aa5e79d41d8e2abac4d1906353bb7270130d0d71ad6732708e8062f498683465
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 15, 2026.

Transparency log

Release files / agents_md_sync-1.0.1-py3-none-any.whl

Download URL agents_md_sync-1.0.1-py3-none-any.whl
Size 20.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
21c4eb22209c0ced9e90227d38e0990317e3125986c9852724f0e74d03ae994d
BLAKE2b-256 checksum
How to use checksums
08878071e9eb5c65cdaacf96267f487a255f8572ec7e207079ea30f75632a770
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

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