Full aix documentation with all guides and references # aix add > Add items to your configuration. Adds skills, MCP servers, rules, prompts, or hooks to `ai.json` (or `ai.local.json`) and installs them to editors in one step. If no `ai.json` exists in the current directory, the item is installed directly to editors without modifying any config file. ## Commands [Section titled “Commands”](#commands) ### `aix add skill` [Section titled “aix add skill”](#aix-add-skill) ```bash aix add skill [flags] ``` **Flags:** * `--name ` / `-n`: Override skill name. * `--ref ` / `-r`: Git branch/tag/commit. * `--no-install`: Skip the install step after adding. * `--local` / `-l`: Add to `ai.local.json`. * `--scope ` / `--user` (`-u`) / `--project` (`-p`): Target user-level or project-level config. **Sources:** * `react` (npm package `aix-skill-react`) * `@scope/pkg` * `github:user/repo` * `owner/repo/path-to-skill` * `https://github.com/org/repo/tree/main/skills/my-skill` * `https://github.com/org/repo/blob/main/skills/my-skill/SKILL.md` * `./local/path` `aix add skill` stores native aix skill references in `ai.json` and installs skills through aix’s own resolver/installer flow. Skills are copied into `.aix/skills/{name}/`, then symlinked into editors with native skill support. ### `aix add mcp` [Section titled “aix add mcp”](#aix-add-mcp) ```bash aix add mcp [flags] ``` If no command/url is provided, it searches the registry. **Flags:** * `--command `: Command to run (stdio). * `--args `: Command arguments. * `--url `: HTTP/SSE URL. * `--env `: Environment variables (`KEY=val,KEY2=val`). * `--no-install`: Skip the install step after adding. * `--local` / `-l`: Add to `ai.local.json`. * `--scope ` / `--user` (`-u`) / `--project` (`-p`): Target user-level or project-level config. ### `aix add rule` [Section titled “aix add rule”](#aix-add-rule) ```bash aix add rule [flags] ``` **Flags:** * `--name ` / `-n`: Rule name. * `--activation ` / `-a`: `always`, `auto`, `glob`, or `manual`. * `--globs ` / `-g`: Glob patterns (comma separated). * `--description ` / `-d`: Description for auto-activation. * `--ref ` / `-r`: Git branch/tag/commit. * `--no-install`: Skip the install step after adding. * `--local` / `-l`: Add to `ai.local.json`. * `--scope ` / `--user` (`-u`) / `--project` (`-p`): Target user-level or project-level config. ### `aix add prompt` [Section titled “aix add prompt”](#aix-add-prompt) ```bash aix add prompt [flags] ``` **Flags:** * `--name ` / `-n`: Prompt name. * `--description ` / `-d`: Command description. * `--argument-hint `: Hint for user arguments. * `--ref ` / `-r`: Git branch/tag/commit. * `--no-install`: Skip the install step after adding. * `--local` / `-l`: Add to `ai.local.json`. * `--scope ` / `--user` (`-u`) / `--project` (`-p`): Target user-level or project-level config. ### `aix add agent` [Section titled “aix add agent”](#aix-add-agent) ```bash aix add agent [flags] ``` Adds a specialized agent to `ai.json` (or `ai.local.json`) and installs it to supported editors. **Flags:** * `--name ` / `-n`: Agent name (inferred from filename if omitted). * `--mode ` / `-m`: Agent mode: `subagent` (default) or `primary`. * `--model `: Model alias or model ID. * `--tools `: Comma-separated list of tools available to the agent. * `--description ` / `-d`: When this agent should be used. * `--ref ` / `-r`: Git branch/tag/commit. * `--no-install`: Skip the install step after adding. * `--local` / `-l`: Add to `ai.local.json`. * `--scope ` / `--user` (`-u`) / `--project` (`-p`): Target user-level or project-level config. **Examples:** ```bash aix add agent ./agents/reviewer.md aix add agent ./agents/reviewer.agent.md --mode primary aix add agent github:org/agents/tester.md --model claude-3-7-sonnet --tools bash,edit ``` ### `aix add hook` [Section titled “aix add hook”](#aix-add-hook) ```bash aix add hook [flags] aix add hook [flags] ``` Pass a [hook event](/concepts/hooks/) name to describe the hook inline, or a path, URL, or npm/git reference to a JSON hook fragment. A new hook joins whatever is already registered for that event instead of replacing it. **Flags (event form):** * `--command `: Shell command to run when the event fires. * `--url `: URL to POST the hook payload to (`http` action). * `--prompt `: Prompt text for an LLM-evaluated hook. * `--type `: `command`, `http`, `prompt`, or `agent`. Inferred from the flag above when omitted. * `--matcher ` / `-m`: Pattern selecting which tools or actions the hook applies to. * `--timeout `: Timeout in seconds. * `--description ` / `-d`: Free-form description for the hook group. **Flags (fragment form):** * `--name ` / `-n`: Fragment name, when it cannot be inferred from the source. * `--ref ` / `-r`: Git branch/tag/commit. **Shared flags:** * `--no-install`: Skip the install step after adding. * `--local` / `-l`: Add to `ai.local.json`. * `--scope ` / `--user` (`-u`) / `--project` (`-p`): Target user-level or project-level config. **Examples:** ```bash aix add hook pre_command --command "npm run lint" aix add hook pre_file_write --matcher "Write|Edit" --command ./scripts/guard.sh aix add hook agent_stop --prompt "Summarize what changed" --type agent aix add hook ./hooks/guard.json ``` A fragment names its event alongside the actions: ```json { "event": "pre_file_write", "matcher": "Write|Edit", "hooks": [{ "command": "./scripts/guard.sh", "timeout": 10 }] } ``` ### `aix add plugin` [Section titled “aix add plugin”](#aix-add-plugin) ```bash aix add plugin [flags] ``` Adds a plugin to `ai.json` and configures it in target editors. If the target editor does not natively support plugins, its bundled skills, rules, and MCP servers are automatically unpacked and installed. **Flags:** * `--name ` / `-n`: Plugin name or identifier. * `--spec `: Plugin version specification or tag. * `--plugin-version `: Explicit semantic version. * `--path `: Subdirectory path within a plugin repository. * `--disabled`: Add the plugin in a disabled state (`false`). * `--no-install`: Skip installing to editors after adding. * `--local` / `-l`: Add to `ai.local.json`. * `--scope ` / `--user` (`-u`) / `--project` (`-p`): Target user-level or project-level config. **Examples:** ```bash aix add plugin skill-creator@claude-plugins-official aix add plugin ./plugins/my-helper aix add plugin https://github.com/my-org/code-plugin --name code-plugin ``` ### `aix add marketplace` [Section titled “aix add marketplace”](#aix-add-marketplace) ```bash aix add marketplace [flags] ``` Registers a plugin marketplace or catalog in `ai.json`. **Flags:** * `--name ` / `-n`: Marketplace name (inferred from URL or repo if omitted). * `--type `: Marketplace type (`git`, `npm`, or `url`). * `--disabled`: Add marketplace in disabled state. * `--no-install`: Skip installing to editors after adding. * `--local` / `-l`: Add to `ai.local.json`. * `--scope ` / `--user` (`-u`) / `--project` (`-p`): Target user-level or project-level config. **Examples:** ```bash aix add marketplace https://github.com/anthropics/claude-plugins-official --name claude-plugins-official ``` --- # aix backups > View and manage configuration backups. Configuring editors can be destructive. `aix` creates backups of every file it modifies before writing to it. ## Backup Locations [Section titled “Backup Locations”](#backup-locations) * **Local**: `.aix/.tmp/backups/` — Backups of files within your project. * **Global**: `~/.aix/backups/` — Backups of global editor config files (e.g., Windsurf’s `mcp_config.json`). ## Commands [Section titled “Commands”](#commands) ### `aix backups` [Section titled “aix backups”](#aix-backups) List all available backups. ## Automatic Cleanup [Section titled “Automatic Cleanup”](#automatic-cleanup) Backups are automatically cleaned up based on the settings in `ai.json`: ```json { "aix": { "cache": { "maxBackups": 5, "maxBackupAgeDays": 30 } } } ``` --- # aix cache > Manage the local cache. aix caches downloaded rules and remote configs in `.aix/.tmp/cache/`. Skills are stored separately in `.aix/skills/`. ## Usage [Section titled “Usage”](#usage) ```bash aix cache clear ``` Alias: `aix cache clean` Removes all cached files under `.aix/.tmp/`. They will be re-downloaded on the next `aix install`. --- # aix config > View and modify raw configuration values. Interact with config values using dot-notation keys. ## Commands [Section titled “Commands”](#commands) ### `aix config show` [Section titled “aix config show”](#aix-config-show) Show the full configuration. **Flags:** * `--resolved` / `-r`: Show the final merged config (after `extends` and `ai.local.json`). ### `aix config get` [Section titled “aix config get”](#aix-config-get) Get a specific value. ```bash aix config get mcp.github.env ``` ### `aix config set` [Section titled “aix config set”](#aix-config-set) Set a value. JSON strings are automatically parsed. ```bash aix config set rules.my-rule.activation auto ``` --- # aix init > Initialize a new configuration. Creates a new `ai.json` file in the current directory. ## Usage [Section titled “Usage”](#usage) ```bash aix init [flags] ``` ## Flags [Section titled “Flags”](#flags) | Flag | Description | | ------------------------------------------ | ------------------------------------------------- | | `--force` / `-f` | Overwrite existing `ai.json` if it exists. | | `--from ` | Import supported config from an existing editor. | | `--extends ` | Set the `extends` reference in the new `ai.json`. | | `--lock` | Create `ai.lock.json` beside the new config. | | `--scope ` / `--user` / `--project` | Set the `scope` field (`user` or `project`). | The `--extends` flag accepts any reference type: local paths, URLs, git repos, or npm packages. ```bash # Initialize with an extends reference aix init --extends github:company/ai-config # Initialize with a lockfile aix init --lock # Initialize a user-scoped config aix init --scope user # Combine both aix init --extends github:company/ai-config --scope user ``` ## Importing Config [Section titled “Importing Config”](#importing-config) The `--from` flag lets you bootstrap `ai.json` from: * `cursor` * `copilot` * `windsurf` * `claude-code` * `zed` * `codex` * `antigravity` * `opencode` * `grok` When importing, aix will: 1. Read the editor’s config files. 2. Extract rules, prompts, and MCP settings. 3. Write extracted content to `.aix/imported/`. 4. Generate an `ai.json` linking to those files. `aix init --from` is the right command when you want `ai.json` to become the source of truth. If you want direct editor-to-editor migration, use [`aix sync`](/cli/sync/). See [Import from an Editor](/getting-started/import-from-editor/) for details. --- # aix install > Apply ai.json configuration to editors. Reads `ai.json` (and `ai.local.json`), resolves all inheritance, and writes configuration files for supported editors. This command starts from `ai.json`. If you want to copy supported config directly from one editor to another, use [`aix sync`](/cli/sync/) instead. You can also install a single item without a local `ai.json` by passing `--type`. ## Usage [Section titled “Usage”](#usage) ```bash aix install [source] [flags] ``` If `source` is provided without `--type`, it must be an `ai.json` config source. If `source` is provided with `--type`, aix installs that one item directly and does not create or modify `ai.json`. ## Flags [Section titled “Flags”](#flags) | Flag | Description | | -------------------------------------------------------- | -------------------------------------------------------------------------------------------- | | `--target ` / `-t` | Limit installation to specific editors. Repeatable. | | `--type ` | Directly install one `mcp`, `skill`, `rule`, `hook`, `prompt`, or `agent` without `ai.json`. | | `--name ` / `-n` | Name for a direct install when aix cannot infer one. | | `--ref ` / `-r` | Git ref for direct install sources. | | `--command ` | Command for direct MCP stdio installs. | | `--args ` | Comma-separated command arguments for direct MCP installs. | | `--env ` | Comma-separated `KEY=value` env vars for direct MCP installs. | | `--url ` | Remote Streamable HTTP MCP URL for direct MCP installs. | | `--header
` | HTTP header for direct remote MCP installs. Repeatable `KEY=value`. | | `--description ` | Rule, prompt, or agent description for direct installs. | | `--activation ` | Rule activation mode for direct rule installs. | | `--globs ` | Comma-separated glob patterns for direct rule installs. | | `--argument-hint ` | Prompt argument hint for direct prompt installs. | | `--mode ` | Agent mode for direct agent installs (`primary` or `subagent`). | | `--model ` | Agent model for direct agent installs. | | `--tools ` | Comma-separated list of tools for direct agent installs. | | `--dry-run` / `-d` | Preview changes without writing files. | | `--save` | When installing a remote source, save it to local `ai.json`. | | `--overwrite` | With `--save`, overwrite local config instead of merging. | | `--clean` | Remove the `.aix` folder before install to ensure a fresh state. | | `--copy` | With `--save`, copy remote files to `.aix/imported/` instead of referencing git URLs. | | `--lock` | Create or refresh `ai.lock.json` before installing. | | `--only ` | Limit to specific fields: `rules`, `prompts`, `mcp`, `skills`, `hooks`, `agents`. | | `--scope ` / `--user` (`-u`) / `--project` (`-p`) | Override the `scope` from `ai.json` (target user-level or project-level config). | ## Examples [Section titled “Examples”](#examples) **Standard install:** ```bash aix install ``` **Install only to GitHub Copilot:** ```bash aix install --target copilot ``` **Install a remote config directly:** ```bash aix install github:company/ai-config ``` **Install remote config and save it to your local ai.json:** ```bash aix install github:company/ai-config --save ``` **Install only MCP servers:** ```bash aix install --only mcp ``` **Directly install a user-scope MCP server without ai.json:** ```bash aix install playwright --type mcp --target claude-code --user ``` An HTTPS MCP source is treated as a remote Streamable HTTP endpoint: ```bash aix install https://example.com/mcp --type mcp --name docs --target claude-code --user ``` **Directly install one local item:** ```bash aix install ./skills/review --type skill --target claude-code --user aix install ./rules/typescript.md --type rule --name typescript --target cursor aix install ./prompts/review.md --type prompt --name review --target opencode --user aix install ./hooks/pre-command.jsonc --type hook --target claude-code --user ``` Direct installs require `--target` and do not persist anything to `ai.json`. **Refresh the lockfile, then install:** ```bash aix install --lock ``` `--lock` with a remote source requires `--save`, because aix needs a local `ai.json` to write `ai.lock.json` beside. **Override scope to install as user-level config:** ```bash aix install --scope user ``` ## install vs sync [Section titled “install vs sync”](#install-vs-sync) * `aix install` is `ai.json -> editor` * `aix sync` is `editor -> aix bridge -> editor` That split matters. `install` applies your shared config. `sync` is for migrating or copying existing editor config between supported editors. --- # aix list > List configured or installed AI configuration items. Display what is currently configured in your project. Items are labeled with their scope (user/project). ## Usage [Section titled “Usage”](#usage) ```bash aix list [subcommand] ``` ## Commands [Section titled “Commands”](#commands) * `aix list skills`: Show configured skills. * `aix list mcp`: Show configured MCP servers and their status. * `aix list rules`: Show active rules and activation modes. * `aix list prompts`: Show configured prompts. * `aix list agents`: Show configured agents, their modes, models, and references. * `aix list hooks`: Show configured hooks, their matchers, and what each one runs. * `aix list editors`: Show detected/configured editors. ## Flags [Section titled “Flags”](#flags) | Flag | Description | | -------------------------------------------------------- | ------------------------------------------------------------------------------------- | | `--only ` | Filter by section: `rules`, `prompts`, `mcp`, `skills`, `agents`, `hooks`, `editors`. | | `--scope ` / `--user` (`-u`) / `--project` (`-p`) | Filter by user-level or project-level config. | | `--all` | List all editor config, including items not managed by aix. | | `--editor ` / `-e` | Limit `--all` output to specific editors. Repeatable. | | `--json` | Output as JSON. | Use `aix list --all` to inspect actual editor files, including symlinked native skills and externally managed items. `aix list --all` reports hooks alongside the other item types, listed by event name. Every item is marked `aix` or `external`. `aix install`, `aix add`, and `aix sync` record what they wrote in `.aix/state.json` (or `~/.aix/state.json` for user scope), and anything found in an editor’s config that is not in that record is `external` — put there by hand or by another tool. Dropping an item from `ai.json` and installing again stops it being tracked, so it shows as `external` until you remove it from the editor too. --- # CLI overview > High-level overview of the aix CLI. The `aix` CLI is your primary tool for managing AI agent configurations. It follows a syntax similar to `npm`. ## Global Flags [Section titled “Global Flags”](#global-flags) These flags are available on all commands: | Flag | Description | | ------------------------ | ----------------------------------------------------------------------------------- | | `--config ` / `-c` | Path to `ai.json` (defaults to current dir). Can also be set via `$AI_JSON_CONFIG`. | | `--quiet` / `-q` | Suppress non-essential output. | | `--json` | Output results as JSON. | ## Command Groups [Section titled “Command Groups”](#command-groups) * **Core**: `init`, `install`, `sync`, `validate` * **Management**: `add`, `remove`, `list` * **Discovery**: `search` * **Config**: `config get`, `config set`, `config show` * **System**: `cache`, `backups`, `global` `init --from` and `sync` sound similar, but they solve different problems: * `aix init --from ` reads an editor and writes a new `ai.json`. * `aix sync --to ` reads one editor and writes the supported equivalent into the destination editor. * `aix install` reads `ai.json` and applies it to one or more editors. ## Aliases [Section titled “Aliases”](#aliases) | Command | Alias | | ------------- | ------------- | | `install` | `i` | | `list` | `ls` | | `cache clear` | `cache clean` | ## Environment Variables [Section titled “Environment Variables”](#environment-variables) * `AI_JSON_CONFIG`: Override the default `ai.json` path. * `AIX_LOG_LEVEL`: Set detailed logging (`debug`, `info`, `warn`, `error`). --- # aix remove > Remove items from your configuration. Removes items from `ai.json` (or `ai.local.json`) and uninstalls them from editors in one step. If no `ai.json` exists in the current directory, the item is uninstalled directly from editors. For skills, aix removes both the managed `.aix/skills/{name}/` copy and any native editor link for the selected scope before regenerating pointer-style rule output where needed. ## Usage [Section titled “Usage”](#usage) ```bash aix remove [flags] ``` `` is the item name, or the event name for `aix remove hook`. ## Commands [Section titled “Commands”](#commands) ### `aix remove skill` [Section titled “aix remove skill”](#aix-remove-skill) ```bash aix remove skill react ``` ### `aix remove mcp` [Section titled “aix remove mcp”](#aix-remove-mcp) ```bash aix remove mcp github ``` Also cleans up global MCP config if the server is no longer used by any project. ### `aix remove agent` [Section titled “aix remove agent”](#aix-remove-agent) ```bash aix remove agent aix remove agent reviewer --yes ``` Removes the agent from `ai.json` (or `ai.local.json`) and deletes the generated agent files across all configured editors. ### `aix remove hook` [Section titled “aix remove hook”](#aix-remove-hook) ```bash aix remove hook pre_command aix remove hook session_start --user --target claude-code ``` Removes the event from `ai.json` and every entry your editors hold for it, including entries you wrote by hand. Hooks belonging to other events survive even when they share a native event name: removing `pre_command` from Claude Code drops the `PreToolUse` groups matching `Bash` and leaves a `pre_file_write` group matching `Write|Edit` in place. With `--user`, `ai.json` is neither read nor written, matching `aix add hook --user`. ### `aix remove plugin` [Section titled “aix remove plugin”](#aix-remove-plugin) ```bash aix remove plugin aix remove plugin skill-creator@claude-plugins-official --yes ``` Removes the plugin from `ai.json` and uninstalls/unregisters it from configured editors. ### `aix remove marketplace` [Section titled “aix remove marketplace”](#aix-remove-marketplace) ```bash aix remove marketplace aix remove marketplace claude-plugins-official --yes ``` Removes the marketplace from `ai.json` and unregisters it from configured editors. ## Flags [Section titled “Flags”](#flags) | Flag | Description | | -------------------------------------------------------- | ----------------------------------------------- | | `--local` / `-l` | Remove from `ai.local.json`. | | `--yes` / `-y` | Skip confirmation prompt. | | `--no-delete` | Skip deleting files from editors (for skills). | | `--no-sync` | Skip syncing editor config (for MCP and hooks). | | `--scope ` / `--user` (`-u`) / `--project` (`-p`) | Target user-level or project-level config. | --- # aix search > Find skills and MCP servers. Interactive search tool for discovering capabilities across the skills.sh library and the [official MCP Registry](https://registry.modelcontextprotocol.io). ## Usage [Section titled “Usage”](#usage) ```bash aix search [query] [flags] ``` Without arguments, it opens an interactive TUI (Terminal User Interface). ## Interactive Mode [Section titled “Interactive Mode”](#interactive-mode) ```bash aix search ``` * **Up/Down**: Navigate results * **Enter**: Select/Install * **Tab**: Switch between Skills and MCP tabs * **Ctrl+C**: Exit ## Flags [Section titled “Flags”](#flags) | Flag | Description | | ------------------------- | --------------------------------------- | | `--type ` / `-t` | Filter by type: `skills`, `mcp`. | | `--plain` / `-p` | Output as plain text (non-interactive). | | `--registry ` / `-r` | Custom npm registry URL. | ## JSON Output [Section titled “JSON Output”](#json-output) Use with `--plain --json` for scripts: ```bash aix search react --type skills --plain --json ``` Interactive skill installs resolve Skills Library results to concrete repo paths, then call `aix add skill`, so search installs are saved and installed through the same native aix skill flow as manual adds. --- # aix sync > Copy supported configuration from one editor to another. 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`](/cli/install/). If you want to create `ai.json` from an editor, use [`aix init --from`](/cli/init/). ## Usage [Section titled “Usage”](#usage) ```bash aix sync --to [flags] ``` `from` and `to` must be different supported editors. ## Flags [Section titled “Flags”](#flags) | Flag | Description | | ------------------------ | ---------------------------------------------------- | | `--to ` / `-t` | Destination editor. | | `--scope ` / `-s` | Apply the same scope to both source and destination. | | `--from-scope ` | Scope to read from on the source editor. | | `--to-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”](#examples) **Sync user-level config from Cursor to Claude Code:** ```bash aix sync cursor --to claude-code ``` **Sync project-level config from Cursor to Zed:** ```bash aix sync cursor --to zed --scope project ``` **Read project config but write user config:** ```bash aix sync opencode --to windsurf --from-scope project --to-scope user ``` **Preview what would change:** ```bash aix sync cursor --to codex --dry-run ``` ## What sync does [Section titled “What sync does”](#what-sync-does) 1. Reads supported config from the source editor. 2. Installs the supported equivalent into the destination editor. 3. Reports anything the destination could not represent. ## Partial syncs and skipped writes [Section titled “Partial syncs and skipped writes”](#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 reads skills from the shared `.agents/skills/` folder rather than a Zed-specific one. * 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”](#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. --- # aix validate > Verify your ai.json configuration. Validates `ai.json` against the schema and checks for logical errors (e.g., missing files, invalid rule activation modes). ## Usage [Section titled “Usage”](#usage) ```bash aix validate ``` If errors are found, it prints the JSON path to the invalid field and a description of the error. It exits with code 1 on failure. ## Lockfiles [Section titled “Lockfiles”](#lockfiles) ```bash aix validate --lock ``` `--lock` creates or refreshes `ai.lock.json` beside `ai.json`. After that, plain `aix validate` also checks the lockfile and fails if the resolved config has changed. --- # Agents > Specialized primary agents and subagents in aix. Agents are reusable instruction profiles for specialized work. Define them once in `ai.json`; aix writes them to each editor’s native agent location when that editor has a documented file format. ```json { "agents": { "code-reviewer": { "description": "Review code changes before a PR", "mode": "subagent", "model": "sonnet", "tools": ["Read", "Grep"], "permissions": { "edit": "deny", "bash": "ask" }, "content": "Review the current diff for bugs and missing tests." } } } ``` Use `mode: "subagent"` for delegated specialists and `mode: "primary"` for editors that support switching the main assistant profile. The portable fields are `description`, `mode`, `model`, `tools`, `permissions`, `mcp`, and the instruction source. Editor-specific fields live under `editor`: ```json { "agents": { "tester": { "content": "Test the changed behavior.", "editor": { "antigravity": { "temperature": 0.2, "maxTurns": 8 } } } } } ``` Supported native destinations: * Claude Code: `.claude/agents/*.md` and `~/.claude/agents/*.md` * Cursor: `.cursor/agents/*.md` and `~/.cursor/agents/*.md` * GitHub Copilot: `.github/agents/*.md` and `~/.config/github-copilot/agents/*.md` * Antigravity: `.agents/agents/*.md` and `~/.gemini/config/agents/*.md` * OpenCode: `.opencode/agents/*.md` and `~/.config/opencode/agents/*.md` Codex, Windsurf, and Zed do not currently have aix-managed custom agent files. aix reports configured agents as unsupported for those editors instead of writing a lossy fallback. --- # Hooks > Trigger scripts on AI lifecycle events across every supported editor. **Hooks** run scripts in response to lifecycle events (a session starts, a tool is about to run, a model response just landed, …). aix lets you author one set of hooks in `ai.json` and translates each one into the native format of every target editor. ## Usage [Section titled “Usage”](#usage) Add a hook from the command line: ```bash aix add hook pre_command --command "npm run lint" aix add hook pre_file_write --matcher "Write|Edit" --command ./scripts/guard.sh aix add hook ./hooks/guard.json ``` `aix add hook` writes the hook to `ai.json` and installs it, joining whatever is already registered for that event. `aix list hooks` shows what is configured, `aix list --all` shows what your editors actually hold, and `aix remove hook ` takes one back out of `ai.json` and your editor config. See [`aix add`](/cli/add/) and [`aix remove`](/cli/remove/) for every flag. Or define hooks in `ai.json` directly: ```json { "hooks": { "session_start": [ { "matcher": ".*", "hooks": [{ "command": "./scripts/init-session.sh", "show_output": true }] } ], "pre_tool_use": [ { "matcher": "Bash", "hooks": [{ "command": "./scripts/audit-bash.sh" }] } ] } } ``` When you run `aix install`, each enabled editor adapter translates that block into the editor’s native config format and writes it to the right file. Nothing is dropped silently: aix warns when the editor has no hooks support at all, when an individual event has no native equivalent, when an action field cannot be expressed, and when the editor has no hooks file at the scope you targeted. To install one hook fragment without creating `ai.json`, use direct install: ```bash aix install ./hooks/pre-command.jsonc --type hook --target claude-code --user ``` ### Hooks and Plugins [Section titled “Hooks and Plugins”](#hooks-and-plugins) In editors with native plugin support (such as Claude Code), hooks defined in `ai.json` and hooks bundled within enabled [plugins](/concepts/plugins/) both trigger on matching lifecycle events. Claude Code executes matching hooks in sequence (both project/user hooks and active plugin hooks run for the given event). ## Hook events [Section titled “Hook events”](#hook-events) aix defines a normalized event vocabulary covering every event surfaced by the supported editors. Adapters map each to the editor’s native equivalent. ### Lifecycle [Section titled “Lifecycle”](#lifecycle) * `session_start`, `session_end` * `setup` (Claude Code’s `--init-only` / `--init` / `--maintenance`) ### Prompt [Section titled “Prompt”](#prompt) * `pre_prompt` — before submitting the user’s prompt * `user_prompt_expansion` — when a slash command expands into its body ### Tool execution [Section titled “Tool execution”](#tool-execution) * `pre_tool_use`, `post_tool_use`, `post_tool_use_failure` * `post_tool_batch` — after a parallel tool batch finishes * `pre_tool_selection` — before the model decides which tools it can call * `permission_request`, `permission_denied` * `pre_file_read`, `post_file_read` * `pre_file_write`, `post_file_write` * `pre_command`, `post_command` * `pre_mcp_tool`, `post_mcp_tool` * `pre_tab_file_read`, `post_tab_file_edit` (Cursor Tab) ### Model [Section titled “Model”](#model) * `pre_model_request` — before sending a request to the LLM * `post_model_response` — when the LLM emits a response * `pre_response_chunk` — for every streaming chunk ### Agent / response [Section titled “Agent / response”](#agent--response) * `pre_agent`, `post_agent` * `post_response`, `post_response_with_transcript` * `agent_stop`, `subagent_start`, `subagent_stop`, `subagent_idle` ### System / context [Section titled “System / context”](#system--context) * `pre_compact`, `post_compact` * `task_created`, `task_completed` * `worktree_setup`, `worktree_remove` * `instructions_loaded`, `config_change`, `cwd_changed`, `directory_added`, `file_changed` * `notification`, `elicitation`, `elicitation_result`, `error_occurred` ## Hook action fields [Section titled “Hook action fields”](#hook-action-fields) Every action under `hooks[].hooks[]` accepts an optional set of fields. Adapters use whatever the target editor surfaces and report the rest via install-time warnings. | Field | Purpose | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `type` | `command` (default), `http`, `mcp_tool`, `prompt`, or `agent`. | | `command` | Shell command to run. | | `bash` / `powershell` | Cross-platform commands. Used directly by Copilot and Windsurf; Codex writes `powershell` as `commandWindows`; Claude Code expands to two entries with `shell` selectors. | | `shell` | `bash` or `powershell` selector when only one of the command fields is set. | | `cwd` / `working_directory` | Working directory for the command. | | `env` | Environment variables to pass through (Copilot only today). | | `timeout` | Timeout in seconds. Adapters convert (Copilot uses `timeoutSec`). | | `async` / `async_rewake` | Background execution. `async` also reaches Codex, which added it in 0.148.0; `async_rewake` is Claude Code only. | | `if` | Permission-rule guard expression (Claude Code). | | `status_message` | Custom spinner message (Claude Code). | | `once` | Run once per session (Claude Code skill / agent frontmatter). | | `url`, `headers`, `allowed_env_vars` | HTTP webhook fields (Claude Code `http`). | | `mcp_server`, `mcp_tool`, `mcp_input` | MCP tool dispatch (Claude Code `mcp_tool`). | | `prompt`, `model` | LLM-evaluated prompt or agent (Claude Code, Cursor, Copilot `sessionStart`). | | `description`, `name` | Documentation / log identifier. | | `fail_closed` | Block the action when the hook itself fails (Cursor). | | `loop_limit` | Max auto-triggered follow-ups (Cursor). | | `show_output` | Surface output in the editor UI (Windsurf). | ## Per-editor coverage [Section titled “Per-editor coverage”](#per-editor-coverage) | Event family | Claude Code | Cursor | Copilot | Windsurf | Antigravity | | ------------------------------------------------------------------ | :---------: | :-------------------------------------------------: | :------------------: | :-------------------------------------: | :------------------: | | `session_start` / `session_end` | yes | yes | yes | — | yes | | `setup` | yes | — | — | — | — | | `user_prompt_expansion` | yes | — | — | — | — | | `pre_prompt` | yes | yes | yes | yes | — | | `pre_tool_use` / `post_tool_use` | yes | yes | yes | maps to read/write/command/mcp variants | yes | | `post_tool_use_failure` | yes | yes | yes | — | — | | `permission_request` / `permission_denied` | yes | `permission_request` via `preToolUse` | yes (request) | — | — | | `pre_tool_selection` | — | — | — | — | yes | | `pre_model_request` / `post_model_response` / `pre_response_chunk` | — | partial (`afterAgentResponse`, `afterAgentThought`) | — | — | yes | | `pre_agent` / `post_agent` | — | — | — | — | yes | | `post_response` / `post_response_with_transcript` | — | partial | — | yes (with transcript variant) | — | | `agent_stop` / `subagent_*` | yes | yes | yes | `agent_stop` only | — | | `pre_compact` / `post_compact` | yes | yes (pre only) | yes (pre only) | — | yes (`PreCompress`) | | Tab hooks | — | yes | — | — | — | | `notification` / `elicitation*` | yes | — | yes (`notification`) | — | yes (`Notification`) | | `error_occurred` | — | — | yes | — | — | | Worktree / fs / config events | yes | — | — | `post_setup_worktree` only | — | ## Decision output (per editor) [Section titled “Decision output (per editor)”](#decision-output-per-editor) aix only writes the hook configuration. Whether a hook *blocks* an action is a contract between your script and the editor. The shapes scripts must print to stdout (or signal via exit code 2) are summarized below. ### Claude Code [Section titled “Claude Code”](#claude-code) ```json { "decision": "block", "reason": "Why blocked", "hookSpecificOutput": { "hookEventName": "PreToolUse", "permissionDecision": "allow|deny|ask|defer", "permissionDecisionReason": "Reason", "updatedInput": { "field": "value" } } } ``` Exit code 2 also blocks the matching event. ### Cursor [Section titled “Cursor”](#cursor) ```json { "permission": "allow|deny|ask", "user_message": "shown to the user", "agent_message": "shown to the agent", "updated_input": { "field": "value" } } ``` Cursor also accepts `failClosed: true` on the hook config to block on hook errors. ### GitHub Copilot CLI [Section titled “GitHub Copilot CLI”](#github-copilot-cli) ```json { "permissionDecision": "allow|deny|ask", "permissionDecisionReason": "Required for deny", "modifiedArgs": { "field": "value" } } ``` `agentStop` and `subagentStop` use `{ "decision": "block|allow", "reason": "..." }`. ### Windsurf Cascade [Section titled “Windsurf Cascade”](#windsurf-cascade) Pre-hooks block the action with **exit code 2** and use stderr as the rejection reason. Post-hooks cannot block. ### Google Antigravity [Section titled “Google Antigravity”](#google-antigravity) ```json { "decision": "deny|allow", "reason": "Sent back to the agent on deny" } ``` ## Editor-native config locations [Section titled “Editor-native config locations”](#editor-native-config-locations) | Editor | Project | User | | ----------- | ---------------------------------------- | ------------------------------------------- | | Claude Code | `.claude/settings.json` | `~/.claude/settings.json` | | Cursor | `.cursor/hooks.json` (with `version: 1`) | `~/.cursor/hooks.json` | | Copilot | `.github/hooks/hooks.json` | `~/.config/github-copilot/hooks/hooks.json` | | Windsurf | `.windsurf/hooks.json` | `~/.codeium/windsurf/hooks.json` | | Antigravity | `.agents/hooks.json` | `~/.gemini/config/hooks.json` | | Codex | `.codex/hooks.json` | `~/.codex/hooks.json` | | Grok | `.grok/hooks.json` | `~/.grok/hooks.json` | Codex also reads hooks from inline `[hooks]` tables in `config.toml`. aix writes the JSON files instead, so it never has to rewrite the TOML file that holds your MCP servers. Zed and OpenCode do not currently support hooks. aix warns when you target them with a hook config. --- # MCP Servers > Extend your AI with Model Context Protocol servers. [Model Context Protocol (MCP)](https://modelcontextprotocol.io) is an open standard that enables AI models to interact with external tools and data sources. aix provides first-class support for configuring MCP servers and syncing that configuration to any editor that supports MCP (Cursor, GitHub Copilot, Claude Code, Windsurf, Zed, Codex, Antigravity, OpenCode, Grok CLI). ## Configuring Servers [Section titled “Configuring Servers”](#configuring-servers) Define servers in the `mcp` object in `ai.json`. There are two ways to connect to an MCP server: ### 1. Stdio (Local Process) [Section titled “1. Stdio (Local Process)”](#1-stdio-local-process) Run a local command (like `npx` or a python script) that speaks MCP over standard input/output. ```json { "mcp": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } } } } ``` ### 2. HTTP (Streamable HTTP) [Section titled “2. HTTP (Streamable HTTP)”](#2-http-streamable-http) Connect to a remote MCP server over HTTP. ```json { "mcp": { "brave-search": { "url": "http://localhost:3000/mcp" } } } ``` ## Tool & Resource Filtering [Section titled “Tool & Resource Filtering”](#tool--resource-filtering) You can restrict which tools and resources an MCP server exposes to the AI. ```json { "mcp": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."], "tools": { // Only allow reading files, not writing "include": ["read_file", "list_directory"], "exclude": ["write_file", "edit_file"] } } } } ``` ## Global vs. Project Config [Section titled “Global vs. Project Config”](#global-vs-project-config) Some editors (Windsurf and Codex in aix’s current adapter) use global MCP configuration, while others (Cursor, GitHub Copilot, Claude Code, Zed, Antigravity, OpenCode, Grok CLI) support project-specific config. aix handles this complexity for you: * For project-specific editors, it writes to the project config. * For global-only editors, it **merges** your project’s MCP config into the global config and tracks which project added which server. * When you remove a server or delete the project, aix automatically cleans up the global config using its state tracking system. ## Finding Servers [Section titled “Finding Servers”](#finding-servers) Use `aix search` to browse the official MCP Registry: ```bash aix search --type mcp ``` This interactive command lets you find servers (like GitHub, Slack, Postgres, Brave Search) and add them to your `ai.json` with one click. You can also install one MCP server without creating `ai.json`: ```bash aix install playwright --type mcp --target claude-code --user aix install https://example.com/mcp --type mcp --name docs --target claude-code --user ``` --- # Plugins & Marketplaces > Manage AI editor plugins, marketplaces, and compatibility unpacking across editors. Plugins extend AI agents with bundled tools, skills, rules, hooks, and MCP servers. Marketplaces provide registries or collections where plugins can be discovered and installed. `aix` provides first-class configuration for plugins and marketplaces via `ai.json`, configuring native plugin registries where supported and automatically converting and unpacking plugin components for editors without native plugin systems. *** ## Configuration [Section titled “Configuration”](#configuration) Add plugins and marketplaces to `ai.json`: ```json { "plugins": { "skill-creator@claude-plugins-official": true, "custom-tools": { "source": "./plugins/custom-tools", "enabled": true } }, "marketplaces": { "claude-plugins-official": "https://github.com/anthropics/claude-plugins-official", "team-marketplace": { "source": "https://github.com/my-org/marketplace", "type": "git" } } } ``` ### CLI Commands [Section titled “CLI Commands”](#cli-commands) ```bash # Add a marketplace aix add marketplace https://github.com/anthropics/claude-plugins-official --name claude-plugins-official # Add a plugin from a marketplace or local path aix add plugin skill-creator@claude-plugins-official aix add plugin ./plugins/custom-tools --name custom-tools # List configured plugins and marketplaces aix list plugins aix list marketplaces # Remove a plugin or marketplace aix remove plugin skill-creator@claude-plugins-official aix remove marketplace claude-plugins-official ``` *** ## Native Support vs Compatibility Unpacking [Section titled “Native Support vs Compatibility Unpacking”](#native-support-vs-compatibility-unpacking) Different editors have different levels of support for plugins and marketplaces: 1. **Native Plugin Editors** (`claude-code`, `opencode`, `copilot`, `cursor`): * **Claude Code**: Writes enabled plugins to `enabledPlugins` and marketplaces to `extraKnownMarketplaces` in `.claude/settings.json` (project) or `~/.claude/settings.json` (user). * **OpenCode**: Writes plugin references or paths to the `plugins` array in `opencode.json` (project) or `~/.config/opencode/opencode.json` (user). * **Copilot**: Writes `.github/copilot-plugins.json` and `.github/copilot-marketplaces.json` (project) or `~/.config/github-copilot/` (user). * **Cursor**: Writes `.cursor-plugin/plugin.json` and `.cursor-plugin/marketplaces.json` at project scope. (Cursor has no user-scope plugin configuration). 2. **Compatibility Unpacking for Non-Native Editors** (`codex`, `windsurf`, `zed`, `antigravity`, `grok`): * Editors without a native plugin engine cannot load Claude/OpenCode plugin bundles directly. * For local or resolved plugin directories, `aix` automatically discovers bundled components: * **Skills**: Discovered from `/skills/*/SKILL.md` or `/SKILL.md`. * **Rules**: Discovered from `/rules/*.md` or `*.mdc`. * **MCP Servers**: Discovered from `/.mcp.json` or `/mcp.json`. * These components are unpacked and installed directly into the target editor’s native directories (e.g. `.agents/skills/`, `.windsurf/rules/`, etc.). *** ## What Happens When a Skill, Rule, or Hook Collides with a Plugin? [Section titled “What Happens When a Skill, Rule, or Hook Collides with a Plugin?”](#what-happens-when-a-skill-rule-or-hook-collides-with-a-plugin) If your `ai.json` defines a skill, rule, MCP server, or hook that is also provided by an active plugin, behavior is governed by strict precedence and namespacing: ### 1. In Editors with Native Plugin Support [Section titled “1. In Editors with Native Plugin Support”](#1-in-editors-with-native-plugin-support) * **Skills**: Native editors like Claude Code resolve local project-level skills first. When a local skill in `.claude/skills/` shares a name with a skill bundled inside an enabled plugin, the local project skill takes precedence. * **Hooks**: Both user-defined hooks and plugin hooks execute. In Claude Code, hooks registered in `.claude/settings.json` and hooks provided by active plugins both trigger on matching lifecycle events, running sequentially. * **MCP Servers**: Servers explicitly declared in `mcp` (`.mcp.json`) run alongside any servers spun up by enabled plugins. ### 2. In Non-Native Editors via Compatibility Unpacking [Section titled “2. In Non-Native Editors via Compatibility Unpacking”](#2-in-non-native-editors-via-compatibility-unpacking) When `aix` unpacks a plugin for non-native editors, it employs two layers of conflict protection: 1. **Automatic Namespace Prefixing**: * Every unpacked component is automatically namespaced using the plugin’s name: `${pluginName}-${componentName}`. * For example, if plugin `skill-creator` contains a skill named `eval-viewer` and a rule `guidelines.md`, `aix` unpacks them as `skill-creator-eval-viewer` and `skill-creator-guidelines`. * Because user-defined skills and rules in `ai.json` are authored without the plugin prefix (e.g. `eval-viewer`), **their keys do not collide**. 2. **Explicit User Config Always Overrides (`...unpacked, ...userConfig`)**: * If a collision occurs (for instance, if you explicitly define a skill or rule named `skill-creator-eval-viewer` in your `ai.json`), `aix` merges unpacked components *underneath* your configuration: ```ts skills: { ...unpacked.skills, ...config.skills }, mcp: { ...unpacked.mcp, ...config.mcp }, rules: { ...unpacked.rules, ...config.rules }, ``` * **Your explicit `ai.json` definitions always override plugin-provided components.** --- # Prompts > Reusable slash commands and workflows. **Prompts** are pre-defined commands or workflows that you can invoke in your editor, typically via a slash command (e.g., `/refactor`, `/review`). ## Usage [Section titled “Usage”](#usage) Define prompts in `ai.json`: ```json { "prompts": { "review": { "description": "Review the selected code for bugs and style issues.", "path": "./prompts/review.md" }, "plan": { "description": "Generate a step-by-step implementation plan.", "argumentHint": "[feature description]", "content": "Create a detailed step-by-step plan to implement: " } } } ``` ## Editor Support [Section titled “Editor Support”](#editor-support) aix maps these prompts to the native feature in each editor when one exists: * **Cursor**: Maps to `.cursor/prompts/` (accessible via `/`). * **Claude Code**: Maps to `.claude/commands/`. * **GitHub Copilot**: Project installs map to `.github/prompts/*.prompt.md`, with native prompt-file frontmatter for `name`, `description`, and `argument-hint`. User-scope installs are converted into Copilot skills under `~/.config/github-copilot/skills/`. * **Windsurf**: Maps to Cascade commands. * **Codex**: Prompts are deprecated and unsupported natively. aix converts them to instruction-only Agent Skills during install. * **Antigravity**: Maps to markdown workflow files in `.agents/workflows/` with `description` frontmatter. * **OpenCode**: Maps to markdown command files in `.opencode/commands/` or `~/.config/opencode/commands/`. * **Grok CLI**: Prompts are converted to instruction-only Agent Skills in `.grok/skills/`. * **Zed**: Not supported. ## Prompt Files [Section titled “Prompt Files”](#prompt-files) Prompt files are standard markdown. Markdown is preserved as-is. ### Example `prompts/review.md` [Section titled “Example prompts/review.md”](#example-promptsreviewmd) ```markdown Review the selected code for: 1. Logic errors 2. Security vulnerabilities 3. Performance bottlenecks Provide the output in markdown format with code blocks for suggested fixes. ``` ## Arguments [Section titled “Arguments”](#arguments) Some prompts take arguments. Use the `argumentHint` property to explicitly tell the user what to provide. ```json "refactor": { "argumentHint": "[function_name] [pattern]" } ``` The content of the prompt will be prefixed to the user’s input. To install one prompt without creating `ai.json`, use direct install: ```bash aix install ./prompts/review.md --type prompt --name review --target claude-code --user ``` ## Codex conversion [Section titled “Codex conversion”](#codex-conversion) Codex uses [Agent Skills](https://developers.openai.com/codex/skills) for reusable workflows. When you install an `ai.json` that contains prompts to Codex, aix converts each prompt into a skill and links it into `.agents/skills/`. The generated skill keeps the prompt content as instructions and includes the prompt description as the skill description. Name conflicts are resolved in favor of real skills. If `skills.review` and `prompts.review` are both present, aix installs the configured skill as `review` and installs the converted prompt as `prompt-review`. If that name is already taken, aix adds a numeric suffix. --- # Rules > Persistent instructions that guide AI behavior. **Rules** are the most fundamental configuration unit. They are instructions that are “always on” or conditionally applied to guide the AI’s behavior, style, and constraints. ## Default Rules vs. Custom Rules [Section titled “Default Rules vs. Custom Rules”](#default-rules-vs-custom-rules) Most editors refer to these as “System Prompts” or “Custom Instructions”. aix unifies them under the concept of **Rules**. ## Usage [Section titled “Usage”](#usage) Define rules in `ai.json`: ```json { "rules": { "conciseness": { "activation": "always", "content": "Be concise. Do not explain code unless asked." }, "testing": { "activation": "glob", "globs": ["**/*.test.ts"], "content": "Use Vitest. Prefer 'it' over 'test'." } } } ``` ## Activation Modes [Section titled “Activation Modes”](#activation-modes) | Mode | Description | Editor Support | | -------- | ------------------------------------------------------------------ | -------------------------------- | | `always` | Active for every request. | All editors | | `glob` | Active only when editing files matching the glob pattern. | Cursor, GitHub Copilot, Windsurf | | `auto` | The AI decides when to activate the rule based on its description. | Cursor, Windsurf (Cascade) | | `manual` | Must be explicitly referenced by the user. | None (future support) | If an editor doesn’t support a specific activation mode (like `glob`), aix falls back to `always` for that editor. OpenCode uses `AGENTS.md` for rules. aix writes OpenCode rules into a managed section of that file and leaves the rest of the file alone. Grok CLI project rules are written to `.grok/rules/*.md`. User-scope installs write rules to `~/.grok/rules/*.md`. Claude Code project rules are written to `.claude/rules/*.md`. User-scope installs write rules to `~/.claude/rules/*.md` and keep `~/.claude/CLAUDE.md` as an aix-managed list of `@rules/...` imports, so personal notes in `CLAUDE.md` stay intact. ## Sources [Section titled “Sources”](#sources) Rules can be defined: * **Inline**: `content: "string"` * **File**: `path: "./rules/rule.md"` * **Git**: `git: { url: "...", path: "..." }` * **npm**: `npm: { package: "...", path: "..." }` You can install one rule without creating `ai.json`: ```bash aix install ./rules/typescript.md --type rule --name typescript --target claude-code ``` ## Common Use Cases [Section titled “Common Use Cases”](#common-use-cases) * **Code Style**: Indentation, naming conventions, preferred libraries. * **Workflow**: “Always write tests before code”, “Update documentation when changing APIs”. * **Personality**: “Be Socratic”, “Act as a senior engineer”. --- # Skills > Reusable capabilities for your AI agent. A **Skill** is a package of instructions and context that teaches an AI agent how to perform a specific task or work with a specific technology. aix follows the [Agent Skills specification](https://agentskills.io) (v1). ## Structure [Section titled “Structure”](#structure) A skill is a directory containing a `SKILL.md` file. ```markdown --- name: react-expert description: Expert knowledge for React 19 and Next.js 14+ --- # React Expert You are an expert in React. Follow these principles: 1. Always use functional components. 2. Prefer hooks for state management. ... ``` The frontmatter contains metadata, and the markdown body contains the instructions (system prompt context). ## Configuring Skills [Section titled “Configuring Skills”](#configuring-skills) Add skills to the `skills` object in `ai.json`: ```json { "skills": { "react": "aix-skill-react", "tailwindcss": { "git": "https://github.com/tailwindlabs/ai-skills", "path": "skills/tailwindcss" }, "local-utils": "./skills/utils" } } ``` ### Source Types [Section titled “Source Types”](#source-types) * **npm**: An installed package name (e.g. `aix-skill-react` or `@scope/skill`). * **git**: A git URL, shorthand (`github:user/repo`), or repo-path source like `owner/repo/path-to-skill`. To target a subfolder explicitly, use the `path` option in the object form. * **local**: A relative path to a directory containing a `SKILL.md`. ## Installing Skills [Section titled “Installing Skills”](#installing-skills) When you run `aix install`, skills are: 1. Resolved and downloaded (if remote) to `.aix/skills/{name}/`. 2. Symlinked into the location each editor reads. Every supported editor now has native Agent Skills support, so all of them get a real skill directory rather than a rule that points at one: * **Claude Code**: `.claude/skills/`. * **Cursor**: `.cursor/skills/`. * **GitHub Copilot**: `.github/skills/`. * **Google Antigravity**: `.agents/skills/`. * **OpenCode**: `.opencode/skills/`. * **Windsurf**: `.windsurf/skills/`. * **Grok CLI**: `.grok/skills/`. * **Codex** and **Zed**: `.agents/skills/`, the shared Agent Skills folder convention. `aix add skill` also accepts direct `SKILL.md` paths or blob URLs and normalizes them to the containing skill directory before saving the reference. When you install with `--user`, the canonical managed copy lives under `~/.aix/skills/{name}/` instead of the project-local `.aix/skills/{name}/`. To install one skill without creating `ai.json`, use direct install: ```bash aix install ./skills/review --type skill --target claude-code --user aix install github:org/aix-skills/review#v1.0.0 --type skill --target cursor ``` ### Precedence with Plugins [Section titled “Precedence with Plugins”](#precedence-with-plugins) If your project defines a skill in `ai.json` that is also bundled inside an enabled [plugin](/concepts/plugins/): * **Native Plugin Editors (e.g. Claude Code)**: The local project skill in `.claude/skills/` takes precedence over the plugin’s bundled version. * **Non-Native Editors (e.g. Codex, Windsurf, Zed)**: Unpacked plugin skills are automatically prefixed with the plugin name (`${pluginName}-${skillName}`) to prevent naming collisions. If you explicitly author a skill with the exact same name in `ai.json`, your explicit configuration overrides the unpacked plugin version. ## Creating a Skill [Section titled “Creating a Skill”](#creating-a-skill) 1. Create a directory: `mkdir skills/my-skill` 2. Create `skills/my-skill/SKILL.md`: ```markdown --- name: my-skill description: Does x, y, and z --- # Instructions ... ``` 3. Add it to `ai.json`: ```bash aix add skill ./skills/my-skill ``` --- # ai.json Reference > Complete reference for every field in the ai.json configuration file. `ai.json` is the single configuration file that aix uses to sync your AI editor settings. It supports JSONC (comments and trailing commas). ## Lockfiles [Section titled “Lockfiles”](#lockfiles) `ai.lock.json` is an optional sibling file for `ai.json`. Create or refresh it with: ```bash aix validate --lock ``` When `ai.lock.json` exists, aix reads it automatically. If the resolved config digest no longer matches, aix stops and asks you to refresh the lockfile. This catches edits to `ai.json`, inherited configs, local overrides, and resolved entities before aix writes editor files. The lockfile stores SHA-512 integrity strings and SHA-256 digests for config entities such as skills, rules, prompts, MCP servers, hooks, and editor settings. Hashes prove the content matches the lockfile. They do not prove publisher identity. ## Schema [Section titled “Schema”](#schema) Add the `$schema` field for IDE autocompletion and inline validation: ```json { "$schema": "https://x.a1st.dev/schemas/v1/ai.json" } ``` ## Top-level fields [Section titled “Top-level fields”](#top-level-fields) | Field | Type | Description | | -------------- | -------------------- | -------------------------------------------------------------------------------- | | `$schema` | `string` | JSON Schema URL for IDE validation | | `scope` | `string` | `"project"` (default) or `"user"`. Sets whether this is a project or user config | | `extends` | `string \| string[]` | Inherit from other configs | | `skills` | `object` | Map of skill names to skill references | | `mcp` | `object` | Map of server names to MCP server configs | | `rules` | `object` | Map of rule names to rule definitions | | `prompts` | `object` | Map of prompt names to prompt definitions | | `agents` | `object` | Map of agent names to agent definitions | | `editors` | `object \| string[]` | Editor targeting and editor-specific settings | | `hooks` | `object` | Lifecycle hooks for AI agent events | | `plugins` | `object` | Map of plugin names to plugin configurations | | `marketplaces` | `object` | Map of marketplace names to marketplace sources | | `aix` | `object` | aix tool settings (cache, backups) | *** ## `scope` [Section titled “scope”](#scope) Sets whether this config manages project-level or user-level AI configuration. Defaults to `"project"` when omitted. ```json { "scope": "user" } ``` When `scope` is `"user"`, aix writes to user-level editor config locations (e.g., global MCP settings). When `"project"` (or omitted), aix writes to project-local config files. *** ## `extends` [Section titled “extends”](#extends) Inherit from other configurations. Supports a single string or an array. Configs are resolved and deep-merged in order — later entries override earlier ones. ```json { "extends": "github:company/ai-config" } ``` ```json { "extends": ["@company/aix-base", "github:team/project-overrides", "./local-overrides.json"] } ``` Source types: * **npm package**: `"@company/aix-config"` or `"aix-config-react"` * **Git shorthand**: `"github:user/repo"`, `"gitlab:org/repo#v2.0"` * **URL**: `"https://raw.githubusercontent.com/..."` * **Local path**: `"./configs/base.json"` See [Config Inheritance](/configuration/config-inheritance/) for merge semantics. *** ## `skills` [Section titled “skills”](#skills) Map of skill names to skill references. Skill names must be lowercase alphanumeric with hyphens (max 64 characters). See [Skills](/concepts/skills/) for the full concept. ### String shorthand [Section titled “String shorthand”](#string-shorthand) ```json { "skills": { "react": "aix-skill-react", "custom": "./skills/custom", "remote": "github:user/skills#v2.0:skills/react" } } ``` ### Object form [Section titled “Object form”](#object-form) ```json { "skills": { "react": { "source": { "git": "https://github.com/user/repo", "ref": "v2.0", "path": "skills/react" }, "enabled": true, "config": { "framework": "nextjs" } } } } ``` ### Disable an inherited skill [Section titled “Disable an inherited skill”](#disable-an-inherited-skill) ```json { "skills": { "inherited-skill": false } } ``` *** ## `mcp` [Section titled “mcp”](#mcp) Map of server names to MCP server configurations. See [MCP Servers](/concepts/mcp-servers/) for the full concept. ### Stdio transport [Section titled “Stdio transport”](#stdio-transport) ```json { "mcp": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }, "cwd": ".", "shell": false } } } ``` | Field | Type | Default | Description | | --------- | ---------- | ------- | -------------------------------------------------------- | | `command` | `string` | — | Command to run | | `args` | `string[]` | `[]` | Command arguments | | `env` | `object` | `{}` | Environment variables. Use `${VAR}` for shell expansion. | | `cwd` | `string` | `.` | Working directory | | `shell` | `boolean` | `false` | Run in a shell | ### HTTP transport [Section titled “HTTP transport”](#http-transport) ```json { "mcp": { "remote-server": { "url": "https://example.com/mcp", "headers": { "Authorization": "Bearer ${TOKEN}" }, "timeout": 30000 } } } ``` | Field | Type | Default | Description | | ---------------- | --------- | ------- | ---------------------------------- | | `url` | `string` | — | MCP endpoint URL (Streamable HTTP) | | `headers` | `object` | `{}` | Request headers | | `timeout` | `number` | — | Connection timeout in ms | | `validateOrigin` | `boolean` | `true` | Validate server origin | ### Common options [Section titled “Common options”](#common-options) These fields apply to both transport types: | Field | Type | Default | Description | | ------------------ | -------------------- | ------- | -------------------------------------------------------------------------------------- | | `enabled` | `boolean` | `true` | Enable/disable the server | | `tools` | `string[] \| object` | — | Tool access control. Array of allowed tool names, or `{ include: [], exclude: [] }`. | | `disabledTools` | `string[]` | — | Tool names to disable | | `resources` | `string[] \| object` | — | Resource access control. Array of allowed patterns, or `{ include: [], exclude: [] }`. | | `autoStart` | `boolean` | `true` | Start with editor | | `restartOnFailure` | `boolean` | `true` | Auto-restart on crash | | `maxRestarts` | `number` | `3` | Max restart attempts | ### Disable an inherited server [Section titled “Disable an inherited server”](#disable-an-inherited-server) ```json { "mcp": { "inherited-server": false } } ``` *** ## `rules` [Section titled “rules”](#rules) Map of rule names to rule definitions. See [Rules](/concepts/rules/). ### String shorthand [Section titled “String shorthand”](#string-shorthand-1) ```json { "rules": { "code-style": "./rules/style.md", "remote-rule": "github:company/rules#main/typescript.md" } } ``` ### Object form [Section titled “Object form”](#object-form-1) ```json { "rules": { "code-style": { "activation": "always", "content": "Always use TypeScript strict mode." }, "testing": { "activation": "glob", "globs": ["**/*.test.ts", "**/*.spec.ts"], "path": "./rules/testing.md" }, "security": { "activation": "auto", "description": "Apply when working on authentication or authorization code.", "path": "./rules/security.md" } } } ``` | Field | Type | Default | Description | | ------------- | ---------- | ---------- | -------------------------------------------------- | | `activation` | `string` | `"always"` | `"always"`, `"auto"`, `"glob"`, or `"manual"` | | `description` | `string` | — | When the rule applies (required for `"auto"` mode) | | `globs` | `string[]` | — | File patterns (required for `"glob"` mode) | | `content` | `string` | — | Inline rule text | | `path` | `string` | — | Path to a markdown file | | `git` | `object` | — | `{ url, ref, path }` for git-hosted rules | | `npm` | `object` | — | `{ npm, path, version }` for npm-hosted rules | One source field (`content`, `path`, `git`, or `npm`) is required. *** ## `prompts` [Section titled “prompts”](#prompts) Map of prompt names to prompt definitions. See [Prompts](/concepts/prompts/). ### String shorthand [Section titled “String shorthand”](#string-shorthand-2) ```json { "prompts": { "review": "./prompts/review.md", "plan": "./prompts/plan.md" } } ``` ### Object form [Section titled “Object form”](#object-form-2) ```json { "prompts": { "review": { "description": "Review code changes for quality issues", "argumentHint": "[file] [message]", "path": "./prompts/review.md" } } } ``` | Field | Type | Description | | -------------- | -------- | ----------------------------------------------- | | `description` | `string` | Shown in the editor’s command picker | | `argumentHint` | `string` | Hint for arguments (e.g., `"[file] [message]"`) | | `content` | `string` | Inline prompt text | | `path` | `string` | Path to a markdown file | | `git` | `object` | `{ url, ref, path }` for git-hosted prompts | | `npm` | `object` | `{ npm, path, version }` for npm-hosted prompts | *** ## `agents` [Section titled “agents”](#agents) Map of specialized agent names to agent definitions. See [Agents](/concepts/agents/). ### String shorthand [Section titled “String shorthand”](#string-shorthand-3) ```json { "agents": { "code-reviewer": "./agents/code-reviewer.md" } } ``` ### Object form [Section titled “Object form”](#object-form-3) ```json { "agents": { "code-reviewer": { "description": "Review code changes", "mode": "subagent", "model": "sonnet", "tools": ["Read", "Grep"], "permissions": { "edit": "deny" }, "content": "Review the current diff." } } } ``` | Field | Type | Description | | ------------- | -------- | --------------------------------------------------------------- | | `description` | `string` | When the editor should use the agent | | `mode` | `string` | `"primary"` or `"subagent"` | | `model` | `string` | Editor model alias or model ID | | `tools` | `array` | Tool names available to the agent | | `permissions` | `object` | Portable `allow`, `ask`, or `deny` capability policies | | `mcp` | `object` | MCP servers available to this agent when supported | | `content` | `string` | Inline agent instructions | | `path` | `string` | Path to a markdown file | | `git` | `object` | `{ url, ref, path }` for git-hosted agents | | `npm` | `object` | `{ npm, path, version }` for npm-hosted agents | | `editor` | `object` | Editor-specific fields keyed by editor ID for round-trip safety | *** ## `editors` [Section titled “editors”](#editors) Configure which editors to install to and provide editor-specific settings. ### Array shorthand [Section titled “Array shorthand”](#array-shorthand) ```json { "editors": ["cursor", "copilot", "claude-code", "opencode"] } ``` ### Object form [Section titled “Object form”](#object-form-4) ```json { "editors": { "cursor": { "enabled": true, "rules": { "cursor-only": { "content": "Cursor-specific instructions here" } }, "aiSettings": {} }, "windsurf": { "enabled": true, "cascadeSettings": {} }, "claude-code": { "enabled": true, "permissions": {} }, "opencode": { "enabled": true } } } ``` If `editors` is omitted, aix auto-detects installed editors at install time. See [Editor Configuration](/configuration/editor-configuration/). *** ## `hooks` [Section titled “hooks”](#hooks) Lifecycle hooks for AI agent events. See [Hooks](/concepts/hooks/). ```json { "hooks": { "session_start": [ { "matcher": ".*", "hooks": [ { "command": "echo 'Session started'", "timeout": 5, "show_output": true } ] } ] } } ``` *** ## `plugins` [Section titled “plugins”](#plugins) Map of plugin names to plugin configurations. See [Plugins & Marketplaces](/concepts/plugins/) for architecture and conflict resolution rules. ```json { "plugins": { "skill-creator@claude-plugins-official": true, "custom-tools": { "source": "./plugins/custom-tools", "enabled": true } } } ``` Supports boolean enablement, string sources, or structured configuration objects with `source`, `enabled`, and options. *** ## `marketplaces` [Section titled “marketplaces”](#marketplaces) Map of marketplace names to marketplace sources. See [Plugins & Marketplaces](/concepts/plugins/). ```json { "marketplaces": { "claude-plugins-official": "https://github.com/anthropics/claude-plugins-official", "internal-market": { "source": "https://github.com/my-org/marketplace", "type": "git" } } } ``` *** ## `aix` [Section titled “aix”](#aix) Settings for the aix tool itself. These don’t affect AI editor behavior. ```json { "aix": { "cache": { "maxBackups": 5, "maxBackupAgeDays": 30, "maxCacheAgeDays": 7 } } } ``` | Field | Type | Default | Range | Description | | ------------------------ | -------- | ------- | ----- | ----------------------------- | | `cache.maxBackups` | `number` | `5` | 1–100 | Max backup files to keep | | `cache.maxBackupAgeDays` | `number` | `30` | 1–365 | Max backup age before cleanup | | `cache.maxCacheAgeDays` | `number` | `7` | 1–365 | Max cache age before cleanup | --- # ai.local.json > Use local configuration overrides for secrets and developer-specific settings. `ai.local.json` is a companion file to `ai.json` designed for configuration that should **not** be shared with your team or committed to version control. ## Usage [Section titled “Usage”](#usage) Create a file named `ai.local.json` in the same directory as your `ai.json`: ```json { "mcp": { "github": { "env": { "GITHUB_TOKEN": "ghp_my_secret_token" } } } } ``` When you run `aix install`, settings in `ai.local.json` are merged **on top** of `ai.json`. ## Best Practices [Section titled “Best Practices”](#best-practices) ### 1. Ignore it in git [Section titled “1. Ignore it in git”](#1-ignore-it-in-git) Always add `ai.local.json` to your `.gitignore`: .gitignore ```text ai.local.json .aix/ ``` ### 2. Store secrets here [Section titled “2. Store secrets here”](#2-store-secrets-here) Do not put API keys or tokens in `ai.json`. Instead, reference environment variables (`${VAR}`) in `ai.json` and set them in your shell, OR define them directly in `ai.local.json`. ### 3. Developer preferences [Section titled “3. Developer preferences”](#3-developer-preferences) Use `ai.local.json` to enable or disable tools locally without affecting teammates. **Example: turning off a noisy linter rule locally** ai.local.json ```json { "rules": { "strict-linting": false } } ``` ## Restrictions [Section titled “Restrictions”](#restrictions) Unlike the main `ai.json`, `ai.local.json` does **not** support the `extends` field. It is designed to be a flat patch file, not part of a complex inheritance chain. ## CLI Support [Section titled “CLI Support”](#cli-support) Most aix commands support a `--local` (or `-l`) flag to operate on the local config instead of the shared one. ```bash # Add an MCP server to local config only aix add mcp github --local # Remove a rule from local config only aix remove rule strict-linting --local ``` --- # Config Inheritance > Share and layer configurations using the extends field. aix allows you to inherit configuration from other sources using the `extends` field in `ai.json`. This enables organizations to maintain shared “base” configurations (with standard rules, skills, and MCP servers) while allowing individual projects to add their own. ## Usage [Section titled “Usage”](#usage) The `extends` field accepts a string or an array of strings. ```json { "extends": "github:my-org/ai-standards" } ``` Multiple sources are supported. They are processed in order, with later configurations overriding earlier ones: ```json { "extends": [ // 1. Base company standards "github:company/ai-base", // 2. Team specific overrides "github:team-platform/ai-config", // 3. Local file mixin "./configs/react-project.json" ] } ``` The final configuration is the result of merging all extended configs into your project’s `ai.json`. ## Source Types [Section titled “Source Types”](#source-types) aix supports extending from: ### npm packages [Section titled “npm packages”](#npm-packages) ```json { "extends": "@company/aix-config" } ``` The package must export an `ai.json` (or have one in its root). ### Git repositories [Section titled “Git repositories”](#git-repositories) Use the shorthand syntax `provider:user/repo`: ```json { "extends": "github:company/repo" } ``` You can target a specific branch, tag, or commit hash: ```json { "extends": "github:company/repo#v2.0.0" } ``` If the config file is not at the root of the repo, use the `path` query param (not supported in shorthand yet, so use full URL or ensure it’s at root/`ai.json` for now). ### URLs [Section titled “URLs”](#urls) Direct HTTP/HTTPS URLs to a JSON file: ```json { "extends": "https://raw.githubusercontent.com/user/repo/main/ai.json" } ``` ### Local paths [Section titled “Local paths”](#local-paths) Relative paths to other JSON files: ```json { "extends": "../shared/ai.json" } ``` ## Merge Logic [Section titled “Merge Logic”](#merge-logic) When merging configurations: 1. **Object maps**: `skills`, `mcp`, `rules`, and `prompts` are merged by key. Keys in your `ai.json` overwrite keys from `extends`. 2. **Editors**: Normalized to object form and deep-merged. Remote editor settings are merged into local ones per editor key. 3. **Metadata**: `$schema` and `extends` from the remote config win. 4. **Disabling**: You can disable an inherited item by setting it to `false`. 5. **Not inherited**: `hooks` and `aix` settings are not inherited from extended configs. **Example: Disabling an inherited rule** Base config (`github:company/base`): ```json { "rules": { "always-add-tests": { "content": "..." } } } ``` Your config: ```json { "extends": "github:company/base", "rules": { "always-add-tests": false } } ``` ## Resolution Process [Section titled “Resolution Process”](#resolution-process) 1. references in `extends` are resolved and downloaded (cached in `.aix/cache`). 2. Configs are loaded in order. 3. Recursive `extends` are resolved (a config can extend another config). 4. All configs are merged into a single “resolved” configuration. 5. Your local `ai.json` is applied last. 6. `ai.local.json` (if present) is applied on top. To see the final result of this process, run: ```bash aix config show --resolved ``` --- # Editor Configuration > Configure target editors and editor-specific settings. By default, `aix install` detects all supported editors installed on your system and syncs configuration to them. You can control this behavior and pass editor-specific settings using the `editors` field. ## Limiting Installation [Section titled “Limiting Installation”](#limiting-installation) To only install to specific editors, provide an array of strings: ```json { "editors": ["cursor", "copilot", "opencode"] } ``` Or use the object form: ```json { "editors": { "cursor": { "enabled": true }, "copilot": { "enabled": true }, "opencode": { "enabled": true }, "windsurf": { "enabled": false } } } ``` ## Editor-Specific Settings [Section titled “Editor-Specific Settings”](#editor-specific-settings) The object form allows you to pass additional configuration to specific editors. ### Windsurf [Section titled “Windsurf”](#windsurf) Windsurf (by Codeium) supports “Cascade” settings. ```json { "editors": { "windsurf": { "enabled": true, "cascadeSettings": { "mcp": { "globalEnabled": true } } } } } ``` ### Cursor [Section titled “Cursor”](#cursor) Cursor has its own AI settings block. ```json { "editors": { "cursor": { "enabled": true, "aiSettings": { // Cursor specific settings } } } } ``` ### Claude Code [Section titled “Claude Code”](#claude-code) Configure permissions for the Claude Code CLI tool. ```json { "editors": { "claude-code": { "enabled": true, "permissions": { "allow-file-access": true } } } } ``` ### OpenCode [Section titled “OpenCode”](#opencode) OpenCode currently uses the shared editor config shape. Target it with `enabled` and optional OpenCode-only rules: ```json { "editors": { "opencode": { "enabled": true, "rules": { "opencode-context": { "content": "Prefer OpenCode commands when a reusable workflow exists." } } } } } ``` ### Grok CLI [Section titled “Grok CLI”](#grok-cli) Target Grok CLI with `enabled` and optional Grok-only rules: ```json { "editors": { "grok": { "enabled": true, "rules": { "grok-context": { "content": "Prefer concise CLI explanations." } } } } } ``` ### Antigravity [Section titled “Antigravity”](#antigravity) Antigravity uses `~/.gemini/antigravity` configuration, supporting subagents in `.agents/` workflows, MCP servers, rules, and skills. Target it with `enabled` and optional Antigravity-only rules: ```json { "editors": { "antigravity": { "enabled": true, "rules": { "antigravity-context": { "content": "Use Antigravity workflow conventions and tools." } } } } } ``` ## Editor-Specific Rules [Section titled “Editor-Specific Rules”](#editor-specific-rules) Sometimes you need to give instructions to one specific AI model but not others. You can define rules nested under the editor config: ```json { "editors": { "cursor": { "rules": { "cursor-shortcuts": { "content": "Use cmd+k for inline edits..." } } } } } ``` Rules defined here will **only** be written to that editor’s configuration. --- # Google Antigravity support details > How aix maps rules, prompts, MCP, skills, hooks, and compatibility surfaces for Google Antigravity. Native .agents/ rules, workflows, MCP config, skills, and hooks. Antigravity is Google DeepMind's agent-first platform with unified .agents/ configuration. Start on [the full support matrix](/editors/supported-editors/) when you need to compare every editor at once. Use this page when you want the exact terms, support details, and project/user targets for Google Antigravity. Related aix concepts: [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Editor-specific notes * Antigravity standardizes on the project-level `.agents/` directory. * Workflows are stored as markdown files with YAML frontmatter in `.agents/workflows/`. * MCP configuration is stored in `.agents/mcp_config.json`. ## Feature details How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ### Rules [Learn the concept](/concepts/rules/) Modular markdown rules with frontmatter triggers in `.agents/rules/` and `AGENTS.md`. Google Antigravity calls this **.agents/rules/\*.md** aix support Native * Project Editor Supported aix Native Path `.agents/rules/*.md` * User Editor Supported aix Native Path `~/.gemini/GEMINI.md` - Also supports project-level `AGENTS.md`. ### Prompts [Learn the concept](/concepts/prompts/) Markdown workflow files with `description` frontmatter in `.agents/workflows/`. Google Antigravity calls this **Workflows** aix support Native * Project Editor Supported aix Native Path `.agents/workflows/*.md` * User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` ### MCP [Learn the concept](/concepts/mcp-servers/) JSON configuration in `.agents/mcp_config.json`. Google Antigravity calls this **MCP servers** aix support Native * Project Editor Supported aix Native Path `.agents/mcp_config.json` * User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` ### Skills [Learn the concept](/concepts/skills/) Symlinked native skill directories in `.agents/skills/{name}/`. Google Antigravity calls this **Skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/{name}/` * User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` ### Agents Markdown subagent files with YAML frontmatter in `.agents/agents/`. Google Antigravity calls this **Subagents** aix support Native * Project Editor Supported aix Native Path `.agents/agents/*.md` * User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` **Supported metadata:** `description` , `mode` , `model` , `tools` , `temperature` , `maxTurns` , `editor.antigravity` ### Hooks [Learn the concept](/concepts/hooks/) JSON hooks in `.agents/hooks.json`. Google Antigravity calls this **Hooks** aix support Native * Project Editor Supported aix Native Path `.agents/hooks.json` * User Editor Supported aix Native Path `~/.gemini/config/hooks.json` **Supported metadata:** `PostInvocation` , `PostToolUse` , `PreInvocation` , `PreToolUse` , `SessionEnd` , `SessionStart` , `Stop` * `timeout` is in seconds. ### Plugins Compatibility unpacking into native skills and MCP servers. Google Antigravity calls this **Plugins** aix support Adapter * Project Editor Supported aix Adapter Path `.agents/skills/` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. ### Marketplaces Antigravity does not support custom AI agent marketplaces. Google Antigravity calls this **Marketplaces** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. ### AGENTS.md Native project-level AGENTS.md instructions. Google Antigravity calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md` * User Editor Supported aix Native Path `~/.gemini/GEMINI.md` ### .agents/skills Native Agent Skills directory in `.agents/skills/`. Google Antigravity calls this **.agents/skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/{name}/` * User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` ## Related guides * [Google Antigravity to Cursor](/editors/migrations/how-to-migrate-from-antigravity-to-cursor/) * [Cursor to Google Antigravity](/editors/migrations/how-to-migrate-from-cursor-to-antigravity/) * [All migration guides that start from Google Antigravity](/editors/migrations/#antigravity) --- # Editor changelog > Research notes for editor release changes that affect aix implementation and user workflows. This page is generated from markdown notes in `docs/editor-research/`. Each note records the editor version checked, the research timestamp, source links, and what aix needs to do about the change. **42** version notes **233** tracked changes **9** supported editors Editor All editors (all) aix status All statuses (all) No editor research notes match those filters. Sources: [x.ai](https://x.ai/cli) , [x.ai](https://x.ai/cli/docs) * Grok Build CLI stores MCP configuration in TOML format (\`.grok/config.toml\` for project scope, \`\~/.grok/config.toml\` for user scope) under \`\[mcp\_servers.\]\`. Needs review supported via GrokMcpStrategy with both stdio and HTTP support. * Grok Build CLI reads rules from \`.grok/rules/\*.md\` and user rules from \`\~/.grok/rules/\*.md\`, alongside native discovery of \`AGENTS.md\`. Needs review supported via GrokRulesStrategy. * Grok Build CLI exposes custom slash commands in its interactive TUI through Agent Skills. Needs review supported via prompt-to-skill conversion into \`.grok/skills/prompt-{name}/\`. * Grok Build CLI supports lifecycle hooks in \`.grok/hooks.json\` and \`\~/.grok/hooks.json\`. Needs review supported via GrokHooksStrategy. Sources: [raw.githubusercontent.com](https://raw.githubusercontent.com/google-gemini/gemini-cli/main/docs/changelogs/index.md) , [raw.githubusercontent.com](https://raw.githubusercontent.com/google-gemini/gemini-cli/main/docs/changelogs/latest.md) , [github.com](https://github.com/google-gemini/gemini-cli/releases) , [www.npmjs.com](https://www.npmjs.com/package/@google/gemini-cli) * Gemini CLI 0.58.0 isolated Docker and container runtime sockets and execution binaries within macOS Seatbelt sandbox profiles to prevent unauthorized container escape. No repo change no change needed. This is an internal runtime sandbox hardening measure within the Gemini CLI executor. * Gemini CLI 0.58.0 enforced consistent symlink evaluation in ignore path handling to prevent bypasses around project ignore files. No repo change no change needed. aix respects project boundaries and standard ignore mechanisms. * Gemini CLI 0.58.0 declared top-level safety checkers in write policy configuration. No repo change no change needed. aix does not configure write safety checkers directly; it generates standard instructions and MCP configuration. * Gemini CLI 0.58.0 optimized conversational history rollback mechanics and retry nudge flows, and resolved stale cancellation errors in the Agent-to-Agent server. No repo change no change needed. Runtime session resilience improvements. Sources: [code.claude.com](https://code.claude.com/docs/en/changelog) , [www.npmjs.com](https://www.npmjs.com/package/@anthropic-ai/claude-code) * Claude Code 2.1.251 added \`PreModelSwitch\` and \`PostModelSwitch\` lifecycle hooks. \`PreModelSwitch\` fires before switching to a new model and can abort or veto the switch via exit code or structured output. \`PostModelSwitch\` fires immediately after a model switch completes, receiving the previous and current model identifiers. Already handled addressed 2026-09-07. Generic \`pre\_model\_switch\` and \`post\_model\_switch\` events were added to \`hookEventSchema\` in \`packages/schema/src/hooks.ts\` and mapped to \`PreModelSwitch\` and \`PostModelSwitch\` in \`packages/core/src/editors/strategies/claude-code/hooks.ts\`. Format and round-trip import support is verified in \`packages/core/src/\_\_tests\_\_/editors/hooks-strategies.test.ts\`. * Claude Code 2.1.248 added an \`experimental.cacheTtl\` frontmatter option to custom agent markdown files (\`"5m"\` or \`"1h"\`) to tune prompt caching lifetimes for subagent turns. No repo change no change needed. aix writes standard agent configuration and does not strip or validate agent frontmatter fields beyond required properties. Custom agent frontmatter passes through. * Claude Code 2.1.259 introduced \`managedMcpServers\` in managed configuration, allowing organizations to deploy required, unmodifiable MCP servers with managed lifecycle. No repo change no change needed. aix writes project and user MCP configurations to \`.mcp.json\` and \`\~/.claude.json\`. Managed settings in global configuration are preserved intact by aix's non-destructive JSON merge strategies. * Claude Code 2.1.248 added a \`--restricted\` CLI execution flag that strips project-level capabilities, disallowing execution of untrusted project hooks, project commands, and inline project MCP definitions. No repo change no change needed. This is a runtime invocation flag for Claude Code. aix writes compliant configuration to project files that will be respected when running under normal permissions or safely bypassed in restricted mode. * Claude Code 2.1.257 stopped reading \`defaultMode: "bypassPermissions"\` from project-level or local settings (\`.claude/settings.json\`, \`.claude/settings.local.json\`), restricting global permission bypass to user configuration. No repo change no change needed. aix does not configure or emit \`defaultMode\` or \`bypassPermissions\` in project settings. * Claude Code 2.1.251 disallowed setting \`CLAUDE\_CONFIG\_DIR\` or \`TMPDIR\` in project-level \`env\` settings to prevent directory traversal and arbitrary code redirection. No repo change no change needed. aix does not emit these environment variables in generated project settings. * Claude Code 2.1.251 fixed an issue where hook \`stdout\` was buffered indefinitely during long-running streaming operations rather than delivered incrementally. No repo change no change needed. Runtime fix within Claude Code's hook execution engine. * Claude Code 2.1.244 resolved PowerShell path quoting inconsistencies on Windows when invoking hook scripts with spaces in directory paths. No repo change no change needed. Runtime fix within Claude Code's process launcher. Sources: [learn.chatgpt.com](https://learn.chatgpt.com/docs/changelog) , [github.com](https://github.com/openai/codex/releases) , [www.npmjs.com](https://www.npmjs.com/package/@openai/codex) * Codex 0.150.0 added an \`Interrupt\` hook event that executes commands or MCP handlers when an active top-level turn is interrupted by the user or client. Already handled addressed 2026-09-07. Generic \`interrupt\` event was added to \`hookEventSchema\` in \`packages/schema/src/hooks.ts\` and mapped to \`Interrupt\` in \`packages/core/src/editors/strategies/codex/hooks.ts\`. Format and round-trip import support is verified in \`packages/core/src/\_\_tests\_\_/editors/hooks-strategies.test.ts\`. * Codex 0.150.0 stopped loading project-level \`AGENTS.md\` instructions in untrusted workspaces, and ensured that managed deny-read rules remain enforced after permission state changes. Needs review supported. aix generates project-level \`AGENTS.md\` rules through \`packages/core/src/editors/strategies/codex/rules.ts\`. This change reinforces the need for user trust confirmation before project instructions take effect. * Codex 0.151.0 introduced a configurable grace period for discovering tools from optional MCP servers, and allowed extensions to inspect or replace MCP tool results before they reach the model. No repo change no change needed. aix configures MCP servers via standard Codex \`config.toml\` entries. Dynamic tool interception and discovery grace periods are runtime extension capabilities. * Codex 0.152.0 updated MCP server name validation to permit \`:\`, \`@\`, \`/\`, and \`.\` characters, supporting package-style names across CLI commands and authentication scopes. Needs review supported. aix MCP server schemas permit package-scoped names and string identifiers in \`ai.json\`. * Codex 0.152.0 added an \`output\_token\_limit\` setting for individual MCP tools to truncate excessive tool outputs consistently across session resumes. Needs review not applicable. aix does not currently define per-tool output token limits in generic MCP server configurations. * Codex 0.153.0 added \`features.context\_management.experimental\_mode\` and \`tui.disable\_paste\_burst\` configuration toggles, as well as \`request\_user\_input\_async\` in app-server thread metadata. No repo change no change needed. These are specific runtime options. aix's configuration management preserves unmanaged keys in \`config.toml\`. Sources: [raw.githubusercontent.com](https://raw.githubusercontent.com/github/copilot-cli/main/changelog.md) , [docs.github.com](https://docs.github.com/en/copilot/reference/custom-agents-configuration) , [www.npmjs.com](https://www.npmjs.com/package/@github/copilot) * Copilot 1.0.83 added support for custom agents to list multiple models in frontmatter \`model\` (as an ordered fallback array) paired with \`model-policy: required\`. Needs review partial. aix currently models the agent \`model\` field as a single string in \`packages/schema/src/agent.ts\`. Custom agent passthrough preserves arbitrary frontmatter, but generic fallback model arrays are not yet first-class in schema. * Copilot 1.0.81 injects OpenTelemetry trace context into hook executions via \`traceparent\` and \`tracestate\` process environment variables and JSON inputs. No repo change no change needed. This is runtime contextual telemetry supplied by the Copilot CLI engine to hook handler processes. * Copilot 1.0.81 resolved agent instruction discovery order when project and user custom agents share identical identifiers. No repo change no change needed. aix installs custom agents into the standard \`.github/copilot/agents/\` directory per documented conventions. Sources: [cursor.com](https://cursor.com/changelog) , [docs.cursor.com](https://docs.cursor.com/hooks) * Start from scratch (2026-08-27): Introduced enhanced initial prompt options and empty-state workflow suggestions in the Composer agent interface. No repo change no change needed. This is an internal UI enhancement for Composer and does not alter configuration formats. * Self-hosted machines (2026-09-02): Enabled running Cursor Cloud Agents on private infrastructure and self-hosted worker pools. No repo change no change needed. Infrastructure configuration for cloud agents is managed via the Cursor web dashboard and does not affect local workspace files. * Cursor hook definitions remain standardized at \`.cursor/hooks.json\` with \`version: 1\` envelope formatting. Needs review supported. \`packages/core/src/editors/strategies/cursor/hooks.ts\` emits compliant \`version: 1\` hook configuration files. Sources: [github.com](https://github.com/anomalyco/opencode/releases) , [opencode.ai](https://opencode.ai/docs/config/) , [www.npmjs.com](https://www.npmjs.com/package/opencode-ai) * OpenCode 1.18.29 updated Codex OAuth model filtering to recognize integer GPT versions such as \`gpt-6\`. No repo change no change needed. Model resolution bugfix in OpenCode's provider adapter. * OpenCode 1.18.28 sent the session identifier as GitHub Copilot's interaction header to improve cross-turn request correlation. No repo change no change needed. Runtime networking enhancement. * OpenCode 1.18.27 defaulted provider header timeouts and streamed chunk timeouts to five minutes (with \`false\` supported to disable), and added Anthropic \`thinking.blockBinding\` configuration support for Claude 5.1+ models. No repo change no change needed. These are model provider execution settings and do not alter OpenCode workspace rules or MCP files. * OpenCode 1.18.26 fixed tool call timing during live metadata updates and prevented \`apply\_patch\` from emitting empty move paths in permission metadata. No repo change no change needed. Runtime execution fix. * OpenCode 1.18.24 enabled V1 runtimes to read supported V2 configuration fields so newer configuration files operate across mixed environments. Needs review supported. aix generates standard OpenCode workspace configuration files compatible with current stable and forward runtimes. * OpenCode 1.18.23 added native dashed slug conversion for Anthropic models routed through Cloudflare AI Gateway. No repo change no change needed. Provider gateway routing fix. Sources: [docs.devin.ai](https://docs.devin.ai/desktop/changelog) , [docs.devin.ai](https://docs.devin.ai/desktop/cascade/hooks) * Windsurf configuration formats continue to use the established Cascade paths: \`.windsurf/rules/\`, \`.windsurf/workflows/\`, and \`\~/.codeium/windsurf/mcp\_config.json\`. Needs review supported. \`packages/core/src/editors/adapters/windsurf.ts\` correctly targets these paths. * As documented in \`docs/editor-research/windsurf/3.8.20.md\`, Devin Local subagents remain isolated within \`.devin/agents/\` and are not currently targeted by the Windsurf adapter. No repo change no change needed. Architectural namespace boundary maintained. Sources: [zed.dev](https://zed.dev/releases/stable) , [github.com](https://github.com/zed-industries/zed/releases) , [zed.dev](https://zed.dev/docs) * Zed 1.18.1 fixed an issue where integrated terminal inputs were dropped on Windows for certain keyboard layouts, and prevented \`goToDefinition\` from navigating out-of-worktree. No repo change no change needed. Core editor stability bugfixes. * Zed 1.18.0 refreshed Markdown preview styling and added persistent File Finder history across workspace sessions. No repo change no change needed. UI and preview enhancements. * Zed 1.18.0 fixed the inline assistant becoming unresponsive when an LLM model emitted reasoning blocks prior to initiating tool calls. No repo change no change needed. Assistant runtime execution fix. * Zed 1.17.2 introduced tabular data preview support and enabled low reasoning effort configurations for DeepSeek V4 Flash and Pro models. No repo change no change needed. Editor capability improvements. * Zed's assistant configuration, context server schema (\`context\_servers\` in \`settings.json\`), and rules loading (\`.zed/rules.md\`) remain stable and unchanged. Needs review supported. \`packages/core/src/editors/adapters/zed.ts\` targets \`.zed/settings.json\` context servers and rules files. Sources: [github.com](https://github.com/google-gemini/gemini-cli/releases) , [github.com](https://github.com/google-gemini/gemini-cli/blob/main/docs/changelogs/index.md) , [github.com](https://github.com/google-gemini/gemini-cli/blob/main/docs/changelogs/latest.md) , [www.npmjs.com](https://www.npmjs.com/package/@google/gemini-cli) * 0.52.0: "fix(core): simplify plan mode write policy to support relative paths". No repo change no change needed. This is the agent's own write-permission policy in plan mode, not a config schema aix generates. * 0.53.0: "fix(a2a-server): enforce workspace trust and task isolation to prevent RCE". No repo change no change needed. Server-side hardening of the agent-to-agent server. It does affect when project config is trusted, the same way the equivalent Claude Code and Cursor trust changes do, but does not change what aix writes. * 0.53.0 added an eval coverage report command, and 0.54.0 added session ID rotation on model fallbacks. No repo change no change needed. Neither is a config surface. Sources: [code.claude.com](https://code.claude.com/docs/en/changelog) , [www.npmjs.com](https://www.npmjs.com/package/@anthropic-ai/claude-code) * Claude Code 2.1.219 added a \`DirectoryAdded\` hook that fires after \`/add-dir\` or the SDK \`register\_repo\_root\` control request registers a new working directory mid-session. Already handled addressed 2026-08-24. A \`directory\_added\` event was added to \`hookEventSchema\` in \`packages/schema/src/hooks.ts\` and mapped to \`DirectoryAdded\` in \`packages/core/src/editors/strategies/claude-code/hooks.ts\`. It is a new event rather than a reuse of \`cwd\_changed\`, which maps to \`CwdChanged\` and fires when the working directory changes rather than when one is added; mapping both to one name would make the hook fire at the wrong time. Every other editor reports it through \`getUnsupportedEvents\`, so targeting them warns instead of dropping it. Covered by three tests in \`packages/core/src/\_\_tests\_\_/editors/hooks-strategies.test.ts\` and an end-to-end install test in \`packages/cli/src/\_\_tests\_\_/commands.test.ts\`. * Claude Code 2.1.239 fixed agents, skills, and commands whose \`.md\` file starts with a UTF-8 byte-order mark being silently ignored. No repo change no change needed, but worth a regression test. aix writes markdown through the runtime adapter's file writes and does not prepend a BOM. A rule, prompt, agent, or skill copied from a source file that already carries a BOM would have been affected before this fix; it now loads either way. * Claude Code 2.1.239 required that a folder's trust dialog be accepted before a project \`.mcp.json\` \`headersHelper\`, or an inline MCP server in a project or \`--add-dir\` agent file, will run. The same release stopped a \`headersHelper\` from a project \`.mcp.json\`, plugin, or agent file inheriting credential env vars, and moved user, managed, and claude.ai-scope helpers to run from the Claude config directory. No repo change no change needed. aix writes static \`headers\` into MCP config, not \`headersHelper\`; \`grep -rn "headersHelper" packages/core/src\` returns nothing. The header handling aix does own was changed in commits 05993a7 and cc68cbc, which keep MCP auth headers across sync and import. * Claude Code 2.1.239 fixed \`claudeMdExcludes\` not excluding a symlinked \`.claude/rules\` file. No repo change no change needed. aix writes real files into \`.claude/rules\` (\`packages/core/src/editors/strategies/claude-code/rules.ts\`), not symlinks, so the exclusion path this fixed does not apply to aix output. aix does symlink native skills, which this fix does not cover. * Claude Code 2.1.232 added \`additionalMarketplaces\` and \`allowedMarketplaces\` as aliases for the \`extraKnownMarketplaces\` and \`strictKnownMarketplaces\` settings keys, and 2.1.223 added owner wildcard entries (\`"owner/\*"\`) to the strict and blocked marketplace managed settings. No repo change no change needed. aix does not generate marketplace settings. These are additional unknown keys that aix's \`.claude/settings.json\` merge must preserve, which the merge tests in \`packages/core/src/\_\_tests\_\_/merge.test.ts\` cover. * Claude Code 2.1.232 fixed nested git repositories inheriting trust from a parent directory; each repository now requires its own trust confirmation. No repo change no config change needed. This affects when aix-written project config takes effect for a user, not what aix writes. A monorepo user who installs into a nested repo now has to confirm trust there before the config loads. * Claude Code 2.1.222 fixed \`PreToolUse\` auto-allow hooks bypassing tool restrictions in background agent tasks, and 2.1.239 fixed OpenTelemetry trace fragmentation for tool executions deferred by a \`PreToolUse\` hook. No repo change no change needed. Both are runtime behaviors of hooks aix already writes. The \`PreToolUse\` output shape from \`packages/core/src/editors/strategies/claude-code/hooks.ts\` is unaffected. * Claude Code 2.1.222 stopped repo-local settings (\`.claude/settings.json\` or \`.claude/settings.local.json\`) from turning Remote Control auto-start on; they can still turn it off. No repo change no change needed. aix does not write Remote Control settings. Noted because it is a narrowing of what project-scope \`.claude/settings.json\` can do, which is the file aix writes project hooks into. * Claude Code 2.1.221 changed plugins to accept \`"."\` as a \`skills\` path. No repo change no change needed. aix installs skills as directories under \`.claude/skills/\`, not through plugin manifests. * Claude Code 2.1.216 added a \`sandbox.filesystem.disabled\` setting, 2.1.219 added \`sandbox.network.strictAllowlist\`, 2.1.224 added \`crossSessionInbound\`, \`dialogExpiry\`, and sandbox credential-masking options, 2.1.235 added \`spellcheck\`, and 2.1.238 added \`keybindingFlavor\`. No repo change no change needed. None of these are keys aix emits. As with every settings addition, aix's section-scoped writes to \`.claude/settings.json\` must leave them alone, which the merge tests cover. * Claude Code 2.1.233 stopped exposing todo/task-tracking tools (\`TaskCreate\`, \`TaskGet\`, \`TaskUpdate\`, \`TaskList\`, \`TodoWrite\`) on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models unless \`CLAUDE\_CODE\_ENABLE\_TODO\_TOOLS=1\` is set. Already handled addressed 2026-08-24 as a documentation change. aix still writes \`TaskCreated\` and \`TaskCompleted\`, which is correct: the events exist and the user may have the tools enabled. A note in the Claude Code profile in \`packages/schema/src/editor-support.ts\` now records that the hooks only fire when the todo and task tools are available, and names the env var and the model set. * Claude Code 2.1.233 fixed skill and command argument substitution so argument values are not re-expanded. No repo change no change needed. aix copies prompt and skill file contents unchanged; the substitution happens at invocation time inside Claude Code. Sources: [github.com](https://github.com/openai/codex/releases) , [learn.chatgpt.com](https://learn.chatgpt.com/docs/hooks) , [www.npmjs.com](https://www.npmjs.com/package/@openai/codex) * Codex 0.148.0 added asynchronous command hooks: "Hooks can now run commands asynchronously and invoke MCP tools." The hooks documentation describes an \`async\` boolean on a command handler, up to 8 concurrent async hooks per session, output delivered at the next safe point in the conversation, no ability to block the triggering operation, and \`SessionEnd\` hooks always running synchronously regardless of the flag. Already handled addressed 2026-08-24. \`async\` is now in \`CODEX\_COMMAND\_FIELDS\` and on \`CodexCommandHookEntry\`, \`buildCodexHook\` emits it, and \`parseCodexHook\` reads it back, all in \`packages/core/src/editors/strategies/codex/hooks.ts\`. \`async\_rewake\` is deliberately still unsupported: it is a Claude Code behavior with no Codex equivalent, so it keeps being reported rather than silently written. Covered by "writes the async flag Codex 0.148.0 added" and "round trips async and commandWindows through an import" in \`packages/core/src/\_\_tests\_\_/editors/hooks-strategies.test.ts\`. * The Codex hooks documentation lists a \`commandWindows\` field, the Windows counterpart to \`command\`. Already handled addressed 2026-08-24. \`buildCodexHook\` now derives a POSIX command and a Windows command separately, mirroring \`buildWindsurfEntry\`, and honors the \`shell\` selector: \`shell: 'bash'\` suppresses \`commandWindows\`, \`shell: 'powershell'\` promotes \`command\` into it. \`parseCodexHook\` maps \`commandWindows\` back to \`powershell\` and now accepts an entry that has only a Windows command, which the old guard rejected. Covered by three tests in \`packages/core/src/\_\_tests\_\_/editors/hooks-strategies.test.ts\`. * The Codex hooks documentation lists eleven events: \`PreToolUse\`, \`PermissionRequest\`, \`PostToolUse\`, \`PreCompact\`, \`PostCompact\`, \`UserPromptSubmit\`, \`SubagentStop\`, \`Stop\`, \`SessionStart\`, \`SubagentStart\`, and \`SessionEnd\`. Already handled addressed 2026-08-24. All five missing mappings were added to \`EVENT\_MAP\`, which now covers every native event Codex documents. The source URL in the comment above the map was corrected at the same time: \`https\://developers.openai.com/codex/hooks\` now 308-redirects to \`https\://learn.chatgpt.com/docs/hooks\`. Covered by "maps every event Codex documents" in \`packages/core/src/\_\_tests\_\_/editors/hooks-strategies.test.ts\`, which asserts the full native event set rather than a sample. * The Codex hooks documentation lists an \`additionalContextLimit\` field, a token threshold defaulting to about 2500 for how much hook output is fed back to the model. No repo change no change needed, decision confirmed 2026-08-24. aix has no generic equivalent and no other supported editor exposes the same control, so adding a Codex-only field to the shared schema is not yet justified. Revisit if a second editor gains one. * The Codex hooks documentation confirms hooks observe MCP tools through the normal tool-call path, matched by names such as \`mcp\_\_filesystem\_\_read\_file\`. Already handled already supported. \`TOOL\_MATCHER\_MAP\` maps \`pre\_mcp\_tool\` and \`post\_mcp\_tool\` to \`PreToolUse\` and \`PostToolUse\` with an \`mcp\_\_.\*\` matcher, which is the documented shape. * The Codex hooks documentation confirms the four discovery locations: \`\~/.codex/hooks.json\`, \`\~/.codex/config.toml\` inline \`\[hooks]\` tables, \`\/.codex/hooks.json\`, and \`\/.codex/config.toml\`. Already handled verified, no change needed. \`CodexHooksStrategy.getConfigPath\` returns \`hooks.json\` under the adapter's \`.codex\` config directory and \`getGlobalConfigPath\` returns \`.codex/hooks.json\`, which are the two JSON locations. aix does not write the inline TOML form, which is correct: writing hooks into \`config.toml\` would collide with the MCP server config aix already writes there. * Codex 0.147.0 added opt-in support for the MCP 2026-07-28 protocol revision, including paginated discovery, multi-round requests, and non-blocking server startup, and 0.147.0 upgraded the MCP SDK to 3.0.0. No repo change no change needed. This is client-side protocol negotiation. aix writes server definitions (command, args, env, headers, transport), which the revision does not change. * Codex 0.145.0 fixed "correctly quoted hook commands" on Windows. No repo change no change needed, and it strengthens the \`commandWindows\` follow-up above. Codex is treating the Windows hook command path as its own execution surface. * Codex 0.145.0 through 0.147.0 expanded \`/import\` to migrate Cursor and Claude Code settings, MCP servers, plugins, sessions, commands, and project-scoped memories, and 0.147.0 added importing Cursor-managed skills. No repo change no change needed. This is Codex's own one-way migration command, which overlaps with \`aix sync\` but does not change any config format aix reads or writes. * Codex 0.147.0 removed the deprecated \`codex exec --full-auto\` flag in favor of \`--sandbox workspace-write\`. No repo change no change needed. aix does not invoke \`codex exec\`. * Codex 0.146.0 and 0.147.0 added Agent Plugins manifests, workspace plugin publishing, and plugin catalogs, including a Claude Code plugin marketplace. No repo change no change needed today. aix writes loose files under \`.codex\`, not plugin manifests. Worth watching: if plugins become the way Codex distributes skills and hooks, aix would need a plugin-shaped output target. Sources: [raw.githubusercontent.com](https://raw.githubusercontent.com/github/copilot-cli/main/changelog.md) , [www.npmjs.com](https://www.npmjs.com/package/@github/copilot) * Copilot CLI 1.0.76 added "support for Open Plugin Spec v1 plugin manifests and mcp.json configuration". No repo change no change needed for the config aix writes, but the file name is worth confirming on the next pass. aix writes Copilot MCP servers to \`.mcp.json\` (\`CopilotMcpStrategy.getConfigPath\` in \`packages/core/src/editors/strategies/copilot/mcp.ts\`). The changelog entry is about \`mcp.json\` inside a plugin manifest, which is a separate distribution surface, not a rename of the project file. If a later release makes plugin-scoped \`mcp.json\` the primary location, aix would need a second output target. * Copilot CLI 1.0.73 changed relative links in custom agent instructions to resolve from the agent file's own location rather than the working directory. No repo change no change needed, and it makes aix's output more correct rather than less. aix writes agent files into Copilot's agents directory; a relative link an author wrote next to the agent source now resolves the way they meant it to. Anything aix generated that relied on working-directory resolution would break, but aix does not rewrite link targets. * Copilot CLI 1.0.72 fixed an \`agentStop\` hook that always blocks looping indefinitely. No repo change no change needed. It confirms the native event name aix already emits: \`EVENT\_MAP\` in \`packages/core/src/editors/strategies/copilot/hooks.ts\` maps the generic \`agent\_stop\` to \`agentStop\`. This was a runtime loop-guard fix, not a config format change. * Copilot CLI 1.0.72 gave custom agents that request a shell tool by alias the matching read, list, and stop shell tools, and made plugin custom agents honor deferred-tool-loading frontmatter. No repo change no change needed. aix passes agent frontmatter through; it does not compute tool sets. The tool-alias expansion happens inside Copilot after it reads the file aix wrote. * Copilot CLI 1.0.79 changed prompt pinning to be off by default, with a \`pinnedPrompts\` setting to turn it back on, and 1.0.76 moved the pinned prompt one row up. No repo change no change needed. \`pinnedPrompts\` is a UI preference aix does not write, and this does not affect the prompt files aix installs. * Copilot CLI 1.0.79 allowed an enterprise-managed sandbox policy to enforce a proxy URL while leaving credentials user-controlled, and showed where sandbox settings are stored in \`settings.json\` from the \`/sandbox\` dialog. No repo change no change needed. aix writes no Copilot sandbox or proxy settings. Recorded because it confirms Copilot keeps those in \`settings.json\`, a file aix must continue to leave alone except for the sections it manages. * Copilot CLI 1.0.74 changed subagent timelines to identify whether a prompt came from the main agent or another subagent. No repo change no change needed. This is transcript presentation. Sources: [cursor.com](https://cursor.com/changelog) , [cursor.com](https://cursor.com/changelog/page/2) , [cursor.com](https://cursor.com/docs/hooks) * None of these touch a local config surface aix writes. No repo change no change needed. Model routing, pricing plans, the Slack and iPad clients, and cloud agent startup are all outside the file formats aix generates. Google Workspace Plugins and Origin code hosting add connectors and a code host, not a change to \`.cursor/rules\`, \`.cursor/commands\`, \`.cursor/agents\`, \`.cursor/skills\`, \`.cursor/mcp.json\`, or \`.cursor/hooks.json\`. * The hooks documentation still describes project hooks at \`\/.cursor/hooks.json\` and user-level hooks, spawned as processes that communicate over stdio with JSON in both directions. Already handled verified, no change needed. That is what \`packages/core/src/editors/strategies/cursor/hooks.ts\` writes, including the \`version: 1\` wrapper and camelCase event names. Sources: [github.com](https://github.com/anomalyco/opencode/releases) , [opencode.ai](https://opencode.ai/docs/config/) , [www.npmjs.com](https://www.npmjs.com/package/opencode-ai) * 1.18.6 fixed "legacy MCP state refreshing when opening a V1 workspace" and 1.18.9 "Restored compatibility with legacy MCP SDK clients". No repo change no change needed. Both are client-side connection handling for servers already defined in config. The server definition shape aix writes is untouched. * 1.18.12 "Skipped legacy config reads against v2 servers to avoid spurious config loading issues". No repo change no change needed, but this is the entry to watch. It is the first sign that OpenCode reads config differently between its V1 and V2 servers. Nothing in the release notes says the file format or location differs, and \`https\://opencode.ai/docs/config/\` still documents the single config file aix targets. Re-check on the next pass whether V2 introduces a second config location. * 1.18.20 "Surface failed subagent tool calls with a resumable \`task\_id\`" and "Answer permission requests triggered by subagents during \`opencode run\`". No repo change no change needed. Runtime subagent behavior, not the agent file format aix generates. Sources: [docs.devin.ai](https://docs.devin.ai/desktop/changelog) , [docs.devin.ai](https://docs.devin.ai/desktop/cascade/hooks) , [docs.devin.ai](https://docs.devin.ai/cli/subagents) * Devin Desktop 3.6.21 (2026-07-29): "Custom subagents can now be defined as flat \`agents/\.md\` files, and per-agent directories also accept \`AGENTS.md\`, \`agent.md\`, and \`agents.md\`." No repo change no change needed to the Windsurf adapter, and the reason matters more than the answer. This entry sits under the changelog's \*\*Devin Local\*\* section, not Cascade. Devin Local is the agent that replaced Cascade as Devin Desktop's default local agent at the June 2026 rebrand, and the Devin Local documentation states it "shares the same agent harness as Devin CLI" and "uses the same skills format and discovery mechanism." Its subagents therefore live where the Devin CLI puts them: \`.devin/agents/\` and \`.agents/agents/\` at project scope, \`\~/.config/devin/agents/\` (\`%APPDATA%\devin\agents\\\` on Windows) at user scope. Accepted layouts are flat \`agents/\.md\` or a directory whose file resolves in the order \`AGENT.md\`, \`AGENTS.md\`, \`agent.md\`, \`agents.md\`. Frontmatter is \`name\`, \`description\`, \`model\`, \`allowed-tools\`, and \`max-nesting\`. * Devin Local reads the config aix already writes. Devin imports rules, skills, and MCP servers from other tools by default: "If you don't explicitly configure \`read\_config\_from\`, all imports are enabled by default." For Windsurf the documented import covers rules from \`.windsurf/rules/\*.md\` and \`.windsurf/global\_rules.md\`, skills from \`.windsurf/skills/\` and \`\~/.codeium/\/skills/\`, and MCP servers from \`\~/.codeium/\/mcp\_config.json\`. Stable reads \`\~/.codeium/windsurf/\`, which is the directory aix writes. No repo change no change needed. This settles the namespace question. aix's Cascade paths are a supported input to Devin Local, not a stale namespace it ignores, so there is no reason to migrate the adapter to \`.devin/\` or to write both namespaces. Doing either would duplicate config that Devin already imports. * One documented exclusion: "Windsurf workflows are explicitly excluded from import." Needs follow-up follow-up needed, and it is a real gap. aix installs Windsurf prompts as workflows, to \`.windsurf/workflows/\` and \`\~/.codeium/windsurf/global\_workflows/\` (\`packages/core/src/editors/strategies/windsurf/prompts.ts\`). Rules, skills, and MCP servers all reach Devin Local through the import; prompts are the one section that does not. Recorded in the Windsurf notes in \`packages/schema/src/editor-support.ts\` so a user who moved to Devin Local knows why their aix-managed workflows stopped appearing. * Devin Local subagents remain outside anything aix writes. There is no Windsurf import path for subagents, so they can only come from \`.devin/agents/\`, \`.agents/agents/\`, or \`\~/.config/devin/agents/\`. No repo change no change needed, and this is why Windsurf agents support is not simply a missing strategy. Supporting it would mean writing outside the namespace the \`windsurf\` adapter owns, which is a larger decision than adding a strategy. aix already treats \`devin\` as an alias that normalizes to \`windsurf\` (\`packages/schema/src/normalize.ts\`), and that alias plan deliberately kept output paths unchanged; this finding is consistent with that choice. * Devin Desktop 3.8.20 (2026-08-21): "\`mcp\_config.json\` no longer shows spurious 'Property is not allowed' warnings." No repo change no change needed, and it likely removes a user-visible complaint about aix output. aix writes Windsurf MCP servers to \`\~/.codeium/windsurf/mcp\_config.json\` (\`packages/core/src/editors/strategies/windsurf/mcp.ts\`). Any aix-written key the editor's schema did not recognize would have produced exactly this warning, on a file that worked. Nothing about the file aix writes has to change. * Devin Desktop 3.8.20: "Cascade, Devin Local, and every other ACP agent are now unavailable while a workspace is open in Restricted Mode, and hooks no longer load or run there." The hooks documentation repeats this: "Hooks do not load or run while a workspace is open in Restricted Mode." No repo change no config change needed. This is the Windsurf counterpart to Claude Code's safe mode: aix writes the hooks correctly and the editor declines to run them. Added 2026-08-24 to the Windsurf notes in \`packages/schema/src/editor-support.ts\`, so a user whose hooks never fire has somewhere to look. * Devin Desktop 3.7.16 and 3.8.20: "Permission rules from different levels (enterprise, mode, user, project, subagent) now compose predictably — an explicit \`deny:\` always wins." No repo change no change needed. aix generates no Windsurf permission rules. Recorded because it establishes a five-level precedence order that a future portable permissions feature would have to match. * Devin Desktop 3.6.21 fixed "Permission rules written with relative globs (e.g. \`Read(\*\*/\*.pem)\`) being pinned to the directory the CLI was launched from." No repo change no change needed, same reason. * Devin Desktop 3.5.17 (2026-07-17): "The \`devin.\*\` settings for gitignore access, completion mode, and auto-continue are now honored." No repo change no change needed. aix writes none of the \`devin.\*\` settings. Worth noting only as evidence that the rebrand is reaching the settings namespace, which is the direction to watch for a future path change away from \`.codeium/windsurf/\`. Sources: [github.com](https://github.com/zed-industries/zed/releases) , [zed.dev](https://zed.dev/releases/stable) , [zed.dev](https://zed.dev/blog/sandboxing) * 1.12.0 fixed "MCP servers configured in \`.zed/settings.json\` not being discovered when multiple project folders were open in a workspace". No repo change no change needed, and it confirms the path aix targets. This was a discovery bug for a correctly-written file. A user with a multi-root workspace who reported aix's Zed MCP output "not loading" before 1.12.0 was hitting this. * 1.13.1 fixed "Agent MCP servers running from the wrong directory when started before a worktree was available", and 1.15.0 fixed "MCP servers missing from new project threads after a worktree opens". No repo change no change needed. Both are startup-ordering fixes for servers aix already writes correctly. Relevant only in that an MCP server aix configures with a relative command path would have resolved against the wrong directory before 1.13.1. * 1.14.2 added sandboxing for the agent's terminal commands and web fetches. No repo change no change needed today. Worth watching: Zed has no aix-managed hooks support, but if it gains lifecycle hooks that run commands, the sandbox will govern them and aix would need to say so in the support matrix. * 1.14.2 added the \`agent\_ui\_font\_family\` and \`agent\_buffer\_font\_family\` settings. No repo change no change needed. Both are appearance keys in \`.zed/settings.json\` that aix's section-scoped merge must preserve, which it does. * 1.12.0 improved skill deletion with a confirmation prompt and moved deleted skills to the system trash instead of deleting them outright. No repo change no change needed. This is Zed's own UI for removing a skill. It does mean a skill a user deletes in Zed goes to the trash while \`aix remove skill\` deletes it, which is a difference in behavior, not a defect in either. * 1.13.1 improved discoverability of the \`create\_worktree\` hook, and 1.14.2 added a "Skip Hooks" toggle for commits. No repo change no change needed, and neither is an agent lifecycle hook. Zed's \`create\_worktree\` sets up a git worktree, and "Skip Hooks" skips git \`pre-commit\` and \`commit-msg\`. Neither is the hooks surface aix manages, and Zed remains without aix-managed hooks support. * 1.16.1 removed OpenCode Free models from Zed's built-in OpenCode provider. No repo change no change needed. Model availability, not config. Sources: [github.com](https://github.com/google-gemini/gemini-cli/releases) , [github.com](https://github.com/google-gemini/gemini-cli/blob/main/docs/changelogs/index.md) , [www.npmjs.com](https://www.npmjs.com/package/@google/gemini-cli) , [releasebot.io](https://releasebot.io/updates/google/gemini-cli) * Gemini CLI 0.49.0 migrated the \`coreTools\` setting to \`tools.core\` in \`settings.json\`. Already handled verified 2026-07-19, no change needed. aix does not emit \`coreTools\`, and the existing test "preserves user-authored keys in .gemini/settings.json across installs" in \`packages/core/src/\_\_tests\_\_/editors/adapters.test.ts\` covers unknown-key preservation for both old and new key shapes. * Gemini CLI 0.49.0 added path-traversal prevention during skill install, and 0.51.0 fixed a "symbolic link directory escape in memory import processor". Needs follow-up needs follow-up for verification only. aix installs Gemini skills as symlinks from \`.gemini/skills/{name}/\` (and \`.agents/skills/\`) into \`.aix/skills/\`. Verify on a current Gemini CLI that symlinked skill directories and GEMINI.md imports still load under the stricter symlink handling. * Gemini CLI 0.47.0 shipped Antigravity transition banners and migration commands for the Antigravity CLI (externally sourced from release summaries). Needs follow-up needs follow-up as a watch item. If Gemini CLI rebrands or merges into Antigravity the config directories (\`.gemini/\`, \`\~/.gemini/\`) and context file (\`GEMINI.md\`) could move, similar to the Windsurf → Devin Desktop rebrand. No path change is documented yet, so no aix change now. * Gemini CLI 0.50.0 added tool registry discovery for automated tool detection. No repo change no config shape change identified. MCP config in \`.gemini/settings.json\` is unchanged. * Gemini CLI 0.49.0 standardized tool output formatting, fixed zero-quota fail-fast behavior, and pinned dependencies; 0.51.0 added caretaker service work and escape sequence handling fixes. No repo change no implementation change needed. These are runtime behaviors. * No changes to GEMINI.md handling, TOML command files, agent frontmatter, or hook event names were found for 0.46.0–0.51.0. No repo change no change needed to Gemini rules, prompts, agents, or hooks output. The 0.46.0–0.48.0 release notes are thinly documented upstream (the changelog index only carries announcements for select versions); re-verify if a bug report points at one of those versions. Sources: [code.claude.com](https://code.claude.com/docs/en/changelog) , [www.npmjs.com](https://www.npmjs.com/package/@anthropic-ai/claude-code) * Claude Code 2.1.214 changed hook \`if:\` glob semantics: a single-segment \`dir/\*\*\` condition now matches only \`\/dir\`, and \`\*\*/dir/\*\*\` is required for any-depth matching. Already handled addressed 2026-07-19. aix passes the \`if\` field through unchanged (\`packages/core/src/editors/strategies/claude-code/hooks.ts\`); the new matching semantics are now documented in the Claude Code hooks notes in \`packages/schema/src/editor-support.ts\`, which feeds the support matrix docs. * Claude Code 2.1.214 made \`SessionStart\` hooks report \`source: "fork"\` when a session begins as a fork, and 2.1.198 added \`Notification\` hook payloads \`agent\_needs\_input\` / \`agent\_completed\` for background agents. No repo change no config schema change needed. aix writes hook definitions, not runtime payload schemas, and \`SessionStart\` / \`Notification\` are already valid event names in the supported list. * Claude Code 2.1.178 added nested \`.claude/skills/\` discovery (with \`\:\\` disambiguation) and closest-wins resolution for nested \`.claude/\` agents, workflows, and output styles; 2.1.211 and 2.1.195 fixed nested \`.claude/rules/\*.md\` loading. No repo change no implementation change needed. aix writes top-level \`.claude/\` directories, which remain valid; nested discovery is additive editor behavior. * Claude Code 2.1.178 added \`Tool(param:value)\` permission-rule syntax and 2.1.200 renamed the "default" permission mode to "manual" (\`"defaultMode": "manual"\`). No repo change no implementation change needed today. aix does not generate Claude Code permission rules or \`defaultMode\`. Re-check if aix adds a portable permissions feature. * Claude Code 2.1.196 stopped \`claude mcp list\` / \`get\` from spawning \`.mcp.json\` servers that were self-approved via a committed \`.claude/settings.json\`. No repo change no format change needed. aix \`.mcp.json\` output is unchanged; users may see extra approval steps at runtime. * Claude Code 2.1.169 added \`--safe-mode\` / \`CLAUDE\_CODE\_SAFE\_MODE\` (disables all customizations) and \`disableBundledSkills\`. No repo change no config change needed, but safe mode disables aix-written rules, prompts, skills, agents, and hooks at runtime. Worth a docs note if users report aix output "not loading". * Claude Code 2.1.207 stopped reading plugin option values from project-level \`.claude/settings.json\` and rejected \`${user\_config.\*}\` in shell-form plugin hook commands. No repo change no implementation change needed. aix does not generate Claude Code plugin manifests or plugin options; aix-managed hooks in \`.claude/settings.json\` are not plugin hooks. * Claude Code 2.1.172 / 2.1.198 changed subagent execution: subagents run in the background by default, can nest up to 5 levels, and are capped per session (\`CLAUDE\_CODE\_MAX\_SUBAGENTS\_PER\_SESSION\`). No repo change no config schema change needed. aix agent frontmatter (\`description\`, \`mode\`, \`model\`, \`tools\`, \`permissions\`, \`mcp\`) is unchanged by these runtime behaviors. * Claude Code 2.1.166–2.1.215 added many new settings keys (\`axScreenReader\`, \`vimInsertModeRemaps\`, \`sandbox.credentials\`, \`autoMode.classifyAllShell\`, \`language\`, \`attribution.sessionUrl\`, \`enforceAvailableModels\`, and others). No repo change no implementation change needed, but aix's section-managed writes to \`.claude/settings.json\` must keep preserving unknown keys. Existing merge behavior should be covered by tests before any hooks change. Sources: [learn.chatgpt.com](https://learn.chatgpt.com/docs/changelog) , [github.com](https://github.com/openai/codex/releases) , [www.npmjs.com](https://www.npmjs.com/package/@openai/codex) , [releasebot.io](https://releasebot.io/updates/openai/codex) * The official Codex changelog moved: \`https\://developers.openai.com/codex/changelog\` now returns a 308 redirect to \`https\://learn.chatgpt.com/docs/changelog\`. Already handled addressed 2026-07-19. The \`skills/editor-release-research/SKILL.md\` source hints now list \`https\://learn.chatgpt.com/docs/changelog\`. No generated editor config is affected. * Codex 0.144.0 added a \`writes\` app-approval mode (declared read-only actions run without prompting; writes still prompt). No repo change no implementation change needed. aix does not write Codex approval or permission config. Re-check if aix adds a portable permissions feature. * Codex 0.144.0 let MCP tools request interactive authentication without an experimental opt-in, and 0.142.2/0.143.0 turned on MCP tool search by default. No repo change no config shape change needed. \`\~/.codex/config.toml\` MCP entries that aix writes are unchanged; these are runtime behaviors. * Codex 0.140.0 made disabled MCP servers persist across runtime overlays, resolved MCP server registrations through a catalog system, and added encrypted local storage for CLI and MCP OAuth credentials. No repo change no implementation change needed. aix writes server definitions, not enable/disable state or credentials. * Codex 0.140.0 decoupled the skills extension from core and improved parallel skill metadata reads (0.142.0); 0.142.0 also improved plugin loading across "multiple skill paths". No repo change no path change identified. aix-managed skills at \`.agents/skills/{name}/\` and \`\~/.codex/skills/{name}/\` remain the documented surfaces. Re-verify skill paths in the Codex docs if a future release note names new locations. * Codex 0.142.0 extended remote environments to support executor-native \`AGENTS.md\` discovery, and 0.140.0 made AGENTS.md loadable "from all bound environments". No repo change no implementation change needed. aix writes root and directory-level AGENTS.md files, which remain the native rule surface. * Codex 0.143.0 enabled remote plugins by default with npm marketplace sources. No repo change no implementation change needed. aix does not manage Codex plugins. * Detailed official release notes for 0.136.0–0.141.0 are no longer exposed on the changelog page or the visible GitHub releases pages. Externally sourced summaries (releasebot.io, havoptic.com) describe 0.136 (archived sessions), 0.137 (TUI and enterprise credit limits), 0.138 (Codex Desktop handoff), and 0.139 (code-mode web search) with no config-surface changes. No repo change no implementation change identified for 0.136–0.141. These facts are externally sourced; re-verify against official docs if any related bug reports arrive. * No hook-related changes were found for 0.136.0–0.144.6. No repo change no change to \`.codex/hooks.json\` output. The supported event list (\`PermissionRequest\`, \`PostToolUse\`, \`PreToolUse\`, \`SessionStart\`, \`Stop\`, \`UserPromptSubmit\`) remains current. Sources: [raw.githubusercontent.com](https://raw.githubusercontent.com/github/copilot-cli/main/changelog.md) , [www.npmjs.com](https://www.npmjs.com/package/@github/copilot) * Copilot CLI 1.0.61 auto-loads MCP servers from the \`.github/mcp.json\` workspace config file. Already handled verified 2026-07-19, no change needed. The Copilot CLI config-dir reference documents both \`.mcp.json\` and \`.github/mcp.json\` as project-level MCP files with equal standing ("Project-level MCP configurations (in \`.mcp.json\` or \`.github/mcp.json\`) take precedence over user-level definitions"). aix keeps writing \`.mcp.json\` (shared with Claude Code) and imports either path; the support-matrix note was updated to say so. * Copilot CLI 1.0.63 rejects custom-agent names that would create hidden files. Already handled verified 2026-07-19, guard already present. \`sanitizeFileName\` in \`packages/core/src/editors/adapters/base.ts\` converts non-alphanumerics to dashes and strips leading dashes, so a leading-dot filename cannot be emitted; a regression test was added in \`packages/core/src/\_\_tests\_\_/editors/adapters.test.ts\`. * Copilot CLI 1.0.66 lets skills with the same name from different plugins coexist, and 1.0.69 keeps embedded \`/skill\` tokens in skill prompt context. No repo change no implementation change needed. aix-managed skills under \`.github/skills/{name}/\` and \`\~/.config/github-copilot/skills/{name}/\` are unaffected by plugin-skill namespacing. * Copilot CLI 1.0.67–1.0.69 preserve custom-agent tool filters in nested subagents and show warnings when host custom agents fail to load. No repo change no config schema change needed. This is runtime enforcement of the existing \`tools\` frontmatter aix already writes. * Copilot CLI 1.0.70 lets custom agents that request a shell tool by alias also receive the matching read, list, and stop shell tools. No repo change no implementation change needed. aix passes \`tools\` lists through; alias expansion happens in the editor. * Copilot CLI 1.0.70 persists GitHub MCP toolset/tool config via \`settings.json\`, and 1.0.61 added a \`/settings\` dialog plus a \`tabs\` setting. No repo change no implementation change needed. These are editor-managed settings files, not surfaces aix generates. * Copilot CLI 1.0.62 lets plugins ship extensions via the plugin marketplace. No repo change no implementation change needed. aix does not manage Copilot plugins. * No hook event or hook schema changes were found in 1.0.61–1.0.71. No repo change no change to \`.github/hooks/hooks.json\` output or the supported event list. Sources: [cursor.com](https://cursor.com/changelog) * Cursor 3.9 added a Customize page that consolidates plugins, skills, MCPs, subagents, rules, commands, and hooks, with user, team, or workspace-level customization. No repo change no generated config change identified. The changelog describes a management UI over the existing surfaces aix writes (\`.cursor/rules\`, \`.cursor/commands\`, \`.cursor/agents\`, \`.cursor/skills\`, \`.cursor/mcp.json\`, \`.cursor/hooks.json\`). Re-check Cursor docs if team/workspace scopes gain file-backed local config aix could target. * Cursor 3.10 added team MCP server configuration distributed across cloud agents, IDE, and CLI through team marketplaces. No repo change no implementation change needed. Team MCP distribution is cloud-managed, not a local config file. aix project and user \`mcp.json\` output is unchanged. * Cursor 3.11 added side chats (\`/side\`, \`/btw\`) and conversation search; 3.9 added the iOS app and marketplace leaderboard. No repo change no implementation change needed. These are editor UI features. * No changes to rules, commands, agents, hooks events, skills paths, or AGENTS.md compatibility were found in the 3.8–3.11 changelog entries. No repo change no change needed. The Cursor hook event list and config paths in \`packages/schema/src/editor-support.ts\` remain current as documented. Sources: [github.com](https://github.com/anomalyco/opencode/releases) , [opencode.ai](https://opencode.ai/docs/skills/) , [www.npmjs.com](https://www.npmjs.com/package/opencode-ai) * OpenCode 1.18.2 stopped subagents from launching nested subagents by default and added a configurable \`subagent\_depth\` limit. No repo change no implementation change needed today. aix does not write OpenCode agent-depth settings. Re-check if aix's portable agent config grows a nesting or depth field that should map to \`subagent\_depth\`. * The OpenCode skills docs now list a native \`skill\` tool plus pattern-based skill permissions in \`opencode.json\` (\`allow\` / \`deny\` / \`ask\`, per-agent overrides, and \`skill: false\` to disable). Needs follow-up needs follow-up only if aix adds portable skill permissions. Skill discovery paths are unchanged and match aix output: \`.opencode/skills/\`, \`.claude/skills/\`, and \`.agents/skills/\` at project scope, with \`\~/.config/opencode/skills/\`, \`\~/.claude/skills/\`, and \`\~/.agents/skills/\` at user scope. * OpenCode 1.17.10 introduced namespaced plugin hook APIs and a V2 plugin API. No repo change no implementation change needed. These are JavaScript plugin surfaces, not the lifecycle hook config files aix models; OpenCode hooks remain \`unsupported\` in the aix matrix. * OpenCode 1.17.12–1.17.14 added MCP resource template listing/read tools, a code-mode MCP adapter, scoped MCP auth status per server URL, and preserved metadata in paginated tool catalogs; 1.17.7 sends the current workspace as the MCP client root. No repo change no config shape change needed. \`opencode.json\` \`mcp\` entries that aix writes are unchanged; these are runtime MCP behaviors. * OpenCode 1.18.0 completed the Desktop v2 migration; 1.17.16–1.17.19 are composer and model-picker UI changes. No repo change no implementation change needed. * No changes to AGENTS.md handling, command files, or agent frontmatter were found in 1.16.1–1.18.3. No repo change no change needed to OpenCode rules, prompts, or agents output. Sources: [docs.devin.ai](https://docs.devin.ai/desktop/changelog) , [docs.devin.ai](https://docs.devin.ai/desktop/cascade/hooks) * Windsurf's rebrand to Devin Desktop is now fully reflected in its web presence: \`https\://windsurf.com/changelog\` returns a 308 redirect to \`https\://docs.devin.ai/desktop/changelog\`. Needs follow-up partially addressed 2026-07-19. The \`skills/editor-release-research/SKILL.md\` source hints now point at \`docs.devin.ai\`. Display naming stays "Windsurf" with the \`windsurf\` editor ID and \`.windsurf\` paths, which the Devin docs still use for all config surfaces; revisit only if the editor changes its on-disk directories. * The Devin Desktop hooks docs list the user-level hooks file at \`\~/.codeium/windsurf/hooks.json\` (Devin Desktop IDE) and \`\~/.codeium/hooks.json\` (JetBrains plugin), with workspace hooks at \`.windsurf/hooks.json\`. Already handled fixed 2026-07-19. \`WindsurfHooksStrategy.getGlobalConfigPath()\` and the support matrix now use the documented \`\~/.codeium/windsurf/hooks.json\` path (the site docs already said this), with a test locking the path in \`packages/core/src/\_\_tests\_\_/editors/hooks-strategies.test.ts\`. * The hooks docs confirm the same twelve events aix already maps (\`pre\_read\_code\` … \`post\_setup\_worktree\`), hook fields \`command\`, \`powershell\`, \`show\_output\`, and \`working\_directory\`, and exit-code-2 blocking for pre-hooks only. Already handled verified 2026-07-19, no change needed. Event names and blocking semantics match aix output, and \`WindsurfHooksStrategy\` already passes \`show\_output\` and \`working\_directory\` through on both install and import. * Devin Desktop 3.4.22 made skill \`permissions:\` frontmatter apply to auto-approvals. Needs follow-up needs follow-up. aix-managed skills are symlinked from \`.windsurf/skills/{name}/\` into \`.aix/skills/\`; if aix skill definitions carry permission metadata, decide whether to emit Windsurf-compatible \`permissions:\` frontmatter. No change if aix skills stay permissionless. * Devin Desktop 3.3.18 made subagents configurable with a default model, and 3.2.16 let subagents call MCP tools directly. Needs follow-up needs follow-up for investigation. aix currently marks Windsurf agents as \`unsupported\` because no safe file-backed agent config was documented. Check whether Devin Desktop now documents a subagent config file aix could write; if so, Windsurf agents support could be upgraded. * Devin Desktop 3.4.22 added \`sandbox.excluded\` allow/ask/deny config, 3.3.18 added an \`attribution\` option to the Devin Local config file, and 3.1.7 added \`.devinignore\` support alongside \`.windsurfignore\` and \`.codeiumignore\`. No repo change no implementation change needed. aix does not manage sandbox settings, attribution config, or ignore files for Windsurf. * Devin Desktop 3.2.16 added an opt-in enterprise plugin system (preview). No repo change no implementation change needed. aix does not manage Windsurf plugins. Sources: [zed.dev](https://zed.dev/releases/stable) , [zed.dev](https://zed.dev/releases/stable/1.6.3) , [zed.dev](https://zed.dev/releases/stable/1.7.2) , [releasebot.io](https://releasebot.io/updates/zed) , [byteiota.com](https://byteiota.com/zed-1-4-2-agent-skills-agents-md-mcp/) * Zed 1.6.3 added a manual trigger for the Rules-to-Skills migration, and 1.7.2 fixed old threads that mention Rules being inaccessible after migration. Zed's docs now describe always-on guidance as "Instructions" (project \`.rules\` / AGENTS.md files and the global AGENTS.md) while reusable on-demand rules became Skills. No repo change mostly no change, verification needed. aix already writes project \`.rules\` and user \`\~/.config/zed/AGENTS.md\`, and both remain documented instruction surfaces per search results (\`zed.dev/docs/ai/rules\`, \`zed.dev/docs/ai/skills\` were unreachable through the research proxy, so the docs facts here are externally sourced). Verify the docs pages directly before renaming any aix-facing terminology from "rules" to "instructions". * Zed 1.6.3 added support for symlinked global skill directories and improved project skills for remote workspaces. No repo change no change needed; this strengthens aix's approach. aix installs Zed skills as symlinks into \`.agents/skills/{name}/\` and \`\~/.agents/skills/{name}/\`, which is now explicitly supported at global scope. * Zed 1.7.2 moved agent skills management into the settings UI and now allows loading skills whose descriptions exceed the 1024-byte limit (warning instead of failure). Already handled addressed 2026-07-19. \`validateSkill\` in \`packages/core/src/skills/validate.ts\` now warns when a skill description exceeds 1024 bytes (the documented Zed and OpenCode limit), with tests in \`packages/core/src/\_\_tests\_\_/skills/validate.test.ts\`. * Zed 1.10.0 moved key agent-related settings (LLM providers, external agents, MCP servers) into the settings editor. Needs follow-up needs follow-up for verification only. Externally sourced summaries describe this as a settings-editor consolidation; confirm the \`context\_servers\` key that aix writes into \`.zed/settings.json\` and \`\~/.config/zed/settings.json\` is still the on-disk format and was not renamed. * Zed 1.8.2 added \`agent.terminal\_init\_command\` and Anthropic-compatible provider support; 1.9.0 added a remote MCP server quick-add entry in the Agent Panel. No repo change no implementation change needed. These are editor settings and UI affordances; aix MCP output is unchanged. * Zed 1.11.3 added terminal-thread search and turn-end slash commands (\`/helpful\`, \`/not-helpful\`). No repo change no implementation change needed. Zed still has no file-based prompt format, so aix's prompt-to-skill conversion remains correct. * No hook support was found in any release through 1.11.3. No repo change no change; Zed hooks remain \`unsupported\` in the aix matrix. Sources: [github.com](https://github.com/google-gemini/gemini-cli/releases) , [github.com](https://github.com/google-gemini/gemini-cli/blob/main/docs/changelogs/index.md) , [github.com](https://github.com/google-gemini/gemini-cli/tree/main/docs) * Gemini CLI 0.45.0 includes a "context simplification" change in its release notes. No repo change no generated config change identified from the published release note. Re-check Gemini docs if this becomes a documented settings or memory file surface. * Gemini CLI 0.45.0 includes a fix that prevents \`mcp list\` blacklist bypass. No repo change no config shape change needed. This affects runtime MCP behavior after aix writes \`.gemini/settings.json\`. * Gemini CLI 0.45.0 includes routing and session history fixes. No repo change no implementation change needed for aix output. * The GitHub releases page also shows 0.46.0 preview builds after 0.45.0. Needs review no preview release note was used for implementation planning. Re-check once a stable 0.46.x release is published. Sources: [code.claude.com](https://code.claude.com/docs/en/changelog) , [code.claude.com](https://code.claude.com/docs/en/settings) , [code.claude.com](https://code.claude.com/docs/en/hooks) * Claude Code 2.1.163 added managed \`requiredMinimumVersion\` and \`requiredMaximumVersion\` settings. Needs follow-up needs follow-up only if aix starts writing Claude Code managed settings. Current aix output covers rules, prompts, MCP, skills, agents, and hooks. * Claude Code 2.1.163 lets \`Stop\` and \`SubagentStop\` hooks return \`hookSpecificOutput.additionalContext\`. No repo change no config schema change needed. aix writes hook definitions, not runtime payload or response schemas. * Claude Code 2.1.160 added more prompts before editing shell startup files and build tool config files in \`acceptEdits\` mode. No repo change no generated config change needed. This is Claude Code runtime safety behavior after aix writes editor files. * Claude Code 2.1.154 introduced dynamic workflows and \`/workflows\`. No repo change no current implementation change. aix does not model Claude workflow files as a portable feature yet. * Claude Code 2.1.154 added plugin \`defaultEnabled: false\`. No repo change no current implementation change. aix does not generate Claude Code plugin manifests. * Claude Code 2.1.154 changed unapproved \`.mcp.json\` servers to show as pending approval instead of being auto-approved when output is piped. No repo change no format change needed. Existing MCP output remains the same, but users may see an approval step inside Claude Code. * Claude Code 2.1.154 sends \`CLAUDE\_CODE\_SESSION\_ID\` and \`CLAUDECODE=1\` to stdio MCP server subprocesses. No repo change no config change needed. This affects runtime server environments, not the MCP config files aix writes. Sources: [github.com](https://github.com/openai/codex/releases) , [github.com](https://github.com/openai/codex/blob/main/docs/config.md) , [developers.openai.com](https://developers.openai.com/codex/changelog) * Codex 0.135.0 added named permission profiles to \`/permissions\`. Needs follow-up needs follow-up only if aix adds a portable permissions feature. Current Codex support writes AGENTS.md, MCP, skills, prompt-as-skill shims, and hooks. * Codex 0.135.0 added richer \`codex doctor\` diagnostics for environment, Git, terminal, app-server, and thread inventory state. No repo change no implementation change needed. This improves diagnostics for users after aix writes config, but it does not change config shape. * Codex 0.135.0 made \`/status\` show remote connection details and server version. No repo change no config change needed. * Codex 0.135.0 added non-interactive \`install.sh\` and \`install.ps1\` behavior through \`CODEX\_NON\_INTERACTIVE=1\`. No repo change no current implementation change. aix does not install Codex itself. * The current GitHub release page also shows 0.136.0 alpha builds after 0.135.0. Needs review no alpha release note was used for implementation planning. Re-check once a stable 0.136.x release is published. Sources: [raw.githubusercontent.com](https://raw.githubusercontent.com/github/copilot-cli/main/changelog.md) , [docs.github.com](https://docs.github.com/en/copilot/reference/custom-agents-configuration) , [docs.github.com](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference) * Copilot CLI 1.0.60 added \`builtInAgents.rubberDuckAutoInvoke\`. No repo change no current implementation change. aix does not manage Copilot runtime settings for built-in agents. * Copilot CLI 1.0.60 added LSP server config support for \`bash\`, \`powershell\`, and \`cwd\`. No repo change no current implementation change. aix does not generate Copilot LSP server config. * Copilot CLI 1.0.60 changed Windows executable discovery so bare command names no longer search the working directory. No repo change no format change needed. Generated hook and MCP commands should already avoid relying on current-directory executable discovery. * Copilot CLI 1.0.60 added \`-r\` as shorthand for \`--resume\`. No repo change no implementation change needed. * Copilot CLI 1.0.54 added \`deferred-tool-loading\` frontmatter for custom agents. Needs follow-up needs follow-up if aix should expose this field in portable agent config. Current Copilot agent support passes editor-specific fields through \`editor.copilot\`. * Copilot CLI 1.0.54 migrates legacy nested MCP OAuth keys to \`oauthClientId\` and \`auth.redirectPort\`, and MCP OAuth re-authentication honors \`redirectPort\`. Needs review inspect before implementation if aix starts emitting Copilot OAuth MCP fields. Current shared MCP normalization does not appear to generate those legacy nested keys. * Copilot CLI 1.0.53 fixed \`/skills\` picker persistence with \`--config-dir\`. No repo change no generated config change needed. * Copilot CLI 1.0.51 added \`preMcpToolCall\` hooks and lets \`postToolUse\` hooks inject \`additionalContext\`. Needs follow-up needs follow-up if Copilot hook docs expose stable config for \`preMcpToolCall\`. Current aix Copilot hook support maps the events already covered by \`packages/core/src/editors/strategies/copilot/hooks.ts\`. Sources: [cursor.com](https://cursor.com/changelog) , [docs.cursor.com](https://docs.cursor.com/) * Cursor 3.7 added Design Mode improvements in the Cursor browser, including multi-select elements and voice input while an agent is running. No repo change no generated config change needed. This is editor UI behavior, not a rules, commands, MCP, skills, agents, or hooks format change. * Cursor 3.7 added Cursor SDK support for custom metadata stores, custom local tools, local-tool auto-review, and nested subagents. No repo change no current implementation change. These SDK surfaces are separate from the local editor config files aix writes. * Cursor 3.7 added a context usage report and canvas Design Mode changes. No repo change no generated config change needed. * Cursor 3.7 SDK releases changed run metadata and local shell packaging behavior. No repo change no current implementation change. Re-check only if aix starts generating Cursor SDK scripts or SDK config. Sources: [github.com](https://github.com/anomalyco/opencode/releases) , [opencode.ai](https://opencode.ai/docs/config/) , [opencode.ai](https://opencode.ai/docs/agents/) * OpenCode 1.16.0 added skill discovery and file-based agent loading. Needs follow-up needs follow-up. aix already writes OpenCode skills under \`.opencode/skills/{name}/\` and agents under \`.opencode/agents/\*.md\`, but this release should be checked against the current OpenCode docs to confirm whether new discovery paths or frontmatter fields are now preferred. * OpenCode 1.16.0 added managed workspace cloning that keeps dirty and untracked files. No repo change no generated config change needed. * OpenCode 1.16.0 added moving sessions between workspaces and directories. No repo change no generated config change needed. * OpenCode 1.16.0 fixed Windows path normalization in migrated storage. No repo change no direct config change needed, but keep Windows fixture coverage for OpenCode config discovery. * OpenCode 1.16.0 fixed the GitHub extension so it refuses to commit without an existing git author identity. No repo change no generated config change needed. Sources: [docs.devin.ai](https://docs.devin.ai/desktop/changelog) , [windsurf.com](https://windsurf.com/changelog) * Windsurf is now Devin Desktop as of the 3.0.12 release note. Needs follow-up needs follow-up for naming and detection only if the rebrand changes config directories, binary names, or docs URLs. Current aix editor ID remains \`windsurf\`. * Devin Desktop 3.0.21 added a command to rerun migration from Windsurf. No repo change no generated config change needed. * Devin Desktop 2.3.15 increased remote server startup timeout. No repo change no generated config change needed. * Devin Desktop 2.3.15 updated the bundled Devin Local agent. The note says Devin Local is aware of open editor files, adds MCP permission choices for all tools on a server, repairs hooks so they can block user prompts, improves plan mode in the OS sandbox, and persists "Always Allow" permission grants. Needs follow-up needs follow-up for hook behavior only if the Devin Desktop hook docs changed event names, payloads, or config shape. Existing aix Windsurf hook output should be checked against the current Devin Desktop docs before changing code. Sources: [zed.dev](https://zed.dev/releases/stable) , [zed.dev](https://zed.dev/docs) * Zed 1.5.3 fixed commit message generation so it respects instructions from global \`AGENTS.md\`. No repo change no generated config change needed. This confirms that the Zed 1.4.2 global rule path \`\~/.config/zed/AGENTS.md\` remains relevant. * Zed 1.5.3 fixed deprecated Rules being automatically included in new agent requests. No repo change no generated config change needed. aix already moved Zed skills to native \`.agents/skills/{name}/\` support in the prior research pass. * Zed 1.5.3 fixed global skill edits appearing without a file path in change summaries. No repo change no generated config change needed. This affects runtime display after aix writes global skills. * Zed 1.5.3 fixed UTF-8 parsing issues when loading skill frontmatter with multi-codepoint graphemes. No repo change no generated config change needed. aix writes skill frontmatter as plain YAML; keep tests focused on ASCII unless the repo intentionally supports non-ASCII skill metadata. * Zed 1.4.4 and 1.4.3 only show Copilot-chat model dropdown fixes in the stable release page. No repo change no generated config change needed. Sources: [zed.dev](https://zed.dev/releases/stable) , [github.com](https://github.com/zed-industries/zed/pull/56456) , [github.com](https://github.com/zed-industries/zed/blob/main/assets/prompts/SKILL.md) * Zed 1.4.2 introduced native Agent Skills, replacing the Rules Library. Needs review switch from \`PointerSkillsStrategy\` to \`NativeSkillsStrategy\` with \`editorSkillsDir: '.agents/skills'\`. aix copies skills to \`.aix/skills/\` and symlinks into \`.agents/skills/\\`. Symlinks are explicitly supported. * Zed 1.4.2 removed the Rules Library UI entirely. Needs review pointer rules are no longer the right approach for skills. The \`PointerSkillsStrategy\` usage in the Zed adapter is removed. * Zed 1.4.2 added \`\~/.config/zed/AGENTS.md\` as the user-scope global rules file. Needs review \`ZedRulesStrategy.getGlobalRulesPath()\` now returns \`.config/zed/AGENTS.md\`. User-scope rules install to \`\~/.config/zed/AGENTS.md\` instead of being dropped with a limitation warning. Sources: [github.com](https://github.com/google-gemini/gemini-cli/blob/main/docs/changelogs/index.md) * Gemini CLI 0.42.0 introduced an Auto Memory Inbox with a canonical-patch contract for skill management. Needs follow-up needs follow-up only if Gemini documents stable memory files or skill patch files that aix should manage. Current aix Gemini support writes rules, prompts, MCP, and hooks. * Gemini CLI 0.40.0 introduced MCP resource tools and a four-tier memory management system. No repo change no current MCP config change found in this run. If resource tool settings become user-configurable, update the Gemini MCP strategy. * Gemini CLI 0.24.0 and later release notes describe Agent Skills support, \`/skills reload\`, and \`/skills install/uninstall\`. Needs follow-up needs follow-up. \`packages/schema/src/editor-support.ts\` should be checked to confirm whether Gemini skills are intentionally unsupported or now should be native. * Gemini CLI hooks are configured in \`.gemini/settings.json\`. Already handled already aligned. \`packages/core/src/editors/strategies/gemini/hooks.ts\` writes hooks into \`.gemini/settings.json\`. Sources: [code.claude.com](https://code.claude.com/docs/en/changelog) , [code.claude.com](https://code.claude.com/docs/en/hooks) * Claude Code 2.1.147 added the \`Workflow\` tool behind \`CLAUDE\_CODE\_WORKFLOWS=1\`. Needs follow-up needs follow-up only if aix decides to model Claude workflow files or workflow-specific permissions. Current aix support is focused on rules, prompts, MCP, skills, agents, and hooks. * Claude Code 2.1.145 added \`background\_tasks\` and \`session\_crons\` fields to \`Stop\` and \`SubagentStop\` hook input. No repo change no schema change needed for hook input payloads because aix stores hook config, not runtime payload types. Docs should mention these fields if the hook guide starts documenting event payload examples. * Claude Code 2.1.147 fixed hook \`if\` conditions such as \`PowerShell(git push\*)\`. Already handled already exposes the Claude Code \`if\` action field in \`packages/schema/src/hooks.ts\` and passes it through in \`packages/core/src/editors/strategies/claude-code/hooks.ts\`. * Claude Code 2.1.147 fixed MCP pagination for servers, resources, templates, and prompts. No repo change no install-format change needed. This affects runtime Claude Code behavior after aix writes MCP config. * Claude Code 2.1.147 renamed \`/simplify\` to \`/code-review\`. No repo change no aix implementation change. aix prompt and skill names are user-defined and do not depend on Claude Code built-in slash command names. Sources: [developers.openai.com](https://developers.openai.com/codex/changelog) , [github.com](https://github.com/openai/codex/releases) * Codex 0.133.0 enables goals by default and stores goal progress across active turns. No repo change no current code change. aix does not model Codex goal storage yet. * Codex 0.133.0 expanded permission profiles with list APIs, inheritance, managed \`requirements.toml\` support, runtime refresh behavior, and stronger Windows sandbox integration. Needs follow-up needs follow-up research before implementation. Current aix Codex support focuses on AGENTS.md, MCP, skills, prompts-as-skills, and rules; permission profile files are not modeled in \`ai.json\`. * Codex 0.133.0 made plugin discovery easier to inspect and added visible installed versions and marketplace roots. No repo change no current code change. aix does not install Codex plugins. * Codex 0.133.0 added more extension lifecycle events, including subagent start/stop, tool execution, turn metadata, and async approval/turn processing. Needs follow-up needs follow-up if Codex exposes these events through a stable config file. \`packages/schema/src/editor-support.ts\` currently marks Codex hooks as unsupported. * Codex 0.133.0 made AGENTS instruction loading more reliable, including local global reads and invalid UTF-8 warnings. No repo change no format change needed. aix already treats \`AGENTS.md\` as the Codex instruction surface. Sources: [raw.githubusercontent.com](https://raw.githubusercontent.com/github/copilot-cli/main/changelog.md) , [docs.github.com](https://docs.github.com/en/copilot/reference/custom-agents-configuration) * The current npm package version is 1.0.51. The public Copilot CLI changelog inspected during this run listed detailed notes through 1.0.49. Needs review use 1.0.51 as the checked package version, but compare future work against 1.0.49 release-note details unless GitHub publishes missing 1.0.50 and 1.0.51 notes. * Copilot CLI 1.0.49 says repo hooks in \`.github/hooks/\` load in prompt mode when the folder is already trusted. Already handled already aligned. \`packages/core/src/editors/strategies/copilot/hooks.ts\` writes project hooks under \`.github/hooks/hooks.json\`. * Copilot CLI 1.0.49 accepts MCP server configs with no \`args\` field and treats it as an empty args list. No repo change no code change needed unless aix validation rejects missing args for Copilot MCP output. Existing MCP normalization should be checked before changing code. * Copilot CLI 1.0.49 reports MCP stdio servers as \`stdio\` instead of \`local\`. Needs follow-up needs follow-up only if generated Copilot MCP config still emits a deprecated local type. Inspect \`packages/core/src/editors/strategies/copilot/mcp.ts\` before changing. * GitHub custom agents support \`tools\`, \`mcp-servers\`, \`metadata\`, \`disable-model-invocation\`, and \`user-invocable\`; \`argument-hint\` and \`handoffs\` are ignored by the cloud agent. Needs follow-up needs follow-up if aix expands Copilot agent support beyond the currently documented fields. Sources: [cursor.com](https://cursor.com/changelog) , [prod.cursor.com](https://prod.cursor.com/changelog/2-4) * Cursor 3.5 added Automations to the Agents Window and supports automations with multiple repositories or no repository. No repo change no current code change. aix does not model Cursor Automations yet. * Cursor 3.4 improved cloud-agent environment configuration as code, including Dockerfile-based setup, build secrets, environment version history, and scoped secrets. No repo change no current code change. These settings are not part of the local editor config files aix writes today. * Cursor 2.4 introduced Agent Skills in the editor and CLI with \`SKILL.md\` files. Already handled already aligned. \`packages/schema/src/editor-support.ts\` lists native Cursor skills, and Cursor skill installs are handled through the editor strategy layer. * Cursor 2.4 moved MCP server definitions and tools into JSON files under \`.cursor\`, loaded only when needed. Already handled already aligned for project MCP output at \`.cursor/mcp.json\`. * Cursor 2.4 expanded hooks, including stop hooks, \`beforeSubmitPrompt\`, \`PreToolUse\`, \`PostToolUse\`, team and MDM hooks in CLI, and Claude Code hook compatibility. Already handled already partly aligned. \`packages/core/src/editors/strategies/cursor/hooks.ts\` maps the supported aix hook events to Cursor native names; MDM/team cloud hook config is not modeled. Sources: [github.com](https://github.com/anomalyco/opencode/releases) , [opencode.ai](https://opencode.ai/docs/config/) , [opencode.ai](https://opencode.ai/docs/agents/) * The current npm package version is 1.15.7. The GitHub releases page inspected during this run showed 1.15.6 as the latest detailed release note. Needs review use 1.15.7 as the checked package version, but compare release-note details against 1.15.6 until the detailed 1.15.7 notes are visible. * OpenCode 1.15.6 fixed agent and command name resolution from relative config paths. Needs review already likely aligned. aix writes OpenCode \`instructions\` and \`command\` config using project-relative paths; keep this note for regression testing. * OpenCode config supports JSON and JSONC, merged global/project/remote config, \`instructions\`, \`command\`, \`mcp\`, plugins, permissions, agents, and managed settings. Already handled already partly aligned. aix supports \`opencode.json\` and \`opencode.jsonc\`, imports config-defined \`instructions\` and \`command\` prompts, writes MCP under top-level \`mcp\`, and treats hooks as unsupported. * OpenCode agent docs mark \`tools\` as deprecated in favor of permissions. Needs follow-up needs follow-up if aix emits OpenCode agent files with \`tools\`. Current OpenCode support should prefer permission-oriented fields if agent output expands. Sources: [windsurf.com](https://windsurf.com/changelog) * Windsurf 2.3.9 fixed terminal processing performance, restored conversation sharing, and repaired WSL path resolution for the Devin local agent. No repo change no config-format change found for aix. * Windsurf 2.2.17 included MCP server bug fixes. No repo change no schema change found in this run. Keep existing Windsurf MCP output unless a specific MCP config key changes. * Windsurf 1.9577.24 added support for loading \`SKILL.md\` files from \`.windsurf/skills/\`. Already handled already aligned. \`packages/schema/src/editor-support.ts\` documents native Windsurf skills and the strategy layer handles \`.windsurf/skills/\`. * Windsurf 1.9552.21 added support for reading skills from \`.agents/skills\`, added \`rules\_applied\` to the \`post\_cascade\_response\` hook, and fixed \`post\_write\_code\` hooks for all code editing tool formats. Needs review \`.agents/skills\` compatibility is documented. Runtime hook payload fields such as \`rules\_applied\` do not require a schema change unless aix starts documenting event payload examples. * Windsurf 1.9566.9 added \`POST\_CASCADE\_RESPONSE\_WITH\_TRANSCRIPT\`, team hook visibility, and MCP OAuth improvements. Already handled already partly aligned. \`packages/core/src/editors/strategies/windsurf/hooks.ts\` maps \`post\_response\_with\_transcript\` to \`post\_cascade\_response\_with\_transcript\`. Sources: [zed.dev](https://zed.dev/releases/stable) * Zed 1.3.5 added terminal threads in the sidebar and Agent Panel. No repo change no config-format change found for aix. * Zed 1.3.5 added a \`subagent\_model\` setting for spawned subagents. Needs follow-up needs follow-up only if aix adds Zed agent/subagent config support. Current Zed support focuses on rules, prompts, MCP, and skill pointer rules. * Zed 1.3.5 added user confirmation before tools modify \`.agents/skills/\` or \`\~/.agents/skills/\`. No repo change no code change needed. This protects skills installed by aix or other agents after they exist on disk. * Zed 1.3.5 added inline image and Mermaid rendering in the agent. No repo change no config-format change found for aix. --- # Claude Code support details > How aix maps rules, prompts, MCP, skills, hooks, and compatibility surfaces for Claude Code. Native rules, prompts, skills, MCP, and the broadest hook surface in the matrix. Claude Code is the easiest target when you need native hooks and native prompts together. Start on [the full support matrix](/editors/supported-editors/) when you need to compare every editor at once. Use this page when you want the exact terms, support details, and project/user targets for Claude Code. Related aix concepts: [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Editor-specific notes * Claude Code supports more lifecycle hook events than any other supported editor. * Its native repo instruction file is `CLAUDE.md`, not `AGENTS.md`. * The `task_created` and `task_completed` hooks only fire when the todo and task tools are available. Since Claude Code 2.1.233 that means setting `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models. ## Feature details How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ### Rules [Learn the concept](/concepts/rules/) Markdown rule files. Claude Code calls this **Rules** aix support Native * Project Editor Supported aix Native Path `.claude/rules/*.md` * User Editor Supported aix Native Path `~/.claude/CLAUDE.md` - User scope is a single global memory file instead of per-rule files. ### Prompts [Learn the concept](/concepts/prompts/) Markdown command files with YAML frontmatter. Claude Code calls this **Commands** aix support Native * Project Editor Supported aix Native Path `.claude/commands/*.md` * User Editor Supported aix Native Path `~/.claude/commands/*.md` **Supported metadata:** `description` , `argument-hint` ### MCP [Learn the concept](/concepts/mcp-servers/) JSON `mcpServers` configuration. Claude Code calls this **MCP servers** aix support Native * Project Editor Supported aix Native Path `.mcp.json` * User Editor Supported aix Native Path `~/.claude.json` ### Skills [Learn the concept](/concepts/skills/) Symlinked native skill directories backed by `.aix/skills/`. Claude Code calls this **Skills** aix support Native * Project Editor Supported aix Native Path `.claude/skills/{name}/` * User Editor Supported aix Native Path `~/.claude/skills/{name}/` ### Agents Markdown subagent files with YAML frontmatter. Claude Code calls this **Subagents** aix support Native * Project Editor Supported aix Native Path `.claude/agents/*.md` * User Editor Supported aix Native Path `~/.claude/agents/*.md` **Supported metadata:** `description` , `mode` , `model` , `tools` , `permissions` , `mcp` , `editor.claude-code` ### Hooks [Learn the concept](/concepts/hooks/) JSON hooks with PascalCase event names, matcher routing, and `command` / `http` / `mcp_tool` / `prompt` / `agent` action types. Claude Code calls this **Hooks** aix support Native * Project Editor Supported aix Native Path `.claude/settings.json` * User Editor Supported aix Native Path `~/.claude/settings.json` **Supported metadata:** `ConfigChange` , `CwdChanged` , `DirectoryAdded` , `Elicitation` , `ElicitationResult` , `FileChanged` , `InstructionsLoaded` , `Notification` , `PermissionDenied` , `PermissionRequest` , `PostCompact` , `PostModelSwitch` , `PostToolBatch` , `PostToolUse` , `PostToolUseFailure` , `PreCompact` , `PreModelSwitch` , `PreToolUse` , `SessionEnd` , `SessionStart` , `Setup` , `Stop` , `SubagentStart` , `SubagentStop` , `TaskCompleted` , `TaskCreated` , `TeammateIdle` , `UserPromptExpansion` , `UserPromptSubmit` , `WorktreeCreate` , `WorktreeRemove` * Command hooks surface `async`, `asyncRewake`, `shell`, `if`, `statusMessage`, and `once`. * Non-command hook types (`http`, `mcp_tool`, `prompt`, `agent`) are translated by aix. * Since Claude Code 2.1.214, a single-segment `dir/**` glob in `if` matches only `/dir`; use `**/dir/**` for any-depth matching. * PreModelSwitch and PostModelSwitch hooks are available in Claude Code 2.1.251+. ### Plugins Enabled plugins in settings.json. Claude Code calls this **Plugins** aix support Native * Project Editor Supported aix Native Path `.claude/settings.json` * User Editor Supported aix Native Path `~/.claude/settings.json` ### Marketplaces Extra known marketplace sources in settings.json. Claude Code calls this **Marketplaces** aix support Native * Project Editor Supported aix Native Path `.claude/settings.json` * User Editor Supported aix Native Path `~/.claude/settings.json` ### AGENTS.md Claude Code uses `CLAUDE.md` instead of AGENTS.md. Claude Code calls this **CLAUDE.md** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Use `CLAUDE.md` for repository instructions. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Use `~/.claude/CLAUDE.md` for home-scoped instructions. ### .agents/skills Claude Code uses native `.claude/skills/` directories instead of `.agents/skills/`. Claude Code calls this **.claude/skills** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Use `.claude/skills/` instead of `.agents/skills/`. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Use `~/.claude/skills/` instead of `.agents/skills/`. ## Related guides * [Claude Code to Cursor](/editors/migrations/how-to-migrate-from-claude-code-to-cursor/) * [Cursor to Claude Code](/editors/migrations/how-to-migrate-from-cursor-to-claude-code/) * [All migration guides that start from Claude Code](/editors/migrations/#claude-code) --- # Codex support details > How aix maps rules, prompts, MCP, skills, hooks, and compatibility surfaces for Codex. Rules, skills, and hooks are native, prompts become skills, and aix still treats MCP as global-only. Codex is strongest when AGENTS.md and Agent Skills are the destination format you want. Start on [the full support matrix](/editors/supported-editors/) when you need to compare every editor at once. Use this page when you want the exact terms, support details, and project/user targets for Codex. Related aix concepts: [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Editor-specific notes * Codex prompts are converted into skills because aix no longer writes native prompt files for Codex. * Codex upstream supports project-scoped MCP config, but aix still manages the global file today. ## Feature details How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ### Rules [Learn the concept](/concepts/rules/) Section-managed markdown in project and directory-specific AGENTS.md files. Codex calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` * User Editor Supported aix Native Path `~/.codex/AGENTS.md` - Activation modes collapse into plain markdown headings and directory placement. ### Prompts [Learn the concept](/concepts/prompts/) Prompt-to-skill conversion during install. Codex calls this **Skills** aix support Adapter * Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. * User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. ### MCP [Learn the concept](/concepts/mcp-servers/) TOML MCP configuration currently managed as global-only by aix. Codex calls this **MCP servers** aix support Native * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. * User Editor Supported aix Native Path `~/.codex/config.toml` - Upstream Codex also supports `.codex/config.toml` in trusted projects. ### Skills [Learn the concept](/concepts/skills/) Symlinked native skill directories backed by `.aix/skills/`. Codex calls this **Skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/{name}/` * User Editor Supported aix Native Path `~/.codex/skills/{name}/` ### Agents Codex does not document custom subagent files that aix can write safely. Codex calls this **Agents** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. ### Hooks [Learn the concept](/concepts/hooks/) JSON hooks with Codex event names. Codex calls this **Hooks** aix support Native * Project Editor Supported aix Native Path `.codex/hooks.json` * User Editor Supported aix Native Path `~/.codex/hooks.json` **Supported metadata:** `Interrupt` , `PermissionRequest` , `PostCompact` , `PostToolUse` , `PreCompact` , `PreToolUse` , `SessionEnd` , `SessionStart` , `Stop` , `SubagentStart` , `SubagentStop` , `UserPromptSubmit` * Codex command hooks use seconds-based `timeout` values. * Codex currently runs command hooks only; aix reports prompt, agent, HTTP, and MCP hook handlers as unsupported fields. * Since Codex 0.148.0, `async` runs a command hook in the background; `SessionEnd` hooks always run synchronously regardless. * A `powershell` command is written as `commandWindows`, the Windows counterpart to `command`. * Since Codex 0.150.0, `Interrupt` hooks execute when an active top-level turn is interrupted. ### Plugins Compatibility unpacking into native skills and MCP servers. Codex calls this **Plugins** aix support Adapter * Project Editor Supported aix Adapter Path `.codex/` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. ### Marketplaces Codex does not support custom AI agent marketplaces. Codex calls this **Marketplaces** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. ### AGENTS.md Codex natively layers AGENTS.md files through the directory tree. Codex calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md in the repository tree` * User Editor Supported aix Native Path `~/.codex/AGENTS.md` ### .agents/skills Codex natively discovers Agent Skills directories. Codex calls this **.agents/skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/{name}/` * User Editor Supported aix Native Path `~/.agents/skills/{name}/` ## Related guides * [Codex to Cursor](/editors/migrations/how-to-migrate-from-codex-to-cursor/) * [Cursor to Codex](/editors/migrations/how-to-migrate-from-cursor-to-codex/) * [All migration guides that start from Codex](/editors/migrations/#codex) --- # GitHub Copilot support details > How aix maps rules, prompts, MCP, skills, hooks, and compatibility surfaces for GitHub Copilot. Native project prompts, skill-backed user prompts, hooks, and repo-root MCP config. Copilot keeps most features native, but its repo instruction surfaces differ from other editors. Start on [the full support matrix](/editors/supported-editors/) when you need to compare every editor at once. Use this page when you want the exact terms, support details, and project/user targets for GitHub Copilot. Related aix concepts: [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Editor-specific notes * aix writes project MCP config to `.mcp.json`; Copilot CLI documents both `.mcp.json` and `.github/mcp.json` as project MCP files, and aix imports either. * Project Copilot prompt installs use explicit frontmatter so slash commands keep the configured prompt name. * User-scope Copilot prompt installs are converted into native skills under `~/.config/github-copilot/skills/`. ## Feature details How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ### Rules [Learn the concept](/concepts/rules/) Markdown instruction files in `.github/instructions/`. GitHub Copilot calls this **Instructions** aix support Native * Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` * User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. ### Prompts [Learn the concept](/concepts/prompts/) Markdown prompt files with YAML frontmatter. GitHub Copilot calls this **Prompt files** aix support Native * Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` * User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. **Supported metadata:** `name` , `description` , `argument-hint` ### MCP [Learn the concept](/concepts/mcp-servers/) JSON `mcpServers` configuration. GitHub Copilot calls this **MCP servers** aix support Native * Project Editor Supported aix Native Path `.mcp.json` * User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` - Imports also fall back to `.github/mcp.json` when `.mcp.json` is absent. ### Skills [Learn the concept](/concepts/skills/) Symlinked native skill directories backed by `.aix/skills/`. GitHub Copilot calls this **Skills** aix support Native * Project Editor Supported aix Native Path `.github/skills/{name}/` * User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` - Copilot also discovers `.agents/skills/` as a compatibility surface. ### Agents Markdown custom agent files with YAML frontmatter. GitHub Copilot calls this **Agents** aix support Native * Project Editor Supported aix Native Path `.github/agents/*.md` * User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` **Supported metadata:** `description` , `mode` , `model` , `tools` , `permissions` , `mcp-servers` , `editor.copilot` ### Hooks [Learn the concept](/concepts/hooks/) JSON hooks with `version: 1`, matcher-based tool routing, and cross-platform `bash` / `powershell` fields. GitHub Copilot calls this **Hooks** aix support Native * Project Editor Supported aix Native Path `.github/hooks/hooks.json` * User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` **Supported metadata:** `agentStop` , `errorOccurred` , `notification` , `permissionRequest` , `postToolUse` , `postToolUseFailure` , `preCompact` , `preToolUse` , `sessionEnd` , `sessionStart` , `subagentStart` , `subagentStop` , `userPromptSubmitted` * Each command hook surfaces `bash`, `powershell`, `cwd`, `env`, and `timeoutSec` natively. * `type: "prompt"` is supported on `sessionStart` only. ### Plugins GitHub Copilot Agent Plugins configuration. GitHub Copilot calls this **Agent Plugins** aix support Native * Project Editor Supported aix Native Path `copilot settings` * User Editor Supported aix Native Path `~/.config/github-copilot/` ### Marketplaces GitHub Copilot custom marketplace catalogs. GitHub Copilot calls this **Marketplaces** aix support Native * Project Editor Supported aix Native Path `copilot settings` * User Editor Supported aix Native Path `~/.config/github-copilot/` ### AGENTS.md Compatibility with repository AGENTS.md instructions. GitHub Copilot calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md in the repository tree` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Copilot does not expose a dedicated home-scoped AGENTS.md target in aix. ### .agents/skills Compatibility with the shared Agent Skills folder convention. GitHub Copilot calls this **.agents/skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/{name}/` * User Editor Supported aix Native Path `~/.agents/skills/{name}/` ## Related guides * [GitHub Copilot to Cursor](/editors/migrations/how-to-migrate-from-copilot-to-cursor/) * [Cursor to GitHub Copilot](/editors/migrations/how-to-migrate-from-cursor-to-copilot/) * [All migration guides that start from GitHub Copilot](/editors/migrations/#copilot) --- # Cursor support details > How aix maps rules, prompts, MCP, skills, hooks, and compatibility surfaces for Cursor. Native rules, commands, MCP, skills, and hooks with project-first config files. Cursor keeps most aix features native, but rules stay project-scoped. Start on [the full support matrix](/editors/supported-editors/) when you need to compare every editor at once. Use this page when you want the exact terms, support details, and project/user targets for Cursor. Related aix concepts: [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Editor-specific notes * Cursor prompt installs use `.cursor/commands/`, not `.cursor/prompts/`. * Cursor hooks map aix event names onto Cursor-specific camelCase hook names. ## Feature details How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ### Rules [Learn the concept](/concepts/rules/) Markdown-with-frontmatter rule files. Cursor calls this **Rules** aix support Native * Project Editor Supported aix Native Path `.cursor/rules/*.mdc` * User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. **Supported metadata:** `alwaysApply` , `globs` , `description` * Cursor also reads AGENTS.md as a compatibility surface. ### Prompts [Learn the concept](/concepts/prompts/) Plain markdown command files. Cursor calls this **Commands** aix support Native * Project Editor Supported aix Native Path `.cursor/commands/*.md` * User Editor Supported aix Native Path `~/.cursor/commands/*.md` ### MCP [Learn the concept](/concepts/mcp-servers/) JSON `mcpServers` configuration. Cursor calls this **MCP servers** aix support Native * Project Editor Supported aix Native Path `.cursor/mcp.json` * User Editor Supported aix Native Path `~/.cursor/mcp.json` ### Skills [Learn the concept](/concepts/skills/) Symlinked native skill directories backed by `.aix/skills/`. Cursor calls this **Skills** aix support Native * Project Editor Supported aix Native Path `.cursor/skills/{name}/` * User Editor Supported aix Native Path `~/.cursor/skills/{name}/` - Cursor also discovers `.agents/skills/` for compatibility. ### Agents Markdown agent files with YAML frontmatter. Cursor calls this **Agents** aix support Native * Project Editor Supported aix Native Path `.cursor/agents/*.md` * User Editor Supported aix Native Path `~/.cursor/agents/*.md` **Supported metadata:** `description` , `mode` , `model` , `tools` , `permissions` , `mcp` , `editor.cursor` ### Hooks [Learn the concept](/concepts/hooks/) JSON hook configuration with event-name translation, wrapped with `version: 1`. Cursor calls this **Hooks** aix support Native * Project Editor Supported aix Native Path `.cursor/hooks.json` * User Editor Supported aix Native Path `~/.cursor/hooks.json` **Supported metadata:** `sessionStart` , `sessionEnd` , `preToolUse` , `postToolUse` , `postToolUseFailure` , `subagentStart` , `subagentStop` , `beforeReadFile` , `beforeShellExecution` , `afterShellExecution` , `beforeMCPExecution` , `afterMCPExecution` , `afterFileEdit` , `beforeSubmitPrompt` , `preCompact` , `afterAgentResponse` , `afterAgentThought` , `stop` , `beforeTabFileRead` , `afterTabFileEdit` * Cursor also supports `type: "prompt"` LLM-evaluated hooks; aix passes them through. ### Plugins Cursor plugin manifest and marketplace packages. Cursor calls this **Plugins** aix support Native * Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. ### Marketplaces Cursor team marketplace catalogs. Cursor calls this **Marketplaces** aix support Native * Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. ### AGENTS.md Compatibility with root-level AGENTS.md instructions. Cursor calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor does not expose a separate home-scoped AGENTS.md path in aix. ### .agents/skills Compatibility with the shared Agent Skills folder convention. Cursor calls this **.agents/skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/{name}/` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor documents project-level compatibility more clearly than home scope. ## Related guides * [Cursor to GitHub Copilot](/editors/migrations/how-to-migrate-from-cursor-to-copilot/) * [GitHub Copilot to Cursor](/editors/migrations/how-to-migrate-from-copilot-to-cursor/) * [All migration guides that start from Cursor](/editors/migrations/#cursor) --- # Grok CLI support details > How aix maps rules, prompts, MCP, skills, hooks, and compatibility surfaces for Grok CLI. Rules, skills, MCP, and hooks are native; prompts become skills. Grok CLI is xAI's coding agent CLI with native TOML MCP config, modular rules, and hooks. Start on [the full support matrix](/editors/supported-editors/) when you need to compare every editor at once. Use this page when you want the exact terms, support details, and project/user targets for Grok CLI. Related aix concepts: [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Editor-specific notes * Grok CLI prompts are converted into skills because custom commands in the TUI are backed by skills. * Grok CLI supports both project-scoped (.grok/config.toml) and user-scoped (\~/.grok/config.toml) MCP configuration. ## Feature details How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ### Rules [Learn the concept](/concepts/rules/) Markdown rule files in `.grok/rules/`. Grok CLI calls this **Rules** aix support Native * Project Editor Supported aix Native Path `.grok/rules/*.md` * User Editor Supported aix Native Path `~/.grok/rules/*.md` - Grok CLI also discovers AGENTS.md in project roots as a compatibility surface. ### Prompts [Learn the concept](/concepts/prompts/) Prompt-to-skill conversion during install. Grok CLI calls this **Skills** aix support Adapter * Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. * User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. ### MCP [Learn the concept](/concepts/mcp-servers/) TOML MCP server configuration in `.grok/config.toml`. Grok CLI calls this **MCP servers** aix support Native * Project Editor Supported aix Native Path `.grok/config.toml` * User Editor Supported aix Native Path `~/.grok/config.toml` ### Skills [Learn the concept](/concepts/skills/) Symlinked native skill directories backed by `.aix/skills/`. Grok CLI calls this **Skills** aix support Native * Project Editor Supported aix Native Path `.grok/skills/{name}/` * User Editor Supported aix Native Path `~/.grok/skills/{name}/` ### Agents Grok CLI does not document custom subagent files that aix can write safely. Grok CLI calls this **Agents** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. ### Hooks [Learn the concept](/concepts/hooks/) JSON hooks in `.grok/hooks.json`. Grok CLI calls this **Hooks** aix support Native * Project Editor Supported aix Native Path `.grok/hooks.json` * User Editor Supported aix Native Path `~/.grok/hooks.json` **Supported metadata:** `Notification` , `PermissionDenied` , `PostCompact` , `PostToolUse` , `PostToolUseFailure` , `PreCompact` , `PreToolUse` , `SessionEnd` , `SessionStart` , `Stop` , `UserPromptSubmit` ### Plugins Compatibility unpacking into native rules and MCP servers. Grok CLI calls this **Plugins** aix support Adapter * Project Editor Supported aix Adapter Path `.grok/` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. ### Marketplaces Grok does not support custom AI agent marketplaces. Grok CLI calls this **Marketplaces** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. ### AGENTS.md Grok CLI natively reads AGENTS.md in repository roots. Grok CLI calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md` * User Editor Supported aix Native Path `~/.grok/AGENTS.md` ### .agents/skills Compatibility with the shared Agent Skills folder convention. Grok CLI calls this **.agents/skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/{name}/` * User Editor Supported aix Native Path `~/.agents/skills/{name}/` ## Related guides * [Grok CLI to Cursor](/editors/migrations/how-to-migrate-from-grok-to-cursor/) * [Cursor to Grok CLI](/editors/migrations/how-to-migrate-from-cursor-to-grok/) * [All migration guides that start from Grok CLI](/editors/migrations/#grok) --- # Migration Guides > Programmatic editor-to-editor migration guides for every supported aix editor pair. Start with the editor you use today. Each guide shows what aix can carry over, what the destination editor calls each feature, and where project or user config ends up. The guides are especially useful if you found aix through a search like "How to migrate from X to Y" and want a quick comparison before you run `aix sync`. ## Featured migration guides These guides include a preview command, the important conversion differences, and a verification step. From Cursor to Claude Code [How to migrate from Cursor to Claude Code](/editors/migrations/how-to-migrate-from-cursor-to-claude-code/) From Cursor to Codex [How to migrate from Cursor to Codex](/editors/migrations/how-to-migrate-from-cursor-to-codex/) From Claude Code to Cursor [How to migrate from Claude Code to Cursor](/editors/migrations/how-to-migrate-from-claude-code-to-cursor/) From Claude Code to Codex [How to migrate from Claude Code to Codex](/editors/migrations/how-to-migrate-from-claude-code-to-codex/) From Codex to Cursor [How to migrate from Codex to Cursor](/editors/migrations/how-to-migrate-from-codex-to-cursor/) From Codex to Claude Code [How to migrate from Codex to Claude Code](/editors/migrations/how-to-migrate-from-codex-to-claude-code/) ## From Cursor To GitHub Copilot [How to migrate from Cursor to GitHub Copilot](/editors/migrations/how-to-migrate-from-cursor-to-copilot/) To Claude Code [How to migrate from Cursor to Claude Code](/editors/migrations/how-to-migrate-from-cursor-to-claude-code/) To Windsurf [How to migrate from Cursor to Windsurf](/editors/migrations/how-to-migrate-from-cursor-to-windsurf/) To Zed [How to migrate from Cursor to Zed](/editors/migrations/how-to-migrate-from-cursor-to-zed/) To Codex [How to migrate from Cursor to Codex](/editors/migrations/how-to-migrate-from-cursor-to-codex/) To Google Antigravity [How to migrate from Cursor to Google Antigravity](/editors/migrations/how-to-migrate-from-cursor-to-antigravity/) To OpenCode [How to migrate from Cursor to OpenCode](/editors/migrations/how-to-migrate-from-cursor-to-opencode/) To Grok CLI [How to migrate from Cursor to Grok CLI](/editors/migrations/how-to-migrate-from-cursor-to-grok/) ## From GitHub Copilot To Cursor [How to migrate from GitHub Copilot to Cursor](/editors/migrations/how-to-migrate-from-copilot-to-cursor/) To Claude Code [How to migrate from GitHub Copilot to Claude Code](/editors/migrations/how-to-migrate-from-copilot-to-claude-code/) To Windsurf [How to migrate from GitHub Copilot to Windsurf](/editors/migrations/how-to-migrate-from-copilot-to-windsurf/) To Zed [How to migrate from GitHub Copilot to Zed](/editors/migrations/how-to-migrate-from-copilot-to-zed/) To Codex [How to migrate from GitHub Copilot to Codex](/editors/migrations/how-to-migrate-from-copilot-to-codex/) To Google Antigravity [How to migrate from GitHub Copilot to Google Antigravity](/editors/migrations/how-to-migrate-from-copilot-to-antigravity/) To OpenCode [How to migrate from GitHub Copilot to OpenCode](/editors/migrations/how-to-migrate-from-copilot-to-opencode/) To Grok CLI [How to migrate from GitHub Copilot to Grok CLI](/editors/migrations/how-to-migrate-from-copilot-to-grok/) ## From Claude Code To Cursor [How to migrate from Claude Code to Cursor](/editors/migrations/how-to-migrate-from-claude-code-to-cursor/) To GitHub Copilot [How to migrate from Claude Code to GitHub Copilot](/editors/migrations/how-to-migrate-from-claude-code-to-copilot/) To Windsurf [How to migrate from Claude Code to Windsurf](/editors/migrations/how-to-migrate-from-claude-code-to-windsurf/) To Zed [How to migrate from Claude Code to Zed](/editors/migrations/how-to-migrate-from-claude-code-to-zed/) To Codex [How to migrate from Claude Code to Codex](/editors/migrations/how-to-migrate-from-claude-code-to-codex/) To Google Antigravity [How to migrate from Claude Code to Google Antigravity](/editors/migrations/how-to-migrate-from-claude-code-to-antigravity/) To OpenCode [How to migrate from Claude Code to OpenCode](/editors/migrations/how-to-migrate-from-claude-code-to-opencode/) To Grok CLI [How to migrate from Claude Code to Grok CLI](/editors/migrations/how-to-migrate-from-claude-code-to-grok/) ## From Windsurf To Cursor [How to migrate from Windsurf to Cursor](/editors/migrations/how-to-migrate-from-windsurf-to-cursor/) To GitHub Copilot [How to migrate from Windsurf to GitHub Copilot](/editors/migrations/how-to-migrate-from-windsurf-to-copilot/) To Claude Code [How to migrate from Windsurf to Claude Code](/editors/migrations/how-to-migrate-from-windsurf-to-claude-code/) To Zed [How to migrate from Windsurf to Zed](/editors/migrations/how-to-migrate-from-windsurf-to-zed/) To Codex [How to migrate from Windsurf to Codex](/editors/migrations/how-to-migrate-from-windsurf-to-codex/) To Google Antigravity [How to migrate from Windsurf to Google Antigravity](/editors/migrations/how-to-migrate-from-windsurf-to-antigravity/) To OpenCode [How to migrate from Windsurf to OpenCode](/editors/migrations/how-to-migrate-from-windsurf-to-opencode/) To Grok CLI [How to migrate from Windsurf to Grok CLI](/editors/migrations/how-to-migrate-from-windsurf-to-grok/) ## From Zed To Cursor [How to migrate from Zed to Cursor](/editors/migrations/how-to-migrate-from-zed-to-cursor/) To GitHub Copilot [How to migrate from Zed to GitHub Copilot](/editors/migrations/how-to-migrate-from-zed-to-copilot/) To Claude Code [How to migrate from Zed to Claude Code](/editors/migrations/how-to-migrate-from-zed-to-claude-code/) To Windsurf [How to migrate from Zed to Windsurf](/editors/migrations/how-to-migrate-from-zed-to-windsurf/) To Codex [How to migrate from Zed to Codex](/editors/migrations/how-to-migrate-from-zed-to-codex/) To Google Antigravity [How to migrate from Zed to Google Antigravity](/editors/migrations/how-to-migrate-from-zed-to-antigravity/) To OpenCode [How to migrate from Zed to OpenCode](/editors/migrations/how-to-migrate-from-zed-to-opencode/) To Grok CLI [How to migrate from Zed to Grok CLI](/editors/migrations/how-to-migrate-from-zed-to-grok/) ## From Codex To Cursor [How to migrate from Codex to Cursor](/editors/migrations/how-to-migrate-from-codex-to-cursor/) To GitHub Copilot [How to migrate from Codex to GitHub Copilot](/editors/migrations/how-to-migrate-from-codex-to-copilot/) To Claude Code [How to migrate from Codex to Claude Code](/editors/migrations/how-to-migrate-from-codex-to-claude-code/) To Windsurf [How to migrate from Codex to Windsurf](/editors/migrations/how-to-migrate-from-codex-to-windsurf/) To Zed [How to migrate from Codex to Zed](/editors/migrations/how-to-migrate-from-codex-to-zed/) To Google Antigravity [How to migrate from Codex to Google Antigravity](/editors/migrations/how-to-migrate-from-codex-to-antigravity/) To OpenCode [How to migrate from Codex to OpenCode](/editors/migrations/how-to-migrate-from-codex-to-opencode/) To Grok CLI [How to migrate from Codex to Grok CLI](/editors/migrations/how-to-migrate-from-codex-to-grok/) ## From Google Antigravity To Cursor [How to migrate from Google Antigravity to Cursor](/editors/migrations/how-to-migrate-from-antigravity-to-cursor/) To GitHub Copilot [How to migrate from Google Antigravity to GitHub Copilot](/editors/migrations/how-to-migrate-from-antigravity-to-copilot/) To Claude Code [How to migrate from Google Antigravity to Claude Code](/editors/migrations/how-to-migrate-from-antigravity-to-claude-code/) To Windsurf [How to migrate from Google Antigravity to Windsurf](/editors/migrations/how-to-migrate-from-antigravity-to-windsurf/) To Zed [How to migrate from Google Antigravity to Zed](/editors/migrations/how-to-migrate-from-antigravity-to-zed/) To Codex [How to migrate from Google Antigravity to Codex](/editors/migrations/how-to-migrate-from-antigravity-to-codex/) To OpenCode [How to migrate from Google Antigravity to OpenCode](/editors/migrations/how-to-migrate-from-antigravity-to-opencode/) To Grok CLI [How to migrate from Google Antigravity to Grok CLI](/editors/migrations/how-to-migrate-from-antigravity-to-grok/) ## From OpenCode To Cursor [How to migrate from OpenCode to Cursor](/editors/migrations/how-to-migrate-from-opencode-to-cursor/) To GitHub Copilot [How to migrate from OpenCode to GitHub Copilot](/editors/migrations/how-to-migrate-from-opencode-to-copilot/) To Claude Code [How to migrate from OpenCode to Claude Code](/editors/migrations/how-to-migrate-from-opencode-to-claude-code/) To Windsurf [How to migrate from OpenCode to Windsurf](/editors/migrations/how-to-migrate-from-opencode-to-windsurf/) To Zed [How to migrate from OpenCode to Zed](/editors/migrations/how-to-migrate-from-opencode-to-zed/) To Codex [How to migrate from OpenCode to Codex](/editors/migrations/how-to-migrate-from-opencode-to-codex/) To Google Antigravity [How to migrate from OpenCode to Google Antigravity](/editors/migrations/how-to-migrate-from-opencode-to-antigravity/) To Grok CLI [How to migrate from OpenCode to Grok CLI](/editors/migrations/how-to-migrate-from-opencode-to-grok/) ## From Grok CLI To Cursor [How to migrate from Grok CLI to Cursor](/editors/migrations/how-to-migrate-from-grok-to-cursor/) To GitHub Copilot [How to migrate from Grok CLI to GitHub Copilot](/editors/migrations/how-to-migrate-from-grok-to-copilot/) To Claude Code [How to migrate from Grok CLI to Claude Code](/editors/migrations/how-to-migrate-from-grok-to-claude-code/) To Windsurf [How to migrate from Grok CLI to Windsurf](/editors/migrations/how-to-migrate-from-grok-to-windsurf/) To Zed [How to migrate from Grok CLI to Zed](/editors/migrations/how-to-migrate-from-grok-to-zed/) To Codex [How to migrate from Grok CLI to Codex](/editors/migrations/how-to-migrate-from-grok-to-codex/) To Google Antigravity [How to migrate from Grok CLI to Google Antigravity](/editors/migrations/how-to-migrate-from-grok-to-antigravity/) To OpenCode [How to migrate from Grok CLI to OpenCode](/editors/migrations/how-to-migrate-from-grok-to-opencode/) --- # How to migrate from Google Antigravity to Claude Code > Migrate aix configuration from Google Antigravity to Claude Code. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Google Antigravity to Claude Code, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync antigravity --to claude-code` copies the supported config from Google Antigravity into Claude Code. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Google Antigravity | Claude Code | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | ## Recommended follow-up links * [Google Antigravity support details](/editors/antigravity/) * [Claude Code support details](/editors/claude-code/) * [All guides that start from Google Antigravity](/editors/migrations/#antigravity) * [Claude Code to Google Antigravity](/editors/migrations/how-to-migrate-from-claude-code-to-antigravity/) --- # How to migrate from Google Antigravity to Codex > Migrate aix configuration from Google Antigravity to Codex. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Google Antigravity to Codex, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync antigravity --to codex` copies the supported config from Google Antigravity into Codex. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Google Antigravity | Codex | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | ## Recommended follow-up links * [Google Antigravity support details](/editors/antigravity/) * [Codex support details](/editors/codex/) * [All guides that start from Google Antigravity](/editors/migrations/#antigravity) * [Codex to Google Antigravity](/editors/migrations/how-to-migrate-from-codex-to-antigravity/) --- # How to migrate from Google Antigravity to GitHub Copilot > Migrate aix configuration from Google Antigravity to GitHub Copilot. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Google Antigravity to GitHub Copilot, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync antigravity --to copilot` copies the supported config from Google Antigravity into GitHub Copilot. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Google Antigravity | GitHub Copilot | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | ## Recommended follow-up links * [Google Antigravity support details](/editors/antigravity/) * [GitHub Copilot support details](/editors/copilot/) * [All guides that start from Google Antigravity](/editors/migrations/#antigravity) * [GitHub Copilot to Google Antigravity](/editors/migrations/how-to-migrate-from-copilot-to-antigravity/) --- # How to migrate from Google Antigravity to Cursor > Migrate aix configuration from Google Antigravity to Cursor. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Google Antigravity to Cursor, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync antigravity --to cursor` copies the supported config from Google Antigravity into Cursor. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Google Antigravity | Cursor | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | ## Recommended follow-up links * [Google Antigravity support details](/editors/antigravity/) * [Cursor support details](/editors/cursor/) * [All guides that start from Google Antigravity](/editors/migrations/#antigravity) * [Cursor to Google Antigravity](/editors/migrations/how-to-migrate-from-cursor-to-antigravity/) --- # How to migrate from Google Antigravity to Grok CLI > Migrate aix configuration from Google Antigravity to Grok CLI. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Google Antigravity to Grok CLI, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync antigravity --to grok` copies the supported config from Google Antigravity into Grok CLI. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Google Antigravity | Grok CLI | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | ## Recommended follow-up links * [Google Antigravity support details](/editors/antigravity/) * [Grok CLI support details](/editors/grok/) * [All guides that start from Google Antigravity](/editors/migrations/#antigravity) * [Grok CLI to Google Antigravity](/editors/migrations/how-to-migrate-from-grok-to-antigravity/) --- # How to migrate from Google Antigravity to OpenCode > Migrate aix configuration from Google Antigravity to OpenCode. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Google Antigravity to OpenCode, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync antigravity --to opencode` copies the supported config from Google Antigravity into OpenCode. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Google Antigravity | OpenCode | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | ## Recommended follow-up links * [Google Antigravity support details](/editors/antigravity/) * [OpenCode support details](/editors/opencode/) * [All guides that start from Google Antigravity](/editors/migrations/#antigravity) * [OpenCode to Google Antigravity](/editors/migrations/how-to-migrate-from-opencode-to-antigravity/) --- # How to migrate from Google Antigravity to Windsurf > Migrate aix configuration from Google Antigravity to Windsurf. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Google Antigravity to Windsurf, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync antigravity --to windsurf` copies the supported config from Google Antigravity into Windsurf. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Google Antigravity | Windsurf | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | ## Recommended follow-up links * [Google Antigravity support details](/editors/antigravity/) * [Windsurf support details](/editors/windsurf/) * [All guides that start from Google Antigravity](/editors/migrations/#antigravity) * [Windsurf to Google Antigravity](/editors/migrations/how-to-migrate-from-windsurf-to-antigravity/) --- # How to migrate from Google Antigravity to Zed > Migrate aix configuration from Google Antigravity to Zed. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Google Antigravity to Zed, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync antigravity --to zed` copies the supported config from Google Antigravity into Zed. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Google Antigravity | Zed | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | ## Recommended follow-up links * [Google Antigravity support details](/editors/antigravity/) * [Zed support details](/editors/zed/) * [All guides that start from Google Antigravity](/editors/migrations/#antigravity) * [Zed to Google Antigravity](/editors/migrations/how-to-migrate-from-zed-to-antigravity/) --- # How to migrate from Claude Code to Google Antigravity > Migrate aix configuration from Claude Code to Google Antigravity. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Claude Code to Google Antigravity, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync claude-code --to antigravity` copies the supported config from Claude Code into Google Antigravity. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Claude Code | Google Antigravity | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | ## Recommended follow-up links * [Claude Code support details](/editors/claude-code/) * [Google Antigravity support details](/editors/antigravity/) * [All guides that start from Claude Code](/editors/migrations/#claude-code) * [Google Antigravity to Claude Code](/editors/migrations/how-to-migrate-from-antigravity-to-claude-code/) --- # How to migrate from Claude Code to Codex > Migrate aix configuration from Claude Code to Codex. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Claude Code to Codex, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync claude-code --to codex` copies the supported config from Claude Code into Codex. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Run this migration 1. Preview the user-scope migration before writing files: ``` aix sync claude-code --to codex --dry-run ``` 2. Read the preview for skipped or converted features, then run: ``` aix sync claude-code --to codex ``` 3. Open Codex's generated files and compare them with the destination details below. Use `--scope project` when the source config is project-scoped. ## What needs attention * **Rules:** Claude Code calls this "Rules", while Codex calls it "AGENTS.md". * **Prompts:** Codex loses part of the prompts surface that Claude Code has today. * **MCP:** Claude Code and Codex put mcp in different project or user targets. * **Skills:** Claude Code and Codex put skills in different project or user targets. ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Claude Code | Codex | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | ## Recommended follow-up links * [Claude Code support details](/editors/claude-code/) * [Codex support details](/editors/codex/) * [All guides that start from Claude Code](/editors/migrations/#claude-code) * [Codex to Claude Code](/editors/migrations/how-to-migrate-from-codex-to-claude-code/) --- # How to migrate from Claude Code to GitHub Copilot > Migrate aix configuration from Claude Code to GitHub Copilot. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Claude Code to GitHub Copilot, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync claude-code --to copilot` copies the supported config from Claude Code into GitHub Copilot. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Claude Code | GitHub Copilot | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | ## Recommended follow-up links * [Claude Code support details](/editors/claude-code/) * [GitHub Copilot support details](/editors/copilot/) * [All guides that start from Claude Code](/editors/migrations/#claude-code) * [GitHub Copilot to Claude Code](/editors/migrations/how-to-migrate-from-copilot-to-claude-code/) --- # How to migrate from Claude Code to Cursor > Migrate aix configuration from Claude Code to Cursor. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Claude Code to Cursor, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync claude-code --to cursor` copies the supported config from Claude Code into Cursor. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Run this migration 1. Preview the user-scope migration before writing files: ``` aix sync claude-code --to cursor --dry-run ``` 2. Read the preview for skipped or converted features, then run: ``` aix sync claude-code --to cursor ``` 3. Open Cursor's generated files and compare them with the destination details below. Use `--scope project` when the source config is project-scoped. ## What needs attention * **Rules:** Claude Code and Cursor put rules in different project or user targets. * **Prompts:** Claude Code and Cursor put prompts in different project or user targets. * **MCP:** Claude Code and Cursor put mcp in different project or user targets. * **Skills:** Claude Code and Cursor put skills in different project or user targets. ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Claude Code | Cursor | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | ## Recommended follow-up links * [Claude Code support details](/editors/claude-code/) * [Cursor support details](/editors/cursor/) * [All guides that start from Claude Code](/editors/migrations/#claude-code) * [Cursor to Claude Code](/editors/migrations/how-to-migrate-from-cursor-to-claude-code/) --- # How to migrate from Claude Code to Grok CLI > Migrate aix configuration from Claude Code to Grok CLI. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Claude Code to Grok CLI, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync claude-code --to grok` copies the supported config from Claude Code into Grok CLI. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Claude Code | Grok CLI | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | ## Recommended follow-up links * [Claude Code support details](/editors/claude-code/) * [Grok CLI support details](/editors/grok/) * [All guides that start from Claude Code](/editors/migrations/#claude-code) * [Grok CLI to Claude Code](/editors/migrations/how-to-migrate-from-grok-to-claude-code/) --- # How to migrate from Claude Code to OpenCode > Migrate aix configuration from Claude Code to OpenCode. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Claude Code to OpenCode, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync claude-code --to opencode` copies the supported config from Claude Code into OpenCode. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Claude Code | OpenCode | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | ## Recommended follow-up links * [Claude Code support details](/editors/claude-code/) * [OpenCode support details](/editors/opencode/) * [All guides that start from Claude Code](/editors/migrations/#claude-code) * [OpenCode to Claude Code](/editors/migrations/how-to-migrate-from-opencode-to-claude-code/) --- # How to migrate from Claude Code to Windsurf > Migrate aix configuration from Claude Code to Windsurf. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Claude Code to Windsurf, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync claude-code --to windsurf` copies the supported config from Claude Code into Windsurf. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Claude Code | Windsurf | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | ## Recommended follow-up links * [Claude Code support details](/editors/claude-code/) * [Windsurf support details](/editors/windsurf/) * [All guides that start from Claude Code](/editors/migrations/#claude-code) * [Windsurf to Claude Code](/editors/migrations/how-to-migrate-from-windsurf-to-claude-code/) --- # How to migrate from Claude Code to Zed > Migrate aix configuration from Claude Code to Zed. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Claude Code to Zed, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync claude-code --to zed` copies the supported config from Claude Code into Zed. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Claude Code | Zed | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | | Agents | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | ## Recommended follow-up links * [Claude Code support details](/editors/claude-code/) * [Zed support details](/editors/zed/) * [All guides that start from Claude Code](/editors/migrations/#claude-code) * [Zed to Claude Code](/editors/migrations/how-to-migrate-from-zed-to-claude-code/) --- # How to migrate from Codex to Google Antigravity > Migrate aix configuration from Codex to Google Antigravity. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Codex to Google Antigravity, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync codex --to antigravity` copies the supported config from Codex into Google Antigravity. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Codex | Google Antigravity | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | ## Recommended follow-up links * [Codex support details](/editors/codex/) * [Google Antigravity support details](/editors/antigravity/) * [All guides that start from Codex](/editors/migrations/#codex) * [Google Antigravity to Codex](/editors/migrations/how-to-migrate-from-antigravity-to-codex/) --- # How to migrate from Codex to Claude Code > Migrate aix configuration from Codex to Claude Code. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Codex to Claude Code, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync codex --to claude-code` copies the supported config from Codex into Claude Code. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Run this migration 1. Preview the user-scope migration before writing files: ``` aix sync codex --to claude-code --dry-run ``` 2. Read the preview for skipped or converted features, then run: ``` aix sync codex --to claude-code ``` 3. Open Claude Code's generated files and compare them with the destination details below. Use `--scope project` when the source config is project-scoped. ## What needs attention * **Rules:** Codex calls this "AGENTS.md", while Claude Code calls it "Rules". * **Prompts:** Claude Code keeps prompts more directly than Codex. * **MCP:** Codex and Claude Code put mcp in different project or user targets. * **Skills:** Codex and Claude Code put skills in different project or user targets. ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Codex | Claude Code | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | ## Recommended follow-up links * [Codex support details](/editors/codex/) * [Claude Code support details](/editors/claude-code/) * [All guides that start from Codex](/editors/migrations/#codex) * [Claude Code to Codex](/editors/migrations/how-to-migrate-from-claude-code-to-codex/) --- # How to migrate from Codex to GitHub Copilot > Migrate aix configuration from Codex to GitHub Copilot. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Codex to GitHub Copilot, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync codex --to copilot` copies the supported config from Codex into GitHub Copilot. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Codex | GitHub Copilot | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | ## Recommended follow-up links * [Codex support details](/editors/codex/) * [GitHub Copilot support details](/editors/copilot/) * [All guides that start from Codex](/editors/migrations/#codex) * [GitHub Copilot to Codex](/editors/migrations/how-to-migrate-from-copilot-to-codex/) --- # How to migrate from Codex to Cursor > Migrate aix configuration from Codex to Cursor. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Codex to Cursor, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync codex --to cursor` copies the supported config from Codex into Cursor. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Run this migration 1. Preview the user-scope migration before writing files: ``` aix sync codex --to cursor --dry-run ``` 2. Read the preview for skipped or converted features, then run: ``` aix sync codex --to cursor ``` 3. Open Cursor's generated files and compare them with the destination details below. Use `--scope project` when the source config is project-scoped. ## What needs attention * **Rules:** Codex calls this "AGENTS.md", while Cursor calls it "Rules". * **Prompts:** Cursor keeps prompts more directly than Codex. * **MCP:** Codex and Cursor put mcp in different project or user targets. * **Skills:** Codex and Cursor put skills in different project or user targets. ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Codex | Cursor | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | ## Recommended follow-up links * [Codex support details](/editors/codex/) * [Cursor support details](/editors/cursor/) * [All guides that start from Codex](/editors/migrations/#codex) * [Cursor to Codex](/editors/migrations/how-to-migrate-from-cursor-to-codex/) --- # How to migrate from Codex to Grok CLI > Migrate aix configuration from Codex to Grok CLI. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Codex to Grok CLI, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync codex --to grok` copies the supported config from Codex into Grok CLI. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Codex | Grok CLI | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | ## Recommended follow-up links * [Codex support details](/editors/codex/) * [Grok CLI support details](/editors/grok/) * [All guides that start from Codex](/editors/migrations/#codex) * [Grok CLI to Codex](/editors/migrations/how-to-migrate-from-grok-to-codex/) --- # How to migrate from Codex to OpenCode > Migrate aix configuration from Codex to OpenCode. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Codex to OpenCode, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync codex --to opencode` copies the supported config from Codex into OpenCode. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Codex | OpenCode | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | ## Recommended follow-up links * [Codex support details](/editors/codex/) * [OpenCode support details](/editors/opencode/) * [All guides that start from Codex](/editors/migrations/#codex) * [OpenCode to Codex](/editors/migrations/how-to-migrate-from-opencode-to-codex/) --- # How to migrate from Codex to Windsurf > Migrate aix configuration from Codex to Windsurf. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Codex to Windsurf, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync codex --to windsurf` copies the supported config from Codex into Windsurf. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Codex | Windsurf | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | ## Recommended follow-up links * [Codex support details](/editors/codex/) * [Windsurf support details](/editors/windsurf/) * [All guides that start from Codex](/editors/migrations/#codex) * [Windsurf to Codex](/editors/migrations/how-to-migrate-from-windsurf-to-codex/) --- # How to migrate from Codex to Zed > Migrate aix configuration from Codex to Zed. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Codex to Zed, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync codex --to zed` copies the supported config from Codex into Zed. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Codex | Zed | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | ## Recommended follow-up links * [Codex support details](/editors/codex/) * [Zed support details](/editors/zed/) * [All guides that start from Codex](/editors/migrations/#codex) * [Zed to Codex](/editors/migrations/how-to-migrate-from-zed-to-codex/) --- # How to migrate from GitHub Copilot to Google Antigravity > Migrate aix configuration from GitHub Copilot to Google Antigravity. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from GitHub Copilot to Google Antigravity, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync copilot --to antigravity` copies the supported config from GitHub Copilot into Google Antigravity. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | GitHub Copilot | Google Antigravity | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | | [Prompts](/concepts/prompts/) | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | | Plugins | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | ## Recommended follow-up links * [GitHub Copilot support details](/editors/copilot/) * [Google Antigravity support details](/editors/antigravity/) * [All guides that start from GitHub Copilot](/editors/migrations/#copilot) * [Google Antigravity to GitHub Copilot](/editors/migrations/how-to-migrate-from-antigravity-to-copilot/) --- # How to migrate from GitHub Copilot to Claude Code > Migrate aix configuration from GitHub Copilot to Claude Code. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from GitHub Copilot to Claude Code, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync copilot --to claude-code` copies the supported config from GitHub Copilot into Claude Code. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | GitHub Copilot | Claude Code | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | | [Prompts](/concepts/prompts/) | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Plugins | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | ## Recommended follow-up links * [GitHub Copilot support details](/editors/copilot/) * [Claude Code support details](/editors/claude-code/) * [All guides that start from GitHub Copilot](/editors/migrations/#copilot) * [Claude Code to GitHub Copilot](/editors/migrations/how-to-migrate-from-claude-code-to-copilot/) --- # How to migrate from GitHub Copilot to Codex > Migrate aix configuration from GitHub Copilot to Codex. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from GitHub Copilot to Codex, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync copilot --to codex` copies the supported config from GitHub Copilot into Codex. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | GitHub Copilot | Codex | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | | Plugins | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | ## Recommended follow-up links * [GitHub Copilot support details](/editors/copilot/) * [Codex support details](/editors/codex/) * [All guides that start from GitHub Copilot](/editors/migrations/#copilot) * [Codex to GitHub Copilot](/editors/migrations/how-to-migrate-from-codex-to-copilot/) --- # How to migrate from GitHub Copilot to Cursor > Migrate aix configuration from GitHub Copilot to Cursor. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from GitHub Copilot to Cursor, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync copilot --to cursor` copies the supported config from GitHub Copilot into Cursor. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | GitHub Copilot | Cursor | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | | [Prompts](/concepts/prompts/) | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | | Plugins | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | ## Recommended follow-up links * [GitHub Copilot support details](/editors/copilot/) * [Cursor support details](/editors/cursor/) * [All guides that start from GitHub Copilot](/editors/migrations/#copilot) * [Cursor to GitHub Copilot](/editors/migrations/how-to-migrate-from-cursor-to-copilot/) --- # How to migrate from GitHub Copilot to Grok CLI > Migrate aix configuration from GitHub Copilot to Grok CLI. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from GitHub Copilot to Grok CLI, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync copilot --to grok` copies the supported config from GitHub Copilot into Grok CLI. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | GitHub Copilot | Grok CLI | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | | [Prompts](/concepts/prompts/) | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | | Plugins | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | ## Recommended follow-up links * [GitHub Copilot support details](/editors/copilot/) * [Grok CLI support details](/editors/grok/) * [All guides that start from GitHub Copilot](/editors/migrations/#copilot) * [Grok CLI to GitHub Copilot](/editors/migrations/how-to-migrate-from-grok-to-copilot/) --- # How to migrate from GitHub Copilot to OpenCode > Migrate aix configuration from GitHub Copilot to OpenCode. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from GitHub Copilot to OpenCode, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync copilot --to opencode` copies the supported config from GitHub Copilot into OpenCode. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | GitHub Copilot | OpenCode | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | | Plugins | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | ## Recommended follow-up links * [GitHub Copilot support details](/editors/copilot/) * [OpenCode support details](/editors/opencode/) * [All guides that start from GitHub Copilot](/editors/migrations/#copilot) * [OpenCode to GitHub Copilot](/editors/migrations/how-to-migrate-from-opencode-to-copilot/) --- # How to migrate from GitHub Copilot to Windsurf > Migrate aix configuration from GitHub Copilot to Windsurf. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from GitHub Copilot to Windsurf, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync copilot --to windsurf` copies the supported config from GitHub Copilot into Windsurf. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | GitHub Copilot | Windsurf | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | | [Prompts](/concepts/prompts/) | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | | Plugins | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | ## Recommended follow-up links * [GitHub Copilot support details](/editors/copilot/) * [Windsurf support details](/editors/windsurf/) * [All guides that start from GitHub Copilot](/editors/migrations/#copilot) * [Windsurf to GitHub Copilot](/editors/migrations/how-to-migrate-from-windsurf-to-copilot/) --- # How to migrate from GitHub Copilot to Zed > Migrate aix configuration from GitHub Copilot to Zed. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from GitHub Copilot to Zed, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync copilot --to zed` copies the supported config from GitHub Copilot into Zed. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | GitHub Copilot | Zed | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | | Plugins | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | ## Recommended follow-up links * [GitHub Copilot support details](/editors/copilot/) * [Zed support details](/editors/zed/) * [All guides that start from GitHub Copilot](/editors/migrations/#copilot) * [Zed to GitHub Copilot](/editors/migrations/how-to-migrate-from-zed-to-copilot/) --- # How to migrate from Cursor to Google Antigravity > Migrate aix configuration from Cursor to Google Antigravity. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Cursor to Google Antigravity, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync cursor --to antigravity` copies the supported config from Cursor into Google Antigravity. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Cursor | Google Antigravity | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | ## Recommended follow-up links * [Cursor support details](/editors/cursor/) * [Google Antigravity support details](/editors/antigravity/) * [All guides that start from Cursor](/editors/migrations/#cursor) * [Google Antigravity to Cursor](/editors/migrations/how-to-migrate-from-antigravity-to-cursor/) --- # How to migrate from Cursor to Claude Code > Migrate aix configuration from Cursor to Claude Code. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Cursor to Claude Code, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync cursor --to claude-code` copies the supported config from Cursor into Claude Code. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Run this migration 1. Preview the user-scope migration before writing files: ``` aix sync cursor --to claude-code --dry-run ``` 2. Read the preview for skipped or converted features, then run: ``` aix sync cursor --to claude-code ``` 3. Open Claude Code's generated files and compare them with the destination details below. Use `--scope project` when the source config is project-scoped. ## What needs attention * **Rules:** Cursor and Claude Code put rules in different project or user targets. * **Prompts:** Cursor and Claude Code put prompts in different project or user targets. * **MCP:** Cursor and Claude Code put mcp in different project or user targets. * **Skills:** Cursor and Claude Code put skills in different project or user targets. ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Cursor | Claude Code | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | ## Recommended follow-up links * [Cursor support details](/editors/cursor/) * [Claude Code support details](/editors/claude-code/) * [All guides that start from Cursor](/editors/migrations/#cursor) * [Claude Code to Cursor](/editors/migrations/how-to-migrate-from-claude-code-to-cursor/) --- # How to migrate from Cursor to Codex > Migrate aix configuration from Cursor to Codex. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Cursor to Codex, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync cursor --to codex` copies the supported config from Cursor into Codex. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Run this migration 1. Preview the user-scope migration before writing files: ``` aix sync cursor --to codex --dry-run ``` 2. Read the preview for skipped or converted features, then run: ``` aix sync cursor --to codex ``` 3. Open Codex's generated files and compare them with the destination details below. Use `--scope project` when the source config is project-scoped. ## What needs attention * **Rules:** Cursor calls this "Rules", while Codex calls it "AGENTS.md". * **Prompts:** Codex loses part of the prompts surface that Cursor has today. * **MCP:** Cursor and Codex put mcp in different project or user targets. * **Skills:** Cursor and Codex put skills in different project or user targets. ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Cursor | Codex | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | ## Recommended follow-up links * [Cursor support details](/editors/cursor/) * [Codex support details](/editors/codex/) * [All guides that start from Cursor](/editors/migrations/#cursor) * [Codex to Cursor](/editors/migrations/how-to-migrate-from-codex-to-cursor/) --- # How to migrate from Cursor to GitHub Copilot > Migrate aix configuration from Cursor to GitHub Copilot. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Cursor to GitHub Copilot, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync cursor --to copilot` copies the supported config from Cursor into GitHub Copilot. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Cursor | GitHub Copilot | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | ## Recommended follow-up links * [Cursor support details](/editors/cursor/) * [GitHub Copilot support details](/editors/copilot/) * [All guides that start from Cursor](/editors/migrations/#cursor) * [GitHub Copilot to Cursor](/editors/migrations/how-to-migrate-from-copilot-to-cursor/) --- # How to migrate from Cursor to Grok CLI > Migrate aix configuration from Cursor to Grok CLI. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Cursor to Grok CLI, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync cursor --to grok` copies the supported config from Cursor into Grok CLI. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Cursor | Grok CLI | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | ## Recommended follow-up links * [Cursor support details](/editors/cursor/) * [Grok CLI support details](/editors/grok/) * [All guides that start from Cursor](/editors/migrations/#cursor) * [Grok CLI to Cursor](/editors/migrations/how-to-migrate-from-grok-to-cursor/) --- # How to migrate from Cursor to OpenCode > Migrate aix configuration from Cursor to OpenCode. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Cursor to OpenCode, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync cursor --to opencode` copies the supported config from Cursor into OpenCode. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Cursor | OpenCode | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | ## Recommended follow-up links * [Cursor support details](/editors/cursor/) * [OpenCode support details](/editors/opencode/) * [All guides that start from Cursor](/editors/migrations/#cursor) * [OpenCode to Cursor](/editors/migrations/how-to-migrate-from-opencode-to-cursor/) --- # How to migrate from Cursor to Windsurf > Migrate aix configuration from Cursor to Windsurf. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Cursor to Windsurf, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync cursor --to windsurf` copies the supported config from Cursor into Windsurf. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Cursor | Windsurf | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | ## Recommended follow-up links * [Cursor support details](/editors/cursor/) * [Windsurf support details](/editors/windsurf/) * [All guides that start from Cursor](/editors/migrations/#cursor) * [Windsurf to Cursor](/editors/migrations/how-to-migrate-from-windsurf-to-cursor/) --- # How to migrate from Cursor to Zed > Migrate aix configuration from Cursor to Zed. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Cursor to Zed, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync cursor --to zed` copies the supported config from Cursor into Zed. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Cursor | Zed | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | ## Recommended follow-up links * [Cursor support details](/editors/cursor/) * [Zed support details](/editors/zed/) * [All guides that start from Cursor](/editors/migrations/#cursor) * [Zed to Cursor](/editors/migrations/how-to-migrate-from-zed-to-cursor/) --- # How to migrate from Grok CLI to Google Antigravity > Migrate aix configuration from Grok CLI to Google Antigravity. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Grok CLI to Google Antigravity, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync grok --to antigravity` copies the supported config from Grok CLI into Google Antigravity. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Grok CLI | Google Antigravity | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | ## Recommended follow-up links * [Grok CLI support details](/editors/grok/) * [Google Antigravity support details](/editors/antigravity/) * [All guides that start from Grok CLI](/editors/migrations/#grok) * [Google Antigravity to Grok CLI](/editors/migrations/how-to-migrate-from-antigravity-to-grok/) --- # How to migrate from Grok CLI to Claude Code > Migrate aix configuration from Grok CLI to Claude Code. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Grok CLI to Claude Code, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync grok --to claude-code` copies the supported config from Grok CLI into Claude Code. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Grok CLI | Claude Code | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | ## Recommended follow-up links * [Grok CLI support details](/editors/grok/) * [Claude Code support details](/editors/claude-code/) * [All guides that start from Grok CLI](/editors/migrations/#grok) * [Claude Code to Grok CLI](/editors/migrations/how-to-migrate-from-claude-code-to-grok/) --- # How to migrate from Grok CLI to Codex > Migrate aix configuration from Grok CLI to Codex. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Grok CLI to Codex, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync grok --to codex` copies the supported config from Grok CLI into Codex. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Grok CLI | Codex | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | ## Recommended follow-up links * [Grok CLI support details](/editors/grok/) * [Codex support details](/editors/codex/) * [All guides that start from Grok CLI](/editors/migrations/#grok) * [Codex to Grok CLI](/editors/migrations/how-to-migrate-from-codex-to-grok/) --- # How to migrate from Grok CLI to GitHub Copilot > Migrate aix configuration from Grok CLI to GitHub Copilot. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Grok CLI to GitHub Copilot, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync grok --to copilot` copies the supported config from Grok CLI into GitHub Copilot. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Grok CLI | GitHub Copilot | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | ## Recommended follow-up links * [Grok CLI support details](/editors/grok/) * [GitHub Copilot support details](/editors/copilot/) * [All guides that start from Grok CLI](/editors/migrations/#grok) * [GitHub Copilot to Grok CLI](/editors/migrations/how-to-migrate-from-copilot-to-grok/) --- # How to migrate from Grok CLI to Cursor > Migrate aix configuration from Grok CLI to Cursor. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Grok CLI to Cursor, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync grok --to cursor` copies the supported config from Grok CLI into Cursor. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Grok CLI | Cursor | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | ## Recommended follow-up links * [Grok CLI support details](/editors/grok/) * [Cursor support details](/editors/cursor/) * [All guides that start from Grok CLI](/editors/migrations/#grok) * [Cursor to Grok CLI](/editors/migrations/how-to-migrate-from-cursor-to-grok/) --- # How to migrate from Grok CLI to OpenCode > Migrate aix configuration from Grok CLI to OpenCode. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Grok CLI to OpenCode, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync grok --to opencode` copies the supported config from Grok CLI into OpenCode. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Grok CLI | OpenCode | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | ## Recommended follow-up links * [Grok CLI support details](/editors/grok/) * [OpenCode support details](/editors/opencode/) * [All guides that start from Grok CLI](/editors/migrations/#grok) * [OpenCode to Grok CLI](/editors/migrations/how-to-migrate-from-opencode-to-grok/) --- # How to migrate from Grok CLI to Windsurf > Migrate aix configuration from Grok CLI to Windsurf. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Grok CLI to Windsurf, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync grok --to windsurf` copies the supported config from Grok CLI into Windsurf. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Grok CLI | Windsurf | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | ## Recommended follow-up links * [Grok CLI support details](/editors/grok/) * [Windsurf support details](/editors/windsurf/) * [All guides that start from Grok CLI](/editors/migrations/#grok) * [Windsurf to Grok CLI](/editors/migrations/how-to-migrate-from-windsurf-to-grok/) --- # How to migrate from Grok CLI to Zed > Migrate aix configuration from Grok CLI to Zed. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Grok CLI to Zed, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync grok --to zed` copies the supported config from Grok CLI into Zed. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Grok CLI | Zed | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | ## Recommended follow-up links * [Grok CLI support details](/editors/grok/) * [Zed support details](/editors/zed/) * [All guides that start from Grok CLI](/editors/migrations/#grok) * [Zed to Grok CLI](/editors/migrations/how-to-migrate-from-zed-to-grok/) --- # How to migrate from OpenCode to Google Antigravity > Migrate aix configuration from OpenCode to Google Antigravity. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from OpenCode to Google Antigravity, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync opencode --to antigravity` copies the supported config from OpenCode into Google Antigravity. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | OpenCode | Google Antigravity | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | ## Recommended follow-up links * [OpenCode support details](/editors/opencode/) * [Google Antigravity support details](/editors/antigravity/) * [All guides that start from OpenCode](/editors/migrations/#opencode) * [Google Antigravity to OpenCode](/editors/migrations/how-to-migrate-from-antigravity-to-opencode/) --- # How to migrate from OpenCode to Claude Code > Migrate aix configuration from OpenCode to Claude Code. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from OpenCode to Claude Code, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync opencode --to claude-code` copies the supported config from OpenCode into Claude Code. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | OpenCode | Claude Code | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | ## Recommended follow-up links * [OpenCode support details](/editors/opencode/) * [Claude Code support details](/editors/claude-code/) * [All guides that start from OpenCode](/editors/migrations/#opencode) * [Claude Code to OpenCode](/editors/migrations/how-to-migrate-from-claude-code-to-opencode/) --- # How to migrate from OpenCode to Codex > Migrate aix configuration from OpenCode to Codex. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from OpenCode to Codex, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync opencode --to codex` copies the supported config from OpenCode into Codex. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | OpenCode | Codex | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | ## Recommended follow-up links * [OpenCode support details](/editors/opencode/) * [Codex support details](/editors/codex/) * [All guides that start from OpenCode](/editors/migrations/#opencode) * [Codex to OpenCode](/editors/migrations/how-to-migrate-from-codex-to-opencode/) --- # How to migrate from OpenCode to GitHub Copilot > Migrate aix configuration from OpenCode to GitHub Copilot. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from OpenCode to GitHub Copilot, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync opencode --to copilot` copies the supported config from OpenCode into GitHub Copilot. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | OpenCode | GitHub Copilot | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | ## Recommended follow-up links * [OpenCode support details](/editors/opencode/) * [GitHub Copilot support details](/editors/copilot/) * [All guides that start from OpenCode](/editors/migrations/#opencode) * [GitHub Copilot to OpenCode](/editors/migrations/how-to-migrate-from-copilot-to-opencode/) --- # How to migrate from OpenCode to Cursor > Migrate aix configuration from OpenCode to Cursor. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from OpenCode to Cursor, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync opencode --to cursor` copies the supported config from OpenCode into Cursor. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | OpenCode | Cursor | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | ## Recommended follow-up links * [OpenCode support details](/editors/opencode/) * [Cursor support details](/editors/cursor/) * [All guides that start from OpenCode](/editors/migrations/#opencode) * [Cursor to OpenCode](/editors/migrations/how-to-migrate-from-cursor-to-opencode/) --- # How to migrate from OpenCode to Grok CLI > Migrate aix configuration from OpenCode to Grok CLI. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from OpenCode to Grok CLI, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync opencode --to grok` copies the supported config from OpenCode into Grok CLI. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | OpenCode | Grok CLI | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | ## Recommended follow-up links * [OpenCode support details](/editors/opencode/) * [Grok CLI support details](/editors/grok/) * [All guides that start from OpenCode](/editors/migrations/#opencode) * [Grok CLI to OpenCode](/editors/migrations/how-to-migrate-from-grok-to-opencode/) --- # How to migrate from OpenCode to Windsurf > Migrate aix configuration from OpenCode to Windsurf. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from OpenCode to Windsurf, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync opencode --to windsurf` copies the supported config from OpenCode into Windsurf. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | OpenCode | Windsurf | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | ## Recommended follow-up links * [OpenCode support details](/editors/opencode/) * [Windsurf support details](/editors/windsurf/) * [All guides that start from OpenCode](/editors/migrations/#opencode) * [Windsurf to OpenCode](/editors/migrations/how-to-migrate-from-windsurf-to-opencode/) --- # How to migrate from OpenCode to Zed > Migrate aix configuration from OpenCode to Zed. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from OpenCode to Zed, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync opencode --to zed` copies the supported config from OpenCode into Zed. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | OpenCode | Zed | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | | Agents | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | ## Recommended follow-up links * [OpenCode support details](/editors/opencode/) * [Zed support details](/editors/zed/) * [All guides that start from OpenCode](/editors/migrations/#opencode) * [Zed to OpenCode](/editors/migrations/how-to-migrate-from-zed-to-opencode/) --- # How to migrate from Windsurf to Google Antigravity > Migrate aix configuration from Windsurf to Google Antigravity. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Windsurf to Google Antigravity, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync windsurf --to antigravity` copies the supported config from Windsurf into Google Antigravity. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Windsurf | Google Antigravity | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | ## Recommended follow-up links * [Windsurf support details](/editors/windsurf/) * [Google Antigravity support details](/editors/antigravity/) * [All guides that start from Windsurf](/editors/migrations/#windsurf) * [Google Antigravity to Windsurf](/editors/migrations/how-to-migrate-from-antigravity-to-windsurf/) --- # How to migrate from Windsurf to Claude Code > Migrate aix configuration from Windsurf to Claude Code. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Windsurf to Claude Code, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync windsurf --to claude-code` copies the supported config from Windsurf into Claude Code. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Windsurf | Claude Code | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | ## Recommended follow-up links * [Windsurf support details](/editors/windsurf/) * [Claude Code support details](/editors/claude-code/) * [All guides that start from Windsurf](/editors/migrations/#windsurf) * [Claude Code to Windsurf](/editors/migrations/how-to-migrate-from-claude-code-to-windsurf/) --- # How to migrate from Windsurf to Codex > Migrate aix configuration from Windsurf to Codex. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Windsurf to Codex, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync windsurf --to codex` copies the supported config from Windsurf into Codex. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Windsurf | Codex | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | ## Recommended follow-up links * [Windsurf support details](/editors/windsurf/) * [Codex support details](/editors/codex/) * [All guides that start from Windsurf](/editors/migrations/#windsurf) * [Codex to Windsurf](/editors/migrations/how-to-migrate-from-codex-to-windsurf/) --- # How to migrate from Windsurf to GitHub Copilot > Migrate aix configuration from Windsurf to GitHub Copilot. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Windsurf to GitHub Copilot, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync windsurf --to copilot` copies the supported config from Windsurf into GitHub Copilot. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Windsurf | GitHub Copilot | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | ## Recommended follow-up links * [Windsurf support details](/editors/windsurf/) * [GitHub Copilot support details](/editors/copilot/) * [All guides that start from Windsurf](/editors/migrations/#windsurf) * [GitHub Copilot to Windsurf](/editors/migrations/how-to-migrate-from-copilot-to-windsurf/) --- # How to migrate from Windsurf to Cursor > Migrate aix configuration from Windsurf to Cursor. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Windsurf to Cursor, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync windsurf --to cursor` copies the supported config from Windsurf into Cursor. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Windsurf | Cursor | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | ## Recommended follow-up links * [Windsurf support details](/editors/windsurf/) * [Cursor support details](/editors/cursor/) * [All guides that start from Windsurf](/editors/migrations/#windsurf) * [Cursor to Windsurf](/editors/migrations/how-to-migrate-from-cursor-to-windsurf/) --- # How to migrate from Windsurf to Grok CLI > Migrate aix configuration from Windsurf to Grok CLI. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Windsurf to Grok CLI, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync windsurf --to grok` copies the supported config from Windsurf into Grok CLI. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Windsurf | Grok CLI | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | ## Recommended follow-up links * [Windsurf support details](/editors/windsurf/) * [Grok CLI support details](/editors/grok/) * [All guides that start from Windsurf](/editors/migrations/#windsurf) * [Grok CLI to Windsurf](/editors/migrations/how-to-migrate-from-grok-to-windsurf/) --- # How to migrate from Windsurf to OpenCode > Migrate aix configuration from Windsurf to OpenCode. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Windsurf to OpenCode, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync windsurf --to opencode` copies the supported config from Windsurf into OpenCode. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Windsurf | OpenCode | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | ## Recommended follow-up links * [Windsurf support details](/editors/windsurf/) * [OpenCode support details](/editors/opencode/) * [All guides that start from Windsurf](/editors/migrations/#windsurf) * [OpenCode to Windsurf](/editors/migrations/how-to-migrate-from-opencode-to-windsurf/) --- # How to migrate from Windsurf to Zed > Migrate aix configuration from Windsurf to Zed. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Windsurf to Zed, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync windsurf --to zed` copies the supported config from Windsurf into Zed. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Windsurf | Zed | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | | [MCP](/concepts/mcp-servers/) | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | | [Skills](/concepts/skills/) | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | ## Recommended follow-up links * [Windsurf support details](/editors/windsurf/) * [Zed support details](/editors/zed/) * [All guides that start from Windsurf](/editors/migrations/#windsurf) * [Zed to Windsurf](/editors/migrations/how-to-migrate-from-zed-to-windsurf/) --- # How to migrate from Zed to Google Antigravity > Migrate aix configuration from Zed to Google Antigravity. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Zed to Google Antigravity, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync zed --to antigravity` copies the supported config from Zed into Google Antigravity. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Zed | Google Antigravity | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | **.agents/rules/\*.md**- Project Editor Supported aix Native Path `.agents/rules/*.md` - User Editor Supported aix Native Path `~/.gemini/GEMINI.md` | | [Prompts](/concepts/prompts/) | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | **Workflows**- Project Editor Supported aix Native Path `.agents/workflows/*.md` - User Editor Supported aix Native Path `~/.gemini/config/workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | **MCP servers**- Project Editor Supported aix Native Path `.agents/mcp_config.json` - User Editor Supported aix Native Path `~/.gemini/config/mcp_config.json` | | [Skills](/concepts/skills/) | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.gemini/config/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | **Subagents**- Project Editor Supported aix Native Path `.agents/agents/*.md` - User Editor Supported aix Native Path `~/.gemini/config/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.agents/hooks.json` - User Editor Supported aix Native Path `~/.gemini/config/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.agents/skills/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Antigravity does not support custom AI marketplaces. | ## Recommended follow-up links * [Zed support details](/editors/zed/) * [Google Antigravity support details](/editors/antigravity/) * [All guides that start from Zed](/editors/migrations/#zed) * [Google Antigravity to Zed](/editors/migrations/how-to-migrate-from-antigravity-to-zed/) --- # How to migrate from Zed to Claude Code > Migrate aix configuration from Zed to Claude Code. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Zed to Claude Code, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync zed --to claude-code` copies the supported config from Zed into Claude Code. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Zed | Claude Code | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.claude/rules/*.md` - User Editor Supported aix Native Path `~/.claude/CLAUDE.md` | | [Prompts](/concepts/prompts/) | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | **Commands**- Project Editor Supported aix Native Path `.claude/commands/*.md` - User Editor Supported aix Native Path `~/.claude/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.claude.json` | | [Skills](/concepts/skills/) | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | **Skills**- Project Editor Supported aix Native Path `.claude/skills/{name}/` - User Editor Supported aix Native Path `~/.claude/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | **Subagents**- Project Editor Supported aix Native Path `.claude/agents/*.md` - User Editor Supported aix Native Path `~/.claude/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.claude/settings.json` - User Editor Supported aix Native Path `~/.claude/settings.json` | ## Recommended follow-up links * [Zed support details](/editors/zed/) * [Claude Code support details](/editors/claude-code/) * [All guides that start from Zed](/editors/migrations/#zed) * [Claude Code to Zed](/editors/migrations/how-to-migrate-from-claude-code-to-zed/) --- # How to migrate from Zed to Codex > Migrate aix configuration from Zed to Codex. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Zed to Codex, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync zed --to codex` copies the supported config from Zed into Codex. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Zed | Codex | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md at the project root and selected subdirectories` - User Editor Supported aix Native Path `~/.codex/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | **Skills**- Project Editor Supported aix Adapter Path `.agents/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.codex/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix does not yet write Codex project MCP config. - User Editor Supported aix Native Path `~/.codex/config.toml` | | [Skills](/concepts/skills/) | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | **Skills**- Project Editor Supported aix Native Path `.agents/skills/{name}/` - User Editor Supported aix Native Path `~/.codex/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Codex. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.codex/hooks.json` - User Editor Supported aix Native Path `~/.codex/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.codex/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Codex does not support custom AI marketplaces. | ## Recommended follow-up links * [Zed support details](/editors/zed/) * [Codex support details](/editors/codex/) * [All guides that start from Zed](/editors/migrations/#zed) * [Codex to Zed](/editors/migrations/how-to-migrate-from-codex-to-zed/) --- # How to migrate from Zed to GitHub Copilot > Migrate aix configuration from Zed to GitHub Copilot. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Zed to GitHub Copilot, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync zed --to copilot` copies the supported config from Zed into GitHub Copilot. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Zed | GitHub Copilot | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | **Instructions**- Project Editor Supported aix Native Path `.github/instructions/*.instructions.md` - User Editor Supported aix No support Editor target `~/.config/github-copilot/instructions/*.instructions.md` **aix:** aix does not yet write user-scope Copilot instructions as separate files. | | [Prompts](/concepts/prompts/) | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | **Prompt files**- Project Editor Supported aix Native Path `.github/prompts/*.prompt.md` - User Editor Supported aix Adapter Path `~/.config/github-copilot/skills/{name}/` **aix:** aix converts user-scope prompts into instruction-only Copilot skills. | | [MCP](/concepts/mcp-servers/) | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | **MCP servers**- Project Editor Supported aix Native Path `.mcp.json` - User Editor Supported aix Native Path `~/.config/github-copilot/mcp-config.json` | | [Skills](/concepts/skills/) | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | **Skills**- Project Editor Supported aix Native Path `.github/skills/{name}/` - User Editor Supported aix Native Path `~/.config/github-copilot/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | **Agents**- Project Editor Supported aix Native Path `.github/agents/*.md` - User Editor Supported aix Native Path `~/.config/github-copilot/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.github/hooks/hooks.json` - User Editor Supported aix Native Path `~/.config/github-copilot/hooks/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | **Agent Plugins**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `copilot settings` - User Editor Supported aix Native Path `~/.config/github-copilot/` | ## Recommended follow-up links * [Zed support details](/editors/zed/) * [GitHub Copilot support details](/editors/copilot/) * [All guides that start from Zed](/editors/migrations/#zed) * [GitHub Copilot to Zed](/editors/migrations/how-to-migrate-from-copilot-to-zed/) --- # How to migrate from Zed to Cursor > Migrate aix configuration from Zed to Cursor. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Zed to Cursor, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync zed --to cursor` copies the supported config from Zed into Cursor. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Zed | Cursor | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.cursor/rules/*.mdc` - User Editor Supported aix No support Editor target `Settings UI` **Editor:** Cursor stores user rules in the Settings UI rather than a writable file. **aix:** aix does not currently write Cursor user rules. | | [Prompts](/concepts/prompts/) | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | **Commands**- Project Editor Supported aix Native Path `.cursor/commands/*.md` - User Editor Supported aix Native Path `~/.cursor/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | **MCP servers**- Project Editor Supported aix Native Path `.cursor/mcp.json` - User Editor Supported aix Native Path `~/.cursor/mcp.json` | | [Skills](/concepts/skills/) | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | **Skills**- Project Editor Supported aix Native Path `.cursor/skills/{name}/` - User Editor Supported aix Native Path `~/.cursor/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | **Agents**- Project Editor Supported aix Native Path `.cursor/agents/*.md` - User Editor Supported aix Native Path `~/.cursor/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.cursor/hooks.json` - User Editor Supported aix Native Path `~/.cursor/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `.cursor-plugin/plugin.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor plugins are installed per-project or through the Cursor marketplace. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | **Marketplaces**- Project Editor Supported aix Native Path `.cursor-plugin/marketplace.json` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Cursor marketplaces are configured at repository or team scope. | ## Recommended follow-up links * [Zed support details](/editors/zed/) * [Cursor support details](/editors/cursor/) * [All guides that start from Zed](/editors/migrations/#zed) * [Cursor to Zed](/editors/migrations/how-to-migrate-from-cursor-to-zed/) --- # How to migrate from Zed to Grok CLI > Migrate aix configuration from Zed to Grok CLI. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Zed to Grok CLI, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync zed --to grok` copies the supported config from Zed into Grok CLI. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Zed | Grok CLI | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.grok/rules/*.md` - User Editor Supported aix Native Path `~/.grok/rules/*.md` | | [Prompts](/concepts/prompts/) | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | **Skills**- Project Editor Supported aix Adapter Path `.grok/skills/prompt-{name}/` **aix:** Prompts are installed as instruction-only Agent Skills. - User Editor Supported aix Adapter Path `~/.grok/skills/prompt-{name}/` **aix:** User-scoped prompts are also converted to skills. | | [MCP](/concepts/mcp-servers/) | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | **MCP servers**- Project Editor Supported aix Native Path `.grok/config.toml` - User Editor Supported aix Native Path `~/.grok/config.toml` | | [Skills](/concepts/skills/) | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | **Skills**- Project Editor Supported aix Native Path `.grok/skills/{name}/` - User Editor Supported aix Native Path `~/.grok/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Grok CLI. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.grok/hooks.json` - User Editor Supported aix Native Path `~/.grok/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.grok/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Grok does not support custom AI marketplaces. | ## Recommended follow-up links * [Zed support details](/editors/zed/) * [Grok CLI support details](/editors/grok/) * [All guides that start from Zed](/editors/migrations/#zed) * [Grok CLI to Zed](/editors/migrations/how-to-migrate-from-grok-to-zed/) --- # How to migrate from Zed to OpenCode > Migrate aix configuration from Zed to OpenCode. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Zed to OpenCode, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync zed --to opencode` copies the supported config from Zed into OpenCode. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Zed | OpenCode | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | **AGENTS.md**- Project Editor Supported aix Native Path `AGENTS.md` - User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` | | [Prompts](/concepts/prompts/) | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | **Commands**- Project Editor Supported aix Native Path `.opencode/commands/*.md` - User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` | | [MCP](/concepts/mcp-servers/) | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | **MCP servers**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | [Skills](/concepts/skills/) | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | **Skills**- Project Editor Supported aix Native Path `.opencode/skills/{name}/` - User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | **Agents**- Project Editor Supported aix Native Path `.opencode/agents/*.md` - User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Native Path `opencode.json` - User Editor Supported aix Native Path `~/.config/opencode/opencode.json` | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. | ## Recommended follow-up links * [Zed support details](/editors/zed/) * [OpenCode support details](/editors/opencode/) * [All guides that start from Zed](/editors/migrations/#zed) * [OpenCode to Zed](/editors/migrations/how-to-migrate-from-opencode-to-zed/) --- # How to migrate from Zed to Windsurf > Migrate aix configuration from Zed to Windsurf. Preview rules, prompts, mcp differences before you sync. aix is a CLI for defining, installing, and syncing AI editor configuration. If you are moving from Zed to Windsurf, this guide shows what aix can carry over, what the destination editor calls each feature, and where the destination config lands. When you are ready to run the move, `aix sync zed --to windsurf` copies the supported config from Zed into Windsurf. Use the comparison below first so you know which names, paths, and support differences to expect. If you want the aix-side definitions first, review [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## How to use this guide * Read across a row to compare the source and destination terms, support, and targets. * Each scope line shows both what the editor supports and what aix writes today. * Open the destination editor page at the end if you need every path, note, and terminology detail. The biggest changes are in rules, prompts, mcp. How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ## Feature comparison | Feature | Zed | Windsurf | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rules](/concepts/rules/) | **Rules**- Project Editor Supported aix Native Path `.rules` - User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` | **Rules**- Project Editor Supported aix Native Path `.windsurf/rules/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` | | [Prompts](/concepts/prompts/) | **Agent Skills (converted)**- Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. - User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. | **Workflows**- Project Editor Supported aix Native Path `.windsurf/workflows/*.md` - User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` | | [MCP](/concepts/mcp-servers/) | **Context servers**- Project Editor Supported aix Native Path `.zed/settings.json` - User Editor Supported aix Native Path `~/.config/zed/settings.json` | **MCP servers**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. - User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` | | [Skills](/concepts/skills/) | **Agent Skills**- Project Editor Supported aix Native Path `.agents/skills/` - User Editor Supported aix Native Path `~/.agents/skills/` | **Skills**- Project Editor Supported aix Native Path `.windsurf/skills/{name}/` - User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` | | Agents | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. | **Agents**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. | | [Hooks](/concepts/hooks/) | **Hooks**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. | **Hooks**- Project Editor Supported aix Native Path `.windsurf/hooks.json` - User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` | | Plugins | **Plugins**- Project Editor Supported aix Adapter Path `.zed/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. | **Plugins**- Project Editor Supported aix Adapter Path `.codeium/windsurf/` - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. | | Marketplaces | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. | **Marketplaces**- Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. - User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. | ## Recommended follow-up links * [Zed support details](/editors/zed/) * [Windsurf support details](/editors/windsurf/) * [All guides that start from Zed](/editors/migrations/#zed) * [Windsurf to Zed](/editors/migrations/how-to-migrate-from-windsurf-to-zed/) --- # OpenCode support details > How aix maps rules, prompts, MCP, skills, hooks, and compatibility surfaces for OpenCode. Native AGENTS.md rules, markdown commands, MCP, and skills with user-scope support. OpenCode stays close to Claude-style commands and skills while keeping AGENTS.md as the rule surface. Start on [the full support matrix](/editors/supported-editors/) when you need to compare every editor at once. Use this page when you want the exact terms, support details, and project/user targets for OpenCode. Related aix concepts: [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Editor-specific notes * OpenCode uses `opencode.json` with a top-level `mcp` object instead of `mcpServers`. * Rules are written with section-managed markdown so user-owned AGENTS.md content is preserved. ## Feature details How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ### Rules [Learn the concept](/concepts/rules/) Section-managed markdown in AGENTS.md. OpenCode calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md` * User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` ### Prompts [Learn the concept](/concepts/prompts/) Markdown command files with optional YAML frontmatter. OpenCode calls this **Commands** aix support Native * Project Editor Supported aix Native Path `.opencode/commands/*.md` * User Editor Supported aix Native Path `~/.config/opencode/commands/*.md` **Supported metadata:** `description` , `argument-hint` ### MCP [Learn the concept](/concepts/mcp-servers/) JSON config with a top-level `mcp` object. OpenCode calls this **MCP servers** aix support Native * Project Editor Supported aix Native Path `opencode.json` * User Editor Supported aix Native Path `~/.config/opencode/opencode.json` ### Skills [Learn the concept](/concepts/skills/) Symlinked native skill directories backed by `.aix/skills/`. OpenCode calls this **Skills** aix support Native * Project Editor Supported aix Native Path `.opencode/skills/{name}/` * User Editor Supported aix Native Path `~/.config/opencode/skills/{name}/` - OpenCode also discovers skills from `.claude/skills/` and `.agents/skills/` at project scope, and `~/.claude/skills/` and `~/.agents/skills/` at user scope, as compatibility surfaces. ### Agents Markdown agent files with YAML frontmatter. OpenCode calls this **Agents** aix support Native * Project Editor Supported aix Native Path `.opencode/agents/*.md` * User Editor Supported aix Native Path `~/.config/opencode/agents/*.md` **Supported metadata:** `description` , `mode` , `model` , `tools` , `permissions` , `editor.opencode` ### Hooks [Learn the concept](/concepts/hooks/) Hooks are not supported. OpenCode calls this **Hooks** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode does not support lifecycle hooks in aix. ### Plugins Plugins array in opencode.json. OpenCode calls this **Plugins** aix support Native * Project Editor Supported aix Native Path `opencode.json` * User Editor Supported aix Native Path `~/.config/opencode/opencode.json` ### Marketplaces OpenCode uses the npm registry for plugin discovery. OpenCode calls this **Marketplaces** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** OpenCode uses npm as its package repository. ### AGENTS.md OpenCode natively uses AGENTS.md for project and user instructions. OpenCode calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md` * User Editor Supported aix Native Path `~/.config/opencode/AGENTS.md` ### .agents/skills Compatibility with the shared Agent Skills folder convention. OpenCode calls this **.agents/skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/{name}/` * User Editor Supported aix Native Path `Compatible home-scoped skill discovery` ## Related guides * [OpenCode to Cursor](/editors/migrations/how-to-migrate-from-opencode-to-cursor/) * [Cursor to OpenCode](/editors/migrations/how-to-migrate-from-cursor-to-opencode/) * [All migration guides that start from OpenCode](/editors/migrations/#opencode) --- # Supported Editors > Feature support matrix for all editors detected by aix, with links to per-editor support details. aix currently supports 9 editors: Cursor, GitHub Copilot, Claude Code, Windsurf, Zed, Codex, Google Antigravity, OpenCode, and Grok CLI. Use the matrix for the fast comparison, then open an editor name for install paths, scope behavior, terminology, and editor-specific notes. | Editor | [Rules](/concepts/rules/) | [Prompts](/concepts/prompts/) | [MCP](/concepts/mcp-servers/) | [Skills](/concepts/skills/) | Agents | [Hooks](/concepts/hooks/) | Plugins | Marketplaces | AGENTS.md | .agents/skills | | ------------------------------------------- | ------------------------- | ----------------------------- | ----------------------------- | --------------------------- | ---------- | ------------------------- | ------- | ------------ | ---------- | -------------- | | [Cursor](/editors/cursor/) | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | | [GitHub Copilot](/editors/copilot/) | Native | Native | Native | Native | Native | Native | Native | Native | Native | Native | | [Claude Code](/editors/claude-code/) | Native | Native | Native | Native | Native | Native | Native | Native | No support | No support | | [Windsurf](/editors/windsurf/) | Native | Native | Native | Native | No support | Native | Adapter | No support | Native | Native | | [Zed](/editors/zed/) | Native | Adapter | Native | Native | No support | No support | Adapter | No support | Native | Native | | [Codex](/editors/codex/) | Native | Adapter | Native | Native | No support | Native | Adapter | No support | Native | Native | | [Google Antigravity](/editors/antigravity/) | Native | Native | Native | Native | Native | Native | Adapter | No support | Native | Native | | [OpenCode](/editors/opencode/) | Native | Native | Native | Native | Native | No support | Native | No support | Native | Native | | [Grok CLI](/editors/grok/) | Native | Adapter | Native | Native | No support | Native | Adapter | No support | Native | Native | How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. Need the aix-side definitions first? Review [rules](/concepts/rules/), [prompts](/concepts/prompts/), [MCP servers](/concepts/mcp-servers/), [skills](/concepts/skills/), and [hooks](/concepts/hooks/). ## Sync behavior `aix sync` reads supported config from one editor and writes the supported equivalent to another. It reports anything the destination editor or requested scope cannot represent. * A destination may support a feature in general, but not at the requested scope. * Global-only features are reported as skipped project writes instead of hard failures. * Codex prompts become skills, and Zed skills become pointer rules. --- # Windsurf support details > How aix maps rules, prompts, MCP, skills, hooks, and compatibility surfaces for Windsurf. Native rules, workflows, skills, and hooks, but MCP remains global-only. Windsurf is strongest when project rules matter more than project-scoped MCP. Start on [the full support matrix](/editors/supported-editors/) when you need to compare every editor at once. Use this page when you want the exact terms, support details, and project/user targets for Windsurf. Related aix concepts: [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Editor-specific notes * Windsurf MCP installs are tracked as global state because the editor only supports global MCP today. * Its prompt surface is called workflows, not commands. * Hooks do not load or run while a workspace is open in Restricted Mode, as of Devin Desktop 3.8.20. * Devin Local imports Windsurf rules, skills, and MCP servers by default, but excludes Windsurf workflows, so aix-managed prompts do not reach it. ## Feature details How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ### Rules [Learn the concept](/concepts/rules/) Markdown rule files with Windsurf trigger frontmatter. Windsurf calls this **Rules** aix support Native * Project Editor Supported aix Native Path `.windsurf/rules/*.md` * User Editor Supported aix Native Path `~/.codeium/windsurf/memories/global_rules.md` **Supported metadata:** `always_on` , `model_decision` , `glob` , `manual` ### Prompts [Learn the concept](/concepts/prompts/) Markdown workflow files with YAML frontmatter. Windsurf calls this **Workflows** aix support Native * Project Editor Supported aix Native Path `.windsurf/workflows/*.md` * User Editor Supported aix Native Path `~/.codeium/windsurf/global_workflows/*.md` **Supported metadata:** `description` ### MCP [Learn the concept](/concepts/mcp-servers/) Global-only JSON MCP configuration. Windsurf calls this **MCP servers** aix support Native * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not have a project-scoped MCP config file in aix. * User Editor Supported aix Native Path `~/.codeium/windsurf/mcp_config.json` - Project-scoped syncs report MCP as a skipped global-only write. ### Skills [Learn the concept](/concepts/skills/) Symlinked native skill directories backed by `.aix/skills/`. Windsurf calls this **Skills** aix support Native * Project Editor Supported aix Native Path `.windsurf/skills/{name}/` * User Editor Supported aix Native Path `~/.windsurf/skills/{name}/` - Windsurf also discovers `.agents/skills/` for compatibility. ### Agents Windsurf does not document custom agent files that aix can write safely. Windsurf calls this **Agents** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Windsurf. ### Hooks [Learn the concept](/concepts/hooks/) JSON hook configuration using snake\_case Windsurf event names with cross-platform `command` / `powershell` fields. Windsurf calls this **Hooks** aix support Native * Project Editor Supported aix Native Path `.windsurf/hooks.json` * User Editor Supported aix Native Path `~/.codeium/windsurf/hooks.json` **Supported metadata:** `post_cascade_response` , `post_cascade_response_with_transcript` , `post_mcp_tool_use` , `post_read_code` , `post_run_command` , `post_setup_worktree` , `post_write_code` , `pre_mcp_tool_use` , `pre_read_code` , `pre_run_command` , `pre_user_prompt` , `pre_write_code` * Each hook entry can carry `command` (bash) and/or `powershell` for cross-platform routing. * Pre-hooks block actions with exit code 2; post hooks cannot block. ### Plugins Compatibility unpacking into native skills and MCP servers. Windsurf calls this **Plugins** aix support Adapter * Project Editor Supported aix Adapter Path `.codeium/windsurf/` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support native plugin bundles. ### Marketplaces Windsurf does not support custom AI agent marketplaces. Windsurf calls this **Marketplaces** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf does not support custom AI marketplaces. ### AGENTS.md Compatibility with AGENTS.md and agents.md repository files. Windsurf calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md or agents.md in the workspace` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Windsurf documentation focuses on workspace files, not a home-scoped AGENTS.md. ### .agents/skills Compatibility with the shared Agent Skills folder convention. Windsurf calls this **.agents/skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/{name}/` * User Editor Supported aix Native Path `~/.agents/skills/{name}/` ## Related guides * [Windsurf to Cursor](/editors/migrations/how-to-migrate-from-windsurf-to-cursor/) * [Cursor to Windsurf](/editors/migrations/how-to-migrate-from-cursor-to-windsurf/) * [All migration guides that start from Windsurf](/editors/migrations/#windsurf) --- # Zed support details > How aix maps rules, prompts, MCP, skills, hooks, and compatibility surfaces for Zed. Native rules and MCP, native Agent Skills, and prompts convert to skills. Zed is a strong target for rules, MCP, and skills after the v1.4.2 native skills update. Start on [the full support matrix](/editors/supported-editors/) when you need to compare every editor at once. Use this page when you want the exact terms, support details, and project/user targets for Zed. Related aix concepts: [rules](/concepts/rules/) , [prompts](/concepts/prompts/) , [mcp](/concepts/mcp-servers/) , [skills](/concepts/skills/) , [hooks](/concepts/hooks/) . ## Editor-specific notes * Zed reads a single `.rules` file at project scope; user-scope rules go to `~/.config/zed/AGENTS.md`. * Zed native Agent Skills live at `.agents/skills//`; aix manages them via `.aix/skills/` symlinks. * Prompts are converted to Zed skills because Zed has no file-based prompt format. ## Feature details How to read the statuses ## Support key ### Editor support * Supported The editor exposes that feature at that scope. * No support The editor does not expose that feature at that scope. ### aix support * Native aix writes the editor's own format. * Adapter aix keeps the feature through an adapter or alternate representation. * No support aix does not write that feature for the destination today. Use the Project scope and User scope rows to see where config lands at each level. ### Rules [Learn the concept](/concepts/rules/) A single concatenated `.rules` file at project scope; `~/.config/zed/AGENTS.md` at user scope. Zed calls this **Rules** aix support Native * Project Editor Supported aix Native Path `.rules` * User Editor Supported aix Native Path `~/.config/zed/AGENTS.md` - Zed also auto-detects AGENTS.md, CLAUDE.md, and other compatibility files. ### Prompts [Learn the concept](/concepts/prompts/) Prompts are converted to Zed Agent Skills because Zed has no file-based prompt format. Zed calls this **Agent Skills (converted)** aix support Adapter * Project Editor Supported aix Adapter Path `.agents/skills/` **aix:** aix converts prompts to Agent Skills in `.agents/skills//`. * User Editor Supported aix Adapter Path `~/.agents/skills/` **aix:** aix converts prompts to Agent Skills in `~/.agents/skills//`. - Zed does support MCP server-side prompts, but not file-based user prompts. ### MCP [Learn the concept](/concepts/mcp-servers/) JSON `context_servers` configuration. Zed calls this **Context servers** aix support Native * Project Editor Supported aix Native Path `.zed/settings.json` * User Editor Supported aix Native Path `~/.config/zed/settings.json` ### Skills [Learn the concept](/concepts/skills/) Native Zed Agent Skills. aix copies skills to `.aix/skills/` and symlinks into `.agents/skills//`. Zed calls this **Agent Skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/` * User Editor Supported aix Native Path `~/.agents/skills/` ### Agents Zed does not document custom agent files that aix can write safely. Zed calls this **Agents** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** aix reports configured agents as unsupported for Zed. ### Hooks [Learn the concept](/concepts/hooks/) Hooks are not supported. Zed calls this **Hooks** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support lifecycle hooks in aix. ### Plugins Compatibility unpacking into native prompts and context servers. Zed calls this **Plugins** aix support Adapter * Project Editor Supported aix Adapter Path `.zed/` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support native plugin bundles. ### Marketplaces Zed does not support custom AI agent marketplaces. Zed calls this **Marketplaces** aix support No support * Project Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed does not support custom AI marketplaces. ### AGENTS.md Compatibility with AGENTS.md repository instructions. Zed calls this **AGENTS.md** aix support Native * Project Editor Supported aix Native Path `AGENTS.md` * User Editor No support aix No support **Editor:** The editor does not expose this feature at this scope. **aix:** Zed compatibility is documented for workspace files, not a home-scoped AGENTS.md. ### .agents/skills Zed discovers skills at `.agents/skills//` (project) and `~/.agents/skills//` (user). Zed calls this **.agents/skills** aix support Native * Project Editor Supported aix Native Path `.agents/skills/` * User Editor Supported aix Native Path `~/.agents/skills/` ## Related guides * [Zed to Cursor](/editors/migrations/how-to-migrate-from-zed-to-cursor/) * [Cursor to Zed](/editors/migrations/how-to-migrate-from-cursor-to-zed/) * [All migration guides that start from Zed](/editors/migrations/#zed) --- # Import from an Editor > Bootstrap ai.json from your existing editor configuration. If you already have rules, MCP servers, or other AI config in your editor, `aix init --from` can convert it into an `ai.json` for you. If you do not want an intermediate `ai.json` yet, and just want to move supported config from one editor to another, use `aix sync --to ` instead. ## Usage [Section titled “Usage”](#usage) ```bash aix init --from ``` Supported editors: | Editor | Flag value | | -------------- | ------------- | | Cursor | `cursor` | | GitHub Copilot | `copilot` | | Claude Code | `claude-code` | | Windsurf | `windsurf` | | Zed | `zed` | | Codex | `codex` | | Antigravity | `antigravity` | | OpenCode | `opencode` | | Grok | `grok` | ## What gets imported [Section titled “What gets imported”](#what-gets-imported) aix reads the editor’s existing config files and extracts: * **Rules** — `.cursorrules`, `.windsurfrules`, `.github/copilot-instructions.md`, etc. * **MCP servers** — from the editor’s MCP config JSON * **Prompts** — custom prompt files if the editor stores them * **Skills** — any SKILL.md references Imported content is written to `.aix/imported/` and referenced from `ai.json`: ```json { "rules": { "imported-cursor": { "path": ".aix/imported/rules/cursor.md" } }, "mcp": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } } } } ``` ## init —from vs sync [Section titled “init —from vs sync”](#init-from-vs-sync) * `aix init --from cursor` reads Cursor and creates `ai.json`. * `aix sync cursor --to claude-code` reads Cursor and writes Claude Code directly. Sync reads the supported config from the source editor and writes the supported equivalent to the destination editor. aix does not require a custom converter for every editor pair. ## Overwrite protection [Section titled “Overwrite protection”](#overwrite-protection) If `ai.json` already exists, `aix init --from` will refuse to overwrite it. Use `--force` to override: ```bash aix init --from cursor --force ``` ## Next steps [Section titled “Next steps”](#next-steps) After importing, review the generated `ai.json` and clean up anything that doesn’t apply across editors. Then run: ```bash aix install ``` This syncs the config to all your detected editors — including the one you originally imported from. --- # Installation > Install the aix CLI and set up your environment. ## Requirements [Section titled “Requirements”](#requirements) * **Node.js** ≥ 20.19.0 or ≥ 22.12.0 * **npm** ≥ 10.0.0 ## Install [Section titled “Install”](#install) ```bash npm install -g @a1st/aix ``` Verify the installation: ```bash aix --version ``` ## Shell autocomplete [Section titled “Shell autocomplete”](#shell-autocomplete) aix supports tab completion for commands and flags. Set it up with: ```bash aix autocomplete ``` Follow the printed instructions to add the completion script to your shell profile (`.bashrc`, `.zshrc`, or Fish config). ## Update [Section titled “Update”](#update) aix can self-update: ```bash aix update ``` ## What’s next [Section titled “What’s next”](#whats-next) Create your first `ai.json` — follow the [Quick Start](/getting-started/quick-start/) guide. --- # Quick Start > Create your first ai.json and install it to your editors in under a minute. ## 1. Initialize ai.json [Section titled “1. Initialize ai.json”](#1-initialize-aijson) Run `aix init` in your project root: ```bash aix init ``` This creates a minimal `ai.json`: ```json { "skills": {}, "mcp": {}, "rules": {}, "prompts": {} } ``` Already have editor config? If your editor already has AI rules, prompts, or MCP servers configured, `--from` can import them directly: ```bash aix init --from cursor ``` This reads your existing editor config and generates a pre-populated `ai.json`, writing imported files to `.aix/imported/`. See the [full import guide](/getting-started/import-from-editor/) for supported editors and details. ## 2. Add some configuration [Section titled “2. Add some configuration”](#2-add-some-configuration) Add a rule, a prompt, and an MCP server: ```bash # Add a rule (inline text) aix add rule "Always use TypeScript strict mode" --name typescript-strict # Add a prompt from a file aix add prompt ./prompts/review.md --name review # Add an MCP server from the registry aix add mcp github ``` Your `ai.json` now looks something like: ```json { "skills": {}, "mcp": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } } }, "rules": { "typescript-strict": { "content": "Always use TypeScript strict mode" } }, "prompts": { "review": "./prompts/review.md" } } ``` ## 3. Install to your editors [Section titled “3. Install to your editors”](#3-install-to-your-editors) ```bash aix install ``` aix detects which AI editors you have installed and syncs the config to each one. You’ll see output like: ```plaintext ✓ Cursor — 1 rule, 1 prompt, 1 MCP server ✓ GitHub Copilot — 1 rule, 1 prompt, 1 MCP server ✓ Claude Code — 1 rule, 1 prompt, 1 MCP server ``` Run `aix install` again whenever you change `ai.json`. Preview before applying Use `--dry-run` to see what aix would write without making any changes: ```bash aix install --dry-run ``` ## What’s next [Section titled “What’s next”](#whats-next) * Learn about [skills](/concepts/skills/), [rules](/concepts/rules/), [prompts](/concepts/prompts/), and [MCP servers](/concepts/mcp-servers/) * See the full [ai.json reference](/configuration/ai-json-reference/) * Browse the [CLI reference](/cli/overview/) * Already have editor config? [Import it](/getting-started/import-from-editor/)