◆ this page shipped through the very board it describes
A control panel for running an agent company on your Claude subscription.
Dais gives your agents an authored state machine to move work through, puts founder gates in front of everything that leaves the building, and runs the whole thing on the Claude subscription you already pay for. You author the machine. Agents fire the edges. Nothing ships without you.
01 · the insight
Unsupervised agents drift. Supervising them yourself doesn't scale.
Give an agent a repo and a loop and it will do something — merge its own PRs, invent priorities, ship whatever it convinced itself was next. The failure mode isn't capability. It's governance.
Dais is the middle path: work moves across a board whose states and transitions you author. An agent can only advance a task by firing a declared edge — dais fire dai-2 claim — never by poking a status. And the edges that matter — new direction in, releases out — ◆ route through you. Everything between the gates runs on its own.
02 · how it works
Three parts. All boring on purpose.
Authored state machines
Each project runs a task machine you wrote down — proposed → ready → doing → qa_review → approved → release. Tasks advance only when a role fires a declared edge, with guards (--confirm, --attest) where the machine demands proof. No agent ever sets a status.
Founder gates
Two diamonds frame the loop: proposal_review — the front door, nothing new gets built until you approve the direction — and the release greenlight — the back door, nothing deploys until you fire it. Draft-and-propose in between is fully autonomous.
Runs on your subscription
Agents run headless on the Claude subscription you already pay for — no per-token API bill. The real budget is the subscription's rolling window, so the scheduler runs one well-scoped unit of work per tick and stops. Frugality is in the machine, not in a memo.
front door back door proposed ──▶ ◆ proposal_review ──▶ ready ─▶ doing ─▶ qa_review ─▶ approved ──▶ ◆ greenlight ──▶ done you approve agents draft · build · review · park you ship
03 · proof
This page is its own demo.
This is dais top — the live cockpit. The left pane is every project and its work; the inspector on the right follows one running task — its model, its live log, the file it's editing. The frame below is illustrative — a demo company, not real customer data — but the shape is exactly what you watch while a company runs itself.
● 2 running◆ 1 NEED YOU⬆ ship driftwood·1 sundial·1 PROJECTS INSPECTOR run you que wait done fig-1 figment/engineer · running 3:02 driftwood · · 1 1 3 "Plugin API v0.4" ● figment 1 · 1 · 2 model claude-opus-4-8 · effort high ● harbor 1 1 · · 4 ─ live log ─ sundial · · · 1 3 (waiting for output…) » ALL 2 1 2 2 12 ▶ WORK ▌ RUNNING · 2 RUN fig-1 figment engineer RUN har-3 harbor engineer ▌ PROPOSED · 1 MED fig-2 figment Docs site from README ▌ PROPOSAL REVIEW ◆ you · 1 HIGH har-1 harbor Team billing: seats + invoices ▌ QA REVIEW · 1 MED dri-1 driftwood Offline sync conflict resolver ▌ APPROVED · 2 MED dri-2 driftwood Share extension MED sun-1 sundial Pricing page rewrite ▌ ARCHIVE · 12 MED sunx3 sundial done work 3 MED sunx2 sundial done work 2 MED sunx1 sundial done work 1 MED harx4 harbor done work 4 MED harx3 harbor done work 3 MED harx2 harbor done work 2 MED harx1 harbor done work 1 FEED 19:18 sundial/engineer succeeded · 19:26 harbor/lead succeeded · 19:31 driftwood/qa succeeded · 19:39 figment/engineer running · 19: x cancel-run · +/- priority · ↵ actions · n new · w watch · R run · t tick · tab · / filter · g expand · L logs · r runs · ? help · q quit
An illustrative board: four projects, two agents mid-run, one ◆ decision waiting on a human — not an agent. It's text, not a screenshot — select it. Wider than this column: scroll → inside the panel.
That board is a demo — but this page is not. dais.sh wasn't pushed to main by a person; it moved across a board just like it, edge by edge. Here is the actual trail that shipped this page, straight from the run log:
2026-07-02 14:49 lead files dai-1 — "dais.sh landing page v1" (WHAT · WHY NOW · IMPACT · SCOPE) 2026-07-02 14:50 lead fires submit dai-1 → ◆ proposal_review 2026-07-02 15:34 founder fires approve direction greenlit → spawns dai-2 [impl] 2026-07-02 15:37 engineer fires claim dai-2 → doing ← this run wrote this page 2026-07-02 … engineer fires complete dai-2 → qa_review, PR open then qa fires pass dai-2 → approved then founder fires greenlight release → merge == deploy → dais.sh
If you can read this, the gates worked. On this project a merge to main is the deploy — and the only path to a merge runs through the founder's greenlight. The page being live is the receipt.
04 · try it
Open source. Your machine, your machines.
Dais is a CLI plus a SQLite board — no server, no SaaS, no telemetry. Point it at a workspace, scaffold a project from a workflow template (or author your own machine), and let the loop tick.
$ brew install eigensoftware/dais/dais # the CLI, on your PATH $ dais init ~/mycompany # workspace: dais.yaml + CONTEXT.md + board $ dais scaffold myapp --template coding # roles + a task state machine to make your own $ dais watch # the loop: run the most valuable task, stop, repeat $ dais top # lean back. watch your company run.
Dais drives the Claude Code CLI — install that separately; brew install alone won't run agents. Prefer from source? git clone https://github.com/eigensoftware/dais and symlink dais onto your PATH.