#ratatui #prompt #wizard #back-end #elicitor #keyboard #multi-select #validation-error

elicitor-wizard-ratatui

Ratatui wizard backend for elicitor (TUI step-by-step prompts)

1 unstable release

Uses new Rust 2024

0.6.0 Jan 17, 2026

#1219 in Hardware support

MIT/Apache

96KB
1.5K SLoC

derive-ratatui-wizard

Ratatui wizard backend for derive-survey.

This crate provides a rich terminal user interface (TUI) for collecting survey responses using the ratatui library. Questions are presented step-by-step in a wizard style with a progress bar, keyboard navigation, and visual feedback.

Features

  • Rich TUI with panels and borders
  • Progress indicator showing current question
  • Keyboard navigation (arrow keys, Enter, Esc)
  • Real-time validation with error display
  • Customizable color themes
  • Support for all question types (input, select, multi-select, confirm, etc.)

Example

use elicitor::Survey;
use elicitor_wizard_ratatui::RatatuiBackend;

#[derive(Survey)]
struct User {
    #[ask("What is your name?")]
    name: String,

    #[ask("How old are you?")]
    age: i64,
}

fn main() -> anyhow::Result<()> {
    let backend = RatatuiBackend::new()
        .with_title("User Registration");
    let user = User::builder().run(backend)?;
    println!("Hello, {} ({} years old)!", user.name, user.age);
    Ok(())
}

Dependencies

~9–14MB
~266K SLoC