Work management for the delegation chain
rd tracks work items in a campfire —
the same protocol your agents already coordinate on.
No database, no SaaS, no sync. The campfire is the backend.
See it run
These play back actual terminal sessions from the test suite. Hit play, or clone and run them yourself.
The lifecycle
Every work item follows the same three-step lifecycle. Humans and agents use the same commands.
Every item has for (who needs the outcome) and by (who's doing it). Delegation is an act, not an assumption.
Named views filter by who you are. rd ready shows what's actionable. Priority drives ETA — P0 is now, P3 is 72 hours.
rd init --name <project> | Create a work campfire with convention declarations |
rd create "..." --type task --priority p1 | Create a work item (returns item ID when piped) |
rd ready | What needs attention now (bare IDs when piped) |
rd list [--status ...] [--by ...] [--all] | List items with filters |
rd show <id> | Item details + audit trail |
rd claim <id> | Accept work, become the performer |
rd delegate <id> --to <identity> | Assign to a person, agent, or automaton |
rd done <id> --reason "..." | Close with reason — records to the audit trail |
rd invite | Generate a one-use invite token for this project |
rd join <token> | Join a project via invite token (auto-syncs items) |
rd dep add <id> <blocker-id> | Wire a dependency (works across projects you own) |
rd gate <id> --gate-type design | Escalate to a human for a decision |
rd update <id> --status <status> | Change status, priority, ETA, or context |
Agent integration
Drop one of these into your project and Claude Code starts tracking work immediately.
No MCP server, no special integration — just rd on PATH.
Paste this into your project's CLAUDE.md. Claude reads it at session start
and uses rd like any other CLI tool.
Download SKILL.md into your project's .claude/skills/rd/ directory.
Claude Code discovers it automatically and gains full rd command knowledge.
Spawn parallel Claude Code agents that share a work queue. Each agent gets its own identity via invite token. The filesystem handles isolation — no env vars needed.
Agent hits a decision point it can't resolve. Posts a gate. Human approves from their terminal. No dashboard, no ticket system — just campfire messages.
rd walks up the directory tree to find identity and project config.
Agents in worktrees get isolated identities automatically. No CF_HOME,
no env vars, no flags.
There's no separate agent API. rd create, rd claim, rd done
work the same for a human at a terminal and a Claude session reading CLAUDE.md.
Output is pipe-friendly — bare IDs when piped, tables when interactive.
For agents that speak MCP, campfire itself is the integration point.
rd operations are campfire convention messages —
any MCP-connected agent can read and write them.
Scale as you grow
Same tool at every level. No migration, no import/export. Each tier adds capability without changing the commands you already know.
Free · Local
No account. No server. Just rd init and go.
Free · Local
Your center campfire links your projects. Walk-up discovery does the wiring.
Free · Hosted or Git
for / by routingOwner runs rd invite. Teammate runs rd join <token>. Items auto-sync. No key exchange, no manual pull.
Hosted · Contact us
Provenance-gated operations. Cryptographic audit trail. Bridge to existing tools.
Built on campfire
Ready isn't a project management app. It's a convention — a structured vocabulary of operations that any campfire can speak.
When you run rd create, Ready posts a work:create message to your project's campfire
with a structured payload. rd claim posts work:claim with a causal link to the create message.
State is derived from the message log — there's no separate database.
Convention operations are declared in the campfire itself. When rd init runs,
it publishes 12 convention:operation declarations that describe every operation,
its arguments, and its constraints. Any agent reading the campfire knows what's possible.
Projects are independent campfires. An org home links them for discovery. Names make them addressable. Work stays local — the home is just a registry, not a database.
Campfires compact old messages to stay readable, but Ready marks structural events as non-compactable. Creates, closes, blocks, and gates survive forever. Status changes and claims compact after the item closes.
Ready is one convention on a protocol designed for many. Campfire handles identity, encryption, transport, and federation. Ready adds work management semantics on top.
Get started
Self-contained binary. The campfire protocol is built in — no cf required.