Getting oriented

Where it runs

One long-lived host holds the index; clients connect to it and disconnect freely. Where that host lives is your choice, and the answer changes nothing about how you address it.

Three shapes

On your machine

A single native binary, no runtime to install and no container required. Every agent on the machine shares one warm index — the parse is paid for once and each of them gets the whole codebase.

curl -fsSL https://downloads.repoql.ai/latest/install-rql.sh | bash

In a container

A multi-arch image, published with every release, paired with a compose file for the host and its volumes.

docker run -v "$PWD:/work" ghcr.io/repoql/rql

On your own infrastructure

The host runs inside your network; teammates, CI, and hosted agents reach it through the uplink, with your own identity provider doing the door policy. The code never leaves where you put it.

rql serve --uplink

What actually needs a network

Worth being exact about, because for a tool that reads a whole codebase this is the first question.

CapabilityWhat it needs from the network
Indexing and parsingNone. Files are discovered, parsed, and stored locally in DuckDB.
The graph and all SQLNone. Every view, macro, and table function runs against the local database.
Addresses, globs, fragmentsNone. Symbol and line resolution is a local graph operation.
Text search — grep, regex, full textNone.
Git — history, blame, changesNone. Read live from your checkout.
Semantic searchNone. A local embedding model ships inside the binary, so a fresh install has it with no account and no download.
Higher-precision embeddings and rerankingA cloud account. Without one, search falls back to its local ranking — less precise, still working.
explain and read => question:A cloud account. These synthesise with a language model and are the only capabilities that do not run without one.

Every way in

The same index behind each of them.

Way inWho uses it
MCPClaude Code, Codex, Cursor, and anything else that speaks the protocol.
CLIrql query, read, explore, explain, import, watch — the whole surface, scriptable.
gRPCYour own tools, against the same host.
SQLThe DuckDB surface directly, for anything the tools do not already shape.

This page names what exists. The depth behind every name — the bounds, the failure modes, how they compose — ships inside the binary at help:///, and answers to explore and read exactly like your code does. Install it, and your agent has the manual.