rtb-tui 0.6.5

Reusable TUI widgets: forms, wizards, prompts, tables. Part of the phpboyscout Rust toolkit.
Documentation

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 rtb_tui::{render_table, render_json};
use serde::Serialize;
use rtb_tui::tabled::Tabled;

#[derive(Tabled, Serialize)]
#[tabled(crate = "rtb_tui::tabled")]
struct Row { name: &'static str, count: u32 }

let rows = vec![Row { name: "alpha", count: 1 }];
print!("{}", render_table(&rows));          // psql-style text table
print!("{}", render_json(&rows).unwrap());  // pretty-printed JSON array

Documentation

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.

Development

just ci runs the full local gate (fmt, clippy, nextest, doc, deny). All tests run headless, with no TTY required. Releases are cut by colophon from Conventional Commits, so do not tag manually.

License

MIT