/awesome-cli-apps

πŸ–₯ πŸ“Š πŸ•Ή πŸ›  A curated list of command line apps

awesome cli apps


Awesome

A curated list of command line apps.

Inspired by the awesome list thing.

Table of Contents


Entertainment

  • football-cli - Get live scores, fixtures, standings of almost every football competition/league.
  • pockyt - Read, Manage, and Automate your Pocket collection.
  • newsboat - An extendable RSS feed reader for text terminals.

Music

Social Media

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.

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.

Books

Development

  • bcal - Byte CALculator for storage conversions and calculations.
  • cgasm - Gives x86 assembly documentation.
  • 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 in your terminal when you get a compiler error.
  • bitwise - Base conversion and bit manipulator in ncurses.
  • foy - Lightweight general purpose task runner/build tool.
  • just - Modern make-like command runner.
  • grex - Generate regular expressions from user-provided test cases.

Text Editors

  • emacs - An extensible, customizable, free/libre text editor β€” and more.
  • vim - Vim - the ubiquitous text editor.
  • neovim - Vim fork focused on extensibility and usability.
  • kakoune - Modal editor inspired by vim.
  • micro - A simple and intuitive editor.

Web Development

  • caniuse-cmd - Search caniuse.com about browser support of feature.
  • is-up-cli - Check whether a website is up.
  • pageres-cli - Capture website screenshots.
  • strip-css-comments-cli - Strip comments from CSS.
  • viewport-list-cli - Return a list of devices and their viewports.
  • surge - Deploy a directory to the web.
  • acmetool - An automatic certificate acquisition tool for ACME (Let's Encrypt).
  • loadtest - Runs a load test on the selected URL. Easy to extend minimally for your own ends.
  • wp-cli - Manage WordPress installations, update plugins, set up multisite installs and much more.
  • diff2html-cli - Parse git diffs as JSON and generate pretty HTML.
  • HTTPie - A user-friendly HTTP client.
  • serve - Easy to use static file server with features like https, CORS and GZIP compression.
  • add-gitignore - Interactively generate a .gitignore for your project based on your needs.
  • Discharge - Deploy static websites to Amazon S3.
  • reachable - Check if a domain is up.
  • simplehttp - Easily serve a local directory over http.
  • shell2http - Execute shell commands via HTTP server.
  • HTTP Prompt - Interactive HTTP client featuring autocomplete and syntax highlighting.
  • ipfs-deploy - Deploy static websites to IPFS.

Mobile Development

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.
  • isitfit - Manage AWS EC2 rightsizing.
  • k9s - Manage Kubernetes Clusters.
  • PingMe - Send messages/alerts to multiple messaging platforms & email.

Docker

  • lstags - Synchronize images across registries.
  • dockly - Interactively manage containers.
  • lazydocker - Simple docker/docker-compose interface.
  • docker-shell - Simple interactive docker 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.

Productivity

Time Tracking

  • Timetrap - Simple command-line 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.

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 from your command-line.
  • Terminal velocity - A fast note-taking app for the terminal.
  • eureka - Store your ideas without leaving the terminal.
  • sncli - Simplenote client.
  • td-cli - A TODO manager to organize and manage your TODO's across multiple projects.
  • taskell - Interactive kanban board/task manager.
  • taskbook - Tasks, boards & notes for the command-line habitat.
  • dnote - A interactive, multi-device notebook.

Finance

  • ledger - Powerful, double-entry accounting system on the terminal
  • moeda - Foreign exchange rates and currency conversion.
  • cash-cli - Convert Currency Rates.
  • cointop - Track cryptocurrencies.

Presentations

  • WOPR - A simple markup language for creating rich terminal reports, presentations and infographics.
  • decktape - PDF exporter for HTML presentations.
  • mdp - A command-line based markdown presentation tool.
  • sent - Simple plaintext 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.

Utilities

  • archive-type-cli - Detect archive type for a file or stdin.
  • s - Open a web search in your terminal.
  • aria2 - HTTP, FTP, SFTP, BitTorrent and Metalink download utility.
  • wego - Get the weather.
  • weather-cli - Check the weather.
  • mapscii - Terminal Map Viewer.
  • getnews.tech - Fetch news headlines from various news outlets.
  • carbon-now-cli - Generate beautiful images of your code.
  • pass - Password manager.
  • gopass - Fully-featured password manager.
  • awesome-finder - Search the awesome lists without a browser.
  • shallow-backup - Git integrated backup tool.

macOS

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.
  • serveo - Expose local servers to the internet using only a SSH client.
  • seashells.io - Pipe output to the web.
  • teleconsole - Share your UNIX terminal.
  • tmate - Instant terminal (tmux) sharing.
  • warp - Secure and simple terminal sharing.
  • OverTime - Time-overlap tables for remote teams.

Network Utilities

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.
  • pywal - Generate and change color-schemes, then apply them system-wide to all of your favourite programs.
  • QuickWall - Directly set wallpapers from Unsplash.

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

Markdown

  • DocToc - Generates table of contents for markdown files.
  • grip - Preview markdown files as GitHub would render them.
  • mdv - Styled terminal markdown viewer.

Command Line Learning

  • cmdchallenge - presents small shell challenge with user submitted solutions.
  • explainshell - type a command line snippet to see the help text for each argument.
  • howdoi - Instant coding answers via the command line.
  • how2 - Finds the simplest way to do something on a unix bash command line (Nodejs 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 - A tool to develop and improve a student’s programming skills by introducing the earliest lessons of coding.
  • navi - Interactive cheatsheet tool.

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.

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.

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 influnced file manager.
  • nnn - File browser and disk usage analyzer with excellent desktop integration.
  • lf - Fast, extensively customizable file manager.
  • fff - Fast, simple file manager.

Deleting, Copying, and Renaming

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.

File Sync/Sharing

Directory Listing

  • alder - Minimal tree with colors.
  • exa - Improved version of ls.
  • tre - tree with git awareness, editor aliasing, and more.
  • ll - ls with git status.

Directory Navigation

  • autojump - A cd command that learns - easily navigate directories from the command line.
  • fasd - Command-line productivity booster, offers quick access to files and directories, inspired by autojump, z and v.
  • 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.

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.

Version Control

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

Git

  • CLI GitHub - πŸ“Ί A fancy GitHub client for command line.
  • Gistup - Create a gist from terminal, then use git to update it.
  • git commander - A git tool with a easy terminal interface.
  • git-stats - πŸ€ A GitHub-like contributions calendar, but locally, with all your git commits.
  • hub - A command-line wrapper for git that makes you better at GitHub.
  • dev-time - Get the current local time of a GitHub user.
  • git-labelmaker - Edit GitHub labels from the command line.
  • 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 - gitlab cli for creating merge request from the command line.
  • git-extras - Little git extras like git-ignore, git-setup, git-changelog, git-release, git-effort and more.
  • gita - Manage multiple git repos side by side for sanity.
  • readme-md-generator - Generate README.md files interactively.
  • semantic-git-commit-cli - Ensure semantic commits messages.
  • import-github-labels-cli - Sync labels between Github repos.
  • git-all-branches - Improved git branch -a.

Images

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 the best companion of asciinema.org.
  • givegif - GIFs on the command line.

Image Conversion

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

SVG

  • SVGO - SVG Optimizer is a Nodejs-based tool for optimizing SVG vector graphics files.

Screensavers

  • cmatrix - Show a scrolling 'Matrix' like screen.
  • pipes.sh - Shows random pipes that grow across the screen.
  • YuleLog - Terminal based Christmas YuleLog fireplace.
  • cli-fireplace - Shows digital fireplace.

Graphics

  • cli-mandelbrot - A cli for traversing the Mandelbrot fractal.
  • sparkly-cli - Generate sparklines ▁▂▃▅▂▇..
  • pastel - Generate, analyze, convert and manipulate colors.

Just for Fun

  • cowsay - A configurable talking cow (and other animals).
  • 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.

Other

  • birthday - Know when a friend's birthday is coming.
  • detect-indent-cli - Detect the indentation of code.
  • fullname-cli - Get the fullname of the current user.
  • gzip-size-cli - Get the gzipped size of a file or stdin.
  • HASHA -cli - Hashing made simple. Get the hash of text or stdin.
  • kill-tabs - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory.
  • leven-cli - Measure the difference between two strings using the Levenshtein distance algorithm.
  • mdlt - Do quick math right from the command line.
  • medium-cli - Read medium.com stories within your terminal, also gives top stories.
  • open-shortcut-cli - Open the URL from a web shortcut file in the browser.
  • shortcut-url-cli - Get the URL from a web shortcut file.
  • to-double-quotes - Convert matching single-quotes to double-quotes: I 'love' unicorns => I "love" unicorns.
  • to-single-quotes - Convert matching double-quotes to single-quotes: I "love" unicorns β†’ I 'love' unicorns.
  • gdb-dashboard - Modular visual interface for GDB in Python.
  • hget - Render websites in plain text from your terminal.
  • google-wifi-status - A Node.js CLI app that displays status of your Google Wifi / OnHub router.
  • calories - Calories and weight tracker.
  • trino - Trino CLI allows a quick and easy translation of words and phrases entered in the command line.
  • alex - This enhances texts with checking for insensitive, inconsiderate writing by catching many possible offences.
  • xiringuito - A "poor man's VPN". An SSH-based "VPN" that's easy to install, but with slower performance than a real VPN.
  • nasa-cli - Download NASA Picture of the Day from your terminal.
  • googlr - Search Google from the command line.
  • Qalculate - Calculate non-trival math expressions. Unit conversions, symbolic calculations and more.
  • translate-shell - Google Translate interface.

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.
  • gitmoji-cli - Use emoji in commit messages.
  • gitmoji-changelog - Generate gitmoji changelogs.

Other Awesome Lists

License

CC0

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