Fuse
Start

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 --rules

Reload 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_check typechecks one proposed file without writing it.
  • See the reach of a change. fuse_impact finds callers, implementations, and referencing types before a signature change.
  • Follow application wiring. fuse_find connects a registered service, request, route, or configuration section to the code that handles it.
  • Review a branch. fuse_review starts from the git diff and gathers focused context from related files.
  • Stage a refactor. fuse_refactor returns 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 Order

Every 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 build for 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 25000

Recorded 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.

On this page