# Documentation

Start at the top and go as deep as you need: getting started takes five minutes, the guides cover every task, the reference is generated from the binary itself, and the advanced section is the full design.

## Getting started

What jdx is, how to install it, your first queries, and wiring it into your AI agent.

- [Introduction](https://mohammadmd1383.github.io/jdx/docs/introduction/): jdx is an IDE for AI agents, as a command line tool. It answers the questions an IDE answers for a human — what members a class has, what a method does, who…
- [Installation](https://mohammadmd1383.github.io/jdx/docs/installation/): jdx installs per user with one command, needs only a Java 21+ runtime, and runs on Linux, macOS and Windows.
- [Quickstart](https://mohammadmd1383.github.io/jdx/docs/quickstart/): Five minutes, two classpaths: the JDK (no setup at all) and a library pulled by its Maven coordinate. Every output below is real — it was produced by…
- [Use with AI agents](https://mohammadmd1383.github.io/jdx/docs/ai-agents/): Wire jdx into Claude Code, Cursor, Codex, GitHub Copilot, Antigravity, OpenCode, Kilo Code, Cline or any MCP client with one command — or let any…

## Guides

Task-oriented guides: naming symbols, choosing a classpath, reading and navigating code, upgrades, output, and serving.

- [Symbol references](https://mohammadmd1383.github.io/jdx/docs/symbol-references/): Every jdx command takes a symbol reference in Javadoc style. jdx is generous about what it accepts and canonical about what it prints, so any reference it…
- [Classpath & workspaces](https://mohammadmd1383.github.io/jdx/docs/classpath/): jdx answers from a classpath made of jars, class directories, source directories, Maven coordinates and the JDK. This guide covers every way to supply one —…
- [Reading code](https://mohammadmd1383.github.io/jdx/docs/reading-code/): Look at a type, list what you can call on it, read one method, or search the whole classpath — each with one command that returns only what was asked. This…
- [Usages, hierarchy & calls](https://mohammadmd1383.github.io/jdx/docs/navigating-code/): Find who uses a symbol, what implements a type, who calls a method and what it calls, and real call sites to learn from — across every jar on the classpath,…
- [API diff for upgrades](https://mohammadmd1383.github.io/jdx/docs/api-diff/): Before bumping a dependency, ask what the new version breaks. jdx diff compares the public API of two artifacts — jars, class directories or Maven…
- [Output, JSON & exit codes](https://mohammadmd1383.github.io/jdx/docs/output/): jdx output is designed to be read by a language model with a finite context window: compact text by default, a complete JSON envelope on request, and exit…
- [MCP, daemon, HTTP & batch](https://mohammadmd1383.github.io/jdx/docs/serving/): The one-shot CLI starts in about a quarter of a second. When an agent asks dozens of questions, keep jdx warm instead: an MCP server, a background daemon, a…

## Reference

Every command and flag, generated from the jdx binary itself on every build.

- [Command catalogue](https://mohammadmd1383.github.io/jdx/docs/reference/): Every jdx command with its IDE equivalent and key flags: read, search, graph, API diff, workspaces, serving.
- [Agent cheat sheet](https://mohammadmd1383.github.io/jdx/docs/reference/cheat-sheet/): The compact jdx block to paste into CLAUDE.md, AGENTS.md or a system prompt: every command, the ref syntax and the exit codes.
- [MCP tools](https://mohammadmd1383.github.io/jdx/docs/reference/mcp-tools/): Every tool the jdx MCP server exposes to Claude Code, Cursor, Codex and other MCP clients, with parameters — generated from jdx mcp.

Commands: [version](https://mohammadmd1383.github.io/jdx/docs/reference/version/), [upgrade](https://mohammadmd1383.github.io/jdx/docs/reference/upgrade/), [doctor](https://mohammadmd1383.github.io/jdx/docs/reference/doctor/), [show](https://mohammadmd1383.github.io/jdx/docs/reference/show/), [members](https://mohammadmd1383.github.io/jdx/docs/reference/members/), [outline](https://mohammadmd1383.github.io/jdx/docs/reference/outline/), [body](https://mohammadmd1383.github.io/jdx/docs/reference/body/), [source](https://mohammadmd1383.github.io/jdx/docs/reference/source/), [signature](https://mohammadmd1383.github.io/jdx/docs/reference/signature/), [doc](https://mohammadmd1383.github.io/jdx/docs/reference/doc/), [search](https://mohammadmd1383.github.io/jdx/docs/reference/search/), [resolve](https://mohammadmd1383.github.io/jdx/docs/reference/resolve/), [ls](https://mohammadmd1383.github.io/jdx/docs/reference/ls/), [tree](https://mohammadmd1383.github.io/jdx/docs/reference/tree/), [usages](https://mohammadmd1383.github.io/jdx/docs/reference/usages/), [hierarchy](https://mohammadmd1383.github.io/jdx/docs/reference/hierarchy/), [implementors](https://mohammadmd1383.github.io/jdx/docs/reference/implementors/), [callers](https://mohammadmd1383.github.io/jdx/docs/reference/callers/), [calls](https://mohammadmd1383.github.io/jdx/docs/reference/calls/), [samples](https://mohammadmd1383.github.io/jdx/docs/reference/samples/), [diff](https://mohammadmd1383.github.io/jdx/docs/reference/diff/), [batch](https://mohammadmd1383.github.io/jdx/docs/reference/batch/), [bench](https://mohammadmd1383.github.io/jdx/docs/reference/bench/), [serve](https://mohammadmd1383.github.io/jdx/docs/reference/serve/), [setup](https://mohammadmd1383.github.io/jdx/docs/reference/setup/), [mcp](https://mohammadmd1383.github.io/jdx/docs/reference/mcp/), [help](https://mohammadmd1383.github.io/jdx/docs/reference/help/), [daemon](https://mohammadmd1383.github.io/jdx/docs/reference/daemon/), [ws](https://mohammadmd1383.github.io/jdx/docs/reference/ws/), [cache](https://mohammadmd1383.github.io/jdx/docs/reference/cache/), [kotlin](https://mohammadmd1383.github.io/jdx/docs/reference/kotlin/)

## Advanced

The full design specification, the testing strategy, and how this agent-built project is run.

- [Design specification](https://mohammadmd1383.github.io/jdx/docs/design/): The full jdx design: symbol grammar, command surface, output design, index, decompilation, Kotlin support, serving, security.
- [Testing strategy](https://mohammadmd1383.github.io/jdx/docs/testing/): How jdx is tested: TDD core, javap-differential, property-based, metamorphic, fault-injection and corpus soak tests, mutation gates.
- [Built by agents](https://mohammadmd1383.github.io/jdx/docs/built-by-agents/): jdx is a tool for AI agents that is itself written almost entirely by AI agents, working under rules a human owner sets. This page describes how that works…
- [AGENTS.md](https://mohammadmd1383.github.io/jdx/docs/agents-md/): The rules every contributor — human or AI agent — follows in the jdx repository: principles, locked decisions, exit codes, build and test gates.
- [Contributing](https://mohammadmd1383.github.io/jdx/docs/contributing/): How to contribute to jdx: conventions, code style, the command checklist, testing and documentation discipline.

