Your whole dev stack, one command.
stackplay starts your servers, restarts them when you change code, and shows logs from all of them in one place. No setup file. Works on day one.
- Zero config. Detects 86 frameworks — Next.js, Vite, Rails, Django, Go.
- No more dead ports. Finds the process holding :3000 and kills it for you.
- One window, every log. Search across services. Filter errors. Done.
Your coding agent, as an operator.
stackplay lets Claude Code, Cursor, and Codex run, watch, and debug your dev stack the way you do — through one stable, machine-readable CLI.
- Structured everything. Every command returns clean JSON the agent can read.
- No silent crashes. The agent gets told when a process dies, not left waiting.
- One install for any agent. Same skill works in Claude, Cursor, Codex, opencode, Aider.
-
Install stackplay
-
Optional — connect your coding agent Connect your coding agent
- web :3000 2m 14s
- api :4000 2m 14s
- worker — 2m 14s
- db :5432 stopped
- e error level
- w warn level
- / search
How it works
- Detect. Auto-finds 86 frameworks across 14 ecosystems — Next.js, Vite, Remix, Rails, Django, FastAPI, Go, Cargo, Turborepo, pnpm workspaces. No YAML required.
- Pick. Interactive selector on first run. Arrow keys to choose which processes to start, Enter to confirm. Saved for next time.
- Run. Daemon-backed processes that survive the UI. Close the terminal, reattach later — everything keeps running.
-
Heal. Stale
node_modules? Detected and reinstalled. Port 3000 held by yesterday's zombie? Found, surfaced, and killed.
What it replaces
- Five terminal tabs. One TUI with a process grid, log viewer, search, and click-to-copy.
- docker-compose for dev. Native processes, faster startup, same interface for local-first workflows.
- Manual log tailing.
stackplay search "error"hits every process at once.trace "payment"merge-sorts a cross-process timeline. - Stale-port guessing.
stackplay ports :3000shows the holder, dead or alive, with no daemon required. - Silent agent hangs.
stackplay watch --ndjsonstreams typed lifecycle events so a crash shows up asproc.stoppedinstead of an indefinite wait.
Commands
Inspection commands and mutation results are JSON-first. Bounded reads keep agent loops from hanging. Full reference in docs/cli.md.
stackplay—daemon + TUI in one gosp—same, fewer keystrokesstackplay up --json—headless, structured resultstackplay ps --json—status, ports, errors, uptimestackplay health --json—ok/issues verdict for the whole stackstackplay logs api --no-follow --json—bounded read that won't hang a loopstackplay search "error" --json—search every process at oncestackplay trace "payment" --json—merge-sorted cross-process timelinestackplay ports :3000 --json—listening ports, daemon optionalstackplay watch --ndjson—typed lifecycle + log events for agentsstackplay restart api --dry-run --json—preview a restart, get a structured result
Configuration is optional
stackplay auto-detects most projects, but you can check in a stackplay.yaml for a stable, shared process contract on your team.
stackplay.yamlprocs:
api:
shell: "npm run dev"
cwd: "./services/api"
env:
PORT: "4000"
autorestart: true
ports: [4000]
web:
shell: "npm run dev"
cwd: "./apps/web"
deps: [api]
ports: [3000]
settings:
scrollback: 20000
theme: midnight
Made for AI agents
- JSON-first. Every inspection command supports
--jsonor--ndjson. Mutations return structured results too —start,stop,restart,send,add,remove. - Bounded by default.
logs --no-followwon't hang a tool loop,search --max-hitscaps result size. - Push-based events.
stackplay watchemits typed lifecycle events — a crash shows up asproc.stoppedwith an exit code, not silence. - Self-describing.
stackplay describe ps --jsonreturns machine-readable command metadata for tool discovery.
Install the agent skill into Claude Code, Cursor, Codex, opencode, Aider, Windsurf:
Homebrew
Prefer Homebrew on macOS or Linux? Tap the formula and install:
macOS & Linux on arm64 / amd64. Both methods drop stackplay and the sp shorthand on your $PATH. Source and signed releases on GitHub. Windows is on the roadmap.
Frequently asked
How is this different from foreman or overmind?
Procfile tools assume you've already written a Procfile. stackplay starts from an empty directory: it detects what you have, asks once, and saves the answer. It also ships a TUI, JSON-first inspection commands, and a daemon — none of which are in Procfile-runner territory.
Does it replace docker-compose?
For dev, yes — native processes start faster and integrate better with your editor and debugger. For production, no — Compose and Kubernetes are still the right tools. stackplay is local-first.
Why an "AI-native" process manager?
Coding agents need a stable, machine-readable interface to your local stack. They need to know when a server is ready, what crashed, which port is taken — without scraping terminal tabs. stackplay's --json, --ndjson, and describe commands give them exactly that.
Windows support?
Planned. The current production targets are macOS and Linux on arm64 and amd64; a Windows daemon is on the roadmap but not in the current release.
Is it open source?
Yes — MIT licensed. Source on GitHub, contributions welcome.
Close the tabs. Open the daemon.