Your AI dev squad, around one table.
Describe what to build โ then watch a persistent squad of AI agents plan it, implement it in parallel, review it, and ship it. Every file, diff, preview, and decision stays on the table.
English | ็ฎไฝไธญๆ
Most multi-agent tools are a black box: a prompt goes in, a wall of text comes out, and everything in between is invisible. Roundtable makes the run itself the product:
- ๐ See the work, not just the output. Agents sit around a live table. Handoffs, review states, artifacts, and chat happen in front of you.
- ๐งญ Plans you can trust. A planner turns your request into a dependency-aware task graph โ you see what runs in parallel and what waits.
- ๐งพ Nothing gets lost. Files, diffs, live previews, review comments, and fixer rounds stay attached to the conversation, forever replayable.
- ๐ Quality is a gate, not a hope. Reviewers block bad work; failed tasks get bounded fixer rounds instead of infinite loops.
- Persistent agent squad โ planner, implementers, reviewer, architect, and fixer roles that stay with your workbench across missions.
- Visual roundtable โ live runs, handoffs, artifacts, review state, and chat in one view, plus breakout side rooms.
- Real planning meeting โ a planner-led product โ architecture โ execution โ review relay is persisted before any coding runtime starts. Each seat has a bounded, non-overlapping mandate; deterministic code remains authoritative for ownership and dependencies.
- Dependency-aware scheduler โ independent tasks run in parallel waves; blocked tasks wait for exactly what they need.
- Bounded review โ fix loop โ failed reviews or blocking safety findings
trigger capped fixer rounds (
ROUNDTABLE_MAX_FIX_ROUNDS). - Built-in safety scan โ agent artifacts are checked for secrets and dangerous code before they land.
- Pluggable agent runtimes โ deterministic local dispatch for CI, real CLIs (Claude Code, Codex, OpenCode), E2B sandboxes, or MiniMax models.
- Storage that grows with you โ local JSON for prototypes, normalized Postgres for shared production runs.
- One action layer โ the same business workflows power the Next.js app, REST routes, tRPC, and the CLI.
| Planning | Mira | Nova | Atlas | Beam | Vera | Fixer | You |
| facilitator | @pm | @architect | @implementer | @implementer | @reviewer | @fixer | chair |
A live mission: architecture sketch on the shared board, implementers working in parallel, a reviewer waiting at the gate.
The plan and its artifacts: parallel tasks, versioned files, author-tinted diffs, and live previews โ all attached to the run.
git clone https://github.com/EdwinjJ1/roundtable.git
cd roundtable
corepack pnpm install
corepack pnpm devOpen http://localhost:3000 and start a mission. If the port is busy, Next.js prints the alternate URL.
Useful checks:
corepack pnpm typecheck
corepack pnpm test
corepack pnpm cli workflow smoke --message "Build a waitlist page"Zero-key demo: the default
local-dispatchadapter is deterministic and needs no API keys โ perfect for trying the workbench, CI, and the golden-path demo before wiring up a real agent runtime.
flowchart LR
U["๐ง You<br/>describe a goal"] --> P["๐ Planner<br/>task graph with dependencies"]
P --> S{"โก Scheduler<br/>parallel waves"}
S --> A["๐จ Atlas<br/>implements T1"]
S --> B["๐จ Beam<br/>implements T2"]
A --> R["๐ Vera<br/>review gate"]
B --> R
R -- pass --> OK["๐ข Ship<br/>files ยท diffs ยท previews"]
R -- fail --> F["๐ ๏ธ Fixer<br/>bounded fix rounds"]
F --> S
- You describe a goal in plain language.
- A bounded planning meeting reads compact repo context, relays product, architecture, execution, and review perspectives, then locks the plan.
- After approval, the scheduler runs every unlocked task in parallel waves.
- Agents produce files, diffs, previews, review comments, and handoffs.
- Safety or review failures create bounded fixer rounds.
- The run finishes with artifacts and decisions preserved in the workbench.
When a chat-model provider is configured, planning meetings use its ordinary
API before Claude Code/Codex/OpenCode dispatch. Set
ROUNDTABLE_PLANNING_MEETING_MODEL to a cheaper provider-compatible model, or
to local for the deterministic zero-key meeting. Calls are bounded to two
parallel perspectives, one implementation response, one review, and one
planner synthesis.
local-dispatch is the default deterministic adapter for development and CI.
Swap in a real runtime when you want real work:
ROUNDTABLE_AGENT_ADAPTER |
Behavior | Requires |
|---|---|---|
local-dispatch (default) |
Deterministic template output; used by devrt/CI. | โ |
agent-cli / claude-cli / opencode |
Spawns the selected local CLI runtime (claude-code, codex, opencode, router, or custom command) in the workspace. Runtime status reports command path, detected version, and credential source before execution. |
ROUNDTABLE_ENABLE_EXTERNAL_AGENT=1; CLI login or API key |
e2b |
Runs the agent CLI inside an E2B sandbox. Falls back to local-dispatch (logged) if the key is missing. |
E2B_API_KEY |
minimax |
Runs each agent against the real MiniMax chat model (M3/M2.7). Strips <think> reasoning; falls back to local-dispatch if the key is missing. |
MINIMAX_API_KEY |
Copy .env.example to .env.local and adjust as needed. The defaults run
entirely locally with zero keys.
Storage โ local JSON or Postgres
Roundtable stores data in .roundtable/data.json by default. Set
DATABASE_URL to use Postgres. When a database URL is present, the production
default is the normalized driver:
DATABASE_URL=postgres://roundtable:roundtable@localhost:5432/roundtable \
ROUNDTABLE_STORE_DRIVER=postgres_normalized \
corepack pnpm devFor a local Docker-backed database:
corepack pnpm db:up
corepack pnpm db:migrate:local
corepack pnpm db:smoke:local
corepack pnpm dev:postgresTo migrate existing local JSON data into Postgres:
DATABASE_URL=postgres://roundtable:roundtable@localhost:5432/roundtable \
corepack pnpm migrate:postgresAuth โ Google OAuth via NextAuth
Roundtable uses NextAuth. Production sign-in should use Google OAuth with a verified Google email. The credentials provider is a local developer fallback.
Required production values:
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
NEXTAUTH_URL=https://your-domain.com
NEXTAUTH_SECRET=...Authorized Google redirect URIs:
http://localhost:3000/api/auth/callback/googlehttps://your-domain.com/api/auth/callback/google
Workspaces & safety
Production workbenches default to
ROUNDTABLE_WORKSPACE_ROOT/{ownerId}/{workbenchId}. Custom workspace paths
are ignored in production unless ROUNDTABLE_ALLOW_CUSTOM_WORKSPACE_PATH=1
is set deliberately.
The safety scan of agent artifacts (secrets + dangerous code) is on by
default; set ROUNDTABLE_SAFETY_ENABLED=false only for testing.
src/
โโโ app/ # Next.js app routes
โโโ ui/components/ # roundtable, workflow, chat, gallery, inspector UI
โโโ server/
โ โโโ actions/ # business workflows shared by tRPC, REST, and CLI
โ โโโ store.ts # local JSON or Postgres persistence
โโโ cli/ # smoke tests, migration helpers, local DB tools
Tech stack: Next.js 15 ยท React 18 ยท tRPC ยท NextAuth ยท Postgres ยท Vitest ยท pnpm
Contributions are welcome! Check out the contributing guide to get started โ the short version:
corepack pnpm typecheck && corepack pnpm lint && corepack pnpm testIf Roundtable is useful to you, a โญ helps others find it.
MIT ยฉ Evanlin