Fuse
Reference

Commands

The five Fuse commands, what each one fuses, and the options they accept.

Fuse exposes its work through seven commands. Three of them (fuse, fuse dotnet, and fuse wiki) produce a fusion from a source directory and differ only in which file types they collect and how they reduce them. Two more (fuse explain and fuse verify) run a fusion in memory to report on it without writing output. The remaining two (fuse init and fuse serve) manage configuration and the agent server and run no fusion of their own. This page states what each command does, when to reach for it, and which option set applies.

This page is for engineers choosing a command and for maintainers who need the exact dispatch behavior. Stakeholders can read the summary table alone.

Purpose And Scope

This page covers the command surface: names, descriptions, and one example invocation each. It does not document the flags themselves. Every fusion command (fuse, fuse dotnet, fuse wiki) shares the option set in the Options reference, and fuse dotnet adds .NET-specific flags described there. The fuse explain and fuse verify commands share the same options plus a subset of the .NET scoping and reduction flags. The commands fuse init and fuse serve take no fusion options.

Summary

CommandFusesReductionScopingOptions
fuseAny files, using template defaults and shared optionsNone beyond shared content trimmingNoneShared
fuse dotnetA .NET project, including C#, F#, and web filesC# reductionFocus, changes, queryShared plus .NET
fuse wikiAn Azure DevOps wiki repository (Markdown only)None beyond shared content trimmingChangesShared
fuse explainNothing; previews a .NET fusion in memorySame as fuse dotnetFocus, changes, queryShared plus a scoping subset
fuse verifyNothing; checks a .NET fusion in memorySame as fuse dotnetFocus, changes, queryShared plus a scoping subset
fuse initNothing; writes a config fileNot applicableNot applicableNone
fuse serveNothing; starts the MCP serverNot applicableNot applicableNone

fuse

The root command is a flexible file combining tool for developers. It collects files using template defaults and the shared options, then emits one fusion. Use it when no language-specific reduction is needed and you want direct control over which extensions to include.

fuse --directory ./docs --include-extensions .txt,.md

The shared options for this command are documented in the Options reference.

fuse dotnet

This command fuses a .NET project, including C#, F#, and web files. It applies C# reduction and supports scoping a fusion to the files relevant to a task through focus, change, and query modes. It carries .NET-specific options beyond the shared set, including the C# reduction flags, skeleton extraction, and the scoping flags.

fuse dotnet --directory ./src --all --skeleton

The .NET-specific flags and the three mutually exclusive scoping modes are documented in the Options reference. The same command also exposes the table-of-contents survey (--toc), generated-code collapse (--collapse-generated), the on-disk analysis index (--index), the opt-in Roslyn precision tier (--semantic), and the query reranker (--rerank). For task-oriented usage, see the Scoping to What Matters and Reducing Tokens guides.

fuse wiki

This command fuses an Azure DevOps wiki repository and includes only .md files. Use it to combine a wiki tree into a single document for review or for an agent to read in one call.

fuse wiki --directory ./my-wiki

This command accepts the shared options in the Options reference. It applies no language reduction beyond the shared content handling.

fuse explain

This command previews a .NET fusion without writing anything. It runs collection, scoping, and in-memory reduction exactly as fuse dotnet would, then prints which files would be included with a per-file token estimate, which collected files would be excluded, and the estimated token total. Use it to check the effect of a focus seed, a query, a change range, or a reduction mode before committing to a full run.

fuse explain --directory ./src --focus OrderService --depth 2

It accepts the shared options plus a subset of the fuse dotnet scoping and reduction flags (--focus, --query, --query-top, --depth, --all, --skeleton), documented in the Options reference.

fuse verify

This command reports how much of a project's public API surface survives a .NET fusion. It runs a fusion in memory, then compares the public and protected types and methods, and ASP.NET route templates, declared in the included source against the fused output, printing the preserved percentage for each category. Pass --json for a machine-readable result. Use it to confirm that a reduction mode keeps the API you expect: a drop under the default or --all reduction signals lost API, while skeleton is signatures only by design.

fuse verify --directory ./src --all
fuse verify --directory ./src --skeleton --json

The source side is parsed by Roslyn in the framework-dependent tool and by an AOT-clean regex analyzer in the Native AOT build; both report the same categories. It accepts the same scoping and reduction subset as fuse explain, plus --json, documented in the Options reference.

fuse init

This command creates a fuse.json configuration file in the current directory. It writes the file only when one is absent; if a fuse.json already exists, the command writes nothing and reports an error. It takes no fusion options.

fuse init

The scaffold it writes and every supported key are documented in the Configuration Keys reference.

fuse serve

This command starts the Fuse MCP server for AI agent integration. The server communicates over stdio: stdout is reserved for the Model Context Protocol byte stream, so all logging is routed to stderr to avoid corrupting the protocol. It takes no fusion options; each fusion is requested by the connected client through a tool call.

fuse serve

The server keeps the on-disk analysis index warm across calls, so a multi-call task pays the analysis cost once. Set the FUSE_SEMANTIC environment variable before starting the server to enable the Roslyn precision tier for that session.

For client setup and the exposed tools, see the Agent Integration overview.

What This Does Not Cover

This page does not list the flags each command accepts, the configuration keys, or the output format. Those are in the Options reference, the Configuration Keys reference, and the Output Specification.

Next

Continue to the Options reference for the full flag set, or to Your First Fusion for a worked example.

On this page