The index for AI agents

Give your agent senses.

Your agent re-learns your codebase every session — grep, read, guess, repeat. RepoQL hands it a living index instead: every file, symbol, and relationship, understood in seconds for a fraction of the tokens.

Install RepoQL View on GitHub
$ curl -fsSL https://downloads.repoql.ai/latest/install-rql.sh | bash
1,500 tok
to survey a thousand files — headlines, ranked by meaning
1 call
to read three method bodies across three files
22
format families parsed — TypeScript to Terraform to PDF
0 cloud
required — the index runs on your laptop, beside your IDE

Where your tokens go

The context window is the whole game

Exploration crowds out the work

Every file your agent opens to get its bearings evicts a piece of the task you actually gave it. Thirty tool calls of searching is thirty answers' worth of context, gone.

The index already knows

RepoQL parses your repository ahead of time and keeps the index warm as you work. Your agent asks; the index answers with exactly the slice that matters.

Tokens go to the fix

Sessions start already knowing the shape of your code. Answers arrive in one call instead of thirty. The window stays free for the work itself.

One index, four senses

Feel the shape of a codebase without opening a file

Every file is pre-parsed into three levels — a one-line headline, its structure, its content. Agents spend tokens only on what matters.

explore

Hear relevance

Hybrid lexical + semantic search over everything. The landscape, ranked by meaning — before committing to read anything.

read

Reach precisely

A single method body. A line range. A glob across every file. Progressive detail that honors a token budget exactly.

query

See relationships

SQL over the whole graph — code, git history, parsed data files. What calls what; what depends on what.

explain

Ask the index

A synthesized answer with citations, drawn from up to 50k tokens of source the agent never had to hold.

Progressive disclosure

Same address, three depths

Every file is pre-computed at three levels — a one-line headline, its structure, its full content. The token budget decides which one you get; the address never changes.

An agent scans a thousand headlines to know what exists, narrows to twenty structures to see the shape, and reads three bodies to understand — never opening a file it didn't need.

Try the tabs. Same file, three bets.

// read("file:///src/…/Modules/Git/GitModule.cs", 40) GitModule — on-demand git via LibGit2Sharp: status, diff, blame, patches. No pre-indexing. | 550 ln
// read("… => structure", 320) GitModule : DatabaseModule +TableFunction git_status(repo_uri) +TableFunction git_diff(repo_uri, from_ref, to_ref) +TableFunction git_blame(uri, line_from, line_to) +TableFunction git_patches(uri, max_count) -Repository OpenRepository(RepoUri uri) -string ResolveWorkTree(string physicalPath)
// read("…#symbol=git_blame => content", 800) [TableFunction("git_blame")] public IEnumerable<BlameRow> GitBlame(string uri, long from, long to) { var physical = _resolver.Resolve(RepoUri.Parse(uri)); using var repo = OpenRepository(physical); var hunks = repo.Blame(physical.RelativePath, new BlameOptions { MinLine = (int)from, MaxLine = (int)to }); // one row per hunk — commit, author, when, lines …

What the agent sees

Thirty grep calls, or one address

Everything is addressable. Files, symbols, line ranges, globs — one URI scheme across your repo, imported repos, and the docs themselves.

Ask for every Service member's signature across the codebase and the index answers from what it already knows — nothing is opened, nothing is wasted.

The risk is asymmetric. A bad query costs 1,500 tokens. A good one saves 50,000.

// one call — every filesystem implementation's signatures read("file:///src/**/*.cs#symbol=*FileSystem => structure", 3000) // the index answers in 0.3s, exactly 3,000 tokens PhysicalFileSystem : IFileSystem +Task<Stream> OpenRead(RepoUri uri) +IAsyncEnumerable<FileEntry> Enumerate(GlobSpec spec) GitTreeFileSystem : IFileSystem +Task<Stream> OpenRead(RepoUri uri) · 14 more

Why it's different

Not another AI — the index yours was missing

Everyone else builds AI. RepoQL is deterministic software with an agent as its user — and agent-first shows in the details.

Budgets are contracts

Ask for 3,000 tokens and get exactly 3,000 — the richest view of the code that fits. Nothing overflows into your context uninvited.

Errors are signposts

A miss never dead-ends. The response says what was tried, what exists nearby, and the call that will work — agents recover on their own.

Trust is visible

Every answer carries what the index knew when it answered — fresh, stale, or still indexing. Honest, or absent.

Works where your agent works

MCP, CLI, gRPC — same index, any surface

One long-lived host per machine. Agents connect and disconnect freely; the index is always warm.

mcp Claude Code mcp Codex mcp Cursor cli rql query · read · explore grpc your own tools sql DuckDB surface

22 format families

It reads what your repo is made of

Code, data, documents — parsed to symbols and structure, not just text. Even the PDFs.

TypeScriptPythonGoRustC++.NETRubyPHPSQLJSONYAMLMarkdownMermaidGraphQLTerraformCSSCSVMakeProtoPDFDOCXXLSX