Back to Blog

I Got Tired of 12 Terminal Tabs

· 2 min read ·

My workflow used to look like this: open a terminal, run the API. Open another tab, run the frontend. Another tab for the database. Another for logs. Another for… you get the idea.

By the time I had everything running, my screen looked like a hacker scene from a bad movie. And if I accidentally closed one tab? Good luck figuring out which process just died.

runme fixes this. You define your scripts in a TOML file, run runme, and it shows everything in a dashboard. Each process gets its own panel with real-time output. If something crashes, it restarts automatically. One screen, all processes.

[[scripts]]
name = "API"
command = "bun run dev"

[[scripts]]
name = "Frontend"
command = "npm start"

Since I first wrote it, runme has grown a bit. It now has blackout windows (define weekly time ranges when a script must NOT run), process timeouts (auto-kill jobs that run too long), per-script working directories, and a nice TUI with color-coded status indicators. Still one TOML file, still one command.

Built it in Rust because I wanted it to be fast and because I’m on a Rust streak. The TUI library (ratatui) is surprisingly fun to work with.

Does tmux do something similar? Sure. But configuring tmux feels like writing a doctoral thesis. runme is one file and one command.

GitHub repo

Loading comments...