> A curated list of command line apps.

Inspired by the awesome list thing.

## Table of Contents

- Entertainment
  - Music
  - Social Media
  - Video
  - Movies
  - Games
  - Books
- Development
  - Text Editors
  - Frontend Development
  - Mobile Development
  - Database
  - Devops
  - Docker
  - Release
  - Npm
  - Boilerplate
  - HTTP Server
  - HTTP Client
- Productivity
  - Time Tracking
  - Note Taking and Lists
  - Finance
  - Presentations
  - Calendars
- Utilities
  - macOS
  - Terminal Sharing Utilities
  - Network Utilities
  - Theming and Customization
  - Shell Utilities
  - System Interaction Utilities
  - Markdown
  - Security
  - Math
  - Weather
  - Browser Replacement
  - Internet Speedtest
- Command Line Learning
- Data Manipulation
  - Processors
  - JSON
  - YAML
  - Columns
  - Text
- Files and Directories
  - File Managers
  - Deleting, Copying, and Renaming
  - Files
  - File Sync/Sharing
  - Directory Listing
  - Directory Navigation
  - Search
- Version Control
  - Git
  - GitHub
  - Emoji
- Images
  - Gif Creation
  - Image Conversion
- Screensavers
- Graphics
- Just for Fun
  - Emoji
- Other Awesome Lists
- License

## Entertainment

- newsboat - An extendable RSS feed reader for text terminals.

### Music

- cmus - Small, fast and powerful console music player.
- Instant-Music-Downloader - Instant music downloader.
- itunes-remote - Control iTunes via CLI.
- pianobar - Pandora client.
- somafm-cli - Listen to SomaFM in your terminal.
- mpd - Music Player Daemon.
- ncmpcpp - mpd client.
- moc - Console audio player for Linux/UNIX.
- musikcube - Cross-platform, terminal-based music player, audio engine, metadata indexer, and server.
- beets - Music library manager and tagger.
- spotify-tui - Spotify client.
- swaglyrics-for-spotify - Spotify lyrics.
- dzr - deezer.com player.
- radio-active - Internet radio player with 40k+ stations.
- mpvc - Music player interfacing mpv.

### Video

- youtube-dl - Download videos from YouTube.com and many other video sites.
- streamlink - Extract streams from various websites to a video player of your choosing.
- mps-youtube - Youtube player.
- mpv - Superior video player.
- editly - Declarative video editing.
- yt-dlp - A `youtube-dl` fork with additional features and fixes.

### Movies

- moviemon - Everything about your movies.
- movie - Get movie info or compare movies.

### Games

- Dwarf Fortress - Roguelike construction and management simulation.
- Cataclysm-DDA - Turn-based survival game set in a post-apocalyptic world.
- Pokete - Pokemon-like.

### Books

- epr - epub reader.
- Bible.Js CLI - Bible.
- SpeedRead - Spritz-alike speedreader.
- medium-cli - Read medium.com stories.

### Chat

- WeeChat - Fast, light and extensible chat client.
- irssi - IRC chat client.
- kirc - Tiny IRC client.

## Development

- legit - Generate Open Source licences as files or file headers.
- mklicense - Create a custom LICENSE file painlessly with customized info.
- rebound - Fetch Stack Overflow results on compiler error.
- foy - Lightweight general purpose task runner/build tool.
- just - Modern `make`-like command runner.
- bcal - Byte CALculator for storage conversions and calculations.
- bitwise - Base conversion and bit manipulation.
- cgasm - x86 assembly documentation.
- grex - Generate regular expressions from user-provided test cases.
- gdb-dashboard - Modular visual interface for GDB.
- iola - Socket client with REST API.
- add-gitignore - Interactively generate a .gitignore for your project based on your needs.
- is-up-cli - Check if a domain is up.
- reachable - Check if a domain is up.
- loadtest - Run load tests.
- diff2html-cli - Create pretty HTML from diffs.

### Text Editors

- emacs - An extensible, customizable, free/libre text editor — and more.
- vim - Vim - the ubiquitous text editor.
- neovim - Modern vim.
- kakoune - Modal editor inspired by vim.
- micro - A simple and intuitive editor.
- o - Configuration-free text editor and IDE.
- helix - Modal editor inspired by kakoune.

### Frontend Development

- caniuse-cmd - Search caniuse.com about browser support of features.
- strip-css-comments-cli - Strip comments from CSS.
- viewport-list-cli - Return a list of devices and their viewports.
- surge - Publish static websites for free.

