awesome-cli-apps/readme.md
2024-09-27 16:24:13 +00:00

38 KiB
Raw Blame History

awesome cli apps


Awesome

A curated list of command line apps.

Inspired by the awesome list thing.

Table of Contents


Entertainment

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

Music

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

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

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.
  • 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 youre doing and track what youve 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.

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 notetaking, 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

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

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

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-trival math expressions. Unit conversions, symbolic calculations and more.

Weather

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 influnced 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.

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.
  • 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.
  • 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 structrual search, linting and rewriting.
  • rawhide - Find files using pretty C expressions.

Version Control

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

Git

GitHub

Emoji

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 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

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

License

CC0

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