Fuse
Start

What is Fuse

Persistent MSBuild and Roslyn indexing, reduced task-scoped source, .NET wiring resolution, and proposed-file compiler checks.

Fuse is a local .NET tool with a persistent semantic index, typed-graph wiring resolution, reduced task-scoped source, and pre-write compiler verification for coding agents. It indexes a solution through MSBuild and Roslyn, stores the result in .fuse/fuse.db, and reuses it across agent turns.

Install and connect from a .NET project directory:

dotnet tool install -g Fuse
fuse mcp install

Reload your MCP client, then ask:

Before changing OrderService.cs, check the proposed file with fuse_check.

Coding agents can inspect a solution through file reads, grep, and regex. On a large repository, those operations can rediscover the same symbols, references, registrations, and project structure across several turns. Fuse moves that discovery into a persistent local index and emits reduced source for the selected scope.

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.
  • Return reduced source. fuse_context emits the selected files under a token budget and records why each file was included.
  • 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 and Offline Analysis

Fuse reads source, compiler state, and Git metadata on your machine. Its derived index lives at .fuse/fuse.db. Indexing, retrieval, reduction, and captured-compiler checks can work offline and require no model. The optional daily update check can contact NuGet, and a build-grade check can use the package feeds configured for the repository.

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