New Code Indexing Tool Released for AI Coding Agents

A new open-source code indexing tool, released under the MIT license, has been introduced to assist AI coding agents in navigating large codebases. Developed in Rust and hosted on GitHub, the project—available at github.com/Goldziher/basemind—aims to provide name resolution and call graphs without the requirement of a running language server or a successful build step.

According to the developer, the tool is designed to function in environments where a repository may be in a broken state due to ongoing edits by an AI agent. Unlike traditional Language Server Protocol (LSP) implementations, this tool does not utilize a type checker, which means it may lack precision regarding generics, macros, dynamic dispatch, and dependency injection.

Technical Architecture and Language Support

The tool employs a tiered approach to code understanding. For JavaScript and TypeScript, the system utilizes the oxc parser to manage scope trees, symbol tables, and import/export resolution, including support for tsconfig path aliases in monorepos. For Python and Java, the tool relies on “stack-graphs”—a declarative name-binding method originally developed by GitHub.

While the developer claims support for 371 grammars, the tool’s depth of understanding varies by language. Approximately 100 grammars provide symbol and call data, while three languages receive full resolution. For all other supported languages, the tool provides intra-file lexical scope binding only.

The developer noted that the stack-graphs implementation is a fork of a GitHub project archived in September 2025. This fork includes fixes for several bugs in the original Python implementation, specifically addressing issues where typed splat parameters, chained assignments, or certain lambda structures would cause the entire file’s resolution to fail.

Performance Benchmarks and Privacy

The tool is designed to run fully offline, requiring no API keys or telemetry, with all indexing data stored in a local cache.

In performance tests reported by the developer, scanning the TypeScript compiler—comprising 81,000 files—took approximately 18 seconds on an M4 chip. Additionally, git history queries were reported to complete in tens of microseconds, regardless of the depth of the history.

Implementation Considerations

The developer has addressed criticisms regarding the tool’s “over-claiming” of data. To prevent AI agents from receiving incomplete information, the tool returns all name-scanned call sites, annotating them to indicate whether the resolution was proven or merely estimated. This is intended to prevent agents from acting on a truncated list of callers.

While the project has been evaluated by three other agent-based projects, the developer noted that some have chosen not to adopt the technology. The project is distributed via several crates on crates.io, including basemind-stack-graphs and basemind-tree-sitter-graph.