#process-manager #foreman #procfile #overmind #honcho

bin+lib gaffa

Cross-platform process manager for Procfile-based process-collections

14 unstable releases (3 breaking)

Uses new Rust 2024

0.4.1 Apr 14, 2026
0.4.0 Apr 14, 2026
0.3.3 Apr 14, 2026
0.2.3 Apr 13, 2026
0.1.5 Jul 30, 2025

#1617 in Command line utilities

Custom license

190KB
4K SLoC

Gaffa

A cross-platform process manager for procfile based applications in a single terminal. Has an interactive terminal UI.

There are some good Procfile-based process management tools around already:

but they didn't work on the windows machines i have to work on. I do not need a lot of features, just some convenience to run my processes in a single terminal with a single command from my justfile.

A gaffa is someone who manages a group of performers, think of a rock band or circus. Whatever you like. 🧙‍♀️

Features

  • Cross-platform: Works on Windows, macOS, and Linux without tmux dependency
  • Process Management: Start, stop, and restart processes individually in interactive mode
  • Live Monitoring: Process status, uptime, and restart counts
  • Interactive Mode: Terminal UI with keyboard shortcuts and mouse scrolling

Installation

Available on crates.io: gaffa

cargo install gaffa

Or build from source:

git clone https://github.com/oryon-dominik/gaffa.git
cd gaffa
cargo build --release

Usage

# Run all processes from Procfile
gaffa run

# Run specific processes
gaffa run web worker

# Interactive mode
gaffa run --interactive

# Log output to a file
gaffa run --log-file log.txt

# Custom Procfile
gaffa run --procfile custom.procfile

# Set environment variables
gaffa run --env PORT=8000 --env PYTHONUNBUFFERED=1

# Load environment from file
gaffa run --env-file .env

# Full command example
gaffa run devserver tailwind --procfile procfile --log-file logs/gaffa.log --env PYTHONUNBUFFERED=1 --interactive

Output Buffering

Some processes buffer their output when not connected to a terminal. To see real-time output:

  • Python: Set PYTHONUNBUFFERED=1 environment variable

Dependencies

~12–29MB
~403K SLoC