Skip to main content

Centralize global AI agent instructions into one AGENTS.md file.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agents_md_sync-1.0.1.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agents_md_sync-1.0.1-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file agents_md_sync-1.0.1.tar.gz.

File metadata

  • Download URL: agents_md_sync-1.0.1.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agents_md_sync-1.0.1.tar.gz
Algorithm Hash digest
SHA256 87b4cec8889022427c445133a444703fd7bbe674163dc98ca5fe368cf6b613bb
MD5 12c0192242fc417065550a1235964ca6
BLAKE2b-256 aa5e79d41d8e2abac4d1906353bb7270130d0d71ad6732708e8062f498683465

See more details on using hashes here.

Provenance

The following attestation bundles were made for agents_md_sync-1.0.1.tar.gz:

Publisher: release.yml on leynier/agents-md-sync

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agents_md_sync-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: agents_md_sync-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agents_md_sync-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 21c4eb22209c0ced9e90227d38e0990317e3125986c9852724f0e74d03ae994d
MD5 be3d878f5da15340c45f8685ea026606
BLAKE2b-256 08878071e9eb5c65cdaacf96267f487a255f8572ec7e207079ea30f75632a770

See more details on using hashes here.

Provenance

The following attestation bundles were made for agents_md_sync-1.0.1-py3-none-any.whl:

Publisher: release.yml on leynier/agents-md-sync

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page