Skip to content

fuseraft/fuseraft-cli

fuseraft

fuseraft — an agent orchestration framework

fuseraft runs teams of AI agents and mechanically enforces that they did what they claim before advancing the pipeline.

Validators inspect tool-call records, file presence, and shell exit codes — not agent assertions. Claims are not evidence; artifacts and command results are.

Define pipelines in YAML with agents, routing strategy, and contracts. Works with Anthropic, xAI, OpenAI, Azure, Ollama, and any OpenAI-compatible provider. Built on Microsoft Agent Framework.


Quick start

# Open an interactive REPL session — no config needed
fuseraft

# Interactive wizard — describe your use case and get a config back
fuseraft init

# Or start from a built-in template
fuseraft init --template solo           # single capable agent — the simplest starting point
fuseraft init --template pipeline       # Planner → Developer → Tester → Reviewer (graph)
fuseraft init --template swe            # full SWE pipeline with evidence contracts + Verifier
fuseraft init --template debate         # adversarial deliberation for decisions and design reviews

# Run a session
fuseraft run -c .fuseraft/config/orchestration.yaml "Build a REST API in Go with JWT authentication"

# Anchor all agents to a spec file as the authoritative source of truth
fuseraft run --spec spec.md
fuseraft run -c .fuseraft/config/orchestration.yaml --spec spec.md "Implement the specification"

# Resume the most recent incomplete session
fuseraft run --resume

# Validate a config — add --diagram for a Mermaid flowchart preview
fuseraft validate .fuseraft/config/orchestration.yaml --diagram

Install

Prebuilt binaries are self-contained — no .NET installation required.

Linux / macOS

curl -fsSL https://raw.githubusercontent.com/fuseraft/fuseraft-cli/main/install.sh | bash

Add --system to install to /usr/local/bin instead of ~/.local/bin:

curl -fsSL https://raw.githubusercontent.com/fuseraft/fuseraft-cli/main/install.sh | bash -s -- --system

Windows (PowerShell)

irm https://raw.githubusercontent.com/fuseraft/fuseraft-cli/main/install.ps1 | iex

Both scripts download the latest release from GitHub Releases, place the binary on your PATH, and confirm with a fuseraft --version on completion.

Manual download

Grab the archive for your platform from Releases, extract the binary, and place it on your PATH.

Updates

Once installed, keep fuseraft current with:

fuseraft update          # download and install the latest release
fuseraft update --check  # check without installing

On Windows, fuseraft update launches a separate fuseraft-update.exe process (included in the release archive) that waits for running fuseraft instances to exit before replacing the binary. On Linux and macOS the replacement is atomic and happens in place.

Build from source

Requires the .NET 10 SDK:

./build.sh          # Linux / macOS
.\build.ps1         # Windows

The binary lands in ./bin/.


Features

Enforcement

  • Routing validators block handoffs until evidence exists on disk (RequireBrief, RequireWriteFile, RequireShellPass, TestReportValid, etc.)
  • Change tracker logs every write_file, shell_run, and git_commit to a JSONL audit log
  • Evidence contracts gate transitions with predicates: FileExists, FilesWritten, CommandSucceeded

Orchestration

  • Nine routing modes: sequential, round-robin, keyword, structured, state machine, graph (with parallel fan-out), LLM, Magentic, adversarial generate→critique
  • Saga mode adds compensating rollback on failure
  • Inline agents or reusable AgentFile YAML; mix providers in one pipeline
  • Federate slots via A2A protocol

Knowledge & Tools

  • Cross-session knowledge: ADRs, repository graph, provenance claims, objectives
  • Architecture drift detection, knowledge life cycle GC
  • Built-in plugins, Docker sandboxes, MCP servers, skills

Reliability & Governance

  • Checkpoints after every turn; resume anywhere
  • Token tracking, compaction, per-agent context specs
  • Execution rings, prompt-injection detection, circuit breakers, rate limiting, SLO tracking, sandboxing, HITL
  • Prompt injection scans, blocked calls recorded in audit logs
  • Hash-chain audit logging, per-agent decentralized identifiers

Documentation

Doc Covers
Getting Started Prerequisites, first run
CLI Reference Commands and flags
Configuration YAML/JSON schema
Models & Providers Model configuration and provider auto-detection
Plugins All built-in tools agents can call
Strategies Routing & termination
Validators Anti-hallucination guards
Strategies Selection and termination strategies
Routing Validators Anti-hallucination handoff guards
Harness Engineering Configs that enforce real progress mechanically
MCP Integration Connecting external MCP servers
Security & Sandbox File and network containment
Governance Execution rings, audit log, circuit breaker, SLO tracking
Context Store Importing files and directories into the session context
Sessions Resumption, HITL, cost tracking, compaction
Knowledge Layer ADRs, graph, provenance
Skills Portable skill packages, skill curation, and the cross-session skill index
Examples Ready-to-use config examples
Design Architecture, layer map, MAF usage, and decision log

Pipeline topologies

