What is Fuse
Local .NET semantic index, typed-graph wiring resolution, and pre-write compiler verification for coding agents.
Fuse indexes your .NET solution locally, resolves application wiring from a typed graph, and lets your coding agent typecheck a proposed file before it changes on disk. Install and connect from a .NET project directory:
dotnet tool install -g Fuse
fuse mcp install --rulesReload your MCP client, then ask:
Before changing OrderService.cs, check the proposed file with fuse_check.Fuse works with the coding agent you already use. It runs on your machine, keeps a warm
index at .fuse/fuse.db, and gives that agent graph-backed wiring lookup plus
compiler-backed edit checks.
What It Adds to Daily Work
- Check a proposed edit.
fuse_checktypechecks one proposed file without writing it. - See the reach of a change.
fuse_impactfinds callers, implementations, and referencing types before a signature change. - Follow application wiring.
fuse_findconnects a registered service, request, route, or configuration section to the code that handles it. - Review a branch.
fuse_reviewstarts from the git diff and gathers focused context from related files. - Stage a refactor.
fuse_refactorreturns a diff only when the compiler finds no new diagnostic.
A Compiler-Backed Result
The agent sends the proposed content of one file to fuse_check. Fuse checks that content
against the project and returns the diagnostics it would produce. The source file stays
unchanged.
fuse_check(path="C:/Projects/MyApp/src", file="OrderService.cs", content="<proposed edit>")
-> CS1061 at OrderService.cs:41: 'Order' has no member 'TotalAmount'
suggested repair: 'Total' exists on OrderEvery result names how it was checked. Fuse calls this the verification grade:
- Oracle grade means the build-captured compilation checked the proposal.
- Build grade means Fuse ran a scoped
dotnet buildfor the owning project. - Abstained means neither compiler path could answer; the result names the missing prerequisite.
The opt-in FUSE_RESIDENT=1 mode supports faster repeated checks. It is not the default,
and its timing depends on the repository and machine.
Follow What Runs
Text search can find IOrderService. Fuse can also follow its dependency injection
registration to the concrete implementation and then show related callers. The same
typed index covers request handlers, routes, and options binding.
fuse_find(path="C:/Projects/MyApp/src", kind="service", query="IOrderService")Reflection and runtime dispatch can hide connections from static analysis. Fuse reports how much of the workspace loaded through MSBuild and Roslyn instead of presenting a syntax-only result as compiler-backed.
Review a Branch with Focused Context
For pull-request work, fuse_review includes the git-changed files and selects related
support files:
fuse_review(
path="C:/Projects/MyApp/src",
changedSince="origin/main",
maxTokens=25000
)The response records why each file was included. maxTokens caps the amount of focused
context returned; it does not change which files Git reports as changed.
If a task has no symbol, route, service, request, configuration section, or git base, Fuse can rank likely files. This is a fallback and is less precise than a compiler or Git-anchored request.
fuse_find(path="C:/Projects/MyApp/src", kind="task", query="where is the discount applied at checkout?")
fuse_context(path="C:/Projects/MyApp/src", files=["src/Checkout/DiscountPolicy.cs"], maxTokens=25000)Local by Default
Fuse reads source, compiler state, and Git metadata on your machine. Its derived index
lives at .fuse/fuse.db. Fuse requires no hosted model, sends no source to a Fuse service,
and downloads no embedding model.
Read, check, impact, refactor, and review operations do not write the working tree.
fuse_workspace with action=apply is the explicit write path, and it is a dry run unless
the caller sets write=true.
Use It from an Agent or Terminal
The agent connection supports proposed edits before they are written. The command-line interface is useful for indexing, branch review, and scripted work:
fuse index ./src
fuse review ./src --changed-since origin/main --max-tokens 25000Recorded measurements cover a defined set of repositories, edits, and pull requests. See Benchmarks for the full methods, results, and limits.
Next
Follow the Quickstart for the first checked edit, or read Connect to your AI for project, user, and manual setup.