#wizard #prompt #dialoguer #elicitor #back-end

elicitor-wizard-dialoguer

Dialoguer wizard backend for elicitor (CLI step-by-step prompts)

2 releases

Uses new Rust 2024

0.6.1 Jan 18, 2026
0.6.0 Jan 17, 2026

#2 in #dialoguer

MIT/Apache

55KB
940 lines

derive-dialoguer-wizard

Dialoguer wizard backend for derive-survey.

This crate provides a command-line wizard interface for collecting survey responses using the dialoguer library. Questions are presented step-by-step in a classic CLI wizard style.

Example

use elicitor::Survey;
use elicitor_wizard_dialoguer::DialoguerBackend;

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

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

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

elicitor

Derive interactive surveys from Rust types.

This workspace contains the elicitor crates:

Crate Description
elicitor Main crate with #[derive(Survey)] macro
elicitor-types Core data structures and traits
elicitor-macro Procedural macro implementation

Backends:

Crate Description
elicitor-wizard-dialoguer CLI prompts via dialoguer
elicitor-wizard-requestty CLI prompts via requestty
elicitor-wizard-ratatui Terminal UI wizard
elicitor-form-ratatui Terminal UI form
elicitor-form-egui Native GUI form

Document generators:

Crate Description
elicitor-doc-html HTML form output
elicitor-doc-latex LaTeX document output

See the elicitor README for usage documentation.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Dependencies

~2–12MB
~95K SLoC