You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Read this before editing Fuse source or docs. It holds the durable context about
4
4
5
5
## What Fuse Is
6
6
7
-
Fuse is a .NET-native codebase context optimizer for AI-assisted development. It collects source files, reduces them for token efficiency, and emits one structured payload an agent or developer can read in a single call instead of opening thousands of files. It ships as a .NET global tool (`fuse`) and as a Model Context Protocol server (`fuse mcp serve`) with eight tools. It cuts tokens while keeping the public API intact, scopes to the files a task needs, and trims the round-trips an agent makes during its explore phase.
7
+
Fuse is a .NET-native codebase context optimizer for AI-assisted development. It collects source files, reduces them for token efficiency, and emits one structured payload an agent or developer can read in a single call instead of opening thousands of files. It ships as a .NET global tool (`fuse`) and as a Model Context Protocol server (`fuse mcp serve`) with nine tools. It cuts tokens while keeping the public API intact, scopes to the files a task needs, and trims the round-trips an agent makes during its explore phase.
8
8
9
9
## Repository Layout
10
10
@@ -34,7 +34,7 @@ Build first, then test with `--no-build`. CI verifies all three plus a Native AO
34
34
35
35
## MCP Tools
36
36
37
-
Eight tools: `fuse_toc`, `fuse_skeleton`, `fuse_focus`, `fuse_search`, `fuse_changes`, `fuse_ask`, `fuse_dotnet`, `fuse_generic`. Plus MCP resources for skeleton, focus, search, and change workflows.
37
+
Nine tools: `fuse_toc`, `fuse_skeleton`, `fuse_focus`, `fuse_search`, `fuse_changes`, `fuse_ask`, `fuse_dotnet`, `fuse_generic`, `fuse_reduce`. Plus MCP resources for skeleton, focus, search, and change workflows.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,12 @@
2
2
3
3
All notable changes to Fuse are documented here. The format is based on Keep a Changelog. Fuse 2.0 is a structural rewrite; backward compatibility with 1.x output is not a goal.
4
4
5
+
## [2.4.0]
6
+
7
+
### Added
8
+
9
+
-**`fuse reduce` CLI command and `fuse_reduce` MCP tool.** Compacts a caller-supplied set of files, or raw content, by running Fuse's reduction without collecting a whole directory. The agent (or a script) compacts context it has already identified instead of re-scoping. The CLI takes `--files` (a path list, written to stdout) or `--stdin` (piped content, with `--ext` selecting the reducer); the MCP tool takes `files` (paths) or `content` (with `extension`). Both accept a reduction `level` and a token ceiling. Content mode materializes a temporary file so the reducer is selected by extension, then deletes it. Backed by a new explicit-file collection mode (`CollectionOptions.ExplicitFiles`, `FusionRequestBuilder.WithExplicitFiles`) that reuses the full reduction and emission pipeline; missing paths are skipped rather than failing the run.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@
29
29
30
30
Fuse is a Model Context Protocol server for AI-assisted development on .NET. It hands your coding agent (Claude Code, Cursor, GitHub Copilot) the right code, scoped and reduced, in a single call, instead of letting it burn its context window opening thousands of files during the explore phase. It cuts input tokens while keeping the public API intact, scopes to the files a task needs, and trims the round-trips an agent makes. The same engine is also a `fuse` CLI.
31
31
32
-
Unlike generic repo packers (Repomix, Code2Prompt, Gitingest), Fuse understands C# structure: dependency graphs, skeleton extraction, BM25 query scoping, git change detection, and convention patterns. An opt-in Roslyn precision tier and a hybrid-retrieval reranker raise accuracy further. The MCP server exposes eight tools; see [Connect your agent](https://fuse.codes/docs/start/connect-your-ai).
32
+
Unlike generic repo packers (Repomix, Code2Prompt, Gitingest), Fuse understands C# structure: dependency graphs, skeleton extraction, BM25 query scoping, git change detection, and convention patterns. An opt-in Roslyn precision tier and a hybrid-retrieval reranker raise accuracy further. The MCP server exposes nine tools; see [Connect your agent](https://fuse.codes/docs/start/connect-your-ai).
33
33
34
34
Full documentation lives at **[fuse.codes](https://fuse.codes/docs)**.
Copy file name to clipboardExpand all lines: site/content/docs/reference/commands.mdx
+19-1Lines changed: 19 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Commands
3
3
description: The five Fuse commands, what each one fuses, and the options they accept.
4
4
---
5
5
6
-
Fuse exposes its work through eight 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 three (`fuse init`, `fuse mcp install`, and `fuse mcp 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.
6
+
Fuse exposes its work through nine 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. A fourth, `fuse reduce`, compacts a caller-supplied set of files or piped content instead of walking a directory. Two more (`fuse explain` and `fuse verify`) run a fusion in memory to report on it without writing output. The remaining three (`fuse init`, `fuse mcp install`, and `fuse mcp 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.
7
7
8
8
This page is for engineers choosing a command and for maintainers who need the exact dispatch behavior. Stakeholders can read the summary table alone.
9
9
@@ -23,6 +23,7 @@ This page covers the command surface: names, descriptions, and one example invoc
23
23
|`fuse init`| Nothing; writes a config file | Not applicable | Not applicable | None |
24
24
|`fuse mcp install`| Nothing; registers Fuse with MCP clients | Not applicable | Not applicable |`--client`, `--scope`, `--rules`, `--command`|
25
25
|`fuse mcp serve`| Nothing; starts the MCP server | Not applicable | Not applicable | None |
26
+
|`fuse reduce`| A named set of files, or stdin content (to stdout) | C# reduction by `--level`| None |`--files`, `--stdin`, `--ext`, `--level`, `--max-tokens`|
26
27
27
28
## fuse
28
29
@@ -124,6 +125,23 @@ The server keeps the on-disk analysis index warm across calls, so a multi-call t
124
125
125
126
For client setup and the exposed tools, see the [Agent Integration overview](/docs/start/connect-your-ai).
126
127
128
+
## fuse reduce
129
+
130
+
This command compacts a specific set of files, or content piped on stdin, and writes the
131
+
reduced result to stdout. Unlike the fusion commands it does not walk a directory: it
132
+
reduces exactly what you name, which is useful for shrinking a known file set or piping
133
+
content through Fuse as a filter. The agent-facing equivalent is the `fuse_reduce` MCP tool.
Use `--files` for a list of paths (absolute or relative to `--directory`), or `--stdin` to
141
+
read content from standard input with `--ext` selecting the reducer. The two are mutually
142
+
exclusive. `--level` sets the C# reduction level and `--max-tokens` caps the output. The
143
+
result goes to stdout so the command composes in a pipeline.
144
+
127
145
## What This Does Not Cover
128
146
129
147
This page does not list the flags each command accepts, the configuration keys, or the output format. Those are in the [Options reference](/docs/reference/options), the [Configuration Keys reference](/docs/reference/configuration-keys), and the [Output Specification](/docs/reference/output-specification).
Copy file name to clipboardExpand all lines: site/content/docs/reference/mcp-tools.mdx
+15-2Lines changed: 15 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
---
2
2
title: Tools Reference
3
-
description: Parameters and defaults for the eight MCP tools the Fuse server exposes to AI clients.
3
+
description: Parameters and defaults for the nine MCP tools the Fuse server exposes to AI clients.
4
4
---
5
5
6
-
The Fuse MCP server exposes eight tools an AI client can call to request scoped, reduced codebase context. MCP (Model Context Protocol) is the open protocol that lets an AI client call external tools. This page documents each tool and its parameters so that an agent or its author can choose the right call and supply correct arguments.
6
+
The Fuse MCP server exposes nine tools an AI client can call to request scoped, reduced codebase context. MCP (Model Context Protocol) is the open protocol that lets an AI client call external tools. This page documents each tool and its parameters so that an agent or its author can choose the right call and supply correct arguments.
7
7
8
8
This page is for engineers writing agent instructions and for experts who need the exact default of each parameter.
9
9
@@ -179,6 +179,19 @@ Generic fusion for any template (Python, Go, Rust, and others).
179
179
|`trackTopTokenFiles`| bool | false | Append the top token-consuming files to the stats comment |
180
180
|`gitStats`| bool | false | Include git churn stats in the manifest |
181
181
182
+
## fuse_reduce
183
+
184
+
Compacts a caller-supplied set of files, or raw content, by running Fuse's reduction without collecting a whole directory. Use it to shrink context you have already identified, when `fuse_search` or `fuse_focus` would pull in more than you want. Pass `files` (paths) or `content` (with `extension`); the latter writes a temporary file so the reducer is selected by extension.
185
+
186
+
| Parameter | Type | Default | Meaning |
187
+
|-----------|------|---------|---------|
188
+
|`path`| string |`.`| Base directory for resolving relative `files` paths; ignored in content mode |
189
+
|`files`| string[]| null | File paths to reduce, absolute or relative to `path`|
190
+
|`content`| string | null | Raw content to reduce instead of files |
191
+
|`extension`| string |`.cs`| Extension that selects the reducer for `content`|
|`maxTokens`| int | 0 | Token ceiling for the output; 0 means unlimited |
194
+
182
195
## What This Does Not Cover
183
196
184
197
This page documents tool parameters and defaults. It does not cover the resource URIs, the call sequence, or the output structure. See [Resources Reference](/docs/reference/mcp-resources) for URI reads, [Recommended Workflows](/docs/scenarios/context-for-an-agent) for the call order, and [Output Specification](/docs/reference/output-specification) for the response format. The CLI flag equivalent of each parameter is in [Options Reference](/docs/reference/options).
Copy file name to clipboardExpand all lines: site/content/docs/reference/options.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Options
3
3
description: The canonical reference for every Fuse command-line flag, grouped by function, with types and defaults.
4
4
---
5
5
6
-
Fuse is configured through command-line flags. This page is the canonical list: every flag, its type, its default, and what it does. The shared flags apply to `fuse`, `fuse dotnet`, and `fuse wiki`; the .NET-specific flags apply only to `fuse dotnet`. The commands `fuse init`, `fuse mcp install`, and `fuse mcp serve`take no flags from this set.
6
+
Fuse is configured through command-line flags. This page is the canonical list: every flag, its type, its default, and what it does. The shared flags apply to `fuse`, `fuse dotnet`, and `fuse wiki`; the .NET-specific flags apply only to `fuse dotnet`. The commands `fuse init`, `fuse mcp install`, `fuse mcp serve`, and `fuse reduce`take no flags from this set (`fuse reduce` has its own `--files`/`--stdin` options, documented in [Commands](/docs/reference/commands)).
7
7
8
8
This page is for engineers and maintainers who need exact flag behavior and defaults. For task-oriented usage, follow the guide links at the end of each relevant section.
0 commit comments