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)
npx @donnes/syncode newsyncode init# Install globally
npm install -g @donnes/syncode
# Or using bun
bun install -g @donnes/syncode
# Initialize
syncode newsyncode newThis 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.)
syncode initThis 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
syncode syncChoose direction:
- Import: Copy configs from system to repo (before committing changes)
- Export: Sync configs from repo to system (on new machines)
syncode statusShows:
- Which agents are synced
- Sync method (symlink vs copy)
- Git status
- Option to run full machine status
syncode machine depsInstall opinionated development dependencies for your machine:
- Unified script:
install.shwith curl-based installs where possible - Curl-installed: bun, fnm, uv, atuin, zoxide, fzf, opencode
- Package manager fallback: ripgrep, fd, eza, gh, lazygit, go, rbenv, biome, aws-cli, bob
- macOS only: OrbStack, Raycast, opencode-desktop (via Homebrew casks)
This is a boilerplate file that gets copied to your repo root during syncode new. Edit it to customize the tools for your workflow.
syncode machine statusShows comprehensive machine setup status:
- Platform and package manager detection
- Repository and git status
- Dependency file presence
- Quick health check for your development environment
syncode pushPush your config changes to the remote repository:
- Detects uncommitted changes
- Optionally commits changes with a message
- Pushes to the configured remote branch
| 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 |
Global configuration is stored at ~/.syncode/config.json:
{
"version": "1.0.0",
"repoPath": "~/.syncode/repo",
"remote": "https://github.com/<username>/configs.git",
"agents": ["opencode", "claude", "cursor", "windsurf"],
"features": {
"autoSync": false,
"backupBeforeExport": true,
"smartSyncDefaults": true
}
}~/.syncode/repo/
├── .git/
├── .gitignore
├── install.sh
├── README.md
├── .agents/ # Shared skills (symlinked)
│ └── skills/
└── 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
# Edit your AI agent configs normally
# Example: ~/.config/opencode/opencode.json
# Example: ~/.agents/skills/my-helper.md
# Changes are synced via symlinks automatically
# Check what changed
syncode status
# Import changes to repo
syncode sync
# Select "Import"
# Push to remote (commits and pushes in one command)
syncode push
# Pull changes from remote
syncode pullsyncode new- Initialize a new agent config repositorysyncode init- Initialize from an existing agent config repositorysyncode sync- Sync agent configs (import or export)syncode status- Show status of synced agentssyncode push- Push config changes to git remotesyncode pull- Pull config changes from git remotesyncode machine deps- Install machine dependencies (install.sh)syncode machine status- Show full machine setup statussyncode --version- Show versionsyncode help- Show help message
# Clone the repository
git clone https://github.com/donnes/syncode.git
cd syncode
# Install dependencies
bun install
# Run in development mode
bun run dev
# Build for production
bun run build
# Link locally
bun link# Type check
bun run typecheck
# Build
bun run build| Platform | Status | Notes |
|---|---|---|
| macOS | ✅ Fully Supported | Primary development platform |
| Linux | ✅ Fully Supported | Tested on Ubuntu, Arch |
| Windows | 🚧 Planned | Coming soon |
- Node.js >= 20.0.0 or Bun >= 1.0.0
- Git (for repository management)
- macOS or Linux
# Run initialization
syncode new
# Or connect to an existing repo
syncode init# Check configuration health
syncode status
# Re-export configs
syncode sync
# Select "Export"Contributions are welcome! Please read our Contributing Guide for details.
MIT © Donald Silveira
Made with ❤️ for developers