AI coding agents have become remarkably capable.
Tools like Claude Code, Cursor, and Aider can generate features, refactor code, and debug complex systems.
However, there is still a fundamental bottleneck:
Before an AI agent can write good code, it needs to understand which parts of a repository actually matter.
Large repositories create a context selection problem.
A typical workflow looks like this:
User request
|
v
AI Agent
|
v
Search repository
|
v
Read many files
|
v
Select context
|
v
Generate solution
The problem is that the search step is often inefficient.
An agent may spend thousands of tokens reading:
- unrelated utilities
- generated files
- duplicated implementations
- low-value modules
while missing the architectural files that define how the system works.
This led me to build repo-brain.
The Core Idea
repo-brain is a repository intelligence layer that helps AI coding agents select better context before generating code.
The goal is not to replace semantic retrieval or RAG.
Instead, it adds another signal:
repository structure.
Semantic search answers:
"Which files contain similar concepts?"
Structural analysis answers:
"Which files are important to understanding this system?"
These are different problems.
Repository as a Graph
Most codebases already contain a hidden graph.
Files depend on other files.
Modules import other modules.
Services communicate with other services.
For example:
AuthController
|
|
v
AuthService
|
|
v
UserRepository
|
|
v
DatabaseLayer
This dependency graph contains architectural information.
repo-brain extracts this relationship and creates a directed graph:
G = (V, E)
V = files/modules
E = import relationships
Structural Ranking with PageRank
Once the dependency graph exists, repo-brain applies graph ranking.
The idea:
A file referenced by important parts of the system is likely to be structurally significant.
This is similar to how PageRank evaluates importance in web graphs.
However, structural importance alone is not enough.
A common problem:
config.py
utils.py
constants.py
may become highly connected but irrelevant to a specific task.
Therefore, repo-brain combines multiple signals.
Example:
Final Score =
Task Relevance + Structural Importance
A file must not only be important globally.
It must also be relevant to the current task.
Token-Budgeted Context Selection
Even after ranking files, another problem remains:
The LLM has a context limit.
Given:
- file importance
- token cost
- maximum context budget
we need to select the best combination of files.
This becomes an optimization problem:
maximize:
Σ file_value
subject to:
Σ file_tokens <= context_budget
repo-brain models this as a constrained selection problem and uses token-aware packing to produce context bundles.
The objective:
Not more code.
The right code.
Design Goals
The project was built around a few principles:
1. Deterministic
The same repository and query should produce predictable results.
2. Offline-first
Repository analysis does not require external APIs or sending source code elsewhere.
3. Explainable
Every selected file should have a reason:
- dependency importance
- task relevance
- token cost
4. Agent-friendly
The output is designed for AI coding workflows:
.ai/context-index.json
AGENTS.md
These artifacts can provide agents with repository understanding before implementation begins.
Limitations
Static analysis has boundaries.
It cannot perfectly understand:
- runtime reflection
- dependency injection containers
- generated code
- dynamic imports
- framework magic
This is intentional.
repo-brain is designed as a structural intelligence layer that can work alongside:
- semantic retrieval
- embeddings
- runtime traces
- developer feedback
Future Direction
The next evolution is moving from context selection toward broader repository intelligence:
- architecture discovery
- impact analysis
- dependency risk detection
- change prediction
- AI agent planning
The long-term goal is not another search tool.
It is a better understanding layer between software repositories and AI agents.
Repository:
https://github.com/Xbot-me/repo-brain
I would love feedback from engineers working on:
- AI developer tools
- static analysis
- code intelligence
- software architecture
Top comments (0)