stackplay

AI-native process manager

Run your whole dev stack from one command.

Zero-config project detection, daemon-backed process control, cross-service log search, port cleanup, health checks, and a terminal UI built for humans and coding agents.

curl -fsSL https://stackplay.run | sh All downloads

Production targets: macOS and Linux on arm64 and amd64.

$ stackplay up --json
{
  "ready": true,
  "procs": [
    {"name": "web", "status": "running", "ports": [3000]},
    {"name": "api", "status": "running", "ports": [4000]},
    {"name": "worker", "status": "running"}
  ]
}

$ stackplay search "error" --json --max-hits 50
$ stackplay watch --level error --ndjson

Quick start

Start without writing YAML.

1

Install

curl -fsSL https://stackplay.run | sh
2

Run

stackplay
3

Automate

stackplay ps --json --wait-ready

Core commands

stackplay Start the daemon and open the TUI.
stackplay up --json Start headlessly and return process state.
stackplay ps --json List status, PID, CPU, memory, ports, uptime, and failures.
stackplay health --json Return an ok/issues verdict for the stack.
stackplay logs api --no-follow --json Read bounded process logs without hanging.
stackplay search "error" --json --max-hits 50 Search logs across all managed processes.
stackplay trace "payment" --json Merge-sort matching logs into a cross-process timeline.
stackplay ports :3000 --json Inspect local listening ports, even without a daemon.
stackplay watch --level error --ndjson Stream typed lifecycle and log events for agents.

Configuration

Explicit when you need it.

stackplay auto-detects common frameworks and monorepos, but a checked-in stackplay.yaml gives teams a stable shared process contract.

procs:
  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

For AI agents

stackplay is JSON-first and bounded by default when used correctly. Agents can start a stack, wait for readiness, inspect errors, stream lifecycle events, and restart a process without scraping terminal tabs.

stackplay describe search --json stackplay ps --json --wait-ready stackplay search "." --regex --level error --json --max-hits 50 stackplay logs api -n 500 --no-follow --json stackplay restart api --dry-run

What it replaces

Use stackplay instead of keeping five dev servers in separate terminals, manually tailing logs, guessing which stale process owns a port, or letting an agent wait forever on silent output.

Headless daemon Terminal UI Cross-process search Port cleanup Health verdicts Agent-safe NDJSON watch