Dev tools

Graphify C# gives coding agents compiler-accurate Find Usages for C# projects

September 12, 2026 at 7:20 PM PT

GitHub social card for the graphify-csharp repository

Image: GitHub

Why it mattersWhen a coding agent asks "which methods are used only by tests" or "what implements this interface", the answer stops being a text search over names and becomes the same answer Rider or ReSharper would give.

The developer zachsaw published graphify-csharp, a headless indexer that loads a C# solution through MSBuild, asks Roslyn what every symbol actually means, and emits the whole graph as one JSON file that a coding agent can read directly. The repository launched on GitHub on 8 September and reached 41 points on Hacker News on 12 September as a Show HN. The project is MIT-licensed.

What it produces

The output is a single JSON document with nodes, edges, and hyperedges. Nodes are declarations: namespaces, classes, structs, interfaces, records, enums, delegates, constructors, methods, operators, local functions, properties, indexers, fields, enum members, events, parameters, locals, type parameters. Edges are compiler-resolved relationships between them: direct calls, constructor calls, member access, field and type references, inherits, implements, overrides, and the operators and conversions the compiler actually picked. Every edge carries source location and provenance, and edges cross projects with overload-aware and target-framework-aware identity.

Why the compiler matters here

A text search over a codebase can find matching spellings. It cannot tell which overload was bound, which project a caller belongs to, or whether an interface implementation is the symbol you meant. The README uses the example of asking an agent "which methods are used only by tests?" Grepping the name of the method gets close, but returns overloads, unrelated types with the same member name, and false positives on comments. Roslyn resolves the exact declaration, and graphify-csharp writes that resolution to disk so an agent can read it back without loading a Roslyn workspace itself.

Unsupported semantic shapes are reported as diagnostics rather than silently dropped, and the README says the extractor treats zero inbound edges as observed static evidence: it means the code was reached by no source path the compiler could see, and it may still be reached at runtime through reflection, dynamic dispatch, or other paths outside the graph. That distinction is important for any agent about to suggest deleting code.

How it plugs into an agent

Install with dotnet tool install --global Graphify.CSharp --framework net10.0, run it against a .sln, .slnx, .csproj, or SDK file-based .cs project, and it writes graphify-out/csharp.json. The consumer can be jq, C#, Python, or a coding agent reading the JSON directly. The repository ships a skill file for Claude Code (.claude/skills/graphify-csharp/SKILL.md) and Codex (.agents/skills/graphify-csharp/SKILL.md), and an optional --watch mode keeps the Roslyn workspace warm and prepares changed projects in the background.

C# work with coding agents has been the weakest of the mainstream language ecosystems because Roslyn's semantic layer usually lives inside Visual Studio, Rider, or ReSharper, and none of those expose their index in a form an agent can query. Graphify C# is that layer written out to a file. For a .NET team already running Claude Code or Codex, the change is that a question like "what implements IOrderProcessor" or "what calls this exact overload of ProcessAsync" now has the same answer the IDE would give, in a form the agent can act on without a person in the loop.

Source

Primary source: zachsaw/graphify-csharp on GitHub. Show HN discussion: Hacker News.

Source: zachsaw on GitHub

This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.

More from AI News

MonoCode puts eight coding agents in one desktop window and does not resell tokens

MonoCode is an MIT-licensed desktop app that runs Claude Code, Codex, Cursor, Grok Build, OpenCode, Pi, omp and fx through your own logins, and reached 623 stars in seventeen days.

Source: GitHubDev tools

TraceCrate reads Claude Code, Codex, and OTLP session logs in the browser and compares two runs side by side, with no backend or API keys

TraceCrate is a new MIT-licensed local workbench that reads Claude Code, Codex, and OpenTelemetry agent traces in the browser, compares two runs side by side, and exports a bounded report, and the v0.1.0 release picked up 96 stars in a day.

Source: GitHubDev tools

Agent-memory hits 52.9% on LongMemEval-S, 17 points ahead of MemCore, with Claude Code and Codex sharing one store

Agent-memory is an open source long-term memory runtime whose store is plain Markdown, whose index is a rebuildable SQLite cache, and whose paired benchmark on LongMemEval-S puts it at 52.9% against MemCore's 35.8%.

Source: GitHubDev tools