A curated drawer of CLI and terminal building blocks for Node, grouped by the job they do.
Turn functions or arg schemas into full command-line apps.
| Resource | Why it is useful |
|---|---|
| clii | Write functions, add JSDoc, and clii turns them into a CLI automatically. |
| cliss + magicli | Turn a plain function into a CLI. |
| cleffa | Simple CLI file runner: cleffa ./file. |
| cmd-ts | Type-driven argument parser for TypeScript CLIs. |
| cac | Small library for building command-line apps. |
| cleye | Typed CLI argument parser. |
| Resource | Why it is useful |
|---|---|
| @clack/prompts | Polished, interactive prompt components. |
| omelette | Shell autocomplete for your CLI. |
| clui (demo) | Interactive command autocomplete UI. |
| qnm fuzzy-search | Fuzzy search implementation worth borrowing. |
| Resource | Why it is useful |
|---|---|
| tasuku | Beautiful task output, ora-like. |
| mico-spinner | Tiny spinner alternative to ora. |
| @topcli/spinner | Multiple concurrent spinners. |
| listr | Run tasks in a list with status output. |
| tasktree | Taskr-style nested task logs. |
| progress.js | Loading / progress display. |
| Resource | Why it is useful |
|---|---|
| consola | Nice, configurable console output. |
| log-update | Update log output in place. |
| updatable-log | Updatable and clearable logging. |
| cli-truncate | Truncate strings to terminal width. |
| logger | Customizable logging. |
| pretty-print-error | Format errors as nice colored strings. |
| miette | Rust-miette-style underlined diagnostic output. |
| Resource | Why it is useful |
|---|---|
| gradient-string | Pretty gradient text. |
| concolor | Console colors via template-tag variable names. |
| figlet.js | Large ASCII-art text banners. |
| sisteransi | Low-level ANSI escape-code helpers. |
| isansi | Verify whether output contains ANSI color. |
| Resource | Why it is useful |
|---|---|
| react-blessed / neo-blessed | React renderer for blessed terminal UIs. |
| table-layout | Render tabular terminal layouts. |
| columnify | Format data into aligned columns. |
| ink-table | Table component for Ink-based CLIs. |
| terminal-img | Draw images directly in the terminal. |
| Resource | Why it is useful |
|---|---|
| terminal-link | Create clickable hyperlinks in the terminal. |
| launch-editor | Open files in the user's editor. |
| node-copy-paste | Read and write the system clipboard. |
| Resource | Why it is useful |
|---|---|
| std-env | Detect runtime environment (CI, platform, etc.). |
| get-port-please | Find an available port. |
| port-scanner | Scan ports. |
| Resource | Why it is useful |
|---|---|
| graceful-goodbye / when-exit | Run cleanup handlers on graceful exit. |
| user-startup | Auto-start commands on login, cross-platform. |
| svg-term-cli | Record terminal output to SVG. |
| Resource | Why it is useful |
|---|---|
| cli-testing-library | Test CLI apps with a Testing-Library-style API. |