Terminal UI

Stackie renders styled terminal output with colors, icons, tables, and progress indicators. The color palette matches the Stackie web dashboard so the experience feels consistent across CLI and browser. Long-running commands lift into a ratatui inline viewport so live output stays coherent under shell redirection and pipes.

Output Modes

By default Stackie uses styled output with colors and emoji. Pass the --debug (-D) flag or set STACKIE_DEBUG=1 to disable styled output and print plain-text debug logs instead.

# Styled (default)
stackie ps

# Plain debug output
stackie -D ps

Status Icons

The CLI uses emoji icons to indicate sandbox and block status at a glance:

IconMeaning
Green circleRunning / healthy
Red circleStopped / error
Yellow circleStarting / degraded
SpinnerOperation in progress

Visual Elements

Stackie’s terminal UI is built from a small library of reusable components. Most commands compose these to render their screens:

Layout primitives

  • Panels — bordered boxes that group related content with an optional title.
  • Cards — softer, padded surfaces used for hero stats and summary blocks.
  • Headings — section titles with consistent spacing and casing.
  • Dividers — single-rule horizontal lines used to separate logical sections.
  • Hints — secondary text in a dimmed style for tips and footnotes.
  • Keybind hints — formatted shortcut indicators (e.g. [q] quit · [↵] open) shown in command help and interactive screens.

Data displays

  • Tables — columnar output with right-aligned numerics, truncation, and theme-aware row striping (stackie ps, stackie blocks).
  • Tree views — hierarchical renderings used for stack topology and dependency listings.
  • Gradient progress bars — a single-bar progress indicator that shifts colour as it fills, used for downloads and installs.
  • Multi-progress views — stacked progress bars for parallel operations such as pulling several blocks at once.
  • Spinners — animated indicators while waiting on the daemon or a long-running operation.

Feedback and notifications

  • Did-you-know hints — periodic tips surfaced after successful commands to introduce features users may not have discovered.
  • Empty states — helpful messages when a list has no entries (e.g. stackie ps with nothing running) suggesting the next step.
  • Success celebrations — emphasised messages on milestone successes like a clean stackie up or a finished install.
  • Sticky banners — persistent notices kept pinned across screen redraws (e.g. update available, daemon out of date).
  • Error / warning panels — bordered, coloured panels with title, detail, and remediation hints.
  • Tier badges — alpha / beta labels rendered next to feature names that carry stability caveats.

Interactive input

  • Prompts — single-line text input with validation.
  • Confirms — yes/no confirmations with a default action.
  • Selects — single- and multi-select pickers with keyboard nav.
  • Password prompts — hidden-input fields for secrets.
  • Wizards — multi-step flows that combine prompts, selects, and confirms into a guided sequence.

Chrome

  • First-run banner — onboarding screen shown the first time stackie is invoked on a machine.
  • Help screen — interactive command listing rendered via stackie help.
  • Status bar — bottom-of-screen daemon and stack status during long-running interactive commands.
  • Panic handler — formatted crash reports when something goes wrong, with instructions for filing a bug.