~~SLIDESHOW~~ ====== Command Line Apps ====== Entertainment ((Music, Social Media, Video, Movies, Games, Books)) Development ((Text Editors, Web Development, Mobile Development, Database, Devops, Release, Npm, Boilerplate)) - 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)) - Command Line Learning Data Manipulation ((JSON, Text)) - Files and Directories ((File Managers; Deleting, Copying, and Renaming; Files, Directory Listing, Directory Navigation, Search)) - Version Control ((Git)) Images ((Gif Creation, Image Conversion, SVG, Screensavers, Graphics, Just for Fun, Other - Emoji)) References ===== 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. ===== 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. ===== 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. ===== 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 ===== * [[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. ===== 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. ===== Devops ===== * [[htconvert]] - Convert .htaccess redirects to nginx.conf redirects. * [[aws-cli]] - Universal Interface for Amazon Web Services. * [[azure-cli]] - Command-line tools for Azure. * [[SAWS]] - Supercharged AWS CLI. * [[s3cmd]] - Fully-Featured S3 client. * [[lstags]] - Synchronize Docker images across different registries. * [[pm2]] - Production Process Manager for Node.js. * [[dockly]] - Interactively manage Docker containers. * [[ops]] - Unikernel compilation and orchestration tool. * [[lazydocker]] - Simple docker/docker-compose interface. * [[flog]] - A fake log generator for log formats such as apache-common, apache error and RFC3164 syslog. * [[isitfit]] - Manage AWS EC2 rightsizing. * [[docker-shell]] - Simple interactive docker interface. ===== 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. * [[vidirsyncer]] - CalDAV sync. ===== 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. ===== 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 ===== * [[underscore-cli]] - Command-line utility-belt for hacking JSON and Javascript. * [[ramda-cli]] - A CLI tool for processing data with functional pipelines. * [[yaml-cli]] - A simple CLI for querying and updating YAML files. * [[q]] - A command line tool that allows execution of SQL-like queries on CSVs/TSVs (and any other tabular text files). * [[yq]] - Command-line YAML processor (Uses the same syntax as jq). ===== JSON ===== * [[jq]] - JSON processor. * [[jp]] - Simply parse and drill into JSON on the commandline, with jsonpath and stdin stream support (jq compatible, not a replacement). * [[fx]] - Command-line JSON viewer. * [[vj]] - Makes JSON human readable. * [[strip-json-comments-cli]] - Strip comments from JSON. * [[GROQ]] – JSON processor with queries and projections. ===== Text ===== * [[parse-columns-cli]] - Parse text columns, like the output of unix commands. Returns JSON that you can manipulate with tools like jq or underscore-cli. * [[figlet]] - Creates large text out of ASCII characters. ===== 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. ===== Files and Directories - 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. ===== Files and Directories - 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. ===== Files and Directories - 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. ===== Files and Directories - 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. ===== Files and Directories - 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 - Git ===== * [[CLI GitHub]] - :tv: 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]] - :four_leaf_clover: 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. ===== 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. ===== 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. ===== References ===== https://project-awesome.org/agarrharr/awesome-cli-apps https://github.com/herrbischoff/awesome-command-line-apps#readme https://github.com/stevemao/awesome-git-addons#readme https://github.com/alebcay/awesome-shell#readme https://github.com/k4m4/terminals-are-sexy#readme https://github.com/unixorn/awesome-zsh-plugins#readme https://github.com/sindresorhus/awesome-nodejs#command-line-apps MacOS - https://github.com/herrbischoff/awesome-macos-command-line#readme