Show HN: Graphify C# – Compiler-accurate Find Usages for coding agents
summary
Graphify C# provides a headless Roslyn-based indexer that converts C# source code into a queryable semantic graph, enabling AI agents to move beyond simple text search to compiler-accurate navigation. By resolving exact symbols, overloads, and inheritance patterns, it provides agents with deterministic evidence of how code is actually structured. This eliminates the guesswork inherent in LLM-based code analysis and allows agents to perform complex tasks like identifying dead code or test-only methods. The tool is designed to be integrated directly into agent workflows as a skill or a standalone JSON data source.
key points
- The tool replaces ambiguous text-matching with compiler-resolved identities, allowing agents to distinguish between different method overloads and accurately track interface implementations across projects.
- It exports a detailed JSON graph of nodes and edges, which can be consumed by LLMs, queried via jq, or integrated into the broader Graphify workflow for higher-level analysis.
- A built-in watcher mode keeps the Roslyn workspace warm, providing incremental indexing to ensure that AI agents always have an up-to-date semantic map of the codebase during active editing.
who should read it
Developers building AI coding agents or using LLM-based tools like Claude Code and Codex who need precise static analysis for C# projects.
discussion warm
consensus
Commenters generally agree that C# and the Roslyn compiler API provide a powerful foundation for LLM-based code analysis and semantic indexing. There is a shared appreciation for tools that make compiled code structures accessible to agents, though some question the scalability of using large JSON files over databases for massive codebases. The overall sentiment is positive, with users recognizing the effectiveness of .NET as a target for automated coding tools.
top insight
The primary advantage of this tool over MCP-based solutions like JetBrains' is its use of a portable JSON file. This approach allows for greater flexibility, enabling integration with jq, CI gates, and agents that do not support the Model Context Protocol or require a running IDE instance.
Generated by an LLM from the article and thread. Check the sources before relying on it.