axiomcode
Resolved call-graph CLI for Java, TypeScript, Python, JavaScript, and C#
TLDR
SYNOPSIS
axiomcode command [args] [options]axiomcode --versionaxiomcode help [command]
DESCRIPTION
axiomcode is the CLI for AxiomCode Graph. It parses a repository and builds a call graph with language-aware, deterministic rules: each call is resolved from the receiver's type the way a compiler would, not by matching names in a syntax tree. Queries print numbered places with the enclosing function's code and the relevant line marked.Public verbs: impact, path, tests, context, link, index, report, graph. The first query builds `.axiomcode/out/graph.sqlite` if it is missing. Later queries read that graph. After an edit, a background rebuild can start; the current command still answers from the previous graph and marks rows that may be stale. --fresh waits for the new graph. AXIOMCODE_NO_REFRESH=1 or --no-refresh never starts a rebuild.Stable languages: Java, TypeScript, Python. JavaScript and C# are beta. A multi-language repo gets one graph per language. The npm package @axiomcode/code-graph installs the `axiomcode` binary (`npm i -g` or `npx -y @axiomcode/code-graph`). Node 22.13+ (it writes the graph with `node:sqlite`) and python3 are required. Prebuilt engines ship for macOS (arm64, x64), Linux (x64, arm64), and Windows x64; Linux arm64 compiles native parser modules at install time. Version 0.1.11. License FSL-1.1-Apache-2.0.The agent plugin (Claude Code, Codex, Copilot, Gemini, Cursor) is optional. Any MCP client can run `axiomcode mcp` (or `npx -y @axiomcode/code-graph mcp`).
PARAMETERS
--lang LIST
Restrict to `java`, `typescript`, `python`, `javascript`, and/or `csharp`.--src SUBDIR
Limit the analysed tree (for example `src`).--library ROOT[,ROOT…]
Dependency or platform roots for resolving calls into libraries.--fresh
Wait for a refresh in flight and answer from the new graph. AXIOMCODE_FRESH_WAIT (seconds, default 0) applies to every query.--no-refresh
Read-only: do not start a rebuild. Same as AXIOMCODE_NO_REFRESH=1.--version
Print the package version. Only when it is the sole argument.
CONFIGURATION
.axiomcode/
Per-repository graph, refresh log, and HTML output. Add it to `.gitignore`.AXIOMCODE_NO_REFRESH, AXIOMCODE_FRESH_WAIT, AXIOMCODE_REFRESH_INTERVAL
Rebuild policy. Interval is seconds between MCP idle refreshes; 0 turns that timer off.AXIOMCODE_ENGINE
Checkout root when developing from source (`export AXIOMCODE_ENGINE="$PWD"`).
COMMANDS
impact [NAME]
Who calls it, what a change reaches, and the tests that exercise it. With no name: the same for declarations your uncommitted edits changed (`your edits:`).path A B
How A reaches B, hop by hop. Names are written as in the code: `Owner.method`, `method`, `Type`, or `file.py:123`. `*` as an endpoint means everything that reaches, or is reached by, the other name.tests
Tests your uncommitted edits reach, and a last `run:` line with the command that runs them.context TASK [--source]
Files and callables a task touches, as a narrative. --source includes each step's code.link FILE:LINE TARGET
Record where a call the graph could not resolve lands (`axiomcode-links.tsv`). Impact, path, and tests then walk it as `[asserted]`. Alone, lists links. `link FILE:LINE -` removes one.index [REPO] [--lang LANG[,LANG…]] [--src SUBDIR] [--library ROOT[,ROOT…]]
Build the graph explicitly. REPO defaults to the current directory.report [REPO]
HTML page of end-of-turn assist receipts (`.axiomcode/assists.html`).graph [REPO]
Interactive HTML graph; prints `<repo>/.axiomcode/graph/graph.html`.mcp
MCP server on stdio (tools impact, path, tests, and related).help [COMMAND]
Dispatcher help, or one command's usage.
CAVEATS
Needs Node 22.13+ and Python 3. Linux arm64 needs build tools (`build-essential`, `python3`) so native parser modules can compile. Windows runs the CLI under Git Bash. Unresolved calls stay explicit rather than guessed; reflection and service loaders can miss edges. A graph built by another engine or `IMPACT_VERSION` is not rebuilt by hooks. First index of a large repo can take minutes.
