deck
Lightweight local dev orchestrator. One command to bootstrap and run your entire stack.
Named after the cyberdeck from Shadowrun — the rig a decker jacks into to run programs, manage connections, and control their environment. deck does the same for your local dev stack: one config, one command, everything running.
Install
# Homebrew
brew install --cask warriorscode/tap/deck
# Go
go install github.com/warriorscode/deck/cmd/deck@latest
Quick Start
deck init # creates deck.yaml + updates .gitignore
# edit deck.yaml with your services
deck up # starts everything, ctrl+c to stop
deck init detects your project stack (Go, Node, Python, Ruby, Rust) and generates a tailored config with the right commands and package manager.
How It Works
- Deps — checks each dependency, tries start strategies in order until check passes
- Bootstrap — runs setup steps if their check fails (idempotent), supports interactive prompts and env interpolation
- Hooks — pre-start hooks run before services, post-stop hooks run on shutdown
- Services — started in dependency order (topological sort),
readychecks polled before dependents proceed - Logs — tailed with colored
[name]prefixes, ANSI codes stripped, timestamps auto-detected - Shutdown — post-stop hooks, SIGTERM, 5s grace, SIGKILL, process group kill for child cleanup. Second ctrl+c force-exits.