Arbiter

CLI Commands & Terminal Ergonomics

Developer-first command-line interface with interactive fzf-style fuzzy selectors, structured JSON outputs, and Starship prompt integration.

Command-line Interface

Arbiter provides a fast, developer-first command-line tool arbiter with interactive fuzzy pickers, a keyboard-driven Terminal UI (like lazydocker / k9s), shell prompt hooks, and structured JSON outputs for automation.


Interactive Terminal UI (arbiter tui)

Launch a full-screen, keyboard-driven Terminal UI dashboard without opening a browser:

arbiter tui

Key Features & Vim Keybindings

  • Tabbed Views: [1] Ports, [2] Containers, [3] Approvals, [4] Projects, [5] Logs, [6] Readiness.
  • Navigation:
    • j / k (or Down / Up): Navigate list items.
    • 1..5 or Tab: Switch active tab.
    • g / G: Jump to start / end of list.
    • Enter: Inspect item details / drill down.
    • a: Quickly approve and execute selected pending action.
    • l: Jump straight to container live log stream.
    • p: Propose project preparation with agent.
    • r: Force data reload.
    • /: Live fuzzy search within current view.
    • ?: Toggle help overlay.
    • q: Quit.

When running commands without explicit target arguments in an interactive terminal, Arbiter automatically opens an fzf-style fuzzy search picker with a live preview pane:

# Interactively search and inspect registered projects
arbiter inspect

# Interactively search and prepare a project
arbiter prepare

# Interactively pick a running container to view logs
arbiter logs

# Interactively pick and execute a pending safety approval
arbiter approve

Shell Prompt & Starship Integration (arbiter prompt)

Display real-time environment status pills directly inside your terminal prompt (e.g. ⚡ Arbiter: 1 pending approval | 0 conflicts):

Output Formats

# ANSI colored pill (default)
arbiter prompt

# Starship prompt format
arbiter prompt --format starship

# Plain text without color codes
arbiter prompt --format plain

# Compact badge format
arbiter prompt --format short

# Structured JSON for scripts / statusbars
arbiter prompt --format json

Shell Integration Setup

Generate one-line integration hooks for your shell configuration:

# Starship prompt (~/.config/starship.toml)
arbiter prompt init starship

# Zsh (~/.zshrc)
arbiter prompt init zsh

# Bash (~/.bashrc)
arbiter prompt init bash

# Fish (~/.config/fish/config.fish)
arbiter prompt init fish

Common Non-Interactive Commands

# Start the Arbiter web server
arbiter serve

# Ask the agent a natural-language question
arbiter ask "what is using port 5432?"

# List all current port listeners
arbiter ports

# Find available free ports
arbiter ports --free 3000:4000 --count 10

# View registered projects
arbiter projects

# Discover projects under configured PROJECT_ROOTS
arbiter projects --scan

# Register a specific project
arbiter register /path/to/project

# Inspect a specific registered project
arbiter inspect project-name

# Prepare a specific project (detect conflicts, propose replacement ports, create approvals)
arbiter prepare project-name

# List Docker containers
arbiter containers

# View the last 200 log lines of a specific container
arbiter logs container-name --tail 200

# View Docker disk usage statistics
arbiter disk

# Audit configuration and port drift across projects
arbiter config drift

# Audit configuration drift for a specific project
arbiter config drift project-name

# Safe audit of missing environment variables and masked credentials
arbiter config audit project-name

# Approve an action by its specific ID
arbiter approve APPROVAL_ID

# Multi-Project Stacks & Environment Switcher
arbiter stack list --seed-defaults
arbiter stack inspect "Billing Microservices"
arbiter stack boot-order "Billing Microservices"
arbiter stack readiness "Billing Microservices"
arbiter stack readiness "Billing Microservices" --request-access
arbiter stack readiness-access
arbiter stack readiness-access --revoke AUTHORIZATION_ID

`readiness` reports `allowed`, `approval_required`, or `blocked` for every gate.
`--request-access` creates ordinary safety-queue approvals only for the gates that
need them; it never approves access automatically. The TUI's **Readiness** tab
lists persisted grants, and `x` revokes the selected grant after confirmation.
arbiter stack switch "AI Pipeline + Vector DB"
arbiter stack stop "AI Pipeline + Vector DB"

# Start the MCP stdio adapter
arbiter mcp

Output Format

The CLI outputs structured JSON for machine-readable operations. This enables scripting and automation, while maintaining identical business logic as the API and browser control panel.

On this page