Interactive TUI

A real-time dashboard for every service. CPU, memory, uptime, logs – keyboard-driven, no mouse, no context switch.

Service Dashboard

Six services, one screen

When you run fuku (or fuku run), it launches an interactive terminal UI showing all services, their status, resource usage, and uptime.

fuku · dashboard
profile • defaultrunning 4/4 ready
statuscpumempiduptime
foundation
◉ auth▮▮▮▮▮▮▮▮▮▮▮▮running0.3%24MB7674105:23
platform
◉ api▮▮▮▮▮▮▮▮▮▮▮▮running1.2%32MB7675805:19
◉ worker▮▮▮▮▮▮▮▮▮▮▮▮running0.4%28MB7675905:19
edge
◉ web▮▮▮▮▮▮▮▮▮▮▮▮running4.2%120MB7678005:14
● 127.0.0.1:3858 • cpu 6.1% • mem 204MBv0.22.0
Key bindings

Built for the keyboard

KeyAction
↑ / ↓ or k / jNavigate services (or scroll the focused panel)
PgUp / PgDnScroll the focused panel
Home / EndJump to start / end of the focused panel
EnterOpen the service info aside (toggles closed when already open)
Tab / Shift+TabCycle aside tabs forward / backward
\Toggle focus between the services list and the aside
sStop or start the selected service
rRestart the selected service
ctrl+rRestart all failed services
tShow or hide the rotating tips
/Filter services by name
EscClose the service info aside, or clear filter when it is already closed
qQuit and stop all services
Service info

The aside panel

Press Enter on a service to open a read-only info aside next to the services list. It has three tabs — config, env, and health — cycled with Tab / Shift+Tab:

  • config — working directory, start command, tier, per-service log outputs, watch globs and debounce
  • env — merged contents of the service's .env files (display only; values are not exported to the child process)
  • health — readiness probe details (type/address/URL/pattern), PID, uptime, retry policy, and the current lifecycle state with how long it has held

Press \ to toggle keyboard focus between the services list and the aside — the focused panel takes the highlighted border and routes ↑/↓, PgUp/PgDn, and Home/End. The aside auto-fits the services list to the longest service name (capped at a medium width so one very long name cannot keep stealing aside space — names beyond the cap are truncated in the services column) and donates the rest of the terminal width to the panel; on terminals too narrow to fit both, the panel stays hidden and the services list keeps the full width. Press Esc to close the aside (or Enter again to toggle it shut).

Filtering

Find services fast

Press / to enter filter mode. Type a query to narrow the service list by name — matching is case-insensitive and works on partial names.

While typing, use ↑/↓ arrow keys to navigate filtered results. Press Enter to confirm the filter and switch to full navigation (j/k, s, r). Press Esc to clear the filter and restore the full list. If the info aside is open, Esc closes the aside first; pressing it again clears the filter.

The filter bar appears in the bottom border alongside CPU/memory stats. A cursor (_) indicates active input mode.

Monitoring

Live CPU and memory

The TUI shows real-time CPU and memory usage for each service, sampled periodically via gopsutil. Aggregate CPU and memory are displayed in the bottom border.

Plain mode

No-UI mode

If you prefer plain log output without the interactive dashboard, use --no-ui:

terminal
fuku run core --no-ui

This streams service logs directly to your terminal with service name prefixes – useful for CI, scripting, or when you want simple output.

Ready to try it out?

Get Started