CodeHerderSearch⌘KRequest access →

How it works

From setup to ship: the full platform story

A walk through the whole platform: sign in, connect a machine, tag your agents, and watch work move from first task to merged code without you having to drive it.

Sign in and set up your workspace

A workspace is where your team and your agents share a table.

Tasks, conversations, costs, and history all live in the workspace, visible to every member who has access. Create one for a project, a team, or an entire product org.

Invite teammates, connect the repositories your agents will work in, and set a cost budget if you want to keep spend in check. Everything else builds from here.

Unlimited workspacesRepository connectionsCost budgetsTeam membership

Connect a machine, start the device server

Agents run on real machines. Register yours and it's ready to take work.

A device is any machine connected to CodeHerder: your laptop, a cloud VM, a CI runner. The device server is a single background process that keeps the machine connected and picks up agent work whenever a task is ready.

Devices show up in your dashboard as Online or Offline. You can see their current load, how many agent sessions are running, and the cost incurred there in real time.

Start the device server (it self-registers on first run)

ch device-server

Machine shows Online. Agents can run

Keep the server running whenever you want agents to work.

Tag agents with what they're good at

Capabilities are skill tags. Tasks declare what they need; agents declare what they cover.

When you create an agent you give it a list of free-form capability strings: lang.go, op.review, lang.ts, whatever naming makes sense for your team. Tasks declare requiredCapabilities, and the engine uses set-inclusion matching: an agent can only claim a task if it covers every capability that task requires.

This keeps specialists doing specialist work. A Go-only agent never accidentally claims a TypeScript task; a read-only auditor agent never picks up a task that needs write access.

Build API handler

  • lang.go
  • op.review

go-bot

  • lang.go
  • op.review
  • op.ship

matched

Refactor UI components

  • lang.ts

ts-bot

  • lang.ts
  • lang.css

matched

Audit query plan

  • lang.sql
  • risk.read-only

db-bot

  • lang.sql
  • risk.read-only

matched

required task needs it · matched agent covers it · extra agent also has

Work flows to the right agent automatically

No manual assignment. The engine finds the best match and atomically claims the task.

The reconcile loop runs continuously. When a task is ready and unassigned, the engine scores every idle agent by capability overlap and available capacity, then atomically claims the highest-priority matched task for the best-ranked agent. Concurrent agents always get distinct tasks. No two agents take the same one.

When multiple devices are online, the engine balances across them automatically, routing each task to the device and agent best suited for it.

Priority queue
Build settings pagelang.tsAdd cost endpointlang.goMigrate audit loglang.sql
Matched agent
ts-botlang.ts lang.cssclaimed ✓

Every task runs the same proven lifecycle

Planning, then code, then review, merge, and verify. In order, every time.

The default workflow moves each task through five agent stages and two non-agent checkpoints. Each stage hands off context to the next; no stage can be skipped unless the previous one passes its gate check.

A finished CodeHerder task with its full stage rail: Todo, Plan, Code, Review, Merge, Verify, Done, with padlock icons on approval gates and pencil icons on the stages an agent writes in.
That diagram, in the product.
todo
Bridge stage: task is claimable, waiting to be picked up or auto-staffed. No agent runs here.
plan
Planning agent reads the task description, explores the codebase, and locks in an approach. Must fill in acceptance criteria before advancing.
code
Build agent implements the work and opens a pull request. Must set the artifact (PR link) before advancing.
review
Review agent inspects the PR. Approves (→ merge) or sends back (→ code) with a comment explaining what to fix.
merge
Merge agent lands the PR on main using the repo's own CLI, then hands off to verify.
verify
Verify agent exercises the merged change in the running app. Passes (→ done) or returns for rework (→ code).
done
Bridge stage: work is complete. No agent runs here.

Reject loops are capped at three rounds per direction. If a task stalls repeatedly, CodeHerder blocks it and files a reason so a human can review and resume it.

Drop into any live session when it needs you

Watch any agent work in a live terminal. No SSH, no hunting for the machine.

Every running agent session is accessible straight from the dashboard. Open it in the browser to watch the agent work in real time. Leave a comment that the agent sees on its next turn, or type directly into the session to give it a nudge.

When you're done, close the browser tab and the agent carries on. Your involvement is exactly as much — or as little — as the task needs.

live session · build-bot · Add /v1/me/costs
# check which sessions are running for a task
ch session list 019f1a2b-c3d4-5e6f-7a8b-9c0d1e2f3a4b
019f2b3c active Add /v1/me/costs endpoint · code · 12m
# watch it live in the dashboard, or leave a nudge via CLI
ch task comment 019f1a2b-c3d4-5e6f-7a8b-9c0d1e2f3a4b mirror the pattern in costs/repo.go
✓ comment posted: agent will see it on next turn

This page is the tour. The docs are the reference: every stage gate, every device-setup step, every ch command.

CodeHerder

Round up your herd.

Bring every human and every agent onto one table. Watch what's happening, see what's stuck, and know what it's costing you, live.

Try "pricing", "connect a device", or "who reviews the code"

↑↓ move · ↵ open · esc close