rtb-tui
Part of the phpboyscout Rust toolkit — small, framework-free crates extracted from rust-tool-base.
Reusable TUI widgets for CLI tools: a multi-step interactive Wizard
with escape-to-back navigation (backed by inquire), uniform
structured-output helpers (render_table / render_json) for a
--output text|json flag, and a TTY-aware Spinner that no-ops when
stderr isn't a terminal.
use ;
use Serialize;
use Tabled;
let rows = vec!;
print!; // psql-style text table
print!; // pretty-printed JSON array
Documentation
- Build a three-step wizard — the tutorial, from an empty crate to a working program.
- How-to guides — output flags, progress reporting, exit codes, testing without a terminal.
- Reference — every public item, its defaults and its failure modes.
- What rtb-tui does not do — the limitations, before you plan around them.
This is not a full-screen terminal UI library. It draws no panels, has
no event loop, and there is no ratatui in its dependency graph — it
is three line-oriented widgets and nothing else.
- Docs site: https://tui.rust.phpboyscout.uk
- Generated API docs: https://docs.rs/rtb-tui
- Crate: https://crates.io/crates/rtb-tui
Development
just ci runs the full local gate (fmt, clippy, nextest, doc, deny).
All tests run headless — no TTY required. Releases are cut by
release-plz from Conventional Commits — do not tag manually.
License
MIT