### Mobile Development

- mobicon-cli - Mobile app icon generator.
- mobisplash-cli - Mobile app splash screen generator.
- deviceframe - Put device frames around your mobile/web/progressive app screenshots.

### Database

- mycli - MySQL client with autocompletion and syntax highlighting.
- pgcli - Postgres client with autocompletion and syntax highlighting.
- sqlline - Shell for issuing SQL via JDBC.
- iredis - Redis client with autocompletion and syntax highlighting.
- usql - Universal SQL client with autocompletion and syntax highlighting.

### Devops

- htconvert - Convert .htaccess redirects to nginx.conf redirects.
- SAWS - Supercharged AWS CLI.
- s3cmd - Fully-Featured S3 client.
- pm2 - Production Process Manager for Node.js.
- ops - Unikernel compilation and orchestration tool.
- flog - A fake log generator for log formats such as apache-common, apache error and RFC3164 syslog.
- k9s - Manage Kubernetes Clusters.
- PingMe - Send messages/alerts to multiple messaging platforms & email.
- ipfs-deploy - Deploy static websites to IPFS.
- Discharge - Deploy static websites to Amazon S3.
- updatecli - A declarative dependency management tool.

### Docker

- lstags - Synchronize images across registries.
- dockly - Interactively manage containers.
- lazydocker - Simple docker/docker-compose interface.
- docker-pushrm - Push a readme to container registries.

### Release

- release-it - Automate releases for Git repositories and/or npm packages. Changelog generation, GitHub/GitLab releases, etc.
- clog - A conventional changelog for the rest of us.
- np - A better `npm publish`.
- release - Generate changelogs with a single command.
- semantic-release - Fully automated version management and package publishing.

### Npm

- npm-name-cli - Check whether a package name is available on npm.
- npm-user-cli - Get user info of a npm user.
- npm-home - Open the npm page of the package in the current directory.
- pkg-dir-cli - Find the root directory of a npm package.
- npm-check-updates - Find newer versions of package dependencies than what your package.json allows.
- updates - Flexible npm dependency update tool.
- wipe-modules - Remove `node_modules` of inactive projects.

### Boilerplate

- yo - Scaffolding tool for running Yeoman generators.
- boilr - Create projects from boilerplate templates.
- cookiecutter - Create projects from templates.
- mevn-cli - Light speed setup for MEVN (Mongo Express Vue Node) Apps.
- scaffold-static - Scaffolding utility for vanilla JS.

### HTTP Server

- serve - Serve static files (https, CORS, GZIP compression, etc).
- simplehttp - Easily serve a local directory over HTTP.
- shell2http - Shell script based HTTP server.

### HTTP Client

- HTTPie - A user-friendly HTTP client.
- HTTP Prompt - Interactive HTTP client featuring autocomplete and syntax highlighting.
- ain - HTTP client with a simple format to organize API endpoints.
- curlie - A curl frontend with the ease of use of HTTPie.

## Productivity

- doing - Keep track of what you’re doing and track what you’ve done.
- ffscreencast - A ffmpeg screencast with video overlay and multi monitor support.
- meetup-cli - Meetup.com client.
- NeoMutt - Email client.
- terjira - Jira client.
- ipt - Pivotal Tracker client.
- uber-cli - Uber client.
- Buku - Browser-independent bookmark manager.
- papis - Extensible document and bibliography manager.
- pubs - Scientific bibliography manager.
- fjira - Fuzzy finder and TUI application for Jira.

### Time Tracking

- Timetrap - Simple timetracker.
- moro - Simple tool for tracking work hours.
- Timewarrior - Utility with simple stopwatch, calendar-based backfill and flexible reporting.
- Watson - Generate reports for clients and manage your time.
- utt - Simple time tracking tool.
- Bartib - Easy to use time tracking tool.
- arttime - Featureful timer with native desktop notifications and curated ASCII art.

### Note Taking and Lists

- idea - A lightweight tool for keeping ideas in a safe place quick and easy.
- geeknote - Evernote client.
- Taskwarrior - Manage your TODO list.
- Terminal velocity - A fast note-taking app.
- eureka - Input and store your ideas.
- sncli - Simplenote client.
- td-cli - A TODO manager to organize and manage your TODO’s across multiple projects.
- taskbook - Tasks, boards & notes for the command-line habitat.
- dnote - A interactive, multi-device notebook.
- nb - A note‑taking, bookmarking, archiving, and knowledge base application.
- obs - Interact with your Obsidian vault.

