An open API service indexing awesome lists of open source software.

awesome-cli-apps-in-a-csv

The largest Awesome Curated list of command line programs (CLI/TUI) with source data organized into CSV files
https://github.com/toolleeo/awesome-cli-apps-in-a-csv

Last synced: 4 days ago
JSON representation

  • <a name="file-manager"></a>File manager

    • joshuto - ranger-like terminal file manager
    • lf - lf (as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger file manager.
    • ncursesFM - File manager written in C, rather complete in terms of features, especially lightweight and responsive.
    • nnn - "The unorthodox terminal file manager" - a tiny, nearly 0-config and fast file manager supporting all the operations on files and directories.
    • projectable - A TUI file manager built for projects.
    • rnr - The RNR File Manager (RNR's Not Ranger) is a text based file manager that combines the best features of Midnight Commander and Ranger.
    • superfile - Pretty fancy and modern file manager.
    • TUIFI Manager - A cross-platform terminal-based termux-oriented file manager (and component), meant to be used with a Uni-Curses project or as is.
    • walk - Terminal file manager.
    • Yazi - Blazing fast terminal file manager written in Rust, based on async I/O.
    • adbtuifm - A TUI file manager for the Android Debug Bridge, to make transfers between the device and client easier.
    • Better tree - Interactive tree-like terminal file manager.
    • Far2l - Linux port of Far v2 file manager.
    • fml - Simple and fast file manager written in BASH.
    • sfm - Simple file manager for unix-like systems with kernel event notifications, monitoring filesystem events, dual pane and more.
    • RTFM - Feature-rich Terminal File Manager written in Ruby.
    • superfile - Pretty fancy and modern file manager.
    • veld - A modern, tileable, terminal-based file manager built with Python and Textual.
  • <a name="file-renamer"></a>File renamers

    • Bren - Bren is a command line tool for GNU/Linux (and many others). It has support for GNU Guile scripting. Bren is simple, fast, and it's written in C.
    • rename - Included in `util-linux`, allows bulk rename of files with regex support.
    • renameutils - A set of programs to change file and directory names by editing them in-place, I find `imv` especially useful to edit a filename at the program prompt.
    • F2 - Cross-platform command-line tool for batch renaming files and directories quickly and safely.
    • massren - Easily rename multiple files using your text editor.
    • mmv - Rename multiple files using your $EDITOR. The command name is named after multi-mv.
    • mmv-c - Interactively rename files with your favorite editor.
    • moove - Manipulate file names and locations using a text editor.
    • Musort - Rename multiple audio/music files based on the ID3 tag at once.
    • nomino - Batch rename utility for developers.
    • Ren - Ren is a command-line utility that takes find-formatted lines via standard input, and batch renames them.
    • rename - Included in `util-linux`, allows bulk rename of files with regex support.
    • rename-cli - File renamer with TUI interface and preview.
    • Tempren - A powerful file renaming utility that uses flexible template expressions to create new file paths and names.
    • VisioNomicon - A utility that leverages GPT-4V to rename image files based on their content.
    • renamed.to - AI-powered file renamer that analyzes document content (PDFs, scans, images) and generates descriptive filenames in bulk.
  • <a name="file-system"></a>File systems

    • TMSU - A tool for tagging files, it provides a simple command line tool for applying tags and a virtual filesystem so that you can get a tag-based view of your files from within any other program.
    • ipfs-deploy - Zero-Config CLI to Deploy Static Websites to IPFS [IPFS](https://en.wikipedia.org/wiki/InterPlanetary_File_System).
    • sshfs - Locally mount a remote file-system through SSH and access files and directory as they would be on the local machine.
    • wutag - CLI Tool for tagging and organizing files by tags.
  • <a name="file-watch"></a>File watching for changes

    • watch - Periodically runs a command in the console while temporarily clearing the screen content; it makes it easy to check differences between the output of two subsequent commands; it provides "diff" functionality to highlight the changing characters between outputs.
    • Chokidar CLI - Fast cross-platform command line utility to watch file system changes.
    • fswatch - Watch file change, and trigger commands (cross platform).
    • reflex - Reflex is a small tool to watch a directory and rerun a command when certain files change.
    • rwatch - A Rust re-implementation of the classic Unix watch command that allows you to run a command repeatedly and watch its output.
    • Viddy - Modern watch command. Time machine and pager etc.
    • watcher - Watches all the files present in a directory and whenever a file is changed or a file is created/deleted from the directory, it runs a specified command.
    • watchexec - Executes commands in response to file modifications.
    • wfh - Continuously watches your local directories and rsync them against a remote host.
  • <a name="financial"></a>Financial tools

    • hledger - A is fast, reliable, free, multicurrency double-entry accounting software to track money, investments, cryptocurrencies, time, or any other quantifiable commodity; uses a future-proof plain text file format.
    • budget-cli - Import, de-dupe, categorize, and report on financial transactions.
    • abandon - A text based, double-entry accounting system inspired by Ledger with infinite precision arithmetic. Made in Java. Includes a GUI.
    • beancount - Double-entry bookkeeping computer language that lets you define financial transaction records in a text file, read them in memory, generate a variety of reports from them, and provides a web interface.
    • bits - CLI tool and pure Python library for Bitcoin.
    • budget_tracker_tui - A simple TUI budget tracker app built in rust. Designed to track income and expenses and help visualize and gather basic insights from your transactions.
    • cash-cli - Convert Currency Rates.
    • Cloudcash - Check your cloud spending from the CLI, from Waybar, and from the macOS menu bar!
    • cointop - A fast and lightweight interactive terminal based UI application for tracking cryptocurrencies.
    • ecb-rates - Fetch exchage rates from the European Central Bank.
    • Invoice - Generate invoices from the command line.
    • Lakshmi - Investing library and command-line interface inspired by the Bogleheads philosophy.
    • ledger - A powerful, double-entry accounting system; it uses a simple yet powerful text syntax to specify the items to account.
    • moeda - A foreign exchange rates and currency conversion using the command line.
    • mop - Stock market tracker for hackers.
    • paycon - Converts pay amounts between different time units.
    • portfolio_rs - A command line TUI tool for managing financial investment portfolios.
    • Puffin - A beautiful TUI dashboard for hledger.
    • Quoter - The console based stock quote tool.
    • Ticker - Terminal stock watcher and stock position tracker.
    • rustledger - Pure Rust implementation of Beancount, a drop-in replacement that is 10x faster with a single binary and no dependencies.
    • Bagels - TUI application where you can track and analyse your money flow.
    • Finance Tracker - TUI financial tracker written in Go, using sqlite database.
    • gocost - Simple TUI application to manage monthly expenses; Built with Go and Bubble Tea framework.
    • stocksTUI - StocksTUI: Real-time stock market data in your terminal.
  • <a name="find"></a>File finding (alternatives to find)

    • plocate - A much faster locate; plocate is a locate based on posting lists, completely replacing mlocate with a much faster (and smaller) index.
    • bfs - A breadth-first version of the UNIX find command.
    • fd - A simple, fast, and user-friendly alternative to find. Written in Rust.
    • Findpick - General purpose file picker combining "find" command with a fuzzy finder.
    • friendly-find - Usable replacement for find.
    • gret - A command-line utility designed to search through directories and files for a regex expression that matches.
    • happyfinder - (another) Fuzzy file finder for the command line.
    • rawhide - File finder that uses C expressions to specify the filenames.
    • trovatore - A fast command-line tool for searching files by name.
    • crtag - CLI for searching directories by tag (UNIX and OS).
  • <a name="flashcard"></a>Anki, decks and flashcards

    • flash-tui - Flashcard app for the terminal.
    • hardv - A CLI flashcard app for UNIX-compatible systems, conforming to the UNIX philosophy.
    • mdfc - Easily create and study flashcards using a Markdown file with spaced repetition.
    • py_flashcards - Text-only CLI flashcards parsed from Markdown file.
    • speki - Manage flashcards in the terminal similar to anki.
    • ToRRential Card processor - A command-line program to add a card to Anki using AnkiConnect API.
    • tui-deck - A TUI frontend for Nextcloud Deck app.
    • vocage - Vocage is a minimalistic terminal-based vocabulary-learning tool. It presents flashcards using a spaced-repetition algorithm (e.g. Leitner). Data is stored in a simple plain-text tab-separated values format (TSV).
    • revise-tui - A TUI Anki client. Revise is a command-line program used to schedule the review of items using spaced repetition.
    • GoCard - A lightweight file-based spaced repetition system (SRS) that uses plain Markdown files for flashcards. Perfect for developers who prefer text files, Git version control, and keyboard-driven interfaces.
    • vocage - Vocage is a minimalistic terminal-based vocabulary-learning tool. It presents flashcards using a spaced-repetition algorithm (e.g. Leitner). Data is stored in a simple plain-text tab-separated values format (TSV).
  • <a name="font"></a>Font management

    • FIGlet - Not exactly a font manager, but a nice program for making large letters out of ordinary text; an astonishing number of different fonts is available.
    • toilet - Tries to improve `FIGlet`; can load FIGlet fonts; supports Unicode input and output, color fonts and output, and various output formats, including HTML, IRC and ANSI; uses `libcaca` to produce nice textual effects.
    • cfonts - А command line tool for generating ANSI fonts in the console.
    • fnt - apt for fonts, the missing font manager for macOS/Linux.
    • toilet - Tries to improve `FIGlet`; can load FIGlet fonts; supports Unicode input and output, color fonts and output, and various output formats, including HTML, IRC and ANSI; uses `libcaca` to produce nice textual effects.
    • Iconic Fonts - A collection of over 50 patched fonts featuring over 60,000 icons, tailored specifically for TUIs.
    • FIGlet - Not exactly a font manager, but a nice program for making large letters out of ordinary text; an astonishing number of different fonts is available.
  • <a name="funny"></a>Funny tools

    • asciicquarium - Enjoy the mysteries of the sea from the safety of your own terminal!
    • cmatrix - ncurses program that display the scrolling lines found in the movie `The matrix`.
    • cowthink - Same as `cowsay`, but uses a "think" bubble instead of a speech bubble.
    • fortune - Generates random messages fetched from a quotation database.
    • Steam Locomotive - A steam locomotive traverses the screen from right to left if `sl` is typed instead of `ls`.
    • Steam Locomotive - A steam locomotive traverses the screen from right to left if `sl` is typed instead of `ls`.
    • bollywood - Runs terminal screencasts in multiple panes, resulting in another real-time Hollywood-style real-time hacking terminal.
    • boxes - Boxes is a command line filter program which draws ASCII art boxes around your input text.
    • chadsay - Like cowsay, but pronounced by GigaChad.
    • clouddrift - Soft clouds drifting across your terminal.
    • daktilo - Turn your keyboard into a typewriter adding sounds at each keystroke.
    • Draw - draw is an simple drawing tool in the terminal. Hold your mouse down and move it across the screen to draw anything you want!
    • fortune - Generates random messages fetched from a quotation database.
    • HARRY_POTTER_ALIASES - Harry Potter-themed aliases a magical journey through the wizarding world of terminal commands.
    • hollywood - Runs a script turning your Linux terminal into a Hollywood style real-time hacking terminal.
    • Limoji - Limoji is an open source tool that makes it easy to choose between hundreds of cool ASCII emoticons and share them with your friends.
    • matrix-webcam - Take your video conference from within the matrix.
    • pokeget - A bash script you can use to display cool sprites of Pokemon in your terminal.
    • ponysay - Pony rewrite of cowsay.
    • pyjokes - One line jokes for programmers (jokes as a service).
    • Russhian Roulette - 1/6 chance of posting your SSH private key on pastebin (do you really want to try?).
    • yosay - Like cowsay, but for yeoman.
    • kyun - Kyun is a low productivity, low fidelity, low customizablity text editor that has its focus firm on user discomfort.
    • bucklespring - Emulates the sound of the old IBM Model-M space saver bucklespring keyboard while typing.
    • Splash - Program that adds color to your logs to make them easier to read.
    • ting - The program provides audio feedback on the command line.
  • <a name="games"></a>Games

    • Angband - Angband is a free, single-player dungeon exploration game.
    • anonymine - Curses mode minesweeper without guessing and other original features.
    • bastet - (Bastard Tetris) implements the classical Tetris but with a logic to generate the next block which maximizes the difficulty for the player.
    • Cataclysm: Dark Days Ahead - Open source turn-based survival RPG development project.
    • Dwarf fortress - A fantasy game using ASCII art graphical representation of the game environment, it features a rich environment with many options and possibilities.
    • freesweep - A Minesweeper clone for the terminal which allows you to configure settings such as table rows and columns up to 1024x1024!), percentage of bombs, colors, and also has a high scores table.
    • Frotz - Frotz is an interpreter for Infocom games and other Z-machine games.
    • greed - A game of consumption. Eat as much as you can before munching yourself into a corner.
    • Nethack - Single player rogue-like dungeon exploration game.
    • Oldrunner - Character-based remake of Lode Runner, includes all the original 150 levels.
    • Slash'EM - Rogue-like game derived from `nethack` offering extra features, monsters, and items; includes a GUI version.
    • Terminal Phase - A space shooter game you can play in your terminal.
    • 2048-cli - A 2048 clone that run in the terminal.
    • asterion - Find your way through an inifinite maze in this multiplayer ssh game. Beware of the minotaurs!
    • bastet - (Bastard Tetris) implements the classical Tetris but with a logic to generate the next block which maximizes the difficulty for the player.
    • blackjack - IRC bot to play blackjack.
    • Cemetery Escape - A game in which you must escape the cemetery. Search tombstones to find the key. Then head for the door, but watch out for ghosts.
    • cheezee - Chess TUI client built for Linux.
    • chess-tui - Play chess from your terminal.
    • chs - Play chess against the Stockfish engine in your terminal.
    • cli-chess - A highly customizable way to play chess in your terminal. Play online (via Lichess.org) and offline against the Fairy-Stockfish engine. All Lichess variants are supported.
    • clidle - Wordle, now over SSH.
    • crappybird-py - Flappy bird.
    • dans-dungeon - A dungeon crawler engine written in Python.
    • Dino - A C++ and ncurses rendering of the popular chrome dinosaur game on the terminal.
    • Durak - Durak card game for two in a terminal.
    • escaping-figures-game-cli - Count figure's occurrences in the escaping figures matrix.
    • Flapioca - A Flappy Bird-inspired terminal game written in Go.
    • gambit - Chess board in your terminal.
    • gg - A collection of games you can play in your terminal; written in Go.
    • go-sweep - Minesweeper game in the command line programmed in Go.
    • greed - A game in which the goal is to move and consume all the numbers in a table.
    • guess-word-cli - Find out a source word which characters was shuffled and moreover an extra character was added to bring some complexity.
    • hangman - A Go TUI Hangman game built with the lovely BubbleTea framework.
    • Language-games - Dead simple games made with word vectors.
    • Maze of Me - A deeply personal psychological game powered by AI and real user data.
    • mazter - A maze in your terminal.
    • minesweeper - Cross-platform terminal based minesweeper.
    • Minesweeper Game - A small command line Minesweeper Game.
    • nc2048 - A ncurses 2048 game that can be played in the terminal.
    • othello-cli - othello-cli is a CLI version of Othello (Reversi) written in Rust. You can play against another player, the AI, or watch two AIs play each other.
    • Pokete - A terminal based Pokemon like game.
    • rebels-in-the-sky - P2P terminal game about spacepirates playing basketball across the galaxy.
    • rooshk - A command line game in which you act as god over a sandbox world.
    • rpg-cli - Your filesystem as a dungeon!
    • Sausage - Terminal word forming game, written in Bash, inspired by Bookworm.
    • shellphone - Terminal based Terraria player file editor.
    • sku - Simple TUI written in go to play sudoku in the terminal.
    • Solitaire TUI - Klondike solitaire for the terminal.
    • sshattrick - Play Hattrick in your terminal over SSH.
    • sssnake - (Smart and sexy snake) The classic snake game for the terminal that can plays itself and be use like a screensaver.
    • T-RexC - Simple Console Google T-Rex Game.
    • terdle - Wordle implemented in Rust.
    • term-asteroids - An Asteroids-like game, running in a terminal, written in PHP.
    • Terminal Roulette - Your own roulette table in the terminal.
    • terminal-doom - Play DOOM in modern terminals.
    • terminal_board_games - Board games for the terminal.
    • terminordle - Inspired by the popular online game wordle made, you can play a pretty close replica of the original locally or multiplayer over the network.
    • tetrs - Tetromino game engine and terminal application to play Tetris, written in Rust.
    • tui-sudoku - tui-sudoku is a configurable terminal interface sudoku game, with quite a few features.
    • tuifoop - Terminal puzzle game with the goal of removing as many cells as possible (or even all cells) from a grid. A terminal clone of Swell Foop.
    • usolitaire - Solitaire in your terminal.
    • Wordle Solver - A bash script that can solve wordle riddles.
    • wordle-curses - A simple TUI wordle game with curses.
    • Words - A set of word-based puzzle games for the CLI while you wait for the build to run.
    • awkaster - Pseudo-3D shooter written completely in gawk using raycasting technique.
    • Balatro TUI - A minimal TUI clone of Balatro built in Rust.
    • Bashtaker - Demake of Helltaker (videogame) written in bash.
    • botany - A command line, realtime, virtual plant buddy.
    • Brick Game emulator - Brick Game emulator that uses 4-bit microcontroller from Holtek.
    • csol - Collection of solitaire/patience games, such as Klondike, FreeCell, Spider, and Yukon.
    • CTetris++ - Feature-rich Tetris game written in C++ that runs in terminal with customizable visual styles and smooth gameplay.
    • DOOM-ASCII - Text-based DOOM running in terminal without sound.
    • Gameboy Emulator - A PHP Terminal GameBoy Emulator.
Categories
<a name="graphics"></a>Graphics 109 <a name="networking"></a>Networking 101 <a name="music"></a>Sound and music 101 <a name="games"></a>Games 100 <a name="git"></a>Git and accessories 80 <a name="programming"></a>Programming 77 <a name="todo-manager"></a>Todo managers 69 <a name="text-processing"></a>Text processing 58 <a name="monitor"></a>System monitoring 54 <a name="chat"></a>Chat and instant messaging 52 <a name="utility"></a>Utilities 51 <a name="viewers"></a>Viewers 51 <a name="transfer"></a>Data transfer 50 <a name="ai"></a>AI / ChatGPT 50 <a name="system"></a>System tools 49 <a name="data-management-json"></a>Data management - JSON/YAML/etc. 48 <a name="online"></a>Online search and resources 43 <a name="security"></a>Security and encryption 40 <a name="data-management-tabular"></a>Data management - Tabular data 37 <a name="animation"></a>Animation 36 <a name="editors"></a>Editors 36 <a name="webdev"></a>Web development 35 <a name="writing"></a>Writing 34 <a name="note-taking"></a>Note taking 33 <a name="cheatsheet"></a>Commands cheatsheet and snippets 33 <a name="file-handling"></a>File and file system handling 31 <a name="monitor-top"></a>Process viewers and monitoring (alternatives to top) 30 <a name="file-manager"></a>File manager 29 <a name="time-tracker"></a>Time trackers 28 <a name="shells"></a>Shells 28 <a name="launcher"></a>Command launchers 28 <a name="terminal"></a>Terminals 27 <a name="email"></a>Email 26 <a name="funny"></a>Funny tools 26 <a name="package-manager"></a>Package managers 26 <a name="financial"></a>Financial tools 25 <a name="password-manager"></a>Password managers 24 <a name="typing"></a>Typing test and practice 23 <a name="office"></a>Office tools 23 <a name="cd"></a>Directory changers (alternatives to cd) 23 <a name="browser"></a>Web browser 23 <a name="science"></a>Science 23 <a name="organizers"></a>Organizers and calendars 22 <a name="devops"></a>DevOps 22 <a name="vm"></a>Containerization and virtualization 21 <a name="calc"></a>Calculators 21 <a name="productivity"></a>Productivity 20 <a name="backup"></a>Backup 20 <a name="data-management"></a>Data management 19 <a name="option-picker"></a>Fuzzy finders and option pickers 19 <a name="conversion"></a>Conversion 18 <a name="text-search"></a>Text search (alternatives to grep) 18 <a name="file-dir-cleanup"></a>Clean up of files and directories 17 <a name="file-renamer"></a>File renamers 16 <a name="video"></a>Video 16 <a name="ai-cli-commands"></a>AI terminal command generator 16 <a name="disk-analyzer"></a>Disk usage analyzers 15 <a name="rm"></a>File deletion and trash bin (alternatives to rm) 15 <a name="prompt"></a>Prompts 13 <a name="programming-boilerplate"></a>Program templates and boilerplate 13 <a name="copilot"></a>Co-pilot 12 <a name="screen-recorder"></a>Screen recorder 12 <a name="ls"></a>File listing (alternatives to ls) 12 <a name="diff"></a>Diff 12 <a name="rss"></a>RSS 12 <a name="file-explorer"></a>File explorer and tree visualization 11 <a name="flashcard"></a>Anki, decks and flashcards 11 <a name="copy-paste"></a>Copy/paste and clipboard 11 <a name="find"></a>File finding (alternatives to find) 10 <a name="learning"></a>Learning and didactic tools 10 <a name="torrent"></a>Torrent 10 <a name="file-watch"></a>File watching for changes 9 <a name="markdown"></a>Markdown 9 <a name="versioning"></a>Versioning 8 <a name="text-search-replace"></a>Text search and replace (alternatives to sed) 8 <a name="screensaver"></a>Screen savers 7 <a name="font"></a>Font management 7 <a name="religion"></a>Religion 6 <a name="history"></a>History management 6 <a name="file-system"></a>File systems 4 <a name="pastebin"></a>Pastebin 3
Sub Categories