Vibe Rust Tui
Ratatui UI conventions for the Mistral Vibe Rust CLI (vibe/cli-rust).
Install
npx skills add mistralai/mistral-vibe --skill vibe-rust-tui -g -a claude-code -y- Repository
- mistralai/mistral-vibe5.3k
- Category
- Design
- Updated
- 5d ago
- License
- Apache-2.0
- Context cost
- Mediumabout 2,382 tokens
- Runs scripts
- No, instructions only
What it does
Ratatui UI conventions for the Mistral Vibe Rust CLI (vibe/cli-rust). Use when adding or changing any screen, list, picker, footer hint, keyboard shortcut, list navigation, scrolling or mouse clicks, back/close behavior, search field, selection highlight, color, or onboarding/dialog copy in the Rust TUI.
Vibe Rust TUI
UI conventions for vibe/cli-rust/. Every screen follows them so the TUI reads as one product. Local code rules, scenarios and goldens live in vibe/cli-rust/AGENTS.md and client-e2e/AGENTS.md.
Shortcut hints
- Name keys and actions only through
src/hints.rs:key::*,action::*and the shared pairs (hints::NAVIGATE,SELECT,SEARCH,CANCEL,CLOSE,BACK). Never write a key or action as a string literal at a call site. A single letter key ("d","r") is fine as long as its action comes fromaction::*. When a key or verb is missing, add it tosrc/hints.rs. - A hint is an unpadded
(key, action)pair (hints::Hint). The renderer owns all spacing; never bake spaces into a label. - Wording: actions are lowercase verbs (
navigate,select,close); keys keep their canonical casing (Enter,Esc,Ctrl+C,Backspace). Combined keys use/(Space/Enter,Esc/Ctrl+C). - Vertical navigation is
key::NAV(↑↓/jk) whenever j/k work; usekey::ARROWS(↑↓) only where a focused text field owns the letters. Horizontal navigation iskey::LEFT_RIGHT(←→). - Footers read
key action key action, ending with the Esc hint. Inline status lines (loading line, narrator) are the one exception and readkey to action. - Render every footer through
ui/hint_line.rs(draw,draw_clipped,line,spans,styled): they apply the shared key/action styles and clip to the box. Never place hint text with hardcoded x offsets or custom key styles. Center a hint withhints::width. - Onboarding and dialogs follow the same footer form (
Enter continue,Esc back), not sentences like "Press Esc to go back".


