---
name: Ix
slug: ix
category: AI Engineering
description: Ix answers structural questions about a codebase by building and querying a persistent graph of symbols, calls, and imports. Use it to trace flows, find callers and callees, estimate impact, and detect code smells.
github: "https://github.com/ix-infrastructure/Ix/tree/main/skills/ix"
language: TypeScript
stars: 779
forks: 67
install: "npx degit https://github.com/ix-infrastructure/Ix/tree/main/skills/ix ~/.claude/skills/ix"
installs_to: ~/.claude/skills/ix
source_path: skills/ix/SKILL.md
collection_size: 1
category_size: 2451
added: 2026-08-23T05:19:06.122Z
last_synced: 2026-08-23T05:19:06.122Z
canonical_url: "https://dirskills.com/skills/ix"
---

# Ix

Ix answers structural questions about a codebase by building and querying a persistent graph of symbols, calls, and imports. Use it to trace flows, find callers and callees, estimate impact, and detect code smells.

**Install:**

```bash
npx degit https://github.com/ix-infrastructure/Ix/tree/main/skills/ix ~/.claude/skills/ix
```

## README

# Ix — Persistent Codebase Map

## Overview

Ix parses a repository with tree-sitter (26 languages), builds a graph of its symbols, calls, and imports, and stores it in a local backend (ArangoDB via Docker). Query that graph with `ix` commands to answer bounded, structural questions instead of reading files blindly. The graph persists between sessions.

Use this skill whenever the question is about structure, relationships, or impact: what a symbol is, what calls it, what it calls, how data flows, what breaks if a change lands, which files are most depended-on, or where the smells are.

## When to Use

- Answering "what is this / what does it touch" questions about a symbol, class, or module.
- Tracing how a flow moves through the system.
- Estimating blast radius before a change.
- Finding callers, callees, imports, and dependents.
- Detecting smells, ranking hotspots, and scoring subsystems.
- Onboarding to an unfamiliar codebase.

Do not use this skill for prose-style or history questions — use it for structural, graph-backed answers.

## Quick Start (first run)

Map the target repo with the bootstrap script:

```bash
bash scripts/bootstrap.sh [repo-root] [--no-map]                                            # Bash / Git Bash / macOS / Linux
powershell -ExecutionPolicy Bypass -File scripts/bootstrap.ps1 [repo-root] [-NoMap]         # Windows PowerShell
```

The bootstrap checks Node >= 22, git, Docker, and ripgrep; installs the `ix` CLI if missing; starts the local Docker backend; and maps the repo by default. Re-run `scripts/bootstrap.sh` on each new repo to register and map it.

Refresh the graph after code changes:

```bash
ix map --silent
```

## Core Workflow

Map → Explain → Trace → Impact

| Step | Command | Example |
|---|---|---|
| Build/refresh the graph | `ix map` | `ix map .` |
| Understand a component | `ix explain` | `ix explain IngestionService` |
| Bounded deterministic context | `ix context` | `ix context IngestionService --max-entities 20` |
| Trace a flow | `ix trace` | `ix trace user_login_flow` |
| Analyze impact | `ix impact` | `ix impact verify_token --format llm` |

## Using the Skill

1. Start with high-level commands for one-shot answers: `ix overview`, `ix impact`, `ix rank`.
2. Drill down with primitives — `ix search`, `ix callers`, `ix callees`, `ix contains`, `ix imports`, `ix imported-by`, `ix depends` — reusing exact entity IDs from prior JSON output.
3. Prefer `--format llm` when reading output yourself (token-minimal); use `--format json` when chaining commands or extracting a field. See references/output-formats.md.
4. For the full command surface, decomposition recipes, and best practices, load references/commands.md.
5. If the backend is unreachable or a command fails, load references/troubleshooting.md.

## Rules

1. Before answering codebase questions, run targeted `ix` commands. Do not answer from training data alone.
2. After noticing contradictory information, run `ix conflicts` and present the results.
3. Never guess codebase facts — if Ix has structured data, use it.
4. Immediately after modifying code, run `ix map --silent` to re-ingest.
5. When Ix reports low confidence, mention the uncertainty to the user, suggest re-running `ix map`, and never present low-confidence data as established fact.

## References

- **references/commands.md** — full command routing tables, decomposition recipes, best practices, and the do-not-use list. Load before running any command beyond the core four above.
- **references/output-formats.md** — `--format llm|json|text` rules, commands that do not implement `llm`, and Pro-gated commands. Load when formatting output or when a "requires Ix Pro" error appears.
- **references/troubleshooting.md** — prerequisites, backend health checks, `ix doctor`, and environment flags. Load when a command fails or the backend is unreachable.

## Scripts

- **scripts/bootstrap.sh** — cross-platform first-run setup (bash; works on macOS, Linux, and Windows under Git Bash / MSYS2 / WSL).
- **scripts/bootstrap.ps1** — native Windows PowerShell first-run setup.
