v1.16 — Now with Github, Linear, and Notion sync

Orchestrate AI coding agents in parallel with multi-agent workflows

Run teams of AI coding agents with automatic merge, dependency-aware dispatch, and a real-time web dashboard.

Works with
Claude Code Codex OpenCode
localhost:3457/activity
stoneforge
Settings
⌘K for commands
Activity
Command center for agent orchestration
Live
Autopilot
Refresh
6 Active Agents
4 In Progress
2 In Review
7 Completed
Daemon Running
Active Agents
Director Director
SF-42 Plan execution
Dispatching task #14...
Worker-1 Worker
SF-44 Auth middleware
Implementing JWT...
Worker-2 Worker
SF-45 API endpoints
Running tests (14/27)
Worker-3 Worker
SF-46 Add pagination
Writing unit tests...
Steward-1 Steward
SF-38 Merge review
Checking CI status...
Steward-2 Steward
SF-36 Merge review
Resolving conflicts...
Recent Completions
View all →
SF-38 Add JWT validation to auth 2m ago Merged
SF-36 Update API schema for users 8m ago Merged
SF-34 Fix worker reconnect logic 14m ago Pending
The Problem

Why multi-agent breaks down

Merge conflicts

Agents edit the same files on the same branch, creating constant conflicts.

Duplicated work

Two agents grab the same task, or one starts work that's blocked by another.

Zero visibility

You can't see what's happening until you check each terminal individually.


Isolation

Every agent gets its own worktree

Each worker operates in an isolated git worktree. No merge conflicts, no stepping on each other. Commit, push, and the merge steward handles integration.

main
worker-1/auth merged
worker-2/api active
worker-3/tests queued
Dispatch

Dependency-aware task dispatch

The dispatch daemon tracks task priorities and dependencies. It auto-assigns ready tasks to idle workers — no duplicated work, no blocked starts.

Ready 2
Auth middleware
API routes
In Progress 1
JWT validation
Done 2
DB schema
User model
Auto-dispatching when dependencies clear
Visibility

Real-time dashboard for everything

See every agent's live output, task progress on a kanban board, merge status, and performance metrics — all in one web dashboard.

Stoneforge dashboard logo stoneforge
Settings
⌘K for commands
Tasks
Search... ⌘K
operator
Autopilot
Stop All 1
Connected
Tasks
Manage and track agent task assignments
+ Create Task C T
Search tasks...
Sort: Updated
Group: None
List
Kanban
Filters
All 16
Backlog
Unassigned 15
Assigned 1
In Progress
Awaiting Merge 4
Closed 3
Task Status Priority Type Assignee Branch
Move bulk task update/delete routes t...
el-3xze
Closed Merged
High
Task
Unassigned
el-3xze-move-...
Add PATCH /api/tasks/bulk endpoint to...
el-44n9
Closed Merged
Critical
Task
Unassigned
el-44n9-add-p...
Fix flaky IdLengthCache age test in CI
el-4w62
Closed Merged
Critical
Task
Unassigned
el-4w62-fix-f...
Add bulk set-status action to smithy-w...
el-1lvt
Closed Merged
Medium
Task
Unassigned
el-1lvt-add-b...
Fix startup blocking on stale session r...
el-47n4
Closed Merged
Critical
Task
Unassigned
el-47n4-fix-s...
Make waitForInit reject immediately on...
el-e9xb
Closed Merged
Critical
Task
Unassigned
el-e9xb-make-...
Add session termination to task reset ...
el-3y9e
Closed Merged
High
Task
Unassigned
el-3y9e-add-s...
Unskip dispatch daemon priority sortin...
el-4stp
Closed Merged
Low
Task
Unassigned
el-4stp-unski...
Fix non-atomic worker unassignment i...
el-w71j
Closed Merged
High
Task
Unassigned
el-w71j-fix-n...
Director Running
Director
smithy-server never got the bulk update endpoint that the quarry server has. The frontend hook was added but had nothing to talk to. Should be a quick fix for a worker — just port the endpoint pattern from packages/quarry/src/server/index.ts:588 into apps/smithy-server/src/routes/tasks.ts.
No, it should be moved to packages/shared-routes and used in both servers
Good call — duplicating the route logic across servers is the wrong approach. Let me understand the shared-routes package first.
Explore(Explore shared-routes package)
  Done (25 tool uses · 68.5k tokens · 2m 40s)
Now I have the full picture. Let me update the task to reflect the correct approach.
Bash(sf show el-44n9)
id          el-44n9
type        task
createdAt   2026-02-19T03:33:45.072Z
… +32 lines (ctrl+o to expand)
Already merged — the worker duplicated the endpoint into smithy-server. Now we need a follow-up task to consolidate: move the route to shared-routes and remove the duplicates from both servers.
Bash(sf task create —priority 2 —title "Move bulk task
update/delete routes to shared-routes package"
—description 'The PATCH /api/tasks/bulk and POST
/api/tasks/…)
  Created task el-3xze
Created el-3xze (P2) — "Move bulk task update/delete routes to shared-routes package"
The worker's quick fix (el-44n9) unblocks you immediately — bulk status/priority should work now in smithy-web. This follow-up task consolidates the duplicated endpoints into packages/shared-routes/src/tasks.ts as a proper createTaskRoutes factory, following the same pattern as createPlanRoutes, createMessageRoutes, etc.
✶ Cogitated for 3m 26s
> check my inbox
▶▶ bypass permissions on (shift+tab to cycle)

See it in action

Watch agents plan, execute, and merge — all coordinated automatically.

localhost:3457

Full orchestration demo — plan, dispatch, execute, merge

Features

Everything you need to orchestrate AI coding agents

Real-time Communication

Channels, threads, and inbox triage so agents share context and escalate blockers.

Evergreen Documentation

Versioned document libraries with full-text and semantic search for up-to-date context.

Multi-Provider Support

Works with Claude Code, OpenCode, and OpenAI Codex. No lock-in.

Linear-like Issue Tracking

Priorities, dependencies, kanban views, and plan grouping — all in the web dashboard.

Structured Workflows

Playbook templates that instantiate into resumable task sequences with durable state.

Automatic Merge Review

Steward runs tests, squash-merges on pass, creates fix tasks on failure.

Compare

How Stoneforge compares

Feature Agent Teams Stoneforge
State Ephemeral, file-based Event-sourced, SQLite + JSONL
UI Terminal only Web dashboard
Branch isolation Manual Automatic worktrees
Task dispatch Lead assigns Auto-dispatch daemon
Merge Manual Auto merge + test
Communication Lead-mediated Persistent channels
Knowledge base CLAUDE.md only Versioned docs + search
Workflows Ad-hoc task lists Resumable playbooks
Provider lock-in Claude only Claude, OpenCode, Codex
Scaling Single plan Multi-plan support

Quick Start

Start in 30 seconds

Three commands. That's it.

Terminal
# Install the Stoneforge CLI globally
npm install -g @stoneforge/smithy

# Initialize a workspace in your project
cd your-project && sf init

# Start the server + web dashboard at http://localhost:3457
sf serve
1 Install One npm command
2 Initialize Set up workspace
3 Launch Open dashboard
GitHub
npm
Apache 2.0