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="chat"></a>Chat and instant messaging

    • gomuks - A terminal based Matrix client written in Go.
    • iamb - A Matrix client for the terminal that uses Vim keybindings.
    • icy_tools - Icy Term a terminal program for legacy BBS systems, Icy Draw a drawing tool supporting almost all ANSI formats, Icy View a viewer to browse/view Ansi screens, Icy Play a tool that shows icy draw animations on cmd line/bbs.
    • matrix-commander - Simple but convenient CLI-based Matrix client app for sending and receiving.
    • matrixcli - A minimal command line matrix client.
    • matterhorn - A terminal client for the Mattermost chat system.
    • PingMe - Sends messages or alerts to multiple messaging platforms & email, including Slack, Telegram, Mattermost, WeChat, and others.
    • RainbowStream - Twitter client for the terminal allows almost all the operations that can be done from GUI and Web clients.
    • scli - A simple terminal user interface for signal messenger.
    • senpai - A modern terminal IRC client.
    • Servitor - A command-line Fediverse client that doesn’t require a server.
    • signal-cli - signal-cli provides an unofficial command-line, dbus and JSON-RPC interface for the Signal messenger.
    • ssh-chat - Custom SSH server written in Go. Instead of a shell, you get a chat prompt.
    • Telegram messenger CLI - Command-line interface for Telegram using the readline interface.
    • tgbounce - Simple Telegram Assistant that allows replying to messages, clicking buttons from bots, marking messages as read, logging notable messages, and providing desktop notifications, among other features.
    • tiny - tiny is an IRC client written in Rust.
    • toot - Mastodon CLI & TUI.
    • toxic - A Tox-based instant messaging and video chat client.
    • ttchat - Twitch chats in the terminal.
    • TUIR - Text-based interface (TUI) to view and interact with Reddit from your terminal; TUIR is a fork of rtv, featuring vim keybindings and themes.
    • tut - TUI for Mastodon with vim inspired keys.
    • tweets - Decentralized alternative to Twitter that uses git as support tool to manage the tweets.
    • twitch-tui - Twitch chat in the terminal.
    • twterm - A full-featured TUI Twitter client.
    • Weechat-Matrix - A Python script for Weechat that lets Weechat communicate over the Matrix protocol.
    • senpai - A modern terminal IRC client.
    • Endcord - Lightweight and feature rich Discord TUI client, running entirely in terminal, built with python and ncurses library.
    • Gomphotherium - A command line Mastodon client, offering a CLI and TUI with usage similar to rainbowstream; Intended to be used at 80 characters width maximum, ideally inside tmux as a sidebar-style program.
    • gurk - Signal Messenger client for terminal.
    • Instagram CLI - Instagram from your terminal; It allows you to use social media more intentionally (chat, stay updated with post and stories without falling into endless brainrot).
    • nchat - Terminal Telegram, WhatsApp and Signal client for LInux and macOS.
    • nostratui - TUI for browsing Nostr posts, written in Rust.
    • nostui - TUI client for Nostr.
    • Sclack - CLI client for Slack.
    • siggo - TUI for signal-cli, written in Go, vim-style ux (quick messages, emoji support, configurable contacts, filter messages).
    • slack-term - Slack client for the terminal.
    • tgt - A TUI for Telegram written in Rust.
    • tuisky - TUI client for Bluesky.
    • WeeChat - Fast and light chat client, customizable and extensible with scripts.
    • Zulip Terminal - Official Zulip terminal client with TUI.
    • ZUSE - Minimal IRC client for the terminal written in Go with Bubbletea.
  • <a name="cheatsheet"></a>Commands cheatsheet and snippets

    • tldr - Client for tldr pages, a community effort to simplify the beloved man pages with practical examples.
    • tlrc - Official tldr client written in Rust.
    • asciit - A more compact and intuitive ASCII table in your terminal: an alternative to "man 7 ascii" and "ascii".
    • bkmr - A unified CLI tool for bookmark, snippet, and knowledge management.
    • carapace - Carapace provides argument completion for multiple CLI commands and works across multiple POSIX and non-POSIX shells.
    • cheatshh - A fzf based cheatsheet to store commands and their descriptions in a place you can look into so you dont have to remember them.
    • cmdCompass - Cross-platform terminal command manager/notebook with features like custom collections, tagging, variable substitution, and integrated man page with option highlighting.
    • docfd - TUI fuzzy document finder that looks for documentation files in Markdown and txt format in the directory tree.
    • eg - Useful examples at the command line.
    • ehh - Command-line tool for remembering Linux/terminal commands.
    • fzf-help - An fzf extension that allows you to select command line options of a given command; the options are retrieved from the command its `--help` documentation.
    • halp - halp aims to help find the correct arguments for command-line tools by checking the predefined list of commonly used options/flags.
    • IntelliShell - Like IntelliSense, but for shells, acting like a bookmark store for commands.
    • kmdr-cli - The CLI tool for explaining commands from your terminal.
    • ManPDF & ManWEB - Read your Man pages in PDF format. Even online!
    • Nap - Code snippet manager that allows creating and access new snippets quickly with the command-line interface or browse, manage, and organize them with the text-user interface.
    • navi - An interactive cheatsheet tool for the command-line.
    • pet - Pet is a simple command-line snippet manager, written in Go.
    • rsnip - A powerful command-line snippet manager.
    • Runme - DevOps notebooks built with Markdown.
    • snip - A snippet manager for bash, mostly written in pure bash.
    • snip - A simple and minimal command-line snippet manager.
    • snipt - Snipt is a powerful text snippet expansion tool.
    • The Fuck - Magnificent app which corrects your previous console command (although I would be extra-cautious at making a program to automatically infer what I was intending).
    • tome - Interactive Script playbooks for your terminal with Vim/Neovim (and Tmux).
    • topalias - Linux alias generator from bash/zsh command history with statistics, written on Python.
    • Wat - Instant, central, community-built docs.
    • MUC - Visualize your most used commands.
    • tealdeer - Very fast implementation of tldr in Rust.
    • gocheat - Customizable TUI cheatsheet for keybindings, hotkeys, gestures and aliases.
    • alman - TUI for managing shell aliases with intelligent suggestions based on you command history (organize, create and manage aliases across multiple files and shells).
    • Subshella - The program helps you manage groups of Bash environment variables with an interactive menu, making it quick to activate different configurations.
    • mdpick - A terminal user interface (TUI) tool for interactively selecting and extracting code blocks or links from Markdown files and copy them to the clipboard, ready for being pasted right in the command line or anywhere else, or a tmux pane.
  • <a name="conversion"></a>Conversion

    • antiword - Reader and converted for the proprietary MS .doc file format.
    • catdoc - Convert Microsoft Word files to plain text; output is sent to the standard output.
    • wv - Utility for performing operations on .doc files. The tool is now deprecated in favor of AbiWord, which uses the same library that is used in the CLI program.
    • transflac - A repository containing a series of utilities to assist in the maintenance and organization of FLAC based music collections.
    • scss-to-css - Recursively compile all SCSS files into minified CSS.
    • BaFi - Universal JSON, BSON, YAML, CSV, XML translator to ANY format using templates.
    • catdoc - Convert Microsoft Word files to plain text; output is sent to the standard output.
    • hecat - A generic automation tool around data stored as plain-text YAML files.
    • hget - A CLI to convert HTML into plain text. Can be used to fetch a site's HTML version and convert it into plain text, or to deliver plain text versions of your site dynamically.
    • jsonify-resume - A CLI that converts resumes into JSON Resume schema.
    • markdrop - Converts PDFs to markdown while extracting images and tables, generating descriptive text descriptions for extracted tables/images using several LLM clients.
    • MarkItDown - Python tool for converting files and office documents to Markdown.
    • NestedTextTo - CLI to convert between NestedText and JSON, YAML, or TOML.
    • simtex - simtex (simplified LaTeX) allows you to convert your Markdown or text lectures into LaTeX file with one command, configured with simple .json file.
    • unoserver - Using LibreOffice as a server for converting documents, it allows converting multiple documents without loading libreoffice into memory every time.
    • Vertopal-CLI - Vertopal-CLI is a small, yet powerful utility for converting digital files to a variety of file formats using Vertopal public API.
    • lx - Convert arbitrary files into Markdown-fenced blocks for LLM context.
    • scss-to-css - Recursively compile all SCSS files into minified CSS.
  • <a name="copilot"></a>Co-pilot

    • aido-cli - Looks another interface to online GPT models to execute command through natural language. Very poor documentation and readme, though.
    • aish - A program that retrieve shell script one-liners, ready to be executed in the terminal.
    • CLI Co-Pilot - CLI tool that uses GPT4 to turn natural language commands into their Bash/ZShell/PowerShell equivalents.
    • codemancer - Code with GPT-4 from your command line.
    • Commandpilot - An assistant which uses ChatGPT to aid in constructing commands for bash.
    • gpt-do - This is a handy-dandy CLI for when you don't know wtf to do; instead of furiously grepping through man pages, simply use do (or ddo if on bash/zsh), and have GPT-3 do all the magic for you.
    • Llama Terminal Completion - Application that interacts with the llama.cpp library to provide virtual assistant capabilities through the command line. It allows you to ask questions and receive intelligent responses, as well as generate Linux commands based on your prompts.
    • Open Interpreter - OpenAI's Code Interpreter in your terminal, running locally.
    • shy-sh - Shell AI copilot.
    • Yai - Yai (your AI) is an assistant for your terminal, using OpenAI ChatGPT to build and run commands for you.
    • aider - aider is AI pair programming in your terminal.
    • Smart-Shell - Intelligent terminal assistant that converts natural language into executable Bash or Zsh commands using Gemini AI model via google-genai SDK.
  • <a name="copy-paste"></a>Copy/paste and clipboard

    • clipper - Seamlessly copy file contents to clipboard from command line. Lightweight, cross-platform tool for instant text transfers.
    • Clipsync - Share your clipboard across multiple machines using an MQTT service.
    • clipy - Manage clipboard history.
    • copytools.sh - Tools for copying and pasting in the command line.
    • extrakto - extrakto for tmux - quickly select, copy/insert/complete text without a mouse.
    • pbproxy - Send your clipboard anywhere you can ssh to.
    • pcopy - A temporary file host, nopaste and clipboard across machines. It can be used from the Web UI, via a CLI or without a client by using curl.
    • shcopy - Copy text to your system clipboard locally and remotely using ANSI OSC52 sequence.
    • yank - Reads input from stdin and display a selection interface that allows a field to be selected and copied to the clipboard.
    • clipse - TUI-based clipboard manager application written in Go.
    • clipboard-viewer - Terminal-based clipboard browser.
  • <a name="data-management"></a>Data management

    • dateutils - Dateutils are a bunch of tools that revolve around fiddling with dates and times in the command line with a strong focus on use cases that arise when dealing with large amounts of financial data.
    • GNU Recutils - Set of tools and libraries to access human-editable, text-based databases called recfiles.
    • gnuplot - Generate two and three-dimensional plots of data.
    • zq - A command-line tool that uses the Zed language for pipeline-style search and analytics. It can query a variety of data formats (CSV, JSON, etc.) in files, over HTTP, or in S3 storage.
    • crudini - A utility for manipulating .ini files.
    • datadash - Visualize and graph data in the terminal.
    • datasetGPT - A command-line interface and a Python library for inferencing Large Language Models to generate textual datasets.
    • dateutils - Dateutils are a bunch of tools that revolve around fiddling with dates and times in the command line with a strong focus on use cases that arise when dealing with large amounts of financial data.
    • IRedis - Interactive Redis: A CLI for Redis with autocompletion and Syntax Highlighting.
    • lowcharts - lowcharts is meant to be used in those scenarios where we have numerical data in text files that we want to display in the terminal to do a basic analysis.
    • osmf - OpenStreetMap find - A simple command line tool to explore OSM data.
    • ramda-cli - A tool for processing data with functional pipelines.
    • Redis Viewer - A tool to view Redis data in terminal.
    • redis_tui - Redis terminal browser application.
    • ROAPI - ROAPI automatically spins up read-only APIs for static datasets without requiring you to write a single line of code.
    • sampler - Sampler is a tool for shell commands execution, visualization, and alerting. Configured with a simple YAML file.
    • WOPR - A simple markup language for creating rich terminal reports, presentations, and infographic.
    • chndlr - Replacement for xdg-open; It determines the appropriate application to open a file or URL based on user-defined rules in configuration.
    • ttyplot - A realtime plotting utility for terminals with data input from stdin/pipe.
  • <a name="data-management-json"></a>Data management - JSON/YAML/etc.

    • jless - Command-line JSON viewer designed for reading, exploring, and searching through JSON data.
    • dasel - Allows you to query and modify data structures using selector strings.
    • faq - Format Agnostic jQ - process various formats with libjq.
    • fx - Command-line JSON viewer.
    • gojq - Pure Go implementation of jq.
    • Graphtage - Graphtage is a command-line utility and underlying library for semantically comparing and merging tree-like structures, such as JSON, XML, HTML, YAML, plist, and CSS files.
    • gron - gron transforms JSON into discrete assignments to make it easier to grep for what you want and see the absolute 'path' to it.
    • GROQ - The CLI tool consumes both JSON and NDJSON documents. You can pass in data from a local file, or from piping to standard input.
    • jaq - jaq is a clone of the JSON data processing tool jq, that aims to support a large subset of jq's syntax and operations.
    • jayin - Piping with js at terminal.
    • jc - Serializes the output of command line tools to JSON.
    • jellex - TUI to filter JSON and JSON Lines data with Python syntax.
    • jello - CLI tool to filter JSON and JSON Lines data with Python syntax, similar to - surprise :-), jq!
    • jid - You can drill down JSON interactively by using filtering queries like jq.
    • jiq - jid on jq - interactive JSON query tool using jq expressions.
    • jj - A command line utility that provides a fast and simple way to retrieve or update values from JSON documents.
    • jl - jl ("JSON lambda") is a tiny functional language for querying and manipulating JSON.
    • jnv - Interactive JSON filter using jq.
    • jo - A small utility to create JSON objects from the command line.
    • jp - A tiny command-line tool for parsing JSON from any source.
    • jp - A command line interface to JMESPath, an expression language for manipulating JSON.
    • jq - (JSON Query?) - sed-like processor for JSON data; can be used to process JSON files and data streams and perform operations such as those allowed by `cat`, `sed`, `grep` and `awk` on regular text files.
    • jqp - A TUI playground for exploring jq.
    • jqview - Simplest possible native GUI for inspecting JSON.
    • Jsawk - Like awk, but for JSON. You work with an array of JSON objects read from stdin, filter them using JavaScript to produce a results array that is printed to stdout.
    • jsed - jsed is a small command-line utility to add, remove, and search for data in a JSON structure.
    • jshon - Jshon is a JSON parser designed for maximum convenience within the shell.
    • json - A "json" command for massaging JSON on your Unix command line.
    • JSON Command - JSON command line processing toolkit: no more writing code to inspect or transform JSON objects.
    • JSON-Grep - JGrep is a command line tool and API for parsing JSON documents based on logical expressions.
    • JSON.awk - A practical JSON parser written in awk.
    • JSON.sh - A JSON parser written in shell, compatible with ash, bash, dash and zsh.
    • jsongrep - A shell tool to search and select bits out of JSON documents.
    • jsongrep - Python for extracting pieces of JSON objects
    • jsonpp - A fast command line JSON pretty printer.
    • jsonv.sh - A Bash command line tool for converting JSON to CSV.
    • jtbl - A simple CLI tool to print JSON and JSON Lines data as a table in the terminal.
    • jtc - JSON manipulation and transformation.
    • RecordStream - Command-line tools for slicing and dicing JSON records.
    • rq - Record Query - A tool for doing record analysis and transformation.
    • TickTick - TickTick enables you to put JSON in bash scripts. Yes, just encapsulate them with two back-ticks.
    • underscore-cli - Command-line utility-belt for hacking JSON and JavaScript.
    • vj - JSON Humanizer makes JSON human-readable by applying visual formatting.
    • YAML Paths - YAML/JSON/EYAML/Compatible get/set/merge/validate/scan/convert/diff processors using powerful, intuitive, command-line friendly syntax.
    • yq - Portable command-line YAML processor.
    • Frontmatter CLI Tool - CLI tool for managing YAML frontmatter in text files; Built with Go and optimized for performance with large files.
    • jf - A small utility to safely format and print JSON objects in the commandline.
    • Konfigo - Command-line tool designed to work with multiple configuration file formats like JSON, YAML, TOML.
  • <a name="data-management-tabular"></a>Data management - Tabular data

    • csvtk - A cross-platform, efficient and practical CSV/TSV toolkit written in Go.
    • VisiData - Interactive multitool for tabular data. It combines the clarity of a spreadsheet, the efficiency of the terminal, and the power of Python, into a lightweight utility which can handle millions of rows with ease.
    • xsv - Doing a SQL join with CSV files.
    • csvkit - A suite of command-line tools for converting to and working with CSV, the king of tabular file formats.
    • csvlens - CSV file viewer; like `less` but made for CSV.
    • csvq - SQL-like query language for CSV.
    • csvsuite - A suite of tools to process CSV files, written in C++.
    • daff - Efficient table comparison and alignment, supporting formats like CSV and SQLite, useful for data analysis and synchronization tasks.
    • dolphie - Your single pane of glass (TUI) for real-time analytics into MySQL/MariaDB & ProxySQL.
    • Dolt - Dolt is Git for Data! Dolt is a SQL database that you can fork, clone, branch, merge, push and pull just like a git repository.
    • gobang - A cross-platform TUI database management tool written in Rust.
    • harlequin - The SQL IDE for Your Terminal.
    • litecli - CLI for SQLite Databases with autocompletion and syntax highlighting.
    • Miller - Miller is like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed.
    • mycli - A command line client for MySQL that can do autocompletion and syntax highlighting.
    • pgcli - Postgres CLI with autocompletion and syntax highlighting.
    • pykli - Interactive ksqlDB command line client with autocompletion and syntax highlighting written in Python.
    • q - Execute SQL-like queries on CSVs/TSVs tabular data files; each tabular file is treated as a database table; supports all SQL constructs (`WHERE`, `GROUP BY`, `JOIN`).
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