Interactive Dashboard
Use the OpenTUI dashboard for interactive fetch, generate, diff, validate, watch, and endpoint inspection.
Running chowbea-axios with no command launches an interactive OpenTUI dashboard with screens for every part of the workflow. The headless CLI (fetch, generate, watch, etc.) still works exactly the same — the dashboard is an optional surface on top of it.
The dashboard is experimental. It's functional but has no automated test coverage today. For CI pipelines, scripted workflows, and any production-adjacent use, prefer the headless commands. The headless surface is what's guaranteed.
Requirements
The dashboard requires Bun to render — it uses Bun-specific terminal features that don't have a Node equivalent yet. The behavior depends on how you invoke the CLI:
| Invocation | What happens |
|---|---|
bunx chowbea-axios | Dashboard launches directly. |
npx chowbea-axios (Bun installed) | The CLI re-launches itself under Bun automatically. |
npx chowbea-axios (Bun not installed) | Falls back to headless mode with a hint. |
chowbea-axios --headless | Force headless mode even when Bun is available. |
| Non-TTY environment (CI, redirected stdin) | Headless mode is auto-detected. |
Launching
# Interactive (Bun required)
chowbea-axios
# Force headless
chowbea-axios --headless
# Specific command (always headless)
chowbea-axios fetchScreens
The dashboard ships with nine screens, navigable via the sidebar:
| Screen | What it does |
|---|---|
| Home | Project status, recent activity, quick links into other screens. |
| Init Wizard | First-run setup — the same flow as chowbea-axios init, with form components instead of inline prompts. |
| Fetch / Generate | Trigger a fetch or generate cycle and watch its progress. |
| Endpoint Inspector | Browse the cached OpenAPI spec by tag/operation, view request/response schemas, build a sample request. |
| Diff Viewer | Compare the cached spec against a new one (remote or local). Adds/removes/changes are highlighted. |
| Validation | Run validate and view results grouped by the seven categories, severity-classified. |
| Env Manager | Edit the env vars that your api.config.toml references ($VAR / ${VAR} interpolation). |
| Plugins Manager | List, scaffold, and toggle the optional Vite codegen plugins (Surfaces and Side Panels). |
| Process Runner | Run npm run dev (or any other npm script) alongside the CLI in a side tab. Useful for dev:all-style flows. |
Tabs and the Process Runner
Tabs survive screen navigation — start a long-running watch in one tab and a dev server in another, then switch screens without disrupting either. The status bar shows running process counts.
Keyboard shortcuts
The command palette is available everywhere — open it to fuzzy-search any screen or action. Each screen also shows its own context-relevant shortcuts in the status bar.
Headless equivalents
Everything the dashboard does has a headless command behind it, so anything you do interactively can be scripted later:
| Dashboard screen | Headless command |
|---|---|
| Init Wizard | chowbea-axios init |
| Fetch / Generate | chowbea-axios fetch / chowbea-axios generate |
| Diff Viewer | chowbea-axios diff |
| Validation | chowbea-axios validate |
| Plugins Manager | chowbea-axios plugins (--list, --setup, --add) |
| Endpoint Inspector | (dashboard-only — uses the cached spec) |
| Env Manager | (dashboard-only — edits your shell/.env) |
| Process Runner | (dashboard-only — runs npm scripts in side tabs) |
Troubleshooting
The dashboard didn't open. Check that Bun is installed (bun --version). If you saw a "falling back to headless mode" hint, that's why. Install Bun from bun.sh and re-run.
It opened but rendered garbled output. OpenTUI uses ANSI escape sequences and a true-color palette. Make sure your terminal supports both (Alacritty, iTerm2, WezTerm, modern GNOME Terminal, Windows Terminal — all fine).