CliClack Logo

Effortlessly build beautiful command-line apps with Rust 🦀✨

github.com crates.io docs.rs license

Beautiful, minimal, opinionated CLI prompts inspired by the @clack/prompts npm package.

sh cargo add cliclack

cliclack in action

sh cargo run --example basic cargo run --example log

CliClack Example

💎 Fancy minimal UI
✅ Simple API
🎨 Theme support

Setup

The intro and outro/outro_cancel functions will print a message to begin and end a prompt session respectively.

```rust use cliclack::{intro, outro};

intro("create-my-app")?; // Do stuff outro("You're all set!")?; ```

Input

The input prompt accepts a single line of text trying to parse it into a target type.

```rust use cliclack::input;

let path: String = input("Where should we create your project?") .placeholder("./sparkling-solid") .validate(|input: &String| { if input.isempty() { Err("Please enter a path.") } else if !input.startswith("./") { Err("Please enter a relative path") } else { Ok(()) } }) .interact()?; ```

🎨 Theme

A custom theme can be applied for UI rendering. An example of theme customization:

sh cargo run --example theme

CliClack Magenta Theme

See more