Unify AI retrieval with the IDE symbol graph instead of reconstructing project structure from source files

Feature request for product/service

Cursor IDE

Describe the request

Current AI coding agents repeatedly reconstruct the project structure by combining grep, semantic retrieval, and file reads.

However, the IDE already maintains a much richer understanding of the code through language services (Roslyn/LSP):

  • Find References
  • Go To Definition
  • Call Hierarchy
  • Inheritance graph
  • Interface implementations
  • Symbol information
  • Diagnostics

At the same time, Cursor already has a semantic codebase index (embeddings/RAG), which solves a different problem.

These seem to exist as two separate worlds:

  1. IDE semantic knowledge (exact symbol graph)
  2. AI retrieval (embeddings + grep + file reading)

I believe the next major improvement for AI coding agents is to unify them into a single retrieval layer.

Instead of repeatedly reconstructing project structure from source files, the agent could query a structured project knowledge service.

For example, instead of reading dozens of files to understand PositionManager, the retrieval layer could return something like:

  • inherits: BaseManager
  • implements: IPositionManager
  • referenced by: TradeService, RiskService, UIController
  • calls: ExecuteTrade(), ValidateRisk()
  • implementations: 3
  • references: 18
  • related diagnostics
  • related documentation
  • recent Git changes

The LLM would spend its context window reasoning about architecture instead of rediscovering it.

This would combine the strengths of:

  • Roslyn/LSP
  • semantic embeddings
  • grep
  • diagnostics
  • Git history

into one structured retrieval system.

I think this could become a significant competitive advantage for AI-first IDEs.

Operating System (if it applies)

Windows 10/11

Hey, thanks for the detailed feature request. I can tell you’ve thought it through.

The direction makes sense. Instead of having the agent rebuild the project structure every time via grep plus embeddings plus file reads, give it access to what the language service LSP or Roslyn already knows in a deterministic way like find references, go to definition, call hierarchy, inheritance, symbols, and combine that with the semantic index into a single layer.

This is something we’re already discussing, and similar requests have come up in other threads:

I’ve logged your request and attached it to the right internal track. Your wording is especially helpful since it’s language agnostic, not just about TypeScript. I can’t share a timeline or make any promises, but there is interest in this.

If there’s an update, I’ll reply in the thread.