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 tuiKey Features & Vim Keybindings
- Tabbed Views:
[1] Ports,[2] Containers,[3] Approvals,[4] Projects,[5] Logs,[6] Readiness. - Navigation:
j/k(orDown/Up): Navigate list items.1..5orTab: 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.
Interactive CLI Pickers (Fuzzy Search)
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 approveShell 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 jsonShell 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 fishCommon 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 mcpOutput 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.