A Node.js library for creating beautiful, interactive CLI task lists with multiple renderers and robust error handling.
listr2 is a Node.js library for creating interactive task lists in command-line interfaces. It allows developers to define tasks with progress indicators, error handling, and multiple renderers, making CLI tools more engaging and user-friendly. It solves the problem of building complex CLI workflows with clear visual feedback and structured execution.
Node.js developers building CLI applications, tools, or scripts that require multi-step processes, progress tracking, or interactive user prompts.
Developers choose listr2 for its simplicity, flexibility, and rich feature set—including multiple renderers, robust error handling, and prompt integration—which streamline CLI development while providing a polished user experience.
NodeJS Task List derived from the best! Create beautiful CLI interfaces via easy and logical to implement task lists that feel alive and interactive.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers default, verbose, silent, and custom renderers, allowing tailored CLI output styles, as demonstrated in the demo and documentation for flexibility in display.
Includes built-in error collection, retry logic, and rollback capabilities, making it reliable for handling task failures in complex workflows without manual intervention.
Supports running tasks in parallel or sequentially with configurable concurrency settings, enabling efficient processing of independent tasks in CLI applications.
Integrates user input via adapters for Enquirer and Inquirer, facilitating interactive CLI wizards and setups without reinventing prompt handling.
As a monorepo with separate packages for extensions and prompt adapters, initial configuration can be more involved than simpler task runners, especially for basic use cases.
Prompt functionality depends on external libraries like Enquirer or Inquirer via adapters, which may introduce version compatibility issues or additional maintenance overhead.
The rendering and task management features add computational overhead, which might not suit performance-critical scripts or environments with limited resources.