Sync AI code agent configs (Claude Code, Cursor, Windsurf, OpenCode) across machines and projects.
npm install @donnes/syncode

Stop fighting with AI agent configurations. Sync your Claude Code, Cursor, Windsurf, OpenCode, and VSCode settings across machines and projects with a single command.
The era of AI-powered coding is here, but managing multiple AI assistants is a mess. syncode solves this.
The Problem: You use Cursor at work, Claude Code for side projects, and want to try Windsurf or Roo Code. Each has its own config format and setup. Keeping 17+ AI agents in sync is manual hell.
The Solution: syncode is your single source of truth for AI agent configurations.
- š¤ 17+ AI Agents - Claude Code, Cursor, Windsurf, OpenCode, VSCode, GitHub Copilot, Roo Code, Goose, Gemini CLI, Amp, Kilo Code, Kiro CLI, Trae, Codex, Antigravity, Clawdbot, Droid
- š Smart Sync - Automatic detection and sync with smart defaults per agent
- š Symlinks & Copy - Symlinks for live sync, copy for Claude (preserves cache)
- š¦ Version Control - Git-based workflow for your AI configurations
- š”ļø Safe Operations - Automatic backups before any changes
- š„ļø Machine Setup - Opinionated development dependencies for macOS/Linux
- š Cross-Platform - macOS, Linux (Windows coming soon)
``bash`
npx @donnes/syncode new
`bash`
syncode init
`bashInstall globally
npm install -g @donnes/syncode
Usage
$3
`bash
syncode new
`This will:
- Auto-detect installed AI agents (17+ agents supported)
- Let you select which agents to sync
- Create a git repository for your configs
- Import your existing configs
- Set up smart sync defaults (symlinks for most, copy for Claude, Gemini, etc.)
$3
`bash
syncode init
`This will:
- Prompt for the repo URL and local storage path
- Clone the repo if needed
- Let you choose which agents to sync
- Save configuration to
~/.syncode/config.json$3
`bash
syncode sync
`Choose direction:
- Import: Copy configs from system to repo (before committing changes)
- Export: Sync configs from repo to system (on new machines)
$3
`bash
syncode status
`Shows:
- Which agents are synced
- Sync method (symlink vs copy)
- Git status
- Option to run full machine status
$3
`bash
syncode machine deps
`Install opinionated development dependencies for your machine:
- macOS: Homebrew packages from
Brewfile
- Arch/Omarchy: Pacman/yay packages from packages-arch.txt
- Debian/Ubuntu: APT packages from packages-debian.txt
- Universal: Bun runtime and latest Node.js via fnmThese are boilerplate files that get copied to your repo root during
syncode new. Edit them to customize the packages for your workflow.$3
`bash
syncode machine status
`Shows comprehensive machine setup status:
- Platform and package manager detection
- Repository and git status
- Dependency file presence
- Quick health check for your development environment
$3
`bash
syncode push
`Push your config changes to the remote repository:
- Detects uncommitted changes
- Optionally commits changes with a message
- Pushes to the configured remote branch
Supported Agents
| Agent | Config Path | Sync Method | Auto-Detect |
|-------|-------------|-------------|-------------|
| Amp |
~/.config/amp | Symlink | ā
Yes |
| Antigravity | ~/.gemini/antigravity | Copy | ā
Yes |
| Claude Code | ~/.claude | Copy | ā
Yes |
| Clawdbot | ~/.clawdbot | Symlink | ā
Yes |
| Codex | ~/.codex | Symlink | ā
Yes |
| Cursor | ~/Library/Application Support/Cursor/User | Symlink | ā
Yes |
| Droid | ~/.factory | Symlink | ā
Yes |
| Gemini CLI | ~/.gemini | Copy | ā
Yes |
| GitHub Copilot | ~/.copilot | Copy | ā
Yes |
| Goose | ~/.config/goose | Symlink | ā
Yes |
| Kilo Code | ~/.kilocode | Symlink | ā
Yes |
| Kiro CLI | ~/.kiro | Symlink | ā
Yes |
| OpenCode | ~/.config/opencode | Symlink | ā
Yes |
| Roo Code | ~/.roo | Symlink | ā
Yes |
| Trae | ~/.trae | Symlink | ā
Yes |
| VSCode | ~/Library/Application Support/Code/User | Symlink | ā
Yes |
| Windsurf | ~/.codeium/windsurf | Symlink | ā
Yes |Configuration
Global configuration is stored at
~/.syncode/config.json:`json
{
"version": "1.0.0",
"repoPath": "~/.syncode/repo",
"remote": "https://github.com//configs.git",
"agents": ["opencode", "claude", "cursor", "windsurf"],
"features": {
"autoSync": false,
"backupBeforeExport": true,
"smartSyncDefaults": true
}
}
`Repository Structure
`
~/.syncode/repo/
āāā .git/
āāā .gitignore
āāā Brewfile
āāā packages-arch.txt
āāā packages-debian.txt
āāā README.md
āāā configs/
āāā amp/ # Symlinked
āāā antigravity/ # Copy sync
āāā claude/ # Copy sync (preserves cache)
āāā clawdbot/ # Symlinked
āāā codex/ # Symlinked
āāā cursor/ # Symlinked
āāā droid/ # Symlinked
āāā gemini-cli/ # Copy sync
āāā github-copilot/ # Copy sync
āāā goose/ # Symlinked
āāā kilo/ # Symlinked
āāā kiro-cli/ # Symlinked
āāā opencode/ # Symlinked
āāā roo/ # Symlinked
āāā trae/ # Symlinked
āāā vscode/ # Symlinked
āāā windsurf/ # Symlinked
`Usage Examples
$3
`bash
Edit your AI agent configs normally
Example: ~/.config/opencode/opencode.json
Example: ~/.claude/skills/my-helper.md
Changes are synced via symlinks automatically
Check what changed
syncode statusImport changes to repo
syncode sync
Select "Import"
Push to remote (commits and pushes in one command)
syncode push
`Commands
-
syncode new - Initialize a new agent config repository
- syncode init - Initialize from an existing agent config repository
- syncode sync - Sync agent configs (import or export)
- syncode status - Show status of synced agents
- syncode push - Push config changes to git remote
- syncode machine deps - Install machine dependencies (brew/apt packages, bun, node)
- syncode machine status - Show full machine setup status
- syncode --version - Show version
- syncode help - Show help messageDevelopment
$3
`bash
Clone the repository
git clone https://github.com/donnes/syncode.git
cd syncodeInstall dependencies
bun installRun in development mode
bun run devBuild for production
bun run buildLink locally
bun link
`$3
`bash
Type check
bun run typecheckBuild
bun run build
`Platform Support
| Platform | Status | Notes |
|----------|--------|-------|
| macOS | ā
Fully Supported | Primary development platform |
| Linux | ā
Fully Supported | Tested on Ubuntu, Arch |
| Windows | š§ Planned | Coming soon |
Requirements
- Node.js >= 20.0.0 or Bun >= 1.0.0
- Git (for repository management)
- macOS or Linux
Troubleshooting
$3
`bash
Run initialization
syncode new
Or connect to an existing repo
syncode init
`$3
`bash
Check configuration health
syncode statusRe-export configs
syncode sync
Select "Export"
``Contributions are welcome! Please read our Contributing Guide for details.
MIT Ā© Donald Silveira
- š Documentation
- š Report Issues
- š¬ Discussions
- š¦ npm Package
---
Made with ā¤ļø for developers