Simple

flowchart LR
    Task((Task)) --> Assistant[Assistant]
Loading

Keyword routing with validators

flowchart TD
    Task((Task))
    Planner[Planner]
    Developer[Developer]
    Tester[Tester]
    Reviewer[Reviewer]
    Done(["✓ Done"])

    Task --> Planner
    Planner      -->|"HANDOFF TO DEVELOPER · RequireBrief"| Developer
    Developer    -->|"HANDOFF TO TESTER · RequireWriteFile · RequireShellPass"| Tester
    Tester       -->|"HANDOFF TO REVIEWER · TestReportValid"| Reviewer
    Reviewer     -->|"APPROVED"| Done
    Reviewer     -->|"REVISION REQUIRED"| Developer
    Reviewer     -->|"REPLAN REQUIRED"| Planner
    Tester       -->|"BUGS FOUND"| Developer
Loading

Declarative directed-graph pipelines

flowchart TD
    Planner([Planner])
    Developer([Developer])
    Tester([Tester])
    Reviewer([Reviewer])
    Terminal(["Reviewer\n✓ terminal"])

    Planner   -->|"HANDOFF TO DEVELOPER · RequireBrief"| Developer
    Developer -->|"HANDOFF TO TESTER · RequireWriteFile"| Tester
    Tester    -->|"HANDOFF TO REVIEWER · TestReportValid"| Reviewer
    Reviewer  -->|"APPROVED · RequireReviewJudgement"| Terminal
    Reviewer  -->|"REPLAN REQUIRED"| Planner
    Tester    -->|"BUGS FOUND"| Developer
    Reviewer  -->|"REVISION REQUIRED"| Developer
Loading

...to parallel fan-out/fan-in where a coordinator spawns concurrent workers that merge into a single downstream node:

flowchart TD
    Coordinator([Coordinator])
    AnalyzerA(["Analyzer A\nparallel"])
    AnalyzerB(["Analyzer B\nparallel"])
    Synthesizer(["Synthesizer\n✓ terminal"])

    Coordinator -->|"BEGIN PARALLEL ANALYSIS"| AnalyzerA
    Coordinator -->|"BEGIN PARALLEL ANALYSIS"| AnalyzerB
    AnalyzerA   -->|"ANALYSIS COMPLETE"| Synthesizer
    AnalyzerB   -->|"ANALYSIS COMPLETE"| Synthesizer
Loading

Fully autonomous Magentic pipelines

flowchart LR
    Task((Task))
    Manager([Manager])
    Researcher[Researcher]
    Developer[Developer]

    Task       --> Manager
    Manager    -->|"selects"| Researcher
    Manager    -->|"selects"| Developer
    Researcher -.->|"reports"| Manager
    Developer  -.->|"reports"| Manager
Loading

Adversarial pipelines:

flowchart TD
    Task((Task))
    Planner["Planner\ngenerator"]
    PlanReviewer["PlanReviewer\ncritic · isolated context"]
    Developer["Developer\ngenerator"]
    CodeReviewer["CodeReviewer\ncritic · isolated context"]
    Done(["✓ Done"])

    Task         --> Planner
    Planner      -->|artifact| PlanReviewer
    PlanReviewer -->|"APPROVED"| Developer
    PlanReviewer -.->|revise| Planner
    Developer    -->|artifact| CodeReviewer
    CodeReviewer -->|"APPROVED"| Done
    CodeReviewer -.->|revise| Developer
Loading

VS Code Extension

The fuseraft VS Code extension brings the full CLI experience into your editor.

Activity bar panel — four persistent views:

  • Run Task — compose a task, pick a config, set flags (--hitl, --tools, --verbose, --devui), and launch. Each task opens in its own named terminal; multiple tasks can run simultaneously.
  • Sessions — lists sessions scoped to your workspace with status, age, and task preview. Click to resume; preview icon opens a formatted transcript with per-turn token usage and cost.
  • Configs — auto-discovers every fuseraft config in your workspace. Click to open, or hit + to run the Initialize Config wizard.
  • Context — manages reference material agents can access during sessions. Import files or folders; they're stored in .fuseraft/context/ and available to any session in the workspace.

CodeLens on config files — three inline actions appear above the first line of any config:

▶ Run Task   ✓ Validate   ⎇ Diagram

Task files — right-click any .md or .txt file in the explorer or editor to run it directly as a fuseraft task.

REPLfuseraft: Open REPL starts an interactive single-agent chat session without a config file.

YAML / JSON IntelliSense — full JSON Schema for fuseraft configs ships with the extension. Autocomplete, inline docs, and validation for every field.

Status bar — a persistent fuseraft button always visible at the bottom of the editor.


Contributing

Contributions are welcome — bug fixes, new plugins, config examples, documentation, and new ideas. See CONTRIBUTING.md to get started.


License

MIT

About

.NET CLI tool and framework for orchestrating multi-agent AI pipelines with strong mechanical enforcement.

Topics

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.md

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Languages