SyncAI is a lightweight and cross-platform utility that keeps AI-assistant guidelines, rules and ignored files in sync across multiple agents:
- Cursor
- GitHub Copilot
- JetBrains Junie
- Cline
- Claude Code
It watches the files you specify in a JSON configuration and propagates every change to the corresponding locations for the other agents.
- Download a suitable binary from the GitHub Releases.
- Copy syncai.json to your project and adjust the configuration for your agents.
- Launch the binary in the project dir
./syncai
.
- Use
./syncai -config {path_to_syncai.json}
to start SyncAI with your custom configuration file. - Use
./syncai -workdir {path_to_working_directory}
to specify a different working directory. - Use
./syncai -no-watch
to sync your files only once, without watching for changes (useful for CI). - Use
./syncai -self-update
to update SyncAI to the latest version.
The default configuration is a simple JSON map (for more details check syncai.json):
{
"config": {
// sync interval in seconds
"interval": 5,
// working directory (optional, default is current directory)
"workdir": ""
},
"agents": [
{
// agent name
"name": "<AGENT_NAME>",
// optional "rules" section
// GitHub Copilot calls it "instructions", Cursor and Cline "rules"
"rules": {
"pattern": ".<AGENT>/rules/*.md"
},
// optional "context" section
"context": {
"path": "/path/to/your/guidelines.md"
},
// optional "ignore" section
"ignore": {
"path": "/path/to/your/ignorefile"
}
}
]
}
- SyncAI loads the configuration file and builds a watch-list of directories and files derived from all sections.
- It periodically scans those files for new or updated modification times.
- When a rule file changes, its contents are copied to every other agent’s rule directory.
The copying logic is intentionally simple and conservative:
- The filename is preserved exactly, unless the target pattern contains a
*
wildcard—in that case, the wildcard is replaced with the source file’s base name. - Destination directories are created as needed.
To build SyncAI manually, follow the next steps:
cd syncai
make build