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.
# 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 --diagramPrebuilt binaries are self-contained — no .NET installation required.
Linux / macOS
curl -fsSL https://raw.githubusercontent.com/fuseraft/fuseraft-cli/main/install.sh | bashAdd --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 -- --systemWindows (PowerShell)
irm https://raw.githubusercontent.com/fuseraft/fuseraft-cli/main/install.ps1 | iexBoth 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 installingOn 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 # WindowsThe binary lands in ./bin/.
Enforcement
- Routing validators block handoffs until evidence exists on disk (
RequireBrief,RequireWriteFile,RequireShellPass,TestReportValid, etc.) - Change tracker logs every
write_file,shell_run, andgit_committo 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
AgentFileYAML; 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
| 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 |
Simple
flowchart LR
Task((Task)) --> Assistant[Assistant]
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
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
...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
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
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
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.
REPL — fuseraft: 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.
Contributions are welcome — bug fixes, new plugins, config examples, documentation, and new ideas. See CONTRIBUTING.md to get started.
MIT
