Five-minute quickstart
This walkthrough starts two harmless local processes and shows the main Kranz workflow. You need macOS or Linux, Python 3, and a terminal. No Docker, YAML, or existing project is required.
Install
brew install kranz-org/tap/kranzOr install with Go 1.24 or newer:
go install github.com/kranz-org/kranz/cmd/kranz@latest1. Create a small playground
mkdir kranz-hello
cd kranz-helloCreate a file named Procfile with these two lines:
web: python3 -u -m http.server 8000 --bind 127.0.0.1
worker: while true; do date; sleep 2; doneThe first command serves the directory over HTTP. The second prints a heartbeat every two seconds. Both keep running until stopped.
2. Open Kranz
kranzYou should see web and worker in panel 1. Nothing starts automatically.

3. Start and inspect
Try this sequence:
- Press
ato select every service. - Press
sto start the selection. - Use
↑and↓to focusweborworker. - Press
2to focus Details. Forweb, Kranz discovers port8000from the process group even though Procfile has no port syntax. - Press
3to focus Logs and watch each service separately. - Open http://127.0.0.1:8000 in a browser.
The header should report two active services. A green dot means running; a gray dot means stopped; yellow means a start, stop, or dependency wait is in flight.
4. Stop safely
Return to panel 1, keep both services selected, and press s. Kranz asks for confirmation before every stop. Confirm it and watch both process groups exit.
Press q to leave. If process-supervised services are still running, quitting also asks for confirmation and stops them.
5. What to try next
- Follow the full Procfile example to add
.envvalues. - Use native YAML for dependencies and readiness.
- Read core concepts before modeling a real project.
Choosing a configuration format
- Procfile — the smallest path for
name: commandprocesses. - Process Compose — run
kranzbeside a supportedprocess-compose.yamlwithout maintaining a second config. - Native
kranz.yaml— dependencies, probes, recovery, actions, explicit endpoints, appearance, and detached resources.
Continue with Configuration or try the runnable examples.