Awesome
Awesome CLI
A curated list of things related with Command Line Interfaces (CLI).
Contents
Animation
<div align="center"> <br> <img width="500" src="https://github.com/sindresorhus/ora/raw/main/screenshot.svg?sanitize=true"> <br> <br> </div>- ora - Elegant terminal spinner.
- progress-string - Progress bar to be placed anywhere.
- single-line-log - Keep writing to the same line in the terminal.
Colorize
<div align="center"> <br> <img width="500" src="https://camo.githubusercontent.com/036b5e5ae84937a17ce0a1a424aeb6f7eb23863f/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f6368616c6b2f616e73692d7374796c657340383236313639376339356266333462366337373637653263626539393431613835316435393338352f73637265656e73686f742e737667"> <br> <br> </div>- chalk - Terminal string styling done right.
- chalk-animation - Colorful animations in terminal output.
- gradient-string - Beautiful color gradients in terminal output.
- boxen - Create boxes in the terminal.
- sparkly - Generate sparklines.
Input
<div align="center"> <br> <img width="500" src="https://github.com/terkelg/prompts/raw/master/media/number.gif"> <br> <br> </div>- qoa - Minimal interactive command-line prompts.
- prompts - Lightweight, beautiful and user-friendly interactive prompts.
- ansi-diff-stream - A diff friendly cli input module.
- email-prompt - CLI email prompt featuring autocompletion and validation.
Output
<div align="center"> <br> <img width="500" src="https://camo.githubusercontent.com/7addcc5bd520c8d9fe4274e6c9f42e8494635cec/68747470733a2f2f63646e2e7261776769742e636f6d2f7369646468617274686b702f707265747479636c692f333135656364342f73637265656e73686f742e737667"> <br> <br> </div>- prettycli - Pretty print messages on the terminal.
- fmt-obj - Stringifies any JavaScript object in your console for CLI inspection.
- beauty-error - Getting a beauty error. Oriented for well printed errors.
- terminal-link - Create clickable links in the terminal.
- jsome - Pretty format JSON on terminal.
- term-img - Display images in iTerm.
- neat-log - Logger for stateful Command Line Applications.
- cli-table3 - Pretty unicode tables for the command line.
Framework
<div align="center"> <br> <img src="https://github.com/vadimdemedes/ink/raw/master/media/demo.svg?sanitize=true"> <br> <br> </div>- ink - React for interactive command-line apps.
Helpful
<div align="center"> <br> <img width="500 src="https://github.com/yeoman/update-notifier/raw/main/screenshot.png"> <br> <br> </div>- meow - CLI app helper.
- update-notifier - Update notifications for your CLI app.
- signal-exit - When you want to fire an event no matter how a process exits.
- clipboardy - Access the system clipboard (copy/paste).
- indent-string - Indent each line in a string.
Lovely Commands
<div align="center"> <br> <img width="500" src="https://raw.githubusercontent.com/marionebl/share-cli/master/demo.svg?sanitize=true"> <br> <br> </div>- bat - A cat(1) clone with wings.
- bore - Making tunnels to localhost
- clipboard - Access the system clipboard (copy/paste).
- diff-so-fancy - Good-lookin' diffs with diff-highlight and more.
- dua - Interactive disk usage.
- entrp - Run arbitrary commands when files change (alternative).
- eza - A modern replacement for
ls
. - dog - Command-line DNS client alternative to
dig
. - fd - A simple, fast and user-friendly alternative to
find
. - fx - Command-line JSON processing tool.
- fzf - A command-line fuzzy finder.
- gnomon - Perfect for analyze quickly logs.
- htop - htop is an interactive
top
. - httpstat -
curl
statistics made simple. - hub - It helps you win at git.
- hyperfine - A command-line benchmarking tool.
- jnv - Interactive JSON filter using jq.
- gron - Make JSON greppable.
- glow - Render markdown on the CLI.
- peco - Simplistic interactive filtering tool.
- pup - Parsing HTML at the command line.
- pv - Monitoring the progress of data through a pipeline.
- share - Quickly share files from your command line.
- spot - Tiny search utility.
- zoxide - A smarter cd command. Works on all major shells.
Bibliography
- 12 Factor CLI Apps - 12 principles to build good CLI interfaces.