awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
bombshell-dev avatar

bombshell-dev/clack

0
View on GitHub↗
7,878 星标·204 分支·TypeScript·6 次浏览bomb.sh/docs/clack/basics/getting-started↗

Clack

Clack is a Node.js CLI framework and prompt library designed for building stylized, interactive command-line user interfaces. It provides a toolkit for creating terminal applications that collect structured user input and display formatted information.

The library includes a set of interactive terminal UI components, such as validated input fields for text and passwords, searchable selection menus with autocomplete, and grouped options for user choice. It also provides mechanisms for process visualization, including loading spinners, progress bars, and sequential task lists to communicate background activity.

The framework covers terminal user interface design through the use of boxed text, notes, and structured layouts to improve readability. These capabilities are supported by an architecture that handles ANSI-based rendering and asynchronous input collection.

Features

  • Interactive CLI Prompts - Provides a comprehensive library of interactive CLI prompts for collecting structured user input.
  • Interactive Menus - Ships interactive selection menus featuring searchable autocomplete and grouped options for user choice.
  • Interactive Terminal Menus - Implements searchable selection menus and autocomplete lists for choosing options in terminal applications.
  • Screen Buffers - Uses screen buffers to accumulate UI changes in memory and prevent flickering during terminal updates.
  • Interactive CLI Tooling - Offers a framework for building command-line tools with stylized interfaces and real-time updates.
  • Terminal Interaction - Provides a kit of terminal interaction components including spinners, progress bars, and structured text blocks.
  • Input Event Loops - Employs a non-blocking input event loop to capture raw keystrokes for immediate UI responsiveness.
  • Interactive Input Collection - Provides validated forms and interactive prompts for collecting text, passwords, and file paths.
  • ANSI Escape Sequence Renderers - Implements ANSI escape sequences to control text styling, colors, and cursor positioning in the terminal.
  • CLI Process Visualizations - Communicating background activity to users through loading spinners, progress bars, and sequential task lists.
  • State-Driven UI Rendering - Updates the terminal display by reconciling current and desired screen states to overwrite specific lines.
  • Input Collection Components - Provides validated input fields and masks for collecting text, passwords, dates, and file paths.
  • Status Indicators - Includes loading spinners, progress bars, and sequential task lists to indicate background process status.
  • Node.js Terminal Frameworks - A comprehensive Node.js framework for creating stylized, interactive terminal user interfaces.
  • Visual Layout Formatters - Renders structured information using boxed text, notes, and streamed multi-line output for improved readability.
  • Promise-Based Flow Control - Wraps synchronous terminal interactions in promises to enable asynchronous control flow during user input.
  • Extensible Component Architectures - Decouples visual prompt and spinner presentation from the underlying input collection and validation logic.
  • Terminal User Interfaces - Provides tools to build, style, and manage structured layouts and interactive text-based interfaces.

Star 历史

bombshell-dev/clack 的 Star 历史图表bombshell-dev/clack 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Clack 的开源替代方案

相似的开源项目,按与 Clack 的功能重合度排序。
  • sboudrias/inquirer.jsSBoudrias 的头像

    SBoudrias/Inquirer.js

    21,578在 GitHub 上查看↗

    Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured set of tools for building interactive terminal interfaces, including menus, checklists, and text inputs, to gather user data and manage complex interactions. The framework allows for the creation of dynamic user experiences through branching prompt logic and the resolution of asynchronous configurations. Users can define custom prompts using a provided API and localize interface text into different languages. The library covers a wide range of input capabilities, including sing

    TypeScriptclicommand-linejavascript
    在 GitHub 上查看↗21,578
  • dthree/vorpaldthree 的头像

    dthree/vorpal

    5,628在 GitHub 上查看↗

    Vorpal is a Node.js interactive CLI framework and terminal user interface library used to build extensible command-line shells. It functions as an interactive command-line parser that converts string input into executable functions, managing the lifecycle of terminal sessions and command routing. The framework is distinguished by a plugin-based extension architecture that allows external modules to register new commands, shared behaviors, and complete command suites into the core environment. It supports the creation of custom shell environments with specialized namespaces and a system for pe

    JavaScript
    在 GitHub 上查看↗5,628
  • charmbracelet/gumcharmbracelet 的头像

    charmbracelet/gum

    22,814在 GitHub 上查看↗

    Gum is a toolkit for building interactive, visually styled command-line interfaces and prompts directly within shell scripts. It functions as a library of modular components that allow developers to enhance terminal workflows by adding structured layouts, formatted text, and user-input widgets to standard command-line operations. The project distinguishes itself by providing a suite of specialized utilities for common shell tasks, such as fuzzy-matched selection menus, interactive file system navigation, and confirmation dialogs. It translates high-level styling and layout instructions into t

    Gobashshell
    在 GitHub 上查看↗22,814
  • chjj/blessedchjj 的头像

    chjj/blessed

    11,854在 GitHub 上查看↗

    This project is a terminal user interface library for Node.js, designed to facilitate the construction of interactive command-line applications. It provides a comprehensive toolkit of high-level widgets that abstract complex terminal escape codes and rendering logic, allowing developers to build functional interfaces using reusable components. The framework distinguishes itself by implementing a box-model-based layout engine and a virtual DOM-style reconciliation system. These mechanisms enable responsive design patterns—such as percentage-based sizing and relative positioning—to function wit

    JavaScript
    在 GitHub 上查看↗11,854
查看 Clack 的所有 30 个替代方案→

常见问题解答

bombshell-dev/clack 是做什么的?

Clack is a Node.js CLI framework and prompt library designed for building stylized, interactive command-line user interfaces. It provides a toolkit for creating terminal applications that collect structured user input and display formatted information.

bombshell-dev/clack 的主要功能有哪些?

bombshell-dev/clack 的主要功能包括:Interactive CLI Prompts, Interactive Menus, Interactive Terminal Menus, Screen Buffers, Interactive CLI Tooling, Terminal Interaction, Input Event Loops, Interactive Input Collection。

bombshell-dev/clack 有哪些开源替代品?

bombshell-dev/clack 的开源替代品包括: sboudrias/inquirer.js — Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured… dthree/vorpal — Vorpal is a Node.js interactive CLI framework and terminal user interface library used to build extensible… charmbracelet/gum — Gum is a toolkit for building interactive, visually styled command-line interfaces and prompts directly within shell… chjj/blessed — This project is a terminal user interface library for Node.js, designed to facilitate the construction of interactive… yaronn/blessed-contrib — blessed-contrib is a terminal user interface framework and a Node.js console widget library designed for building… enquirer/enquirer — Enquirer is a Node.js library for creating interactive command-line interfaces to gather structured user input. It…