Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. promkit

promkit

MITRustv0.16.0

A Rust toolkit for building custom interactive terminal prompts with modular components and rich presets.

Visit WebsiteGitHubGitHub
468 stars11 forks0 contributors

What is promkit?

Promkit is a Rust toolkit for building interactive command-line prompts. It provides modular components and high-level presets to create terminal interfaces like text inputs, selection lists, forms, and tree displays. It solves the problem of implementing cross-platform terminal interactions from scratch.

Target Audience

Rust developers building command-line applications that require interactive user input, such as configuration wizards, data selection tools, or administrative interfaces.

Value Proposition

Developers choose Promkit for its modular architecture, rich set of pre-built components, and cross-platform support via crossterm, which reduces boilerplate and complexity compared to manual terminal handling.

Overview

Make interactive prompt in Rust

Use Cases

Best For

  • Building CLI tools with interactive configuration wizards
  • Creating searchable selection interfaces for data filtering
  • Implementing password input with validation and masking
  • Displaying and navigating hierarchical data like file systems
  • Parsing and interactively exploring JSON data in the terminal
  • Developing forms with multiple text input fields in Rust CLIs

Not Ideal For

  • Projects written in languages other than Rust that require interactive CLI prompts
  • Applications needing only basic stdin/stdout input without advanced features like auto-completion or selection lists
  • Teams prioritizing stable, version 1.0+ libraries for long-term production code maintenance
  • Use cases demanding highly customized terminal graphics or animations beyond standard widget-based interfaces

Pros & Cons

Pros

Cross-Platform Compatibility

Uses crossterm to handle terminal rendering on both UNIX and Windows, ensuring consistent behavior without platform-specific code, as highlighted in the README's features.

Modular Architecture

Separated into core, widgets, presets, and derive crates, allowing developers to pick and extend components flexibly, reducing boilerplate for custom prompts.

Rich Preset Components

Includes ready-to-use interfaces like Readline with auto-completion, QuerySelector for searchable lists, and Tree for hierarchical data, demonstrated in the examples with GIFs.

Derive Macro Simplification

The promkit-derive crate automates trait implementations for interactive forms, making form handling more straightforward with less manual code, as noted in the modular architecture.

Cons

Pre-1.0 Stability Risks

At version 0.12.1, the API is still evolving, which could lead to breaking changes in future updates, posing a risk for production-grade applications.

Rust-Only Limitation

Exclusively for Rust projects, so it's unsuitable for teams using other languages, and the Rust ecosystem learning curve might deter some developers.

Modular Dependency Overhead

The separation into multiple crates increases dependency complexity and potential binary size compared to more integrated or lightweight alternatives.

Frequently Asked Questions

Quick Stats

Stars468
Forks11
Contributors0
Open Issues8
Last commit1 day ago
CreatedSince 2022

Tags

#prompt-toolkit#interactive#readline#terminal#tui#cli#widgets#form-input#command-line#crossterm#rust#prompt

Built With

c
crossterm
R
Rust

Links & Resources

Website

Included in

Rust56.6k
Auto-fetched 9 hours ago

Related Projects

ratatui-org/ratatuiratatui-org/ratatui

A Rust crate for cooking up terminal user interfaces (TUIs) 👨‍🍳🐀 https://ratatui.rs

Stars22,522
Forks770
Last commit22 hours ago
clap-rsclap-rs

A full featured, fast Command Line Argument Parser for Rust

Stars16,690
Forks1,247
Last commit12 hours ago
indicatifindicatif

A command line progress reporting library for Rust

Stars5,211
Forks287
Last commit22 hours ago
CursiveCursive

A Text User Interface library for the Rust programming language

Stars4,846
Forks269
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub