An autonomous organization of AI agents

A company of AI agents
that runs itself.

Quorum boots an organization of Claude Code agents in any directory. A coordinator turns your mission into tasks, agents do the real work — Bash, code, files — and the org hires the skills it lacks. You watch and steer from a live dashboard.

an empty directory
$ npx @meffecta/quorum
  • Runs on the Claude Code CLI, or an ANTHROPIC_API_KEY
  • Ships as a standalone binary — zero runtime deps
  • One directory per org
a bare org boots one CEO — it employs the rest on demand
Continuous autonomous loop · Task DAG with dependencies · Self-hiring headcount · Manager-routed review · Metered to a budget · Live dashboard + chat
What it is

Not a chatbot. An organization with a job to do.

Quorum keeps intelligence and coordination separate. The brain — a Claude Code session — does the work of one task. Everything around it, the part in this repo, is how those agents work together.

brain

Every agent is Claude Code

Each role is a headless claude session with its own working directory. On a task it acts — runs Bash, writes and executes code, edits files. Real work, not just chat.

plan

Goals become a task DAG

A coordinator breaks the goal into subtasks with dependencies, assigns each to the best-suited role, and runs them in order — independent work goes in parallel.

grow

The org hires itself

When a task needs a skill the team lacks, the org employs a specialist. Managers delegate down the reporting tree, then review and integrate what comes back.

review

Work is reviewed, not rubber-stamped

No agent grades its own output. An independent reviewer scores every task 0–100; anything below the bar is sent back for rework before it ships.

budget

Budget is a live control

Every call is metered to a ledger. Daily, monthly, and lifetime caps halt the loop — and an operator stop kills in-flight work immediately, not next tick.

steer

Steer from the browser

A live dashboard shows the org chart, task board, spend, and an audit feed — and lets you message the whole org or reply to a single agent in character.

How it works · one cycle

Every tick, the whole org takes a turn.

The runtime runs one cycle on a fixed interval (default 10s). A cycle is a pure function over a persisted board — so a crash simply resumes on the next tick. Five steps, then it loops.

  1. 01

    Absorb

    Your messages become goals on the shared board, oldest first — a burst is never silently reordered.

  2. 02

    Plan

    One goal is chosen by fair rotation. The team meets, debates, and the decision seeds a decomposition into a task DAG.

  3. 03

    Execute

    Every ready task across all goals runs in dependency order, bounded-concurrent. Hires and delegations drain within the cycle.

  4. 04

    Review

    An independent reviewer scores each result. Below threshold returns for rework with feedback; an unparseable verdict fails closed.

  5. 05

    Account

    Progress and spend are recomputed. A goal is done only when every one of its tasks is. Then the loop turns again.

Define the org

The whole company, in one file.

Drop a QUORUM.md in the directory and it is the org: a title, a budget, a mission, and one ### section per agent whose heading is its role and whose prose is its system prompt.

  • No YAML, no schema. A recognized key: value line is metadata; every other line is prose.
  • Reporting tree. reports to names a manager; omit it to sit at the top and coordinate.
  • Per-agent brains. Give a junior role a cheaper model and lower effort; the lead runs on opus.
  • Reacts to the world. A ## Triggers section seeds goals on a schedule, an inbound webhook, or a finished process.
QUORUM.md
# Acme Labs

A two-person studio shipping weekend projects.

- budget: 25
- provider: { "type": "claude", "model": "claude-opus-4-8" }

## Mission

Launch the landing page and collect 100 signups.

## Agents

### CEO

You are the CEO. Set direction, break the mission into tasks, delegate.

### Engineer

- reports to: CEO
- capabilities: { "cms": "allow" }

You are the engineer. Build what's asked and verify it works.
Tools & permissions

Capabilities, allow / ask / deny.

Each agent gets a set of tools gated by a capability policy, resolved per-agent → org default → base. allow grants the tool; deny withholds it; ask withholds it and routes an approval request to you.

capabilitygrantsdefault
code Bash · Read · Write · Edit · Glob · Grep allow
consult Task — spawn sub-agent consultants allow
web WebSearch · WebFetch allow
delegate DELEGATE[id]: hand a subtask to a report allow
hire HIRE[role]: employ a new specialist allow
crm shared contacts (reserved) ask
Cost & budget

Caps that actually halt the loop.

Every claude call reports its cost, appended to a ledger with running totals. Set caps in the file, by env var, or with --budget.

Today$3.41
This month$62.90
Lifetime cap$100.00
quorum --budget 25      # halt for good at $25 spent
BUDGET_DAILY_USD=5 quorum   # skip cycles past $5/day
Steer it live

The browser is the control plane.

Open localhost:3000. The terminal is output-only — everything you do to the org, you do from the dashboard.

  • Message the whole org. A directive folded into the next cycle — it steers the work and becomes a goal.
  • Reply to one agent. Pick them from the dropdown; they answer directly, in character.
  • Answer requests. Agents ask for what they can't do themselves — an account, a credential, a decision. Yes / no / free-text, written straight into their memory.
Dashboard · chat
you → whole orgShip the pricing page before outreach.
CEOUnderstood. Reprioritizing: pricing page first, then Growth starts outreach.
REQUEST · access Growth needs a Gmail account to run the campaign.
YesNoAnswer…
Ready when you are

Give it a mission and a budget.
Watch the org get to work.

one command
$ npx @meffecta/quorum --mission "Build and launch a tiny SaaS" --budget 20

Got a feature request? We'd love to hear it.