Getting Started

Install fuku and get your services running in minutes.

Installation

Three ways to install

Homebrew

terminal
brew install tab/apps/fuku

Install Script

terminal
curl -fsSL https://getfuku.sh/install.sh | sh

Build from Source

terminal
git clone https://github.com/tab/fuku.git
cd fuku
go build -o cmd/fuku cmd/main.go
sudo ln -sf $(pwd)/cmd/fuku /usr/local/bin/fuku

Quick start

Your first run

  1. Generate a config file in your project root:
terminal
fuku init
  1. Edit fuku.yaml to define your services, tiers, and profiles. See the Configuration page for the full reference.
  1. Run your services:
terminal
# Run with the default profile (interactive TUI)
fuku

# Run a specific profile
fuku run core

# Run without TUI
fuku run core --no-ui

Services

Service requirements

By default, fuku executes make run inside each service's directory. You can override this with a custom command:

fuku.yaml
services:
  api:
    dir: ./api
    command: go run cmd/main.go # Custom command (runs via sh -c)
  worker:
    dir: ./worker
    # No command – uses "make run" (requires Makefile)

When using the default make run, each service directory must contain a Makefile with a run target:

Makefile
run:
	npm start

Each service inherits fuku's own environment but does not receive any per-service variables injected by fuku — the child runs in its dir, so any tool the service uses is free to load .env files itself. fuku still parses each service's .env files for display in the TUI's info aside (the env tab); see the CLI reference for the load order and the Configuration page for the optional env.files override.

Check the Examples page for real-world configuration patterns.