What Ix is
Ix is a command-line tool that turns a codebase into a queryable map.
It parses your repository with tree-sitter across 26 languages and builds a graph of the symbols, calls and imports it finds, stored in a local backend (ArangoDB, run for you via Docker). You and your AI assistant then ask bounded, structural questions instead of grepping and guessing:
ix map . # build the graph for this repo
ix explain IngestionService # what is this, and what does it touch?
ix impact verify_token # what breaks if I change this?
ix trace user_login_flow # how does this actually flow?
The graph lives on your machine, and it persists — so context survives between sessions, and your assistant can navigate a real map of your system instead of re-deriving it from whatever fits in a prompt.
Use Ix from any MCP client
The CLI includes a canonical stdio MCP server with the same graph tools used by the editor integrations:
ix mcp
To register it with every AI client on the machine at once:
ix mcp install # detect clients and register `ix mcp` with each
ix mcp install --dry-run # show what would change, write nothing
ix mcp doctor # check each client's registration
install knows Claude Code, Codex, Cursor, VS Code, Gemini CLI, OpenClaw and
opencode. It writes through each client's own MCP command where one exists
(claude mcp add, codex mcp add, gemini mcp add, and openclaw mcp set
everywhere but Windows), so the client owns its config format. Cursor, VS Code
and opencode are edited directly instead, as is OpenClaw on Windows — its
registration is passed as a JSON argument, which cmd cannot carry intact. Every
direct write is merged in place with a .bak kept alongside. Cursor, VS Code
and opencode are also detected by their config directory rather than by a shell
command, since cursor and code are opt-in shims a GUI install may not have.
It never overwrites. If the name ix-memory already belongs to a different
server — an earlier Ix plugin, say — that client is reported and left exactly as
it was. Pass --force to replace it, or --host <id> to limit the run; an
unrecognised id is an error rather than a silent no-op. Where a client's own
config can be read back — Cursor, VS Code, opencode, and OpenClaw off Windows —
doctor also reports a registration of ours whose recorded launcher path has
since disappeared, and install repairs it. The clients that answer with a
rendered table instead expose no stored command, so a launcher that has moved
there is not detected: clear the name with that client's own command
(claude mcp remove ix-memory) and re-run ix mcp install.
To register a single client by hand instead, point it at ix with the argument
mcp. For Codex:
codex mcp add ix-memory -- ix mcp
The client launches the server in the active workspace, so every Ix tool uses that repository's graph and configuration.
Tool calls run inside the server process. Set IX_MCP_SUBPROCESS=1 to run each
one as a separate ix child process instead — slower by roughly the CLI's
startup time per call, but fully isolated.
Sign up for Kartr
We built Kartr on top of this technology.
An agentic platform where AI agents with persistent memory work alongside you, at your job and in your day to day life.
Kartr aggregates your knowledge from every source you already use:
-
your code and systems
-
your docs and files
-
your email and calendar
-
your meetings and notes
-
your team chat
One memory, built from all of it, that your agents can reason over.
Agents that remember. Agents that carry context across sources and sessions. Agents that get more useful the longer you use them.
Kartr is in alpha. We're onboarding early users now.
Problem
Running out of tokens while developing? Not anymore...
Modern software is complicated.
You read code. You search logs. You still guess.
AI can’t reason about systems. LLMs can’t remember them either.
Ix fixes both.
Demo
Stop digging through files. Open the map instead.
Ix improves how AI systems reason about your codebase.
Results
30-99.7% fewer tokens on development tasks
Minimum of 43% increase in daily LLM usage
Understand systems in minutes, not hours
Directed context. More signal. Persistent system memory.
Install
Linux/MacOS
curl -fsSL https://ix-infra.com/install.sh | sh
Windows
irm https://ix-infra.com/install.ps1 | iex
Claude Plugin
/plugin marketplace add ix-infrastructure/ix-claude-plugin
/plugin install ix-memory
/reload-plugin
Codex Plugin
macOS / Linux:
curl -fsSL https://ix-infra.com/codex-install.sh | sh
Windows (PowerShell):
irm https://ix-infra.com/codex-install.ps1 | iex
OpenClaw Plugin
openclaw plugins install ix-infrastructure/ix-openclaw-plugin
Gemini Extension
gemini extensions install https://github.com/ix-infrastructure/ix-gemini-plugin
OpenCode Plugin
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/ix-infrastructure/ix-opencode-plugin/main/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/ix-infrastructure/ix-opencode-plugin/main/install.ps1 | iex
Cursor Plugin
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/ix-infrastructure/ix-cursor-plugin/main/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/ix-infrastructure/ix-cursor-plugin/main/install.ps1 | iex
Claude Code / Freebuff Skill
skills/ix/ is a self-contained Claude Code skill (also
loaded natively by Freebuff / Codebuff) that teaches any LLM agent to drive the
ix CLI: build the graph, explain symbols, trace flows, analyze impact, and
detect smells — instead of grepping and guessing.
Install it (deploys to ~/.claude/skills/ix and ~/.agents/skills/ix so it
works in every project):
bash scripts/install-skill.sh
Then start a new session and ask your agent to set it up:
Set up Ix and map this repo
The skill's bootstrap script does the rest — installs the ix CLI if missing,
starts the local Docker backend, and maps the current repo:
# Bash / Git Bash / macOS / Linux
bash skills/ix/scripts/bootstrap.sh .
# Windows PowerShell
powershell -ExecutionPolicy Bypass -File skills/ix/scripts/bootstrap.ps1 .
The skill follows the progressive-disclosure layout — a lean SKILL.md with the
full command reference, output-format rules, and troubleshooting split into
references/, plus scripts/ for first-run setup — so it is portable to Claude
Code, Freebuff, and any other skill-compatible agent. Edit skills/ix/ and
re-run scripts/install-skill.sh to update your installed copy. To produce a
distributable zip:
python "$HOME/.agents/skills/skill-creator/scripts/package_skill.py" skills/ix dist
Requirements
The install script sets up everything for you on macOS and Linux. It checks for and installs anything that is missing:
-
Node.js 22 or newer
-
Git
-
ripgrep (powers
ix text) -
Docker and Docker Compose (for the local backend)
All you need beforehand is a terminal with curl (or wget). On Windows, install Node.js 22+ and Docker Desktop first, then run the installer.
Works on macOS, Linux, and Windows. Pre-built CLI packages are published for
Apple Silicon macOS, Linux (x86-64 and arm64) and Windows x86-64. Intel Macs
have no pre-built package — install with Homebrew, which builds from
source: brew tap ix-infrastructure/ix https://github.com/ix-infrastructure/Ix && brew install ix.
For the full list, including the endpoints the installer reaches and the directories it creates, see docs/prerequisites.md.
Troubleshooting
Ix talks to a backend that runs locally in Docker, so most first-run problems are the backend not being up yet:
ix status # is the backend reachable?
ix docker start # start the backend (ArangoDB + memory layer)
ix doctor # check system health — server, database, graph integrity
If a command rep