Everyday workflows
Each recipe starts with the single command that usually answers the question, then the finer-grained commands to dig further.
“How does this part of the system work?”
Section titled ““How does this part of the system work?””ix overview IngestionService # one-shot structural summaryix contains IngestionService # its membersix callees parseFile # what one of them calls“What depends on this?” / “What breaks if I change it?”
Section titled ““What depends on this?” / “What breaks if I change it?””ix impact verify_token # blast radius in one answerix callers verify_token # direct callersix imported-by verify_token # everything that imports itix depends verify_token --depth 2“Where is this defined?”
Section titled ““Where is this defined?””ix locate AuthProvider --kind class # graph and text search togetherix search IngestionService --kind class # by name, in the graphix text "verify_token" --language python # literal text, via ripgrepPass --kind to ix search, which keeps results focused. A module-level constant is --kind constant, not
function.
“Show me the code”
Section titled ““Show me the code””ix read verify_token # a symbol's own spanix read src/auth.py:10-50 # a line rangeix read src/auth.py --all # a whole file (otherwise paged at 400 lines)“Which code carries the most weight?”
Section titled ““Which code carries the most weight?””ix rank --by dependents --kind class --top 10ix inventory --kind function --path auth.py # everything of a kind in one place“How is the architecture holding up?”
Section titled ““How is the architecture holding up?””ix smells # structural issuesix subsystems --level 2 # subsystem scoresix stats # graph statistics“What changed?”
Section titled ““What changed?””ix history <entity-id> # how one entity changedix diff 1 5 --summary # changes between two graph revisionsGive an agent a starting point
Section titled “Give an agent a starting point”ix context builds a bounded, deterministic bundle about one target: the entity, its relationships, the evidence
behind them, the other files most closely connected to it, and the recent commits to its file. It’s built to be pasted
into a prompt or read by an agent.
ix context IngestionService --format llmix context IngestionService --max-tokens 6000 # a larger evidence budget (default 3000)ix context IngestionService --save ingest-review # keep it to resume or diff laterix context --from-issue issue.md # start from a bug report instead of a namegh issue view 42 --json body -q .body | ix context --from-issue -With --from-issue, Ix resolves the file paths (including those in stack traces and GitHub links) and code names the
issue mentions to up to three definitions, builds the bundle around the first, and ranks the other files by how well
they match the issue’s text. When nothing resolves, it starts from the best-matching file.
- Decompose a big question into several targeted commands. Commands answer structural questions, not free-form prose.
- Use
--limitto cap result sets. - When chaining commands, reuse the exact entity IDs from a previous
--format jsonresult. - If a name is ambiguous,
--pick <n>(1-based) chooses a candidate without retyping a longer name.
