Prerequisites: Node.js 18+ installed. If you haven’t installed Stoneforge yet, see Installation.
Overview
In this quick start, you’ll:- Initialize a Stoneforge workspace
- Start the server and web dashboard
- Register and start a Director agent
- Register Worker and Steward agents
- Give the Director a goal and watch agents execute tasks
This tutorial takes ~5 minutes and demonstrates the full orchestration loop.
Step 1: Install and Initialize
Install the CLI globally and initialize a workspace in your project:What sf init creates
What sf init creates
.stoneforge/directory with config, database, and sync filesAGENTS.mdcontext file for agents (if not already present)- Default operator entity (
el-0000) in the database - Git ignore patterns for database files
Step 2: Start the Server
Launch the Stoneforge server and web dashboard:3457 and automatically opens the dashboard at:

Step 3: Register a Director
The Director is your strategic planner. Register one via CLI or the dashboard:- CLI
- Dashboard
The Director’s agent ID (e.g.,
el-abc123) is displayed in the output. You’ll need this to start the agent.Step 4: Start the Director
Start the Director agent session:- CLI
- Dashboard
<director-id> with the ID from the registration step.The Director runs as a persistent session. It stays active and responds to messages until explicitly stopped.
Step 5: Register Workers
Workers execute tasks in parallel. Register multiple workers:Ephemeral vs. Persistent Workers
Ephemeral vs. Persistent Workers
- Ephemeral workers are auto-spawned by the dispatch daemon when tasks are ready. They execute one task and shut down.
- Persistent workers are manually started by you for interactive work. They run sessions like the Director.
Step 6: Register a Merge Steward
Stewards handle maintenance workflows. A merge steward reviews and merges completed work:The
--focus merge flag tells the steward to handle merge review. Other focuses include docs (documentation) and recovery (stuck task cleanup).Step 7: Start the Dispatch Daemon
The dispatch daemon watches for ready tasks and assigns them to idle workers:Step 8: Give the Director a Goal
Now communicate your goal to the Director. Use the Director Panel in the dashboard:
Step 9: Watch Agents Work
As the Director creates tasks, the dispatch daemon assigns them to workers:- Activity Page
- Tasks Page
- CLI
Go to Overview > Activity to see:
- Live agent terminal output
- Active sessions
- Recent task completions
The Orchestration Loop in Action
Step 10: View Results
Once workers complete tasks and stewards merge them:- Merge Requests
- Git History
- CLI
Go to Work > Merge Requests to see:
- Completed work ready for review
- Test results
- Merge status (passed/failed)
Understanding What Happened
Planning
The Director received your goal and created a plan with multiple tasks, setting priorities and dependencies.
Dispatch
The dispatch daemon detected ready tasks (unblocked, unassigned) and assigned them to idle ephemeral workers.
Execution
Each worker:
- Spawned in an isolated git worktree
- Executed the assigned task
- Committed and pushed changes
- Marked the task as complete
Merge Review
The merge steward:
- Ran the test command
- Squash-merged on passing tests
- Created fix tasks on failures
What’s Next?
Explore Examples
See real-world orchestration patterns
Customize Prompts
Tailor agent behavior for your workflow
Agent Roles Explained
Deep dive into Director, Worker, and Steward roles
CLI Reference
Full CLI command documentation
Common Operations
Stop agents
Stop agents
Stop the Director:Stop all active agents:
Stop the daemon
Stop the daemon
View logs
View logs
Agent logs are in
.stoneforge/logs/:Check agent status
Check agent status
Troubleshooting
Workers not starting
Workers not starting
Check that:
- The dispatch daemon is running:
sf daemon status - Workers are registered:
sf agent list --role worker - Tasks are ready:
sf task list --ready
Director not responding
Director not responding
Verify the Director is running:Restart if needed:
Merge failures
Merge failures
Check the merge steward status:View failed tasks:Manually review and fix merge conflicts, then re-run tests.