Consolidating into four tools is a deliberate trade: fewer tool definitions riding in the context on every turn, and each call does the planning and graph-walking that you would otherwise have to orchestrate yourself.
A code intelligence server that indexes a repository into a graph plus embeddings in SurrealDB, then puts reasoning agents in front of it. Each tool plans, searches, follows graph relationships and synthesizes an answer rather than returning a file list.
- `agentic_context` — gathers what you need before editing: searches code, builds context, answers semantic questions. Focus values `"search"`, `"builder"` and `"question"`, auto-selected from the query
- `agentic_impact` — maps change impact through dependency chains and call flows, so you find out what breaks before you touch it. Focus values `"dependencies"` and `"call_chain"`, both analysed by default
- `agentic_architecture` — system structure, API surfaces and architectural patterns, with focus values `"structure"` and `"api_surface"`
- `agentic_quality` — risk assessment across complexity hotspots, coupling metrics and refactoring priorities, with focus values `"complexity"`, `"coupling"` and `"hotspots"`
- Agent architectures selectable at runtime: Rig is the default and maps each tool to the reasoning strategy that suits it — tree search for open-ended architecture and quality questions, linear reasoning for direct lookups, and a self-correcting fallback that analyses the failure and retries with a refined plan
- Bootstrap context so an agent's first tool call is not blind: a brief directory outline plus the contents of README.md and the agent instruction files, when enabled
- Context overflow protection, with per-tool and accumulation limits derived from the context window you declare
Build from source with the full-features install script; on macOS, LLVM's `lld` is available for faster linking via the provided Makefile targets. A SurrealDB instance is required — the documented local start binds 0.0.0.0:3004 with file-backed storage — and the schema is applied from the `schema` directory before first use. Then index with `codegraph index /path/to/project -r -l rust,typescript,python`, and register it with your client as `codegraph start stdio --watch`. Indexing respects `.gitignore` and filters common secret patterns such as `.env`, `credentials.json` and `*.pem`, so those are not embedded or exposed to the agent. Daemon mode is available for keeping the index warm.
