Development, with fewer loose ends
Your API, database, and workers, started with one command. Pitchfork handles readiness, retries, and logs so you can get back to work.
mise use -g pitchforkMore ways to install
$ pitchfork start api
:6379:3000$ pitchfork start api
Already running. You're good to go.
$

A little config. A lot less juggling.
Put the commands you already run in pitchfork.toml. Give each service a name, declare what it needs, and share the setup with your team.
Commands, environment, and dependencies in one place.
Dependencies start first. Running services stay running.
Inspect, restart, or stop services whenever you need to.
[daemons.redis]
run = "redis-server --port $PORT"
port = 6379
ready_cmd = "redis-cli -p $PORT ping"
[daemons.api]
run = "node server.js"
port = 3000
depends = ["redis"]
ready_http = "http://localhost:3000/health"
retry = 3Bring your own commands. Pitchfork takes care of their lifecycle.
Made for the way you develop
Run a command again without launching a duplicate. Wait for dependencies to accept requests before starting the next service.
Define readinessEnter a project and start its services. Leave the last session and let them stop. Keep separate names for separate worktrees.
Connect your shellRestart after a source edit, retry a crashed worker, or catch a service that is running but no longer responding.
Keep services healthyAssign ports, handle conflicts, and use a stable local URL even when the underlying port changes.
Set up local URLsFollow logs across services. Filter structured output by level or field. Inspect processes in a terminal or browser dashboard.
Find the right logsRun shell commands in any language, activate your mise environment, or connect an assistant through the built-in MCP server.
Explore integrationsFrom the big picture to the last log line
See what is running, find what failed, and open the logs.
Use pitchfork tui in your terminal or enable the web dashboard.

Summon your daemons.