The local runtime control plane for AI coding agents.
Install · Quick Start · Docs · Contributing
Agents are great at code. They are terrible at babysitting terminals.
DevDeck gives agents one bounded CLI to start, stop, inspect, debug, and snapshot local multi-service stacks without flooding model context with raw terminal noise.
Modern local development stacks rarely fit in one terminal. Frontends, APIs, workers, queues, databases, and supporting services all need coordination, and that coordination gets noisy fast.
DevDeck reduces that noise. It gives humans and agents one runtime control plane for local stacks so they can:
- start everything from one config
- inspect machine-readable state
- diagnose degraded startup without a separate shell spelunking loop
- recover one failed service with bounded verification
- fetch bounded logs instead of dumping full terminal buffers
- snapshot the current deck before escalating a debugging problem
- restart only the service that changed
DevDeck is a local-first CLI for orchestrating and debugging multi-service development stacks.
DevDeck does not replace npm, Docker Compose, Turborepo, or your app framework.
It gives agents and humans a bounded control plane over those processes.
Install the published CLI package locally in your project:
npm install -D @hemangdoshi/devdeckThe package exposes the devdeck binary, so you run it with npx devdeck.
npm install -D @hemangdoshi/devdeck
npx devdeck init
npx devdeck start
npx devdeck statusStarter devdeck.yml:
project: my-awesome-app
services:
web:
command: npm run dev
cwd: ./frontend
port: 3000
group: frontend
api:
command: npm start
cwd: ./backend
port: 8080
group: backendOpen http://127.0.0.1:4545 to use the local dashboard.
When an AI coding agent is operating in a repo that uses DevDeck, the default loop is:
- Install the package if it is not already present.
- Run
npx devdeck start --agent --waitinstead of starting raw long-running processes. - If startup is degraded, read the inline diagnosis packet before spending another command.
- Use
npx devdeck diagnose --agentwhen you need an explicit root-cause packet. - Use
npx devdeck recover --agent --waitfor bounded targeted recovery and verification. - Use
npx devdeck status --agentandnpx devdeck logs <service> --agent --tail 80only when the next action requires them. - Run
npx devdeck snapshot --agentbefore asking a human for extra diagnostics. - Switch to
--jsononly when full structured state is required. - Stop the deck with
npx devdeck stop --agentwhen the task is complete.
This keeps runtime coordination out of sprawling terminal transcripts and inside a stable CLI contract.
For humans, DevDeck is the same control plane with a simpler mental model:
- Define your services once in
devdeck.yml. - Start the full stack with
npx devdeck startornpx devdeck dev. - Inspect health with
npx devdeck status. - Read bounded logs with
npx devdeck logs. - Restart only what you need with
npx devdeck service restart <name>. - Stop everything cleanly with
npx devdeck stop.
| Command | Purpose |
|---|---|
npx devdeck init |
Generate a starter devdeck.yml |
npx devdeck dev |
Start DevDeck in the foreground |
npx devdeck start |
Start DevDeck in the background |
npx devdeck status |
Inspect current service state |
npx devdeck start --agent --wait |
Start the stack with bounded readiness and inline degraded diagnosis |
npx devdeck status --agent |
Inspect compact agent-oriented state |
npx devdeck diagnose --agent |
Produce a compact diagnosis packet with root cause and next action |
npx devdeck recover --agent --wait |
Apply bounded targeted recovery with verification |
npx devdeck status --json |
Inspect machine-readable service state |
npx devdeck logs <service> --agent --tail 80 |
Read compact evidence-oriented logs for one service |
npx devdeck snapshot --agent |
Capture a compact diagnosis packet |
npx devdeck service restart <name> --agent --wait |
Restart one service with bounded verification |
npx devdeck stop --agent |
Stop the full deck |
project: my-microservices-app
services:
frontend:
command: npm run dev
cwd: ./apps/frontend
port: 5173
group: frontend
api:
command: npm run dev
cwd: ./apps/api
port: 3000
group: backend
worker:
command: npm run worker
cwd: ./apps/api
group: backendDevDeck includes a reproducible benchmark harness under benchmarks/.
The first published report is available here:
The first published report is a historical approximate-only result. Current deterministic harness runs use local transcript-token approximations with named tokenizers and scripted scenario evaluation. Results remain fixture-specific, and we do not claim universal savings.
DevDeck also includes an optional live-agent evaluation harness under evals/live-agent/. That harness compares the same scenario under raw shell and DevDeck-guided debugging, records transcript-token approximations, aggregates pass rate and median repeat metrics, and records provider usage separately only when the runtime exposes it.
Published live-agent proof artifacts:
The current live v2 proof is intentionally not a marketing-only artifact. It captures real Codex behavior on main at commit d662ac478467dbb4a36f1a275700b40a5a4abffd, including sandbox friction where the DevDeck agent endpoint could not always become reachable. That is still useful proof: it shows what the real agent/runtime loop does today, not what a scripted evaluator assumes it should do.
DevDeck v1.4.7 upgrades the live-agent evaluation layer around the bounded runtime loop:
- DevDeck-agent prompt centered on
start --agent --wait 30, inline diagnosis reuse, andrecover --agent --wait 30 - live scenario coverage aligned with the five-scenario product-validation matrix
- repeat-aware median and pass-rate reporting for live runs
- scorer support for bounded recovery via
devdeck recover
This slice upgrades measurement, not the runtime command surface.
DevDeck v1.4.6 sharpens the bounded agent loop:
- local CLI orchestration for multi-service stacks
- agent-friendly bounded inspection, diagnosis, and recovery commands
- degraded
start --agent --waitoutput with inline diagnosis - targeted
recover --agent --waitfor restartable service failures - structured
DD-ERR-XXXXdiagnostics - a local dashboard for visual monitoring and control
That slice focused on collapsing diagnosis and recovery turns without adding hidden evaluator shortcuts.
- publish reproducible token-savings benchmarks
- deepen configuration and architecture docs
- expand launch assets and OSS examples
- refine agent contracts and non-interactive workflows
Start with CONTRIBUTING.md, then read:
- LLMs.md for the agent integration contract
- HUMANs.md for human onboarding
- Docs/README.md for deeper documentation
- evals/README.md for optional live evaluation workflows
Distributed under the MIT License. See LICENSE.