Skip to content

aix install

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 instead.

You can also install a single item without a local ai.json by passing --type.

Terminal window
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.

FlagDescription
--target <editor> / -tLimit installation to specific editors. Repeatable.
--type <type>Directly install one mcp, skill, rule, hook, or prompt without ai.json.
--name <name> / -nName for a direct install when aix cannot infer one.
--ref <ref> / -rGit ref for direct install sources.
--command <command>Command for direct MCP stdio installs.
--args <args>Comma-separated command arguments for direct MCP installs.
--env <vars>Comma-separated KEY=value env vars for direct MCP installs.
--url <url>Remote Streamable HTTP MCP URL for direct MCP installs.
--header <header>HTTP header for direct remote MCP installs. Repeatable KEY=value.
--description <text>Rule or prompt description for direct installs.
--activation <mode>Rule activation mode for direct rule installs.
--globs <patterns>Comma-separated glob patterns for direct rule installs.
--argument-hint <hint>Prompt argument hint for direct prompt installs.
--dry-run / -dPreview changes without writing files.
--saveWhen installing a remote source, save it to local ai.json.
--overwriteWith --save, overwrite local config instead of merging.
--cleanRemove the .aix folder before install to ensure a fresh state.
--copyWith --save, copy remote files to .aix/imported/ instead of referencing git URLs.
--lockCreate or refresh ai.lock.json before installing.
--only <field>Limit to specific fields: rules, prompts, mcp, skills, hooks, agents.
--scope <scope> / --user (-u) / --project (-p)Override the scope from ai.json (target user-level or project-level config).

Standard install:

Terminal window
aix install

Install only to GitHub Copilot:

Terminal window
aix install --target copilot

Install a remote config directly:

Terminal window
aix install github:company/ai-config

Install remote config and save it to your local ai.json:

Terminal window
aix install github:company/ai-config --save

Install only MCP servers:

Terminal window
aix install --only mcp

Directly install a user-scope MCP server without ai.json:

Terminal window
aix install playwright --type mcp --target claude-code --user

An HTTPS MCP source is treated as a remote Streamable HTTP endpoint:

Terminal window
aix install https://example.com/mcp --type mcp --name docs --target claude-code --user

Directly install one local item:

Terminal window
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:

Terminal window
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:

Terminal window
aix install --scope user
  • 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.