finds.dev← search

// the find

mattn/goreman

★ 2,637 · Go · MIT · updated Apr 2026

foreman clone written in go language

Goreman is a Go port of the Ruby foreman tool — it reads a Procfile and runs all your processes together, forwarding signals and multiplexing output. It's the standard choice for Go developers who want Procfile-based process management without installing Ruby.

Single static binary with no runtime dependency — goreman start just works. Signal forwarding is properly implemented across POSIX and Windows (separate proc_posix.go / proc_windows.go). The RPC interface (goreman run COMMAND) lets you restart individual processes from another terminal, which foreman can't do. Mattn is a prolific and reliable Go maintainer; the repo has stayed actively maintained for over a decade.

The README is nearly empty — no docs on the RPC commands, environment variable handling, or .env file support. If you need to know what 'goreman run' accepts, you're reading source. No support for port assignment via $PORT like the original foreman, which matters for web process conventions. Test coverage is thin — one test file for a process supervisor means confidence in edge cases (process crashes, restart policies) comes from production use, not CI. Not suitable if you need anything beyond basic process grouping: no health checks, no restart backoff, no dependency ordering between processes.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →