aix sync
Reads supported config from one editor and installs the supported equivalent into another.
This command is for editor -> editor migration. If you want to apply ai.json, use
aix install. If you want to create ai.json from an editor, use
aix init --from.
aix sync <from> --to <to> [flags]from and to must be different supported editors.
| Flag | Description |
|---|---|
--to <editor> / -t | Destination editor. |
--scope <scope> / -s | Apply the same scope to both source and destination. |
--from-scope <scope> | Scope to read from on the source editor. |
--to-scope <scope> | Scope to write to on the destination editor. |
--dry-run / -d | Preview changes without writing files. |
Supported scope values are user and project.
If you do not pass any scope flags, sync defaults to user for both read and write.
Examples
Section titled “Examples”Sync user-level config from Cursor to Claude Code:
aix sync cursor --to claude-codeSync project-level config from Cursor to Zed:
aix sync cursor --to zed --scope projectRead project config but write user config:
aix sync opencode --to windsurf --from-scope project --to-scope userPreview what would change:
aix sync cursor --to codex --dry-runWhat sync does
Section titled “What sync does”- Reads supported config from the source editor.
- Installs the supported equivalent into the destination editor.
- Reports anything the destination could not represent.
Partial syncs and skipped writes
Section titled “Partial syncs and skipped writes”Some editors simply cannot represent every feature from every other editor. Sync does not turn that into a hard failure.
Instead, aix calls out what was skipped and why. Two common reasons:
- The destination editor does not support that feature at all.
- The destination editor supports it, but not at the requested scope.
Examples:
- Codex converts prompts into skills instead of installing native prompts.
- Zed exposes skills through pointer rules, not native skill files.
- Windsurf and Codex still have global-only paths for some MCP writes, so a project-scoped sync will skip those writes and say so.
Output expectations
Section titled “Output expectations”The command summary includes:
- what aix imported from the source editor
- which destination files changed
- global-only changes that were applied or skipped
- warnings for unsupported destination features
- warnings for target-scope limitations
Those limitation warnings are informational. They tell you what did not make the trip.