mirror of
https://github.com/agarrharr/awesome-cli-apps.git
synced 2024-10-01 01:25:59 -04:00
4f6997a0aa
Co-authored-by: Jonathan Neidel <github@jneidel.com>
39 KiB
39 KiB
A curated list of command line apps.
Inspired by the awesome list thing.
Table of Contents
- Entertainment
- Development
- Productivity
- Utilities
- Command Line Learning
- Data Manipulation
- Files and Directories
- Version Control
- Images
- Screensavers
- Graphics
- Just for Fun
- Other
- Other Awesome Lists
- License
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
- 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.
- nehm - Download tracks from SoundCloud.
- 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.
- playx - Stream songs/playlists from various sources.
- spotify-tui - Spotify client.
- swaglyrics-for-spotify - Spotify lyrics.
Social Media
- facebook-cli - Facebook command line interface.
- TTYtter - Twitter client.
- Rainbowstream - A smart and nice Twitter client on the terminal.
- tuir - Reddit TUI.
- WeeChat - Fast, light and extensible chat client.
- irssi - IRC chat client.
- kirc - Tiny IRC client.
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
Games
- Dwarf Fortress - Roguelike construction and management simulation.
- Cataclysm-DDA - Turn-based survival game set in a post-apocalyptic world.
Books
- epr - epub reader.
- Bible.Js CLI - Bible.
- SpeedRead - Spritz-alike speedreader.
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.
- grip - Preview markdown files with GitHub styles before committing them.
- bitwise - Base conversion and bit manipulator in ncurses.
- foy - Lightweight general purpose task runner/build tool.
- just - Modern
make
-like command runner.
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
- 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.
- 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.
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
- AutoScreenshotUploader - Capture and upload screenshots to imgur.
- bitly-client - Bitly client.
- 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.
- imgur-uploader-cli - Upload images to imgur.
- meetup-cli - Meetup.com client.
- NeoMutt - Email client.
- terjira - Jira client.
- ipt - Pivotal Tracker client.
- g3l - Easiest git cli in the w0rld!
- uber-cli - Uber client.
- Buku - Browser-independent bookmark manager.
- googler - Google from the terminal.
- papis - Extensible document and bibliography manager.
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.
- awesome-finder - Search the awesome lists without a browser.
- mdv - Styled terminal markdown viewer.
- shallow-backup - Git integrated backup tool.
macOS
- open-pip-cli - Watch videos in picture-in-picture player.
- app-path-cli - Get the path to an app.
- bundle-id-cli - Get bundle identifier from a bundle name: Safari → com.apple.Safari.
- bundle-name-cli - Get bundle name from a bundle identifier: com.apple.Safari → Safari.
- lnfs-cli - Safely force create symlinks.
- osx-version-cli - Get the macOS version.
- 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.
- website-popup-cli - Open a website in a popup.
- 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.
- 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
- get-port-cli - Get an available port.
- is-reachable-cli - Check if hostnames are reachable or not.
- 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.
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
- 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.
- neofetch - System information tool.
- Glances - System monitoring tool.
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 using passwords.
Files and Directories
File Managers
- ranger - A console file manager with VI key bindings.
- midnight-commander - A feature rich visual file manager.
- organize-cli - Organize your files, imagine cleaning up your downloads in an instant.
- Vifm - Vifm is an ncurses based file manager with vi like keybindings/modes/options/commands/configuration, which also borrows some useful ideas from mutt.
- 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
- 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 - A cross-platform tool for renaming files quickly, especially multiple files at once.
- renameutils - Mass renaming in your editor.
Files
- chokidar-cli - CLI to watch file system changes.
- file-type-cli - Detect the file type of a file or stdin.
- DocToc - Generates table of contents for markdown files inside local git repository. Links are compatible with anchors generated by github or other sites.
- bat - A cat clone with syntax highlighting.
- NCDu - A disk usage analyzer with an ncurses interface.
- unix-permissions - Swiss Army knife for Unix permissions
- rclone - Sync files to and from various cloud providers (Dropbox, Google Drive, Onedrive, etc.).
- transmission-cli - Torrent client for your command line.
- ffsend - Fully featured CLI for Firefox Send - simple and private file sharing.
- webtorrent-cli – Streaming torrent client.
- share-cli - Share files with your local network.
- google-drive-upload - Upload/sync with Google Drive.
- gdrive-downloader - Download files/folders from Google Drive.
- entr - Run an arbitrary command when files change.
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
- awesome-command-line-apps – An alternative awesome list of cli apps.
- awesome-macos-command-line - Shell commands and tools specific to macOS.
- 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.