### Finance

See plaintextaccounting.org for a great overview of relevant tools.

- ledger - Powerful, double-entry accounting system.
- hledger - Robust, fast, intuitive plain text accounting tool with CLI, TUI and web interfaces.
- moeda - Foreign exchange rates and currency conversion.
- cash-cli - Convert Currency Rates.
- cointop - Track cryptocurrencies.
- ticker - Stock ticker.

### Presentations

- WOPR - A simple markup language for creating rich terminal reports, presentations and infographics.
- decktape - PDF exporter for HTML presentations.
- mdp - A markdown presentation tool.
- sent - Simple plaintext presentation tool.
- slides - A markdown presentation tool.

### Calendars

- calcurse - Calendar and scheduling.
- gcalcli - Google calendar client.
- khal - CalDAV ready CLI and TUI calendar.
- vdirsyncer - CalDAV sync.
- remind - A sophisticated calendar and alarm program.
- birthday - Know when a friend’s birthday is coming.

## Utilities

- aria2 - HTTP, FTP, SFTP, BitTorrent and Metalink download utility.
- bitly-client - Bitly client.
- deadlink - Find dead links in files.
- crawley - Unix-way web crawler.
- kill-tabs - Kill all Chrome tabs.
- alex - Catch insensitive, inconsiderate writing.
- clevercli - Collection of ChatGPT powered utilities.

### macOS

- open-pip-cli - Watch videos in picture-in-picture player.
- osx-wifi-cli - Manage wifi connections.
- active-win-cli - Get the title/id/etc of the active window.
- stronghold - Configure security settings from the terminal.
- dark-mode - Toggle dark mode.

### Terminal Sharing Utilities

- gotty - Share your terminal as a web application.
- localtunnel - Expose your localhost to the world for easy testing and sharing.
- mosh - Remote SSH client that allows roaming with intermittent connectivity.
- ngrok - Secure introspectable tunnels to localhost.
- tmate - Instant terminal (tmux) sharing.
- warp - Secure and simple terminal sharing.
- OverTime - Time-overlap tables for remote teams.

### Network Utilities

- get-port-cli - Get an available port.
- is-reachable-cli - Check if hostnames are reachable or not.
- acmetool - Automatic certificate acquisition for ACME (Let’s Encrypt).
- certificate-ripper - Extract server certificates.
- neoss - User-friendly and detailed socket statistics.

### Theming and Customization

- splash-cli - Beautiful wallpapers from Unsplash.
- wallpaper-cli - Get or set the desktop wallpaper.
- themer - Generate personalized themes for your editor, terminal, wallpaper, Slack, and more.
- JackPaper - Set images from Unsplash as wallpaper.
- QuickWall - Directly set wallpapers from Unsplash.
- oh-my-posh - Prompt theme engine.

### Shell Utilities

- has - Checks for the presence of various commands and their versions on the path.
- Ultimate Plumber - Write Linux pipes with live previews.
- fkill-cli - Simple cross-platform process killer.
- task-spooler - Queue jobs for linear execution.
- undollar - Strip the ‘$’ preceding copy-pasted terminal commands.
- pipe_exec - Run executables from stdin, pipes and ttys without creating a temporary file.

### System Interaction Utilities

- fastfetch - System information tool.
- battery-level-cli - Get current battery level.
- brightness-cli - Change screen brightness (windows).
- yank - Yank terminal output to clipboard.
- screensaver - Start the screensaver.
- google-font-installer - Download and install Google Web Fonts on your local machine.
- glances - System monitoring tool.
- tiptop - System monitor.
- gzip-size-cli - Get the gzipped size of a file.

### Markdown

- DocToc - Generates table of contents for markdown files.
- grip - Preview markdown files as GitHub would render them.
- mdv - Styled terminal markdown viewer.
- glow - Styled markdown rendering.
- gtree - Use markdown to generate directory trees and the directories itself.

### Security

- pass - Password manager.
- gopass - Fully-featured password manager.
- xiringuito - SSH-based VPN.
- hasha-cli - Get the hash of text or stdin.
- ots - Share secrets with others via a one-time URL.

### Math

- mdlt - Do quick math right from the command line.
- Qalculate - Calculate non-trivial math expressions. Unit conversions, symbolic calculations and more.

### Weather

- wttr.in
- wego
- weather-cli

### Browser Replacement

