Virgil.Dev — Structural Code Intelligence for GitHub Repos
Virgil.Dev parses your GitHub repositories into structured code graphs, extracting functions, classes, imports, and cross-file references across 10 programming languages. Unlike text-based search tools that rely on embedding similarity, Virgil.Dev provides exact structural results from an indexed code graph.
How It Works
Step 1: Connect & Parse — Point Virgil.Dev at any GitHub repository. It parses every file, extracting functions, classes, imports, and cross-file references across 10 languages including TypeScript, JavaScript, Python, Java, Go, Rust, C, C++, C#, and PHP.
Step 2: Store & Index — The parsed code graph is stored as indexed Parquet files for fast analytical queries. Ask "what calls this function?" and get exact results in milliseconds, not approximate text matches.
Step 3: Chat & Query — Ask questions in the AI chat with @mentions across up to 3 projects simultaneously. Or connect Virgil.Dev to Claude Code or Cursor via the Model Context Protocol (MCP) and query directly from your editor.
Three Ways to Explore Your Code
- MCP Protocol — Connect to Claude Code, Cursor, or any MCP-compatible client with a single command. Get structural code search, caller tracing, and dependency mapping.
- AI Chat with 7 Tools — Mention up to 3 projects with @mentions. The AI uses searchCode, searchSymbols, getFileOutline, readFile, listFiles, getOverview, and listProjects to explore your codebases.
- 10 Language Parsers — Dedicated parsers for Python, TypeScript, JavaScript, Java, Go, Rust, C, C++, C#, and PHP. Each parser extracts the full symbol graph.
Virgil CLI
A fast Rust CLI that parses your codebase into structured Parquet files and queries the results with DuckDB. Parse locally, query instantly. Available for macOS, Linux, and Windows.
Pricing
Free: 1 project, 10 messages/month, 5 indexes. Basic ($8/mo): 5 projects, 200 messages/month, MCP access. Developer ($18/mo): 15 projects, 500 messages/month, MCP access.
Virgil.Dev provides structural code intelligence — symbols, references, and dependency graphs, not just text search. When the AI says a function has 5 callers, it counted them in the reference graph.
Get started — Parse Your First Repo