Coding & Development✨gemini🤖claude💬gpt⌨️cursor🌊windsurf🌐universal
post_sync: "npx prettier --write .tool/*/.mdc"
Write AI rules once → sync to Claude, Cursor, Copilot, Gemini and 10 more tools automatically
Quick Start
Install this Skill
npx skills add yelmuratoff/agent_sync<div align="center">
<img src="https://github.com/yelmuratoff/agent/blob/main/assets/agent_sync.png?raw=true" width="400">
<h3>One source → 13 AI tools. Stop copy-pasting rules.</h3>
<p>
<a href="https://github.com/yelmuratoff/agent">
<img src="https://img.shields.io/badge/shell-bash-4EAA25?style=for-the-badge&logo=gnu-bash&logoColor=white" alt="Built with Bash">
</a>
<a href="https://opensource.org/licenses/MIT">
<img src="https://img.shields.io/badge/license-mit-4EAA25?style=for-the-badge" alt="License">
</a>
<a href="https://github.com/yelmuratoff/agent">
<img src="https://img.shields.io/github/stars/yelmuratoff/agent?style=for-the-badge&logo=github&color=4EAA25" alt="GitHub stars">
</a>
</p>
</div>
## The problem
Every AI coding tool wants instructions in its own format and directory: `.claude/CLAUDE.md`, `.cursor/rules/*.mdc`, `.github/instructions/*.instructions.md`, `AGENTS.md`, `.windsurf/rules/`...
Use more than one tool — or work on a team where different people use different tools? You end up maintaining the same rules in 5+ formats. They drift. They go stale. You copy-paste forever.
## The solution
AgentSync syncs from a single source (`.ai/src/`) into **13 AI tools**: Claude Code, GitHub Copilot, Cursor, Gemini CLI, OpenAI Codex, Kimi Code, OpenCode, Windsurf, JetBrains Junie, Cline, Amazon Q, Zed, Google Antigravity.
Write once → `agentsync sync` → every tool gets instructions in its native format.
```
.ai/src/rules/testing.md
↓ agentsync sync
├── .claude/rules/testing.md # + @rules/testing.md import in CLAUDE.md
├── .cursor/rules/testing.mdc # + globs/alwaysApply frontmatter
├── .github/instructions/testing.instructions.md # + applyTo frontmatter
├── .windsurf/rules/testing.md # + trigger: always_on frontmatter
├── .amazonq/rules/testing.md
├── AGENTS.md # inlined rule reference (Codex, Gemini, Junie, Kimi, OpenCode)
└── .rules # merged into single file (Zed)
```
The frontmatter above is the always-on default. Give a rule `paths:` frontmatter (a list of globs) and AgentSync emits each tool's **scoped** trigger instead (`alwaysApply: false`, `applyTo: <globs>`, `trigger: glob`; Claude keeps `paths:`), so domain rules load only when matching files are touched — keeping the always-on context lean.
## Why not just...?
- **...symlink the files?** Tools demand different extensions (`.mdc`, `.instructions.md`), different frontmatter, different nesting. Symlinks can't transform content — AgentSync does.
- **...a shell script per tool?** You'd be writing the same copy / rename / header-injection logic 13 times. AgentSync is that script, declarative (YAML), already tested on macOS, Linux, and Windows (Git Bash).
- **...stick to the one tool I use today?** Teammates pick different ones. Your future self might too. A single source file future-proofs you.
- **Zero runtime dependencies.** Pure Bash. No Node, Python, `yq`, or `jq`. Install with one `curl | bash`.
<details>
<summary><strong>Table of contents</strong></summary>
- [The problem](#the-problem)
- [The solution](#the-solution)
- [Why not just...?](#why-not-just)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Project Structure](#project-structure)
- [What Each Part Does](#what-each-part-does)
- [CLI Commands](#cli-commands)
- [Sync options](#sync-options)
- [Generate](#generate)
- [Tool Configuration](#tool-configuration)
- [Tool YAML Schema](#tool-yaml-schema)
- [Key Fields](#key-fields)
- [Supported Tools](#supported-tools)
- [Format Conversions](#format-conversions)
- [Models and Providers Are Not Tools](#models-and-providers-are-not-tools)
- [Adding a New Tool](#adding-a-new-tool)
- [Automation](#automation)
- [Gitignore](#gitignore)
- [How Sync Works](#how-sync-works)
- [Customization workflow](#customization-workflow)
- [How Resources Resolve](#how-resources-resolve)
- [Migrating from the 0.10 flat layout](#migrating-from-the-010-flat-layout)
- [Path Overrides](#path-overrides)
- [Migrating Existing Configurations](#migrating-existing-configurations)
- [Step-by-step](#step-by-step)
- [What gets overwritten](#what-gets-overwritten)
- [Drift detection](#drift-detection)
- [`agentsync adopt` — promote an IDE edit back into source](#agentsync-adopt--promote-an-ide-edit-back-into-source)
- [Disabling sync for specific tools](#disabling-sync-for-specific-tools)
- [Workspaces — nested AgentSync projects](#workspaces--nested-agentsync-projects)
- [Profiles — multiple config homes per tool](#profiles--multiple-config-homes-per-tool)
- [Development](#development)
- [Uninstall](#uninstall)
</details>
## Installation
Requirements: `git`, `bash`. Works on **macOS** and **Linux** out of the box. On **Windows**, use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) or [Git Bash](https://gitforwindows.org/) (included with Git for Windows).
```bash
c
... (truncated)Repository
11stars
2forks
Details
Related Skills
More coding & development skills you might like
Reticle
Coding & DevelopmentAI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web & desktop applications.
🤖claude🌐universal
1.2k
190
View
agentscope-java
Coding & DevelopmentExpert Java developer skill for AgentScope Java framework - a reactive, message-driven multi-agent system built on Project Reactor. Use when working with reactive programming, LLM integration, agent orchestration, multi-agent systems, or when the user mentions AgentScope, ReActAgent, Mono/Flux, Project Reactor, or Java agent development. Specializes in non-blocking code, tool integration, hooks, pipelines, and production-ready agent applications.
🌐universal
6.0k
1.5k
View
ospec
Coding & DevelopmentDocument-driven OSpec workflow for initialization, change/goal routing, validation, archiving, and durable project knowledge.
✨gemini🤖claude💬gpt🌐universal
524
34
View
misakanet-failure-memory
Coding & Development📚 A zero-dependency, git-backed micro-lesson library for AI Agents to asynchronously share and search verified debugging experience. Python stdlib only. | https://misakanet.org
🤖claude⌨️cursor🌐universal
424
158
View