- s - Open a web search in your terminal.
- hget - Render websites in plain text from your terminal.
- mapscii - Terminal Map Viewer.
- nasa-cli - Download NASA Picture of the Day.
- getnews.tech - Fetch news headlines from various news outlets.
- trino - Translation of words and phrases.
- translate-shell - Google Translate interface.

### Internet Speedtest

- speedtest-net - Test internet connection speed and ping using speedtest.net.
- speed-test - `speedtest-net` wrapper with different UI.
- speedtest-cli - Test internet bandwidth using speedtest.net.
- bandwhich - Track bandwidth utilization by process.

## Command Line Learning

- cmdchallenge - Presents small shell challenge with user submitted solutions.
- explainshell - Type a snippet to see the help text for each argument.
- howdoi - Instant coding answers.
- how2 - Node.js implementation of howdoi.
- The Fuck - Magnificent app which corrects your previous console command.
- tldr - Simplified and community-driven man pages.
- Wat - Instant, central, community-built docs.
- teachcode - Guide for the earliest lessons of coding.
- navi - Interactive cheatsheet tool.
- yai - AI powered terminal assistant.

## Data Manipulation

- visidata - Spreadsheet multitool for data discovery and arrangement.

### Processors

- jq - JSON processor.
- yq - YAML processor.
- dasel - JSON/YAML/TOML/XML processor (like jq/yq).
- yaml-cli - Query/update YAML.
- ramda-cli - Process data with functional pipelines.
- xq - XML and HTML beautifier and content extractor.

### JSON

- jp - JSON parser.
- fx - Command-line JSON viewer.
- vj - Makes JSON human readable.
- underscore-cli - Utility-belt for hacking JSON and Javascript.
- strip-json-comments-cli - Strip comments from JSON.
- GROQ – JSON processor with queries and projections.
- gron - Make JSON greppable.

### YAML

- dyff - YAML diff tool.

### Columns

- parse-columns-cli - Parse text columns to JSON.
- q - Execution of SQL-like queries on CSV/TSV/tabular text file.

### Text

- figlet - Creates large text out of ASCII characters.
- stegcloak - Hide secrets with invisible characters in plain text securely.

## Files and Directories

### File Managers

- ranger - A console file manager with VI key bindings.
- midnight-commander - A feature rich visual file manager.
- Vifm - VI influenced file manager.
- nnn - File browser and disk usage analyzer with excellent desktop integration.
- lf - Fast, extensively customizable file manager.
- clifm - The command line file manager.
- far2l - Orthodox file manager.
- yazi - Blazing fast file manager.

### Deleting, Copying, and Renaming

- trash-cli - Move files and directories to the trash.
- empty-trash-cli - Empty the trash.
- del-cli - Delete files and folders.
- cpy-cli - Copies files.
- rename-cli - Rename files quickly.
- renameutils - Mass renaming in your editor.
- diskonaut - Disk space navigator.

### Files

- chokidar-cli - CLI to watch file system changes.
- file-type-cli - Detect the file type of a file or stdin.
- bat - A cat clone with syntax highlighting.
- NCDu - A disk usage analyzer with an ncurses interface.
- unix-permissions - Swiss Army knife for Unix permissions.
- transmission-cli - Torrent client for your command line.
- webtorrent-cli – Streaming torrent client.
- entr - Run an arbitrary command when files change.
- organize-cli - Organize your files automatically.
- organize-rt - organize-cli in Rust with more customization.
- RecoverPy - Recover overwritten or deleted files.

### File Sync/Sharing

- rclone - Sync files with various cloud providers.
- ffsend - Quick file share.
- share-cli - Share files with your local network.
- google-drive-upload - Upload/sync with Google Drive.
- gdrive-downloader - Download files/folders from Google Drive.
- portal - Send files between computers.
- shbin - Turn a Github repo into a pastebin.
- sharing - Send and receive files on your mobile device.
- ncp - Transfer files and folders, to and from NFS servers.

### Directory Listing

- alder - Minimal `tree` with colors.
- eza - Improved version of `ls`.
- tre - `tree` with git awareness, editor aliasing, and more.
- ll - `ls` with git status.
- lsd - `ls` with many extra features.

### Directory Navigation

- autojump - A cd command that learns - easily navigate directories from the command line.
- pm - The easy way to switch to your projects on the shell.
- z - z is the new j, yo.
- PathPicker - After parsing the output from a command, PathPicker presents you with a nice UI to select which files you’re interested in.
- fz - Seamless fuzzy tab completion for z.
- goto - Directory aliases for the shell with autocomplete.
- z.lua - `cd` command that learns your habits.
- zoxide - Fast directory jumper in Rust.
- tere - A faster alternative to using cd and ls.

