Clack is a framework for building stylish interactive command-line applications in JavaScript.
The tool addresses the challenge of creating polished, user-friendly CLI prompts by providing two complementary layers. The opinionated @clack/prompts package offers ready-to-use, styled prompt components that handle common interaction patterns out of the box. For developers who need more control, @clack/core provides headless, unstyled prompt primitives that can be customized and composed into bespoke interfaces. This layered approach lets teams choose between rapid development with sensible defaults or full control over presentation and behavior.
Clack suits projects where CLI user experience matters—tools that need to gather input from users in a way that feels modern and responsive. Teams building internal tools, scaffolding utilities, or interactive installers will find the styled components particularly valuable for reducing boilerplate. The dual-package design means you are not locked into a single aesthetic; you can adopt the ready-made prompts for straightforward cases and drop down to primitives when your application demands custom styling or interaction patterns.
The project maintains a focused scope on prompt components rather than attempting to be a full CLI framework. Development activity shows consistent engagement with bug fixes and refinements to the prompt implementations. The maintainers respond to issues and incorporate feedback on the prompt behavior and styling. Work continues on improving the core primitives and expanding the component library to cover additional interaction scenarios.