- Doc
- CS-03
- Employer
- i2c Inc.
- Role
- Design and build
- Status
- Built
Code-analysis engine for AI agents
Headless IntelliJ services in Kotlin that give AI agents exact facts about Java code: symbols, references, call paths, decision trees and the SQL a method runs.
- Kotlin
- IntelliJ Platform SDK
- PSI
- MCP
Context
This engine is the deterministic half of the code-knowledge system. It can also be used on its own by coding agents.
Problem
LLMs need precise, structural facts about code. Text search and embeddings cannot tell which method calls which, which branch a value takes, or which tables a query touches.
Approach
IntelliJ without the IDE window
The services load a project in a headless IntelliJ instance and use the PSI to resolve code exactly as the IDE does. They answer over MCP.
- Symbol resolution, references and callers
- Inheritance, overrides and cycles
- Call paths, real entry points and reachability
- Decision trees for every branch
- SQL, messaging and HTTP call sites, with the tables and columns they touch
Stack
- Kotlin
- IntelliJ Platform SDK
- PSI
- MCP
What I learned
- The IntelliJ PSI already solves Java resolution well. Reusing it gave more exact results than writing a parser.