Skip to content

Quick Start

This guide walks you through a complete multi-agent workflow — from installing Stoneforge to watching agents execute tasks in parallel.

From zero to orchestrating

  1. Install the Stoneforge CLI

    Terminal window
    npm install -g @stoneforge/smithy
  2. Initialize a workspace in your project

    Terminal window
    cd your-project
    sf init
  3. Start the server and web dashboard

    Terminal window
    sf serve

    The dashboard opens at http://localhost:3457.

  4. Register a Director

    Terminal window
    sf agent register director --role director
  5. Start the Director

    Terminal window
    sf agent start <id>

    Use the ID printed by the previous command. You can also start the Director from the Director Panel in the dashboard’s right sidebar.

  6. Register workers

    Terminal window
    sf agent register e-worker-1 --role worker
    sf agent register e-worker-2 --role worker
  7. Register a Merge Steward

    Terminal window
    sf agent register m-steward-1 --role steward --focus merge
  8. Give the Director your goal

    Open the Director Panel in the dashboard sidebar and describe what you want to build. The Director will break it into tasks with priorities and dependencies.

  9. Watch it work

    • Activity page — live agent output from all running agents
    • Tasks page — task statuses, assignments, and progress
    • Merge Requests page — completed work waiting for or passing merge review

What just happened?

Behind the scenes, Stoneforge executed a coordinated workflow:

  1. The Director decomposed your goal into tasks with priorities and dependencies
  2. The dispatch daemon detected ready (unblocked, unassigned) tasks and assigned them to idle workers
  3. Each worker spawned in an isolated git worktree (agent/{worker-name}/{task-id}-{slug})
  4. Workers executed their tasks, committed, and pushed their branches
  5. Completed tasks created merge requests for the merge steward
  6. The merge steward ran tests, squash-merged passing branches, and created fix tasks for failures
  7. The loop repeated until all tasks were closed

Tips

Next steps