### Search

- happyfinder - (another) Fuzzy file finder for the command line.
- find-up-cli - Find a file by walking up parent directories.
- ripgrep - A line-oriented search tool that recursively searches your current directory for a regex pattern.
- fzf - A general purpose command-line fuzzy finder, can be used with any list: files/directories, command history, processes, hostnames, bookmarks, git commits, etc.
- fselect - Find files with SQL-like queries.
- fd - A simple, fast and user-friendly alternative to `find`.
- broot - Fuzzy finder similar to fzf, but with space usage visualization.
- rare - Real-time regex aggregation and analysis.
- skim - A general fuzzy finder written in rust, similar to fzf.
- ast-grep - A tool for code structural search, linting and rewriting.

## Version Control

- SnowFS - A fast, scalable version control system for binaries.

### Git

- git commander - Interactive git tool.
- git-stats - A local GitHub-like contributions calendar.
- dev-time - Get the current local time of a GitHub user.
- tig - Text-mode interface for git.
- grv - Text-mode interface for git with customisable vi bindings.
- git-standup - Recall what you did on the last working day.
- git-secret - Store your private data inside a git repository.
- gitlab-cli - Create GitLab merge requests.
- git-extras - Git utilities.
- gita - Manage multiple git repos side by side.
- readme-md-generator - Interactively generate README.md files.
- semantic-git-commit-cli - Ensure semantic commits messages.
- import-github-labels-cli - Sync labels between Github repos.
- git-all-branches - Improved `git branch -a`.
- czg - Interactively generate standardized commit messages.
- shallow-backup - Git integrated backup tool.
- Lazygit - Simple TUI for git commands.

### GitHub

- CLI GitHub - Fancy GitHub client.
- hub - Make git easier to use with GitHub.
- git-labelmaker - Edit GitHub labels.

### Emoji

- gitmoji-cli - Use emoji in commit messages.
- gitmoji-changelog - Generate gitmoji changelogs.

## Images

- SVGO - Optimize SVG files.
- carbon-now-cli - Generate beautiful images of your code.
- imgur-uploader-cli - Upload images to imgur.
- pageres-cli - Capture website screenshots.

### Gif Creation

- gifgen - Simple high quality GIF encoding.
- gifsicle - Create, manipulate, and optimize GIF images and animations.
- ttygif - Convert terminal recordings to animated gifs.
- ttygif - ttyrec to gif.
- ttystudio - A terminal-to-gif recorder minus the headaches.
- asciinema - Terminal session recorder and companion app for asciinema.org.
- givegif - GIFs on the command line.

### Image Conversion

- imagemagick - Gold standard for anything images.
- imgp - Blazing fast batch image resizer and rotator.
- korkut - Quick and simple image processing.

## Screensavers

- cmatrix - Scrolling ‘Matrix’-like screen.
- pipes.sh - Random pipes that grow across the screen.
- YuleLog - Christmas Yule Log fireplace.
- cli-fireplace - Digital fireplace.

## Graphics

- cli-mandelbrot - Traverse the Mandelbrot fractal.
- sparkly-cli - Generate sparklines ▁▂▃▅▂▇..
- pastel - Generate, analyze, convert and manipulate colors.
- lowcharts - Draw low-resolution graphs.

## Just for Fun

- quote-cli - Get a random quote or the quote of the day in your CLI.
- fortune - Shows a random fortune.
- ponysay - Pony rewrite of cowsay.
- yosay - Like cowsay, but for yeoman.
- lolcat - Outputs text in rainbow colors.
- text-meme - Generate text memes.
- dankcli - Add text to meme image templates.
- ricksay - Quotes from Rick and Morty.

### Emoji

- emoj - Find relevant emoji from text on the command-line.
- emoji-finder - Quickly find and copy emoji to the clipboard via the command-line.
- oji - Interactive text emoji maker.

## Other Awesome Lists

- awesome-git-addons - Addons that extend git cli.
- awesome-shell – Command-line utilities and frameworks.
- terminals-are-sexy – Terminal frameworks, plugins & resources.
- awesome-zsh-plugins – ZSH frameworks, plugins, tutorials & themes.
- awesome-nodejs clis – Node.js modules and resources.

## License

To the extent possible under law, Adam Garrett-Harris has waived all copyright and related or neighboring rights to this work.

cliapps.md Github