// local development orchestrator

Why fuku

Run all your services as native processes with proper startup ordering, readiness checks, and a live dashboard. No Docker required.

less memory than Compose ~60 MB vs ~2 GB for 50 services
0 Docker dependencies Native processes, no VM, no daemon
1 command to start everything Tier-based ordering with readiness checks

Memory comparison

50 services, same workload, four runtimes. fuku runs them as native processes.

Docker Compose ~2 GB containers+ ~2 GB Docker Desktop VM
Docker Desktop VM
containers
fuku Go ~60 MB totalNo VM, no container runtime
0 MB2 GB4 GB6 GB8 GB

When to use fuku

Keep it simple

A backend and a frontend

Two terminal tabs. Done.

You don't need fuku.
Complex configuration

You want fuku

  • Multiple backend services with dependencies
  • BFF layer between APIs and the UI
  • Several frontends – SPA, docs, Swagger
  • Gateways, mock servers, infrastructure

Local development tradeoffs

Compose runs containers. fuku runs native processes. Here's what that means day to day.

Docker Compose fuku

~2 GB+ container memory

Plus 2–4 GB for the Docker Desktop VM on macOS

~60 MB total

Native processes. No VM, no daemon, no overhead.

Minutes to start

Image pulls, layer extraction, network setup, cgroup init

Seconds to start

Native fork and exec. No container initialization.

Broken file watching

macOS VM proxies FS events. Latency. Missed changes.

Instant hot-reload

Native fsnotify. Debounced. Configurable per-service.

depends_on ≠ ready

Container started doesn't mean service is accepting requests

Real readiness gates

HTTP, TCP, and log pattern checks. Tier-based startup.

Interleaved log noise

No overview. No controls. grep your way through stdout.

Live TUI dashboard

Per-service status, CPU/memory, restart controls, log filtering.

Feature matrix

Foreman Overmind Compose fuku
Native processesContainers
Startup orderingdepends_onTier-based
Readiness checksExtra configHTTP, TCP, log
Interactive TUI
CPU/memory monitoringdocker statsBuilt-in
Hot-reloadVolume mountsBuilt-in
Service profiles
Per-process terminaltmuxdocker exec
Log streamingstdoutstdoutdocker logsSocket-based
Config formatProcfileProcfileYAMLYAML
Requires DockerNoNoRequiredNo
Memory (~50 services) ~60 MB ~60 MB ~2 GB+ ~60 MB
// try it out

Add a fuku.yaml. List your services. Run fuku.