| Crates.io | gaffa |
| lib.rs | gaffa |
| version | 0.1.5 |
| created_at | 2025-07-24 15:36:56.106475+00 |
| updated_at | 2025-07-30 11:15:27.398801+00 |
| description | Cross-platform process manager for Procfile-based process-collections. |
| homepage | |
| repository | https://github.com/oryon-dominik/gaffa |
| max_upload_size | |
| id | 1766200 |
| size | 220,960 |
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. 🧙♀️
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
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
# 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
Some processes buffer their output when not connected to a terminal. To see real-time output:
PYTHONUNBUFFERED=1 environment variable