Getting Started¶
Prerequisites¶
- .NET 9 SDK
- An API key for at least one supported LLM provider (see Models & Providers)
- Docker Desktop (only required for the
CodeExecutionplugin) - Git (only required for the
Gitplugin)
Build¶
The default target compiles, tests, and publishes a self-contained single-file binary to bin/fuseraft (Linux/macOS) or bin\fuseraft.exe (Windows).
Other targets:
./build.sh --target=Build # compile only
./build.sh --target=Test # compile + run tests
./build.sh --target=Pack --runtime=linux-x64 # single-file archive
./build.sh --target=Lint # format check
./build.sh --configuration=Debug --target=Build # debug build
Set your API key¶
The default config uses xAI's Grok models. Export the key before running:
For other providers see Models & Providers.
Run your first session¶
Option A — generate a config with init¶
The fastest way to get started is fuseraft init. It walks you through a short wizard and writes a ready-to-run YAML config:
You'll be prompted to pick a team template, confirm a model (auto-detected from your API keys), and choose an output path. Then:
For non-interactive or CI use:
./bin/fuseraft init --template minimal --no-interactive
./bin/fuseraft run -c config/orchestration.yaml "Your task here"
Option B — copy an example config¶
cp config/examples/orchestration.yaml config/orchestration.yaml
./bin/fuseraft run -c config/orchestration.yaml "Add a hello-world endpoint to this project"
If no task is given you are prompted interactively:
The orchestrator loads the config, prints a summary of the team, and streams agent responses as they arrive.
Understand the output¶
Each agent turn is prefixed with its name:
[Planner] Reading the task…
[Developer] Writing the implementation…
[Tester] Running tests…
[Reviewer] APPROVED
Token counts and estimated cost appear after each turn in --verbose mode, and in the transcript written by --output.
Resume an interrupted session¶
Sessions are checkpointed after every turn. If a run is interrupted (Ctrl+C, network error, etc.) resume with:
You are shown a list of incomplete sessions; select one and the run picks up exactly where it left off. See Sessions for more detail.
Validate your config¶
Before running an unfamiliar config:
This checks field types, agent names, strategy references, and plugin names without making any API calls.
Next steps¶
- Edit
config/orchestration.yamlto change agent instructions, models, or plugins - Read Configuration for the complete schema reference
- Read Plugins for every tool agents can call
- Read Examples for ready-to-use team configs