{"id":6900,"url":"https://github.com/toolleeo/awesome-cli-apps-in-a-csv","name":"awesome-cli-apps-in-a-csv","description":"The largest Awesome Curated list of command line programs (CLI/TUI) with source data organized into CSV files","projects_count":2224,"last_synced_at":"2026-08-10T02:00:35.214Z","repository":{"id":39451065,"uuid":"94945792","full_name":"toolleeo/awesome-cli-apps-in-a-csv","owner":"toolleeo","description":"The largest Awesome Curated list of command line programs (CLI/TUI) with source data organized into CSV files","archived":false,"fork":false,"pushed_at":"2026-07-27T23:03:47.000Z","size":3469,"stargazers_count":2562,"open_issues_count":124,"forks_count":243,"subscribers_count":35,"default_branch":"master","last_synced_at":"2026-07-27T23:09:00.856Z","etag":null,"topics":["awesome","awesome-list","cli","cli-apps","command-line","command-line-tool","linux","linux-command","resources","terminal-based","tui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toolleeo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-06-21T00:15:53.000Z","updated_at":"2026-07-27T22:15:17.000Z","dependencies_parsed_at":"2023-10-16T13:53:32.942Z","dependency_job_id":"5ec4f066-e4ab-4124-977c-d6143b1493fa","html_url":"https://github.com/toolleeo/awesome-cli-apps-in-a-csv","commit_stats":null,"previous_names":["toolleeo/awesome-cli-apps-in-a-csv","toolleeo/cli-apps"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/toolleeo/awesome-cli-apps-in-a-csv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolleeo%2Fawesome-cli-apps-in-a-csv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolleeo%2Fawesome-cli-apps-in-a-csv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolleeo%2Fawesome-cli-apps-in-a-csv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolleeo%2Fawesome-cli-apps-in-a-csv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toolleeo","download_url":"https://codeload.github.com/toolleeo/awesome-cli-apps-in-a-csv/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolleeo%2Fawesome-cli-apps-in-a-csv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36474667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-10T02:00:05.122Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-07T20:54:57.199Z","updated_at":"2026-08-10T02:00:35.215Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["\u003ca name=\"writing\"\u003e\u003c/a\u003eWriting","\u003ca name=\"online\"\u003e\u003c/a\u003eOnline search and resources","\u003ca name=\"password-manager\"\u003e\u003c/a\u003ePassword managers","\u003ca name=\"music\"\u003e\u003c/a\u003eSound and music","\u003ca name=\"git\"\u003e\u003c/a\u003eGit and accessories","\u003ca name=\"editors\"\u003e\u003c/a\u003eEditors","\u003ca name=\"rm\"\u003e\u003c/a\u003eFile deletion and trash bin (alternatives to rm)","\u003ca name=\"shells\"\u003e\u003c/a\u003eShells","\u003ca name=\"monitor\"\u003e\u003c/a\u003eSystem monitoring","\u003ca name=\"chat\"\u003e\u003c/a\u003eChat and instant messaging","\u003ca name=\"torrent\"\u003e\u003c/a\u003eTorrent","\u003ca name=\"package-manager\"\u003e\u003c/a\u003ePackage managers","\u003ca name=\"backup\"\u003e\u003c/a\u003eBackup","\u003ca name=\"prompt\"\u003e\u003c/a\u003ePrompts","\u003ca name=\"webdev\"\u003e\u003c/a\u003eWeb development","\u003ca name=\"viewers\"\u003e\u003c/a\u003eViewers","\u003ca name=\"programming\"\u003e\u003c/a\u003eProgramming","\u003ca name=\"graphics\"\u003e\u003c/a\u003eGraphics","\u003ca name=\"calc\"\u003e\u003c/a\u003eCalculators","\u003ca name=\"file-manager\"\u003e\u003c/a\u003eFile manager","\u003ca name=\"cheatsheet\"\u003e\u003c/a\u003eCommands cheatsheet and snippets","\u003ca name=\"vm\"\u003e\u003c/a\u003eContainerization and virtualization","\u003ca name=\"networking\"\u003e\u003c/a\u003eNetworking","\u003ca name=\"disk-analyzer\"\u003e\u003c/a\u003eDisk usage analyzers","\u003ca name=\"terminal\"\u003e\u003c/a\u003eTerminals","\u003ca name=\"video\"\u003e\u003c/a\u003eVideo","\u003ca name=\"organizers\"\u003e\u003c/a\u003eOrganizers and calendars","\u003ca name=\"transfer\"\u003e\u003c/a\u003eData transfer","\u003ca name=\"office\"\u003e\u003c/a\u003eOffice tools","\u003ca name=\"versioning\"\u003e\u003c/a\u003eVersioning","\u003ca name=\"games\"\u003e\u003c/a\u003eGames","\u003ca name=\"system\"\u003e\u003c/a\u003eSystem tools","\u003ca name=\"monitor-top\"\u003e\u003c/a\u003eProcess viewers and monitoring (alternatives to top)","\u003ca name=\"browser\"\u003e\u003c/a\u003eWeb browser","\u003ca name=\"data-management\"\u003e\u003c/a\u003eData management","\u003ca name=\"security\"\u003e\u003c/a\u003eSecurity and encryption","\u003ca name=\"ls\"\u003e\u003c/a\u003eFile listing (alternatives to ls)","\u003ca name=\"email\"\u003e\u003c/a\u003eEmail","\u003ca name=\"launcher\"\u003e\u003c/a\u003eCommand launchers","\u003ca name=\"todo-manager\"\u003e\u003c/a\u003eTodo managers","\u003ca name=\"financial\"\u003e\u003c/a\u003eFinancial tools","\u003ca name=\"font\"\u003e\u003c/a\u003eFont management","\u003ca name=\"note-taking\"\u003e\u003c/a\u003eNote taking","\u003ca name=\"conversion\"\u003e\u003c/a\u003eConversion","\u003ca name=\"data-management-json\"\u003e\u003c/a\u003eData management - JSON/YAML/etc.","\u003ca name=\"data-management-tabular\"\u003e\u003c/a\u003eData management - Tabular data","\u003ca name=\"pastebin\"\u003e\u003c/a\u003ePastebin","\u003ca name=\"cd\"\u003e\u003c/a\u003eDirectory changers (alternatives to cd)","\u003ca name=\"file-handling\"\u003e\u003c/a\u003eFile and file system handling","\u003ca name=\"file-explorer\"\u003e\u003c/a\u003eFile explorer and tree visualization","\u003ca name=\"find\"\u003e\u003c/a\u003eFile finding (alternatives to find)","\u003ca name=\"file-renamer\"\u003e\u003c/a\u003eFile renamers","\u003ca name=\"file-system\"\u003e\u003c/a\u003eFile systems","\u003ca name=\"file-watch\"\u003e\u003c/a\u003eFile watching for changes","\u003ca name=\"funny\"\u003e\u003c/a\u003eFunny tools","\u003ca name=\"markdown\"\u003e\u003c/a\u003eMarkdown","\u003ca name=\"rss\"\u003e\u003c/a\u003eRSS","\u003ca name=\"science\"\u003e\u003c/a\u003eScience","\u003ca name=\"screensaver\"\u003e\u003c/a\u003eScreen savers","\u003ca name=\"text-processing\"\u003e\u003c/a\u003eText processing","\u003ca name=\"text-search\"\u003e\u003c/a\u003eText search (alternatives to grep)","\u003ca name=\"time-tracker\"\u003e\u003c/a\u003eTime trackers","\u003ca name=\"typing\"\u003e\u003c/a\u003eTyping test and practice","\u003ca name=\"utility\"\u003e\u003c/a\u003eUtilities","\u003ca name=\"ai\"\u003e\u003c/a\u003eAI / ChatGPT","\u003ca name=\"file-dir-cleanup\"\u003e\u003c/a\u003eClean up of files and directories","\u003ca name=\"option-picker\"\u003e\u003c/a\u003eFuzzy finders and option pickers","\u003ca name=\"productivity\"\u003e\u003c/a\u003eProductivity","\u003ca name=\"programming-boilerplate\"\u003e\u003c/a\u003eProgram templates and boilerplate","\u003ca name=\"screen-recorder\"\u003e\u003c/a\u003eScreen recorder","\u003ca name=\"text-search-replace\"\u003e\u003c/a\u003eText search and replace (alternatives to sed)","\u003ca name=\"diff\"\u003e\u003c/a\u003eDiff","\u003ca name=\"history\"\u003e\u003c/a\u003eHistory management","\u003ca name=\"animation\"\u003e\u003c/a\u003eAnimation","\u003ca name=\"ai-cli-commands\"\u003e\u003c/a\u003eAI terminal command generator","\u003ca name=\"flashcard\"\u003e\u003c/a\u003eAnki, decks and flashcards","\u003ca name=\"devops\"\u003e\u003c/a\u003eDevOps","\u003ca name=\"copy-paste\"\u003e\u003c/a\u003eCopy/paste and clipboard","\u003ca name=\"copilot\"\u003e\u003c/a\u003eCo-pilot","\u003ca name=\"religion\"\u003e\u003c/a\u003eReligion","\u003ca name=\"learning\"\u003e\u003c/a\u003eLearning and didactic tools"],"sub_categories":[],"readme":"# Awesome Command Line (CLI/TUI) Programs [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\r\n\r\nThis repository - to the best of my knowledge - contains the largest collection of command line (CLI/TUI) tools available in the form of awesome list.\r\nWith source information maintained in a handy CSV file.\r\n\r\nTo contribute, see the [indications](CONTRIBUTING.md).\r\nRead the instructions before rushing at changing the README file: you must edit the CSV files, not the README!\r\n\r\nSome links are available to [related resources](#resources).\r\n\nSummary:\n\n* Apps/tools: **2207**\n* Categories: **87**\n\n# Contents\n\n## [Core Utils](#core-utils-1)\n* [File listing (alternatives to ls)](#ls) (11)\n* [Directory changers (alternatives to cd)](#cd) (21)\n* [File finding (alternatives to find)](#find) (9)\n* [File deletion and trash bin (alternatives to rm)](#rm) (14)\n* [History management](#history) (6)\n* [Diff](#diff) (12)\n* [Text search (alternatives to grep)](#text-search) (16)\n* [Text search and replace (alternatives to sed)](#text-search-replace) (8)\n* [Disk usage analyzers](#disk-analyzer) (13)\n* [Process viewers and monitoring (alternatives to top)](#monitor-top) (28)\n* [Clean up of files and directories](#file-dir-cleanup) (17)\n## [File and Filesystem Management](#file-and-filesystem-management-1)\n* [File managers](#file-manager) (27)\n* [File explorer and tree visualization](#file-explorer) (11)\n* [File and file system handling](#file-handling) (30)\n* [Backup](#backup) (20)\n* [File watching for changes](#file-watch) (8)\n* [File renamers](#file-renamer) (15)\n* [File systems](#file-system) (4)\n* [File format converters](#conversion) (17)\n## [Text and Data Processing](#text-and-data-processing-1)\n* [Text processing](#text-processing) (58)\n* [Data management](#data-management) (18)\n* [Data management - JSON/YAML/etc.](#data-management-json) (47)\n* [Data management - Tabular data](#data-management-tabular) (36)\n* [Fuzzy finders and option pickers](#option-picker) (18)\n* [Markdown](#markdown) (9)\n## [Development and Programming](#development-and-programming-1)\n* [Editors](#editors) (32)\n* [Git and accessories](#git) (80)\n* [Versioning](#versioning) (9)\n* [Programming](#programming) (75)\n* [Program templates and boilerplate](#programming-boilerplate) (13)\n* [DevOps](#devops) (22)\n* [Web development](#webdev) (37)\n* [Co-pilot](#copilot) (12)\n## [System and Terminal](#system-and-terminal-1)\n* [System tools](#system) (45)\n* [Terminals](#terminal) (14)\n* [Terminal multiplexers and accessories](#terminal-mux) (13)\n* [Shells](#shells) (26)\n* [Prompts](#prompt) (14)\n* [Copy/paste and clipboard](#copy-paste) (11)\n* [System monitoring](#monitor) (54)\n## [Environment Management Tools](#environment-management-tools-1)\n* [Package managers](#package-manager) (25)\n* [Containerization and virtualization](#vm) (25)\n* [Command launchers](#launcher) (28)\n* [Dotfile managers](#dotfiles) (5)\n* [Font management](#font) (5)\n## [Communication and Networking](#communication-and-networking-1)\n* [Email](#email) (23)\n* [Chat and instant messaging](#chat) (51)\n* [Networking](#networking) (87)\n* [Connection managers](#connection-manager) (12)\n* [Data transfer](#transfer) (47)\n* [Torrent](#torrent) (10)\n* [RSS](#rss) (12)\n* [Web browser](#browser) (19)\n* [Online search and resources](#online) (39)\n## [Personal Information Management](#personal-information-management-1)\n* [Todo managers](#todo-manager) (43)\n* [Time trackers](#time-tracker) (29)\n* [Note taking](#note-taking) (34)\n* [Organizers and calendars](#organizers) (22)\n* [Financial tools](#financial) (25)\n## [Productivity](#productivity-1)\n* [AI / LLM integration](#ai) (48)\n* [Productivity](#productivity) (19)\n* [Office tools](#office) (23)\n* [Writing](#writing) (12)\n* [Calculators](#calc) (21)\n* [Pastebin](#pastebin) (2)\n* [Commands cheatsheet and snippets](#cheatsheet) (33)\n* [AI terminal command generator](#ai-cli-commands) (16)\n## [Media and Creative](#media-and-creative-1)\n* [Graphics](#graphics) (53)\n* [Video](#video) (15)\n* [Sound and music](#music) (53)\n* [Music players](#audio-player) (20)\n* [Animation](#animation) (44)\n* [Viewers](#viewers) (49)\n* [Screen savers](#screensaver) (7)\n* [Screen recorder](#screen-recorder) (12)\n## [Security and Package Management](#security-and-package-management-1)\n* [Ciphering and steganography](#crypto) (17)\n* [Security](#security) (25)\n* [Password managers](#password-manager) (25)\n## [Utilities and Miscellaneous](#utilities-and-miscellaneous-1)\n* [Utilities](#utility) (46)\n* [Weather](#weather) (6)\n## [Learning and Leisure](#learning-and-leisure-1)\n* [Learning and didactic tools](#learning) (9)\n* [Anki, decks and flashcards](#flashcard) (10)\n* [Typing test and practice](#typing) (21)\n* [Games](#games) (100)\n* [Funny tools](#funny) (23)\n* [Religion](#religion) (6)\n* [Science](#science) (21)\n\n# \u003ca name=\"Core-Utils\"\u003e\u003c/a\u003eCore Utils\n\n## \u003ca name=\"ls\"\u003e\u003c/a\u003eFile listing (alternatives to ls)\n\nList directory content and files, with colors or icons; alternatives to `ls`.\n\n* [colorls](https://github.com/athityakumar/colorls) - A Ruby script that colorizes the `ls` output with color and icons.\n* [eza](https://github.com/eza-community/eza) - eza is a modern, _maintained_ replacement for `ls`, built on `exa`.\n* [Files-Sort-py](https://github.com/AfzGit/Files-Sort-py) - Python-based file sorter that sorts file by extensions, size, and time.\n* [ll](https://github.com/antonmedv/ll) - ls with git status.\n* [lscoltui](https://github.com/breynard0/lscoltui) - A TUI tool for changing the colours of ls.\n* [lsd](https://github.com/lsd-rs/lsd) - This project is a rewrite of GNU ls with lots of added features like colors, icons, tree-view, more formatting options etc. The project is heavily inspired by the super colorls project.\n* [lsnotes](https://github.com/aeilot/lsnotes) - The program lets you add a description to your directories.\n* [nat](https://github.com/willdoescode/nat) - Complete replacement for the `ls` command.\n* [pretty-ls](https://github.com/ix/pretty-ls) - Rust ls clone with pretty colors.\n* [stree](https://github.com/orangekame3/stree) - A CLI tool designed to visualize the directory tree structure of an S3 bucket.\n* [vivid](https://github.com/sharkdp/vivid) - A themeable LS_COLORS generator with a rich filetype datebase.\n\n## \u003ca name=\"cd\"\u003e\u003c/a\u003eDirectory changers (alternatives to cd)\n\nPrograms for improving the efficiency of directory traversal by remembering common paths and other approaches; alternatives to the `cd` command.\n\n* [Apparition](https://github.com/david-haerer/apparition) - Apparition allows giving names to paths, so that moving to the specific path can be done by using the name; it also allows managing the list of assigned names.\n* [autojump](https://github.com/wting/autojump) - A cd command that maintains a database of most visited paths and allows the access to a directory with shortened versions of the path.\n* [broot](https://dystroy.org/broot/) - broot displays an optimized (omitting unnecessary content) tree view of the filesystem, allowing to fuzzy search files and folder, and move to specified directories.\n* [cdwe](https://github.com/synoet/cdwe) - (cd with env vars) Wrapper of the cd command that sets and unsets env vars when you change dir based on a config file.\n* [enhancd](https://github.com/babarot/enhancd) - A next-generation cd command with your interactive filter.\n* [fastdiract](https://github.com/dp12/fastdiract) - Lightning-fast cd and command execution.\n* [ff](https://github.com/akymos/ff) - ff is a command-line tool to manage favorite folders, creating an alias, to be used via shell directly with the cd command.\n* [fz](https://github.com/changyuheng/fz.sh) - Fuzzy tab completion for z.\n* [Jmp](https://github.com/gholmes829/Jmp) - Change directory with smart searching of the path specified through regex.\n* [menucd](https://github.com/andy5995/menucd) - Directory browser and changer for the command line.\n* [nav](https://github.com/dkaslovsky/nav) - Terminal navigator for interactive ls workflows.\n* [navita](https://github.com/CodesOfRishi/navita) - A command-line tool for fast directory navigation in Bash \u0026 Zsh, ranking directories by frequency and recency. It enables quick fuzzy searches, recent history access, and smooth directory switching for efficient terminal workflows.\n* [pazi](https://github.com/euank/pazi) - Fast autojump helper.\n* [pm](https://github.com/Angelmmiguel/pm) - The easy way to switch between your projects on ZSH. In short, another directory changer.\n* [qcd](https://github.com/ClaasBontus/qcd_rs) - A tool to change to another directory by just by entering commands like `qcd 3` and step back to where you came from with `qcd -o`. Frequently visited directories are stored in a sqlite3 database.\n* [Shunpo](https://github.com/egurapha/Shunpo) - A minimalist bash tool that makes directory navigation just a little bit faster.\n* [slingshot](https://github.com/caio-ishikawa/slingshot) - Lightweight command line tool to quickly navigate across folders.\n* [z](https://github.com/rupa/z) - Directory changer based on aging and 'frecency'.\n* [z.lua](https://github.com/skywind3000/z.lua) - Directory changer that learns your habits.\n* [zm](https://github.com/benrutter/zm) - Improved cd.\n* [zoxide](https://github.com/ajeetdsouza/zoxide) - It remembers which directories you use most frequently, so you can \"jump\" to them in just a few keystrokes.\n\n## \u003ca name=\"find\"\u003e\u003c/a\u003eFile finding (alternatives to find)\n\nSearch the filesystem looking for files with specific characteristics, e.g., names; alternatives to `find`.\n\n* [bfs](https://github.com/tavianator/bfs) - A breadth-first version of the UNIX find command.\n* [crtag](https://github.com/CarrotyLemons/crtag) - CLI for searching directories by tag (UNIX and OS).\n* [fd](https://github.com/sharkdp/fd) - A simple, fast, and user-friendly alternative to find. Written in Rust.\n* [Findpick](https://github.com/thingsiplay/findpick) - General purpose file picker combining \"find\" command with a fuzzy finder.\n* [friendly-find](https://github.com/sjl/friendly-find) - Usable replacement for find.\n* [happyfinder](https://github.com/hugows/hf) - (another) Fuzzy file finder for the command line.\n* [plocate](https://plocate.sesse.net/) - A much faster locate; plocate is a locate based on posting lists, completely replacing mlocate with a much faster (and smaller) index.\n* [rawhide](https://github.com/raforg/rawhide) - File finder that uses C expressions to specify the filenames.\n* [trovatore](https://github.com/trikko/trovatore) - A fast command-line tool for searching files by name.\n\n## \u003ca name=\"rm\"\u003e\u003c/a\u003eFile deletion and trash bin (alternatives to rm)\n\nTools to manage the deletion of files/directories, often with the support of a trash can, i.e., the ability to restore deleted items.\n\n* [Brash](https://github.com/zakariagatter/brash) - Move and restore items from the XDG trash. Written in pure Bash.\n* [del](https://fex.belwue.de/fstools/del.html) - Save deleted files to a .del/ subdirectory in the same directory.\n* [extundelete](https://extundelete.sourceforge.net/) - Recover deleted files from an ext3 or ext4 partition through its journal.\n* [gomi](https://github.com/babarot/gomi) - UNIX rm command with a safety net.\n* [gtrash](https://github.com/umlx5h/gtrash) - TUI for moving and restoring items from the XDG trash. Fully compliant with the FreeDesktop.org specification.\n* [RecoverPy](https://github.com/PabloLec/RecoverPy) - Recover deleted files and overwritten data. It scans every block of the partition. You can even find a string in binary files.\n* [rip](https://github.com/nivekuil/rip) - Move and restore items from the graveyard (by default, `/tmp/graveyard-$USER` if $XDG_DATA_HOME is not set and `$XDG_DATA_HOME/graveyard` otherwise)\n* [rm-trash](https://github.com/nateshmbhat/rm-trash) - Meant to be used in place of `rm` in Linux, supporting all its arguments. It can move and restore the files from the XDG trash.\n* [rmw](https://remove-to-waste.info/) - (ReMove to Waste) is a trashcan/recycle bin utility for the command line. It can move and restore files to and from directories specified in a configuration file.\n* [testdisk](https://www.cgsecurity.org/wiki/TestDisk) - Lets you undelete files from FAT, exFAT, NTFS, and ext2 filesystems and do many other things, e.g., fix partition tables and recover deleted partitions.\n* [trash-cli](https://github.com/sindresorhus/trash-cli) - Move files and folders to the trash on Linux (XDG trash), macOS (`macOS-trash` library) and Windows (`recycle-bin` library).\n* [trashbhuwan](https://github.com/tribhuwan-kumar/trashbhuwan) - Trashing CLI application for Linux distros, written in C.\n* [trasher](https://github.com/clementnerma/trasher) - Delete files to a trash directory instead of deleting them immediately. Uses its own trash instead of the XDG one.\n* [undelete-btrfs](https://github.com/danthem/undelete-btrfs) - Automate the generation of path regex for BTRFS restore and attempt the restore for you in 3 levels. The longer a file has existed prior to being deleted, the more likely it is to be recovered.\n\n## \u003ca name=\"history\"\u003e\u003c/a\u003eHistory management\n\nPrograms to replace or improve the management of command line history.\n\n* [atuin](https://github.com/ellie/atuin) - Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronization of your history between machines, via an Atuin server.\n* [Bevel](https://github.com/NorfairKing/bevel) - Command line history in an SQLite database for effective reuse.\n* [his](https://github.com/terroo/his) - A command history utility with icons and colors that works on Windows and GNU/Linux.\n* [hiSHtory](https://github.com/ddworken/hishtory) - A better shell history that stores context (directory, succeeded or failed, how long it took, etc). The history is stored locally and end-to-end encrypted for syncing to other computers.\n* [hstr](https://github.com/dvorka/hstr) - Manage the shell history. It has a powerful visual search and execution of previous commands, and history editing capabilities.\n* [mcfly](https://github.com/cantino/mcfly) - Intelligent context-aware search engine for your shell history with TUI.\n\n## \u003ca name=\"diff\"\u003e\u003c/a\u003eDiff\n\nCalculation of diffs between files and data, even with context or semantic awareness (i.e., considering the meaning of the data).\n\n* [csv-diff](https://github.com/simonw/csv-diff) - Python CLI tool and library for diffing CSV and JSON files\n* [delta](https://github.com/dandavison/delta) - A syntax-highlighter for git and diff output.\n* [diff-so-fancy](https://github.com/so-fancy/diff-so-fancy) - Make your diffs human-readable instead of machine-readable.\n* [diff2html-cli](https://github.com/rtfpessoa/diff2html-cli) - Parse git diffs as JSON and generate pretty HTML.\n* [Difftastic](https://github.com/Wilfred/difftastic) - Syntax-aware structured diff tool.\n* [Dirdiff](https://github.com/OCamlPro/dirdiff) - Efficiently compute the differences between two directories.\n* [dyff](https://github.com/homeport/dyff) - A diff tool for YAML files, and sometimes JSON.\n* [leven-cli](https://github.com/sindresorhus/leven-cli) - Measure the difference between two strings using the Levenshtein distance algorithm.\n* [LLM Prompt Semantic Diff](https://github.com/aatakansalar/llm-prompt-semantic-diff) - A CLI tool for managing and comparing LLM prompts using semantic diffing instead of traditional text-based comparison.\n* [pdf-diff](https://github.com/serhack/pdf-diff) - A tool for visualizing differences between two PDF files. Mainly dedicated to editors that usually spends a lot of hours on several PDFs.\n* [sesdiff](https://github.com/proycon/sesdiff) - Generates a shortest edit script (Myers' diff algorithm) to indicate how to get from the strings in column A to the strings in column B. Also provides the edit distance (levenshtein).\n* [ydiff](https://github.com/ymattw/ydiff) - View colored, incremental diff.\n\n## \u003ca name=\"text-search\"\u003e\u003c/a\u003eText search (alternatives to grep)\n\nSearch files and exploring directory trees to look for text or patterns (RegEx) contained in files; alternatives to the `grep` command.\n\n* [ack](http://beyondgrep.com/) - A tool like `grep` optimized for programmers; written in Perl, it speeds up searches thanks to skipping non-interesting directories, such as `.git`.\n* [ag](https://github.com/ggreer/the_silver_searcher) - (The silver searcher) - a text search utility targeted to source code; it skips versioning systems data directories; it is inspired by `ack`, but faster.\n* [ast-grep](https://github.com/ast-grep/ast-grep) - A CLI tool for code structural search, lint and rewriting.\n* [Csope](https://github.com/agvxov/csope) - C source code browser - Fork of Cscope version 15,9, with various improvements.\n* [hae](https://github.com/eeroel/hae) - Like grep but with natural language queries; useful to retrieve paragraphs of text that deal with specific topics.\n* [hypergrep](https://github.com/p-ranav/hypergrep) - Recursively search directories for a regex pattern using Intel Hypescan.\n* [krep](https://github.com/davidesantangelo/krep) - Blazingly fast text search tool with multiple algorithms (Boyer-Moore, KMP, Rabin-Karp), SIMD acceleration, multi-threading, and regex support. Outperforms traditional tools with memory-mapped I/O and hardware optimizations for who need rapid pattern matching at scale.\n* [nocjk](https://github.com/aethiopicuschan/nocjk) - A simple CLI tool and library to detect CJK (Chinese, Japanese, and Korean) text.\n* [paragrep](http://software.clapper.org/paragrep/) - Greps regular expressions in a text file(s) and prints out the paragraphs containing those expressions, a paragraph is defined as a block of text delimited by an empty or blank line, fully customizable via command line parameters.\n* [ripgrep](https://github.com/BurntSushi/ripgrep) - Recursively searches directories for a regex pattern.\n* [ripgrep-all](https://github.com/phiresky/ripgrep-all) - grep in text files but also search in PDFs, E-Books, office documents, zip, tar.gz, etc.\n* [semantic-grep](https://github.com/arunsupe/semantic-grep) - grep for words with similar meaning to the query.\n* [sift](https://sift-tool.org/) - Fast and powerful alternative to `grep`; it targets flexibility and performance: can be as fast as `grep` and allows specifying complex expressions to find text.\n* [ugrep](https://github.com/Genivia/ugrep) - Ultra fast grep with interactive TUI, fuzzy search, boolean queries, hexdumps and more.\n* [vgrep](https://github.com/vrothberg/vgrep) - User-friendly pager for grep.\n* [zfind](https://github.com/laktak/zfind) - Search for files (even inside tar/zip/7z/rar) using a SQL-WHERE filter.\n\n## \u003ca name=\"text-search-replace\"\u003e\u003c/a\u003eText search and replace (alternatives to sed)\n\nTools to search text within files and perform operations on it, such as text replacement; alternatives to `sed`.\n\n* [amber](https://github.com/dalance/amber) - Code search / replace tool.\n* [frep](https://github.com/thomasschafer/frep) - Fast find-and-replace tool; search and replace in files in directories or process stdin.\n* [Rep](https://github.com/robenkleene/rep-grep) - Rep is a command-line utility that takes grep-formatted lines via standard input, and performs a find-and-replace on them.\n* [repgrep](https://github.com/acheronfail/repgrep) - A replacer that uses ripgrep for finding and provides an interactive interface to replace the text.\n* [scooter](https://github.com/thomasschafer/scooter) - Interactive find-and-replace TUI app; By default the program recursively searches through files in the current directory and can also be used to process text from stdin.\n* [sd](https://github.com/chmln/sd) - s[earch] \u0026 d[isplace] - An intuitive find \u0026 replace CLI a possible replacement for sed.\n* [srgn](https://github.com/alexpovel/srgn) - A code surgeon for precise text and code transplantation. A marriage of `tr`/`sed`, `rg` and `tree-sitter`.\n* [teip](https://github.com/greymd/teip) - Select partial standard input and replace with the result of another command.\n\n## \u003ca name=\"disk-analyzer\"\u003e\u003c/a\u003eDisk usage analyzers\n\nPrograms to analyze and summarize the usage of disks, visualize and report the size of directories and sub-directories, etc..\n\n* [cdu](http://arsunik.free.fr/prog/cdu.html) - (colored `du`) - a Perl script that calls `du` and displays a pretty histogram with optional colors allowing to immediately see the directories which take most disk space.\n* [dfc](https://github.com/rolinh/dfc) - Report file system space usage information with style.\n* [diskonaut](https://github.com/imsnif/diskonaut) - Terminal disk space navigator that traverse the file-system with a TUI interface.\n* [diskus](https://github.com/sharkdp/diskus) - Minimal, fast alternative to du -sh.\n* [dua](https://github.com/Byron/dua-cli) - Disk Usage Analyzer. Learn about the usage of disk space of a given directory with parallel access to max out SSD exploration.\n* [duf](https://github.com/muesli/duf) - Disk Usage/Free Utility.\n* [Dust](https://github.com/bootandy/dust) - du + rust = dust. Like du but more intuitive.\n* [dutree](https://github.com/nachoparker/dutree) - A tool to analyze file system usage written in Rust.\n* [erdtree](https://github.com/solidiquis/erdtree) - A multithreaded file-tree visualizer and disk usage analyzer.\n* [gdu](https://github.com/dundee/gdu) - Pretty fast disk usage analyzer written in Go. Gdu is intended primarily for SSD disks where it can fully utilize parallel processing. However, HDDs work as well, but the performance gain is not so huge.\n* [mac-storage-manager](https://github.com/NarekMosisian/mac-storage-manager) - A cross‑platform CLI for macOS \u0026 Linux that reclaims disk space by identifying and removing large apps and associated files, with multi‑language interface (40+ translations), robust logging, and seamless Homebrew integration (macOS) for a safe, interactive cleanup experience.\n* [ncdu](https://dev.yorhel.nl/ncdu) - \"A disk usage analyzer with a ncurses interface. It is designed to find space hogs on a remote server where you don't have an entire graphical setup available.\"\n* [vizex](https://github.com/bexxmodd/vizex) - Visualize the disk space usage for every partition and media on the user's machine.\n\n## \u003ca name=\"monitor-top\"\u003e\u003c/a\u003eProcess viewers and monitoring (alternatives to top)\n\nPrograms to list and monitor currently running processes; alternatives to the `top` command.\n\n* [amdgpu-top](https://github.com/Umio-Yasuno/amdgpu_top) - A tool that display AMD GPU utilization and information, gathered from performance counters (GRBM, GRBM2), sensors, fdinfo, and AMDGPU driver.\n* [atop](https://www.atoptool.nl/index.php) - Atop is TUI performance monitor for Linux; it reports the activity of all processes (even if processes have finished during the interval), daily logging of system and process activity for long-term analysis, overloaded system resources, etc.\n* [bashtop](https://github.com/aristocratos/bashtop) - Resource monitor that shows usage and stats for processor, memory, disks, network, and processes.\n* [below](https://github.com/facebookincubator/below) - A time traveling resource monitor for modern Linux systems\n* [bottom](https://github.com/ClementTsang/bottom) - Yet another cross-platform graphical process/system monitor.\n* [bpytop](https://github.com/aristocratos/bpytop) - Linux/macOS/FreeBSD resource monitor with a nice interface.\n* [Btop++](https://github.com/aristocratos/btop) - Resource monitor that shows usage and stats for processor, memory, disks, network, and processes. C++ version and continuation of [bashtop](https://github.com/aristocratos/bashtop) and [bpytop](https://github.com/aristocratos/bpytop).\n* [gotop](https://github.com/xxxserxxx/gotop) - A terminal based graphical activity monitor inspired by gtop and vtop.\n* [gputop](https://github.com/wookayin/gpustat) - A simple command-line utility for querying and monitoring GPU status.\n* [gtop](https://github.com/aksakalli/gtop) - System monitoring dashboard for terminal written in Node.js.\n* [htop](http://hisham.hm/htop/) - An interactive process viewer for Unix; improves the UI of `top`, by adding real-time meters and colors.\n* [iotop](http://guichaz.free.fr/iotop/) - \"A Python program with a top like UI used to show of behalf of which process is the I/O going on\".\n* [nmon](https://nmon.sourceforge.io/pmwiki.php) - Nigel's performance Monitor for Linux.\n* [nvitop](https://github.com/XuehaiPan/nvitop) - An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management.\n* [nvtop](https://github.com/Syllo/nvtop) - A top like task monitor for AMD, Intel and NVIDIA GPUs, that can handle multiple GPUs and print information about them in a htop-familiar way.\n* [PCtrl](https://github.com/MohamedSherifNoureldin/PCtrl) - Robust, featureful, easy-to-use and powerful process manager.\n* [procs](https://github.com/dalance/procs) - A modern replacement for ps written in Rust.\n* [pshunt](https://github.com/jamesma100/pshunt) - Process viewer similar to htop (view, search and kill processes and vi keybindings).\n* [radeontop](https://github.com/clbr/radeontop) - View your AMD GPU utilization, both for the total activity percent and individual blocks.\n* [s-tui](https://github.com/amanusk/s-tui) - Stress-Terminal UI, s-tui, monitors CPU temperature, frequency, power, and utilization in a graphical way from the terminal.\n* [tegratop](https://github.com/pythops/tegratop) - TUI monitoring tool (top like) for Nvidia Jetson boards.\n* [tiptop](https://github.com/nschloe/tiptop) - A command-line system monitoring tool in the spirit of top, written in Python. It displays various interesting system stats and graphs them. Works on all operating systems.\n* [top](https://gitlab.com/procps-ng/procps) - The classical Unix utility that provides a rolling display of top CPU using processes.\n* [ttop](https://github.com/inv2004/ttop) - top-like system monitoring tool with TUI, historical data service and triggers.\n* [TTV](https://github.com/caio-ishikawa/term-task-viewer) - terminal-task-viewer: a lightweight terminal tool to manage processes in Unix machines.\n* [vitals](https://github.com/AngelJumbo/vitals) - System usage visualizer and top replacement for Linux.\n* [vtop](https://github.com/MrRio/vtop) - Alternative to top with several additional stats.\n* [zenith](https://github.com/bvaisvil/zenith) - Sort of like top or htop but with zoom-able charts, CPU, GPU, network, and disk usage\n\n## \u003ca name=\"file-dir-cleanup\"\u003e\u003c/a\u003eClean up of files and directories\n\nFind/remove duplicate files, automatically organize files, etc..\n\n* [backdown](https://github.com/Canop/backdown) - Safely and ergonomically remove duplicate files\n* [classifier](https://github.com/bhrigu123/classifier) - Organize files in your current directory, by classifying them into folders of music, PDFs, images, etc.\n* [czkawka](https://qarmin.github.io/czkawka/) - Remove unnecessary files from your computer\n* [detox](https://github.com/dharple/detox) - Easily clean up filenames; it replaces characters like spaces with standard equivalents and UTF-8 or Latin-1 (or CP 1252) characters with more handy ones.\n* [Dext](https://github.com/AfzGit/dext) - (Directories by Extensions) is a script that moves (or copies) files of the same extension into a folder.\n* [doggo](https://github.com/0nsh/doggo) - CLI tool that uses AI to help you search for and organize images using natural language queries (instead of remembering filenames, you can describe what you're looking for).\n* [duple](https://github.com/dbruce-ae05/duple) - Find and remove duplicate files.\n* [Duplito](https://github.com/ftarlao/duplito) - Command-line tool designed to help you identify duplicate file on your system by listing the files in folders like ls does and highlighting what is duplicate.\n* [FClones](https://github.com/pkolaczk/fclones) - Efficient Duplicate File Finder.\n* [Framed](https://github.com/mactat/framed) - A CLI tool that simplifies the organization and management of files and directories in a reusable and architectural manner.\n* [image-sorter](https://github.com/jgalat/image-sorter) - Terminal user interface for sorting images using key bindings written in Rust; It requires w3m to render the images.\n* [inventory](https://github.com/mothdotmonster/inventory) - Move files like an old text adventure.\n* [mat2](https://0xacab.org/jvoisin/mat2.git) - Metadata removal tool, supporting a wide range of commonly used file formats.\n* [NTC](https://codeberg.org/ItsZariep/ntc) - A program that, based on the contents of a folder, create tabs (subfolders inside the selected folder) and displays their contents.\n* [organize-cli](https://github.com/ManrajGrover/organize-cli) - Organize your files automatically.\n* [rmlint](https://github.com/sahib/rmlint) - Recursively scan a directory tree looking for duplicate and broken files; it outputs statistics and save the list of files in JSON format and produces a shell script that can be inspected before running it to delete the desire files.\n* [smash](https://github.com/thushan/smash) - Smash through to find duplicate files super fast by slicing files intelligently.\n\n# \u003ca name=\"File-and-Filesystem-Management\"\u003e\u003c/a\u003eFile and Filesystem Management\n\n## \u003ca name=\"file-manager\"\u003e\u003c/a\u003eFile managers\n\nApplications for interactively managing files and directories.\n\n* [adbtuifm](https://github.com/darkhz/adbtuifm) - A TUI file manager for the Android Debug Bridge, to make transfers between the device and client easier.\n* [Better tree](https://github.com/LeperGnome/bt) - Interactive tree-like terminal file manager.\n* [cfiles](https://github.com/mananapr/cfiles) - ncurses file manager written in C with vim like keybindings\n* [clifm](https://github.com/leo-arch/clifm) - A CLI-based, shell-like, and non-curses terminal file manager written in C: simple, fast, extensible, and lightweight as hell.\n* [Far2l](https://github.com/elfmz/far2l) - Linux port of Far v2 file manager.\n* [felix](https://github.com/kyoheiu/felix) - TUI file manager with vim-like key mapping\n* [fman](https://github.com/nore-dev/fman) - TUI File Manager\n* [fml](https://github.com/wick3dr0se/fml) - Simple and fast file manager written in BASH.\n* [fzfm](https://github.com/ashish0kumar/fzfm) - A command-line fuzzy finder file manager.\n* [goful](https://github.com/anmitsu/goful) - Goful is a CUI file manager written in Go.\n* [hunter](https://github.com/rabite0/hunter) - Ranger-like file browser written in rust.\n* [joshuto](https://github.com/kamiyaa/joshuto) - ranger-like terminal file manager\n* [lf](https://github.com/gokcehan/lf) - lf (as in \"list files\") is a terminal file manager written in Go with a heavy inspiration from ranger file manager.\n* [lfm](https://inigo.katxi.org/devel/lfm/) - (Last File Manager) - a file manager written in Python; it comes with lots of features, including 1-pane or 2-pane view, files filters and bookmarks, tree view, virtual file-systems to open compressed archives, search in files, customizable keybindings and themes.\n* [Midnight Commander](http://www.midnight-commander.org/) - A visual file manager, full-screen text mode application that allows you to copy, move and delete files and whole directory trees and search for files; includes an internal viewer and editor.\n* [ncursesFM](https://github.com/FedeDP/ncursesFM) - File manager written in C, rather complete in terms of features, especially lightweight and responsive.\n* [nnn](https://github.com/jarun/nnn) - \"The unorthodox terminal file manager\" - a tiny, nearly 0-config and fast file manager supporting all the operations on files and directories.\n* [projectable](https://github.com/dzfrias/projectable) - A TUI file manager built for projects.\n* [ranger](https://ranger.github.io/) - File manager with vi key bindings, curses interface with a view on the directory hierarchy, comes with a file launcher that automatically determines which program to use for opening a given file type.\n* [RTFM](https://github.com/isene/RTFM) - Feature-rich Terminal File Manager written in Ruby.\n* [sfm](https://github.com/afify/sfm) - Simple file manager for unix-like systems with kernel event notifications, monitoring filesystem events, dual pane and more.\n* [superfile](https://github.com/yorukot/superfile) - Pretty fancy and modern file manager.\n* [TUIFI Manager](https://github.com/GiorgosXou/TUIFIManager) - A cross-platform terminal-based termux-oriented file manager (and component), meant to be used with a Uni-Curses project or as is.\n* [veld](https://github.com/BranBushes/veld-fm) - A modern, tileable, terminal-based file manager built with Python and Textual.\n* [vifm](https://vifm.info/) - \"ncurses based file manager with vi like keybindings/modes/options/commands/configuration, which also borrows some useful ideas from mutt\" (cit.).\n* [walk](https://github.com/antonmedv/walk) - Terminal file manager.\n* [Yazi](https://github.com/sxyazi/yazi) - Blazing fast terminal file manager written in Rust, based on async I/O.\n\n## \u003ca name=\"file-explorer\"\u003e\u003c/a\u003eFile explorer and tree visualization\n\nShow directory trees and navigate through the file system (but not full-featured file managers).\n\n* [alder](https://github.com/aweary/alder) - Directory tree visualizer.\n* [browsr](https://github.com/juftin/browsr) - A pleasant file explorer that can browse the contents of local and remote filesystems with your keyboard or mouse; remotes include GitHub, over SSH, in AWS S3, Google Cloud Storage, or Azure Blob Storage.\n* [Hop!](https://github.com/benrutter/hop) - File explorer designed to be fast, simple and user-friendly, running on any operating system.\n* [ictree](https://github.com/NikitaIvanovV/ictree) - Like tree but interactive.\n* [kupo](https://github.com/darrenburns/kupo) - A terminal file browser, kupo!\n* [Rust-Traverse](https://github.com/dmcg310/Rust-Traverse) - Rust traverse is a terminal based file explorer. It is inspired by the NNN file manager. It uses Ratatui for the terminal UI, with Crossterm for the terminal backend.\n* [tere](https://github.com/mgunyho/tere) - Terminal file explorer that is a faster alternative to using cd and ls to browse folders in your terminal.\n* [tre](https://github.com/dduan/tre) - `tree` command improved with git awareness, editor aliasing, and colors.\n* [tree](http://mama.indstate.edu/users/ice/tree/) - Recursive directory listing command that produces a depth indented list of files.\n* [twf](https://github.com/wvanlint/twf) - Standalone tree view file explorer.\n* [xplr](https://github.com/sayanarijit/xplr) - A hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf.\n\n## \u003ca name=\"file-handling\"\u003e\u003c/a\u003eFile and file system handling\n\nTools for managing files and directories (copy, move, extraction from compressed archives, change permissions, etc.).\n\n* [burf](https://github.com/razeghi71/burf) - TUI for Google Cloud Storage (GCS).\n* [CHMpy-sp](https://github.com/AmmarSyamil/CHMpy) - TUI made from Textual for changing file/folder permission in Linux. \n* [choof](https://github.com/elParadigm/choof) - Choof is a fast and minimal CLI tool for managing files, built with Bubble Tea for Linux.\n* [compsize](https://github.com/kilobyte/compsize) - Find compression type/ratio on a file or set of files on a btrfs file system.\n* [conan](https://github.com/mirage/conan) - Find clue about the type of the file.\n* [dlorg](https://github.com/deepspeccode/dlorg) - Powerful and intuitive that automatically organizes your cluttered Downloads folder into a neatly structured directory system.\n* [doppelganger](https://github.com/witchard/doppelganger) - Save and load your shell environment to create doppelganger shells!\n* [doxx](https://github.com/bgreenwell/doxx) - Terminal native document viewer for Word files (view, search and export documents).\n* [dtrx](https://brettcsmith.org/2007/dtrx/) - (Do The Right eXtraction) aims at taking \"all the hassle out of extracting archives\"; allows using one command to extract archives in different formats, recursive extraction (files into file) and extracts files into dedicated directories.\n* [Fast Files](https://github.com/mintycube/fast-files) - ff is a bash script which is a combination of `mkdir` and `touch`. It can create directory structures and files simultaneously and lists the created objects using `eza`, `lsd`, or `ls`.\n* [file-type-cli](https://github.com/sindresorhus/file-type-cli) - Detect the file type of a file or stdin.\n* [ForkFS](https://github.com/SUPERCILEX/forkfs) - ForkFS allows you to sandbox a process's changes to your file system.\n* [fstk](https://github.com/archsyscall/fstk) - Stack-based file \u0026 directory manager: modern \"cut/paste\" alternative to mv.\n* [gcp](https://github.com/aelafifi/gcp) - (Goffi's cp) - an advanced file copier tool, heavily inspired from the traditional `cp` command, but with some additional features: Displays the copy progress indicator, with estimated time, current file speed; logs of all actions; resume of interrupted copy processes.\n* [gcstree](https://github.com/owlinux1000/gcstree) - Tree command for GCS (Google Cloud Storage).\n* [lib-x](https://github.com/Benexl/lib-x) - Browse your calibre library from the terminal.\n* [logrotate](https://github.com/logrotate/logrotate) - Rotate, compress and mail logs.\n* [ouch](https://github.com/ouch-org/ouch) - Painless compression and decompression in the terminal.\n* [PathPicker](https://facebook.github.io/PathPicker/) - A tool from Facebook that parses the output from a command and presents a UI to select files and directories, can be used to apply a command of a interactively selected files or to move across directories.\n* [progress](https://github.com/Xfennec/progress) - Monitor the progress of common Coreutils command-line tools (`cp`, `mv`, `dd`, `tar`, `rsync`, etc.); it uses a ncurses interface to display the percentage of data copied; it works by reading from system files and retrieving the necessary information for the estimation.\n* [pycp](https://github.com/dmerejkowsky/pycp) - cp and mv with a progress bar.\n* [qcp](https://github.com/crazyscot/qcp) - Quick File Copy using QUIC.\n* [Snoop](https://github.com/Mandrew0822/Snoop) - A command-line utility for Linux that provides information about files in a directory.\n* [symlinks](https://github.com/brandt/symlinks) - Symlinks is a simple tool that helps find and remedy problematic symbolic links on a system.\n* [treegen](https://github.com/bilbilak/treegen) - ASCII tree directory and file structure generator.\n* [TUI Archiver](https://www.nexus0.net/pub/sw/tuiarchiver/) - A TUI/CLI application to list / manage archives. Can be used stand-alone and has some features for integrating with TUI file managers\n* [unix-permissions](https://github.com/ehmicky/unix-permissions) - Swiss Army knife for Unix permissions.\n* [vidir](https://github.com/trapd00r/vidir) - vidir allows editing of the contents of a directory in a text editor.\n* [xcp](https://github.com/tarka/xcp) - Extended cp.\n* [zip-stream-cli](https://github.com/alexandre-garrec/zip-stream-cli) - A tool that allows to stream and display the contents of various file types from a remote ZIP archive directly in your terminal. With support for images, audio files, text, PDFs, and more,\n\n## \u003ca name=\"backup\"\u003e\u003c/a\u003eBackup\n\nTools to manage the backup of files and directories.\n\n* [autorestic](https://autorestic.vercel.app/) - A wrapper around the [restic](https://restic.net/) backup tool, with the goal of simplifying the setup and usage through the use of config files.\n* [backhub](https://github.com/Tanq16/backhub) - Backhub helps maintain backups of multiple GitHub repos as full local mirrors.\n* [borg](https://www.borgbackup.org/) - Encrypted backups with a clean and simple interface, easy to use and set up, possibility to mount the backup archive with FUSE and inspect it as a regular file system.\n* [bup](https://bup.github.io/) - Very efficient backup system based on the git packfile format, providing fast incremental saves and global deduplication.\n* [bupstash](https://github.com/andrewchambers/bupstash) - Secure, encrypted backups with efficient deduplication, client-side encryption, offline decryption, search-tagged data protection, strong privacy, robust performance on slow networks, memory-safe security against attacks, incremental backups, and minimal RAM usage for production use.\n* [Crestic](https://nils-werner.github.io/crestic/) - Configurable Restic Wrapper.\n* [duplicity](http://duplicity.nongnu.org/) - Creates GPG encrypted, compressed backups; client-side encryption allows uploading the backup onto untrusted servers.\n* [Duply](http://duply.net/) - Simplifies the use of [duplicity](http://duplicity.nongnu.org/) by keeping clean configuration files to automate the backup.\n* [gwbackupy](https://github.com/smartondev/gwbackupy) - Open source Google Workspace™ backup solution.\n* [Kopia](https://kopia.io/) - Cross-platform backup tool for Windows, macOS \u0026 Linux with fast, incremental backups, client-side end-to-end encryption, compression, and data deduplication. CLI and GUI included.\n* [paperbackup](https://github.com/intra2net/paperbackup) - Create a PDF with barcodes to backup text files on paper.\n* [qbak](https://github.com/andreas-glaser/qbak) - A single-command backup helper for Linux and POSIX systems written in Rust; The program creates timestamped backup copies of files and directories with zero configuration.\n* [rdiff-backup](https://rdiff-backup.net/) - Reverse differential backup tool, over a network or locally, using the same protocol as rsync to transfer and store data.\n* [Restic](https://restic.net/) - A backup program that is fast, efficient, and secure.\n* [rsnapshot](https://rsnapshot.org) -  A filesystem snapshot utility based on rsync. It manages a rotation schedule when to discard older backup, e.g. from hourly to yearly. The Perl code makes extensive use of hard links and greatly reduces the disk space required.\n* [shallow-backup](https://github.com/alichtman/shallow-backup) - Git integrated backup tool.\n* [thread-safe](https://github.com/dkaslovsky/thread-safe) - Keep your favorite Twitter threads safe with a local copy.\n* [Zaloha.sh](https://github.com/Fitus/Zaloha.sh) - Shellscript for synchronization of files and directories.\n* [zbackup](http://zbackup.org/) - A globally-deduplicating backup tool, based on the ideas found in rsync.\n* [ZnapZend](https://www.znapzend.org) - ZFS centric backup tool creates snapshots and sends them to backup volumes. It manages local and remote copies by thinning them out as time progresses.\n\n## \u003ca name=\"file-watch\"\u003e\u003c/a\u003eFile watching for changes\n\nServices that watch files for changes and perform actions when something happens.\n\n* [Chokidar CLI](https://github.com/open-cli-tools/chokidar-cli) - Fast cross-platform command line utility to watch file system changes.\n* [fswatch](https://github.com/codeskyblue/fswatch) - Watch file change, and trigger commands (cross platform).\n* [reflex](https://github.com/cespare/reflex) - Reflex is a small tool to watch a directory and rerun a command when certain files change.\n* [rwatch](https://github.com/davidhfrankelcodes/rwatch) - A Rust re-implementation of the classic Unix watch command that allows you to run a command repeatedly and watch its output.\n* [Viddy](https://github.com/sachaos/viddy) - Modern watch command. Time machine and pager etc.\n* [watcher](https://github.com/sethigeet/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.\n* [watchexec](https://github.com/watchexec/watchexec) - Executes commands in response to file modifications.\n* [wfh](https://github.com/kzys/wfh) - Continuously watches your local directories and rsync them against a remote host.\n\n## \u003ca name=\"file-renamer\"\u003e\u003c/a\u003eFile renamers\n\nUtilities to rename files and directories: address multiple items with one command, interactively edit the name within an editor, etc..\n\n* [Bren](https://www.byteptr.com/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.\n* [F2](https://github.com/ayoisaiah/f2) - Cross-platform command-line tool for batch renaming files and directories quickly and safely.\n* [massren](https://github.com/laurent22/massren) - Easily rename multiple files using your text editor.\n* [mmv](https://github.com/itchyny/mmv) - Rename multiple files using your $EDITOR. The command name is named after multi-mv.\n* [mmv-c](https://github.com/mcauley-penney/mmv-c) - Interactively rename files with your favorite editor.\n* [moove](https://github.com/urin/moove) - Manipulate file names and locations using a text editor.\n* [Musort](https://github.com/tdeerenberg/Musort) - Rename multiple audio/music files based on the ID3 tag at once.\n* [nomino](https://github.com/yaa110/nomino) - Batch rename utility for developers.\n* [Ren](https://github.com/robenkleene/ren-find) - Ren is a command-line utility that takes find-formatted lines via standard input, and batch renames them.\n* [rename](https://www.kernel.org/pub/linux/utils/util-linux/) - Included in `util-linux`, allows bulk rename of files with regex support.\n* [rename-cli](https://github.com/jhotmann/node-rename-cli) - File renamer with TUI interface and preview.\n* [renamed.to](https://www.renamed.to/cli) - AI-powered file renamer that analyzes document content (PDFs, scans, images) and generates descriptive filenames in bulk.\n* [renameutils](http://www.nongnu.org/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.\n* [Tempren](https://github.com/idle-code/tempren) - A powerful file renaming utility that uses flexible template expressions to create new file paths and names.\n* [VisioNomicon](https://github.com/rehanzo/VisioNomicon) - A utility that leverages GPT-4V to rename image files based on their content.\n\n## \u003ca name=\"file-system\"\u003e\u003c/a\u003eFile systems\n\nFile systems with specific features; e.g., the possibility to add tags and labels to files.\n\n* [ipfs-deploy](https://github.com/ipfs-shipyard/ipfs-deploy) - Zero-Config CLI to Deploy Static Websites to IPFS [IPFS](https://en.wikipedia.org/wiki/InterPlanetary_File_System).\n* [sshfs](https://github.com/libfuse/sshfs) - Locally mount a remote file-system through SSH and access files and directory as they would be on the local machine.\n* [TMSU](http://tmsu.org/) - A simple tool for tagging files, providing a virtual filesystem for a tag-based view of your files from within any other program.\n* [wutag](https://github.com/vv9k/wutag) - CLI Tool for tagging and organizing files by tags.\n\n## \u003ca name=\"conversion\"\u003e\u003c/a\u003eFile format converters\n\nUtilities to convert different types of files.\n\n* [antiword](https://web.archive.org/web/20071002133135/http://www.winfield.demon.nl/) - Reader and converted for the proprietary MS .doc file format.\n* [BaFi](https://mmalcek.github.io/bafi/) - Universal JSON, BSON, YAML, CSV, XML translator to ANY format using templates.\n* [catdoc](http://www.wagner.pp.ru/~vitus/software/catdoc/) - Convert Microsoft Word files to plain text; output is sent to the standard output.\n* [hecat](https://gitlab.com/nodiscc/hecat) - A generic automation tool around data stored as plain-text YAML files.\n* [hget](https://github.com/bevacqua/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.\n* [jsonify-resume](https://github.com/ashishbinu/jsonify-resume) - A CLI that converts resumes into JSON Resume schema.\n* [lx](https://github.com/rasros/lx) - Convert arbitrary files into Markdown-fenced blocks for LLM context.\n* [markdrop](https://github.com/shoryasethia/markdrop) - Converts PDFs to markdown while extracting images and tables, generating descriptive text descriptions for extracted tables/images using several LLM clients.\n* [MarkItDown](https://github.com/microsoft/markitdown) - Python tool for converting files and office documents to Markdown.\n* [NestedTextTo](https://github.com/AndydeCleyre/nestedtextto) - CLI to convert between NestedText and JSON, YAML, or TOML.\n* [Pandoc](http://pandoc.org/) - Universal document file converter; handles input output from/to a number of formats: HTML, PDF, LaTeX, DOCX, ODT, AsciiDoc, Markdown, Textile, just to mention a few; the quality of conversion strongly depends on the combination of input/output formats.\n* [scss-to-css](https://github.com/adamlui/scss-to-css/#readme) - Recursively compile all SCSS files into minified CSS.\n* [simtex](https://github.com/simtex-dev/engine) - simtex (simplified LaTeX) allows you to convert your Markdown or text lectures into LaTeX file with one command, configured with simple .json file.\n* [transflac](https://bitbucket.org/gbcox/transflac.git/) - A repository containing a series of utilities to assist in the maintenance and organization of FLAC based music collections.\n* [unoserver](https://github.com/unoconv/unoserver) - Using LibreOffice as a server for converting documents, it allows converting multiple documents without loading libreoffice into memory every time.\n* [Vertopal-CLI](https://github.com/vertopal/vertopal-cli) - Vertopal-CLI is a small, yet powerful utility for converting digital files to a variety of file formats using Vertopal public API.\n* [wv](https://wvware.sourceforge.net/) - 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.\n\n# \u003ca name=\"Text-and-Data-Processing\"\u003e\u003c/a\u003eText and Data Processing\n\n## \u003ca name=\"text-processing\"\u003e\u003c/a\u003eText processing\n\nText processing utilities to cut or sort lines, find dead links, colorize command output, etc..\n\n* [analiticcl](https://github.com/proycon/analiticcl) - An approximate string matching or fuzzy-matching system for spelling correction, normalisation or post-OCR correction.\n* [anew](https://github.com/tomnomnom/anew) - Tool for adding new lines to files, skipping duplicates.\n* [as-tree](https://github.com/jez/as-tree) - Print a list of paths as a tree of paths.\n* [awk](https://github.com/onetrueawk/awk) - A historical, general-purpose text file processor, implements a domain-specific language designed for text processing and typically used as a data extraction and reporting tool.\n* [brok](https://github.com/smallhadroncollider/brok) - Find broken links in text documents.\n* [catdir](https://github.com/emilastanov/catdir) - A simple CLI utility that traverses directories and concatenates the contents of all files within a folder and its subfolders, similar to the Unix cat command, but for entire directory trees.\n* [catselector](https://github.com/alexaldearroyo/catselector) - Interactive file selector for concatenating and exporting text files.\n* [charfreq](https://github.com/proycon/charfreq) - Very simple command-line tool that counts (unicode) character frequency from standard input.\n* [cho](https://github.com/jaggzh/cho) - The safe echo \u0026 quoting utility you always knew you needed, but were too afraid to ask [for].\n* [choose](https://github.com/theryangeary/choose) - A human-friendly and fast alternative to cut and (sometimes) awk.\n* [Colibri Core](https://proycon.github.io/colibri-core/) - A software to quickly and efficiently count and extract patterns (n-grams and more) from large corpus data, to extract various statistics on the extracted patterns, and to compute relations between the extracted patterns.\n* [deadlink](https://github.com/nschloe/deadlink) - Parses text files for HTTP URLs and checks if they are still valid. Good to use on Markdown documentation files.\n* [detect-indent-cli](https://github.com/sindresorhus/detect-indent-cli) - Detect the indentation of code.\n* [dir2txt](https://github.com/shubhamoy/dir2txt) - A blazing-fast CLI tool to export a directory's structure and contents into a neatly formatted `.txt` or `.json` file.\n* [espanso](https://github.com/espanso/espanso) - Cross-platform Text Expander written in Rust. Not limited to the command line.\n* [fullname-cli](https://github.com/sindresorhus/fullname-cli) - Get the fullname of the current user.\n* [grc](https://github.com/pengwynn/grc) - (Generic Colourizer) - parse a given text stream and to colorize it according to regexp written in configuration files; different patterns can be associated to file types.\n* [grits](https://github.com/solidiquis/grits) - A simple line-text formatter that makes it simple to parse, filter, and format live logs turning noise into meaningful insights.\n* [gtree](https://github.com/ddddddO/gtree) - Using either Markdown or programmatically to generate directory trees and directories, and to verify directories.\n* [gzip-size-cli](https://github.com/sindresorhus/gzip-size-cli) - Get the gzipped size of a file.\n* [HASHA CLI](https://github.com/sindresorhus/hasha-cli) - Hashing made simple. Get the hash of text or stdin.\n* [hburger](https://github.com/niqodea/hburger) - Shorten long strings and paths while preserving readability.\n* [hck](https://github.com/sstadick/hck) - A sharp cut clone.\n* [huniq](https://github.com/koraa/huniq) - Command line utility to remove duplicates from the given input. Note that huniq does not sort the input, it just removes duplicates.\n* [hyphertool](https://github.com/proycon/hyphertool/) - Command-line tool for syllabification and hyphenisation for multiple languages.\n* [json-leaves](https://github.com/talwrii/json-leaves) - Extract the leaves from a JSON file and show the paths to said leaves.\n* [JsonGenius](https://github.com/semanser/JsonGenius) - Self-hosted scraping API that extracts structured data described by a JSON Schema.\n* [lexmatch](https://github.com/proycon/lexmatch) - This is a simple lexicon matching tool that, given a lexicon of words or phrases, identifies all matches in a given target text, returning their exact positions. It can be used compute a frequency list for a lexicon, on a target corpus.\n* [Line Select](https://github.com/urbanogilson/lineselect) - A powerful utility enabling interactive line selection from stdin, allowing to seamlessly integrate, pause, select, and refine your pipeline, enhancing data processing precision.\n* [lingua-cli](https://github.com/proycon/lingua-cli) - This is a small command-line tool for language detection, it is a simple wrapper around the lingua-rs library for Rust.\n* [logshark](https://github.com/ugosan/logshark) - Logshark is a debugger CLI for JSON logs written in Go.\n* [logu](https://github.com/ynqa/logu) - Extract patterns from (streaming) unstructured log messages.\n* [lolcat](https://github.com/busyloop/lolcat) - Ruby Gem to colorize the output of the cat command.\n* [modo](https://github.com/elliot40404/modo) - A cross platform cli app to interact with markdown style checkboxes within any text file.\n* [neospeller](https://github.com/richardhapb/neospeller) - Spell checking for different languages comments.\n* [Normalize Country](https://github.com/sshaw/normalize_country) - Convert country names and codes to a standard.\n* [Output as Format](https://github.com/sshaw/output-as-format) - Output stdin as GitHub/Slack/Jira etc... formatted code, lists, or quotes.\n* [pup](https://github.com/ericchiang/pup) - Parsing HTML at the command line.\n* [rare](https://github.com/zix99/rare) - Real-time regex-extraction and aggregation into common formats such as histograms, bar graphs, numerical summaries, tables, and more!\n* [rich](https://github.com/Textualize/rich-cli) - Rich-CLI is a command line toolbox for fancy output in the terminal, built with [Rich](https://github.com/Textualize/rich).\n* [seaq](https://github.com/nt54hamnghi/seaq) - seaq (pronounced \"seek\") allows you to extract text data from the web and process it with your favorite prompt and LLM model, all from your terminal.\n* [skroll](https://z3bra.org/skroll/) - A small utility that you can use to make a text scroll. Pipe text to it, and it will scroll a given number of letters from right to left.\n* [squeeze](https://github.com/aymericbeaumet/squeeze) - Enables to extract rich information from any text (raw, JSON, HTML, YAML, etc).\n* [ssam](https://github.com/proycon/ssam) - Ssam, short for split sampler, splits one or more text-based input files into multiple sets using random sampling. This is useful for splitting data into a training, test and development sets.\n* [stam-tools](https://github.com/annotation/stam-tools) - A collection of command-line tools for working with STAM, a data-model for stand-off annotations on text.\n* [swordfish-rs](https://github.com/vim-zz/swordfish-rs) - Mimics real person behavior with real-time typing into terminal uses a screenplay where text and timings are specified.\n* [to-double-quotes](https://github.com/sindresorhus/to-double-quotes-cli) - Convert matching single-quotes to double-quotes.\n* [to-single-quotes](https://github.com/sindresorhus/to-single-quotes-cli) - Convert matching double-quotes to single-quotes.\n* [toc](https://github.com/AlphaJack/toc) - Generate a table of contents from the comments of a file.\n* [toolong](https://github.com/Textualize/toolong) - A terminal application to view, tail, merge, and search log files (plus JSONL).\n* [trre](https://github.com/c0stya/trre) - Transductive regular expressions: an extension of the regular expressions for text editing and a grep-like command line tool.\n* [trurl](https://github.com/curl/trurl) - Command line tool for URL parsing and manipulation.\n* [tuc](https://github.com/riquito/tuc) - You want to cut on more than just a character, perhaps using negative indexes or format the selected fields as you want... Maybe you want to cut on lines (ever needed to drop first and last line?)... That's where tuc can help.\n* [ucto](https://languagemachines.github.io/ucto/) - Ucto tokenizes text files: it separates words from punctuation, and splits sentences. It has rules (regular-expression based) for several languages.\n* [Ultimate Plumber](https://github.com/akavel/up) - Helps to interactively and incrementally explore textual data in Linux, by making it easier to quickly build complex pipelines, thanks to a fast feedback loop.\n* [wg-cmd](https://github.com/AndrianBdn/wg-cmd) - TUI for managing WireGuard configuration files.\n* [xcut](https://github.com/kyotalab/xcut) - A flexible field extractor and filter tool for the command line (extended version of the Unix cut command).\n* [yek](https://github.com/bodo-run/yek) - A fast Rust based tool to serialize text-based files in a repository or directory for LLM consumption.\n\n## \u003ca name=\"data-management\"\u003e\u003c/a\u003eData management\n\nTools to manage data files.\n\n* [chndlr](https://github.com/bharatvaj/chndlr) - Replacement for xdg-open; It determines the appropriate application to open a file or URL based on user-defined rules in configuration.\n* [crudini](https://github.com/pixelb/crudini) - A utility for manipulating .ini files.\n* [datadash](https://github.com/keithknott26/datadash) - Visualize and graph data in the terminal.\n* [datasetGPT](https://github.com/radi-cho/datasetGPT) - A command-line interface and a Python library for inferencing Large Language Models to generate textual datasets.\n* [dateutils](http://www.fresse.org/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.\n* [GNU Recutils](https://www.gnu.org/software/recutils/manual/) - Set of tools and libraries to access human-editable, text-based databases called recfiles.\n* [gnuplot](https://www.explainshell.com/explain/1/gnuplot) - Generate two and three-dimensional plots of data.\n* [IRedis](https://github.com/laixintao/iredis) - Interactive Redis: A CLI for Redis with autocompletion and Syntax Highlighting.\n* [kaskade](https://github.com/sauljabin/kaskade) - TUI for kafka, which allows you to interact and consume topics from your terminal in style.\n* [lowcharts](https://github.com/juan-leon/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.\n* [osmf](https://github.com/codesoap/osmar) - OpenStreetMap find - A simple command line tool to explore OSM data.\n* [ramda-cli](https://github.com/raine/ramda-cli) - A tool for processing data with functional pipelines.\n* [Redis Viewer](https://github.com/SaltFishPr/redis-viewer) - A tool to view Redis data in terminal.\n* [redis_tui](https://github.com/mat2cc/redis_tui) - Redis terminal browser application.\n* [ROAPI](https://github.com/roapi/roapi) - ROAPI automatically spins up read-only APIs for static datasets without requiring you to write a single line of code.\n* [sampler](https://github.com/sqshq/sampler) - Sampler is a tool for shell commands execution, visualization, and alerting. Configured with a simple YAML file.\n* [ttyplot](https://github.com/tenox7/ttyplot) - A realtime plotting utility for terminals with data input from stdin/pipe.\n* [zq](https://zed.brimdata.io/docs/commands/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.\n\n## \u003ca name=\"data-management-json\"\u003e\u003c/a\u003eData management - JSON/YAML/etc.\n\nTools to manage data files, dedicated to JSON, YAML and other similar formats.\n\n* [dasel](https://github.com/TomWright/dasel) - Allows you to query and modify data structures using selector strings.\n* [faq](https://github.com/jzelinskie/faq) - Format Agnostic jQ - process various formats with libjq.\n* [Frontmatter CLI Tool](https://github.com/marad/frontmatter) - CLI tool for managing YAML frontmatter in text files; Built with Go and optimized for performance with large files.\n* [fx](https://github.com/antonmedv/fx) - Command-line JSON viewer.\n* [gojq](https://github.com/itchyny/gojq) - Pure Go implementation of jq.\n* [Graphtage](https://github.com/trailofbits/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.\n* [gron](https://github.com/tomnomnom/gron) - gron transforms JSON into discrete assignments to make it easier to grep for what you want and see the absolute 'path' to it.\n* [GROQ](https://github.com/sanity-io/groq-cli) - The CLI tool consumes both JSON and NDJSON documents. You can pass in data from a local file, or from piping to standard input.\n* [jaq](https://github.com/01mf02/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.\n* [jayin](https://github.com/we-cli/jayin) - Piping with js at terminal.\n* [jc](https://github.com/kellyjonbrazil/jc) - Serializes the output of command line tools to JSON.\n* [jellex](https://github.com/kellyjonbrazil/jellex) - TUI to filter JSON and JSON Lines data with Python syntax.\n* [jello](https://github.com/kellyjonbrazil/jello) - CLI tool to filter JSON and JSON Lines data with Python syntax, similar to - surprise :-), jq!\n* [jf](https://github.com/sayanarijit/jf) - A small utility to safely format and print JSON objects in the commandline.\n* [jid](https://github.com/simeji/jid) - You can drill down JSON interactively by using filtering queries like jq.\n* [jj](https://github.com/tidwall/jj) - A command line utility that provides a fast and simple way to retrieve or update values from JSON documents.\n* [jl](https://github.com/chrisdone/jl) - jl (\"JSON lambda\") is a tiny functional language for querying and manipulating JSON.\n* [jless](https://pauljuliusmartinez.github.io/) - Command-line JSON viewer designed for reading, exploring, and searching through JSON data.\n* [jnv](https://github.com/ynqa/jnv) - Interactive JSON filter using jq.\n* [jo](https://github.com/jpmens/jo) - A small utility to create JSON objects from the command line.\n* [jp](https://github.com/therealklanni/jp) - A tiny command-line tool for parsing JSON from any source.\n* [jp](https://github.com/jmespath/jp) - A command line interface to JMESPath, an expression language for manipulating JSON.\n* [jq](https://stedolan.github.io/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.\n* [jqp](https://github.com/noahgorstein/jqp) - A TUI playground for exploring jq.\n* [jqview](https://github.com/fiatjaf/jqview) - Simplest possible native GUI for inspecting JSON.\n* [Jsawk](https://github.com/micha/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.\n* [jsed](https://github.com/jtopjian/jsed) - jsed is a small command-line utility to add, remove, and search for data in a JSON structure.\n* [jshon](https://github.com/keenerd/jshon) - Jshon is a JSON parser designed for maximum convenience within the shell.\n* [json](https://github.com/trentm/json) - A \"json\" command for massaging JSON on your Unix command line.\n* [JSON Command](https://github.com/zpoley/json-command) - JSON command line processing toolkit: no more writing code to inspect or transform JSON objects.\n* [JSON-Grep](https://github.com/ploubser/JSON-Grep) - JGrep is a command line tool and API for parsing JSON documents based on logical expressions.\n* [JSON.awk](https://github.com/step-/JSON.awk) - A practical JSON parser written in awk.\n* [JSON.sh](https://github.com/dominictarr/JSON.sh) - A JSON parser written in shell, compatible with ash, bash, dash and zsh.\n* [jsongrep](https://github.com/dsc/jsongrep) - A shell tool to search and select bits out of JSON documents.\n* [jsongrep](https://github.com/terrycojones/jsongrep) - Python for extracting pieces of JSON objects\n* [jsonpp](https://github.com/jmhodges/jsonpp) - A fast command line JSON pretty printer.\n* [jsonv.sh](https://github.com/archan937/jsonv.sh) - A Bash command line tool for converting JSON to CSV.\n* [jtbl](https://github.com/kellyjonbrazil/jtbl) - A simple CLI tool to print JSON and JSON Lines data as a table in the terminal.\n* [jtc](https://github.com/ldn-softdev/jtc) - JSON manipulation and transformation.\n* [Konfigo](https://github.com/ebogdum/konfigo) - Command-line tool designed to work with multiple configuration file formats like JSON, YAML, TOML.\n* [RecordStream](https://github.com/benbernard/RecordStream) - Command-line tools for slicing and dicing JSON records.\n* [rq](https://github.com/dflemstr/rq) - Record Query - A tool for doing record analysis and transformation.\n* [TickTick](https://github.com/kristopolous/TickTick) - TickTick enables you to put JSON in bash scripts. Yes, just encapsulate them with two back-ticks.\n* [underscore-cli](https://github.com/ddopson/underscore-cli) - Command-line utility-belt for hacking JSON and JavaScript.\n* [vj](https://github.com/busyloop/vj) - JSON Humanizer makes JSON human-readable by applying visual formatting.\n* [YAML Paths](https://github.com/wwkimball/yamlpath) - YAML/JSON/EYAML/Compatible get/set/merge/validate/scan/convert/diff processors using powerful, intuitive, command-line friendly syntax.\n* [yq](https://github.com/mikefarah/yq) - Portable command-line YAML processor.\n\n## \u003ca name=\"data-management-tabular\"\u003e\u003c/a\u003eData management - Tabular data\n\nTools to manage tabular data files, such as CSV, spreadsheets, and database tables.\n\n* [csvkit](https://github.com/wireservice/csvkit) - A suite of command-line tools for converting to and working with CSV, the king of tabular file formats.\n* [csvlens](https://github.com/YS-L/csvlens) - CSV file viewer; like `less` but made for CSV.\n* [csvq](https://github.com/mithrandie/csvq) - SQL-like query language for CSV.\n* [csvsuite](https://github.com/wiluite/csvsuite) - A suite of tools to process CSV files, written in C++.\n* [csvtk](https://bioinf.shenwei.me/csvtk/) - A cross-platform, efficient and practical CSV/TSV toolkit written in Go.\n* [daff](https://github.com/paulfitz/daff) - Efficient table comparison and alignment, supporting formats like CSV and SQLite, useful for data analysis and synchronization tasks.\n* [DBee](https://github.com/murat-cileli/dbee) - Fast \u0026 Minimalistic Database Browser (MySQL, MariaDB, PostgreSQL).\n* [dblab](https://github.com/danvergara/dblab) - Interactive client for PostgreSQL, MySQL, SQLite3, Oracle and SQL Server.\n* [dolphie](https://github.com/charles-001/dolphie) - Your single pane of glass (TUI) for real-time analytics into MySQL/MariaDB \u0026 ProxySQL.\n* [Dolt](https://github.com/dolthub/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.\n* [gobang](https://github.com/TaKO8Ki/gobang) - A cross-platform TUI database management tool written in Rust.\n* [harlequin](https://github.com/tconbeer/harlequin) - The SQL IDE for Your Terminal.\n* [LAZYSQL](https://github.com/jorgerojas26/lazysql) - A cross-platform TUI database management tool written in Go.\n* [levite](https://github.com/RauliL/levite) - A TUI spreadsheet application that uses an RPN formulas and features a Vi-friendly interface.\n* [litecli](https://github.com/dbcli/litecli) - CLI for SQLite Databases with autocompletion and syntax highlighting.\n* [Miller](https://github.com/johnkerl/miller) - Miller is like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed.\n* [mycli](https://github.com/dbcli/mycli) - A command line client for MySQL that can do autocompletion and syntax highlighting.\n* [pgcli](https://github.com/dbcli/pgcli) - Postgres CLI with autocompletion and syntax highlighting.\n* [q](http://harelba.github.io/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`).\n* [qsv](https://github.com/jqnatividad/qsv) - CSVs sliced, diced \u0026 analyzed.\n* [qsv](https://github.com/dathere/qsv) - qsv is a command line program for querying, slicing, indexing, analyzing, filtering, enriching, transforming, sorting, validating, joining, formatting \u0026 converting tabular data (CSV, spreadsheets, DBs, parquet, etc).\n* [rainfrog](https://github.com/achristmascarl/rainfrog) - A database management tui for PostGres.\n* [Soul](https://github.com/thevahidal/soul) - A SQLite REST and real-time server.\n* [sq](https://github.com/neilotoole/sq) - Command line tool that provides jq-style access to structured data sources such as SQL databases, or document formats like CSV or Excel.\n* [sqlite-utils](https://github.com/simonw/sqlite-utils) - Python CLI utility and library for manipulating SQLite databases.\n* [tabiew](https://github.com/shshemi/tabiew) - A lightweight, terminal-based application to view and query delimiter separated value formatted documents, such as CSV or TSV files.\n* [tabview](https://github.com/TabViewer/tabview) - Python curses command line CSV and tabular data viewer.\n* [termdbms](https://github.com/mathaou/termdbms) - A TUI for viewing and editing databases, written in pure Go.\n* [textql](https://github.com/dinedal/textql) - Execute SQL against structured text like CSV or TSV.\n* [TSV Utilities](https://github.com/eBay/tsv-utils) - Command line tools for large, tabular data files.\n* [TV](https://github.com/alexhallam/tv) - Cross-platform CSV pretty printer made to maximize viewer enjoyment.\n* [usql](https://github.com/xo/usql) - Universal command-line interface for PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, and others, including NoSQL and non-relational databases.\n* [VisiData](https://www.visidata.org/) - 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.\n* [xsv](https://www.johndcook.com/blog/2019/12/31/sql-join-csv-files/) - Doing a SQL join with CSV files.\n* [YAS-QWIN](https://github.com/sebastiancarlos/yas-qwin) - YAS-QWIN (Yet Another SQL-Query Writing Interface) is a CLI tool for building (and optionally running) SQL queries.\n* [zsv](https://github.com/liquidaty/zsv) - The world's fastest (simd) CSV parser, with an extensible, multi-purpose CLI.\n\n## \u003ca name=\"option-picker\"\u003e\u003c/a\u003eFuzzy finders and option pickers\n\nFuzzy finders and generic option pickers in lists of strings.\n\n* [choose](https://github.com/jagprog5/choose) - NCurses based token selector with a nice terminal user interface for selecting tokens. Selecting a line from the bash history is only one of its use cases.\n* [cmenu](https://github.com/10xJSChad/cmenu) - Vaguely dmenu-like minimal TUI menu utility, it reads entries from stdin, creates a selection menu, and writes the selected entry to stdout.\n* [Fnf](https://github.com/leo-arch/fnf) - An interactive fuzzy finder for the terminal; As you type a query, fnf  filters candidates and instantly updates the sorted list.\n* [fss](https://github.com/5n00py/fss) - User-friendly command-line search scripts combining find and grep utilities with fzf previewing and direct actions on specific file types.\n* [fuzzysh](https://github.com/yazgoo/fuzzysh) - Minimalist selector in shell, inspired by fzf.\n* [fzf](https://github.com/junegunn/fzf) - (FuZzy Finder) - a general-purpose command-line finder with fuzzy search/filter capabilities, good integration with `vim`.\n* [fzy](https://github.com/jhawthorn/fzy) - Better fuzzy finder.\n* [lSel](https://github.com/unsigned-enby/lSel) - Simple no-fuss TUI selection menu for use in scripts.\n* [luneta](https://github.com/fbeline/luneta) - Interactive filter that can be easily composed within any script.\n* [percol](https://github.com/mooz/percol) - A Python script that \"1) receives input lines from `stdin` or a file, 2) lists the input lines and waits for input that filter/select the line(s), 3) outputs the selected line(s) to `stdout`\"; can be used to add interactivity to many regular shell commands.\n* [pick](https://github.com/mptre/pick) - Choose one option from a set of choices using an interface with fuzzy search functionality.\n* [pmenu](https://github.com/sgtpep/pmenu) - A dynamic terminal-based menu inspired by dmenu.\n* [shmenu](https://github.com/duclos-cavalcanti/shmenu) - Menu TUI tool written solely in bash.\n* [skim](https://github.com/lotabout/skim) - Fuzzy Finder in rust.\n* [smenu](https://github.com/p-gen/smenu) - Started as a lightweight and flexible terminal menu generator, it evolved into a powerful and versatile CLI selection tool for interactive or scripting use.\n* [television](https://github.com/alexpasmantier/television) - Blazing fast general purpose fuzzy finder TUI.\n* [tp](https://github.com/minefuto/tp) - Display the result of the commands at every keystroke.\n* [tui-datepicker](https://github.com/maraloon/pickdate) - Select date in terminal with vim-motions and copy to buffer.\n\n## \u003ca name=\"markdown\"\u003e\u003c/a\u003eMarkdown\n\nUtilities to display, convert and reformat Markdown files.\n\n* [DocToc](https://github.com/thlorenz/doctoc) - Generates table of contents for Markdown files inside local git repository. Links are compatible with anchors generated by GitHub or other sites.\n* [Frogmouth](https://github.com/Textualize/frogmouth) - A Markdown viewer / browser for the terminal.\n* [glow](https://github.com/charmbracelet/glow) - TUI that renders Markdown files, with keybindings similar to `less` and support for styles and cloud encrypted storing\n* [Grip](https://github.com/joeyespo/grip) - GitHub Readme Instant Preview - Preview Markdown files as GitHub would render them.\n* [lowdown](https://kristaps.bsd.lv/lowdown/) - Markdown translator (HTML5, roff, LaTeX, gemini, OpenDocument, and terminal output)\n* [mdBook](https://github.com/rust-lang/mdBook) - Create book from Markdown files.\n* [mdformat](https://github.com/executablebooks/mdformat) - Mdformat is an opinionated Markdown formatter that can be used to enforce a consistent style in Markdown files.\n* [mdt](https://github.com/robolab-pavia/mdt) - MarkDown in the Terminal. A Markdown viewer with themes defined by JSON files and interactive mode to open links and word-wrapping adaptable to the terminal width.\n* [Terminal Markdown Viewer](https://github.com/axiros/terminal_markdown_viewer) - Python based Markdown viewer with themes source code highlighting and a directory change monitor.\n\n# \u003ca name=\"Development-and-Programming\"\u003e\u003c/a\u003eDevelopment and Programming\n\n## \u003ca name=\"editors\"\u003e\u003c/a\u003eEditors\n\nText editors.\n\n* [Amp](https://github.com/jmacdonald/amp) - A complete text editor for your terminal.\n* [aretext](https://github.com/aretext/aretext) - Minimalist text editor with vim-compatible key bindings.\n* [ash](https://github.com/akashnag/ash) - A simple and clean terminal-based text editor, that aims to be easy to use with modern key-bindings.\n* [C-EDIT](https://github.com/velorek1/c-edit) - A text editor in C with drop down menus in the style of MS-DOS Editor.\n* [Diakonos](https://github.com/Pistos/diakonos) - A powerful editor with “standard\" keybindings and several advanced features; written in Ruby.\n* [ed](https://www.gnu.org/software/ed/) - GNU ed is a line-oriented text editor. It is used to create, display, modify and otherwise manipulate text files, both interactively and via shell scripts.\n* [edit](https://github.com/microsoft/edit) - This editor pays homage to the classic MS-DOS Editor, but with a modern interface and input controls similar to VS Code.\n* [Emacs](https://www.gnu.org/software/emacs/) - One of the oldest text editors, free long-standing software project, with a huge amount of functionalities and extensions; implemented and extendable with E-Lisp.\n* [eon](https://github.com/tomas/eon) - A light, modern editor for your terminal that doesn't want to be vim.\n* [Erys](https://github.com/natibek/erys) - Terminal Interface for Jupyter Notebooks.\n* [Feather](https://www.feathereditor.com/) - The only terminal based text editor designed to work with BIG files.\n* [Helix](https://helix-editor.com/) - A Kakoune / Neovim inspired editor, written in Rust. The editing model is very heavily based on Kakoune. It ships multiple selections, tree-sitter integration, powerful code manipulation, language server support and other modern builtin features.\n* [jed](http://www.jedsoft.org/jed/index.html) - A text editor with a drop-down menu facility that make it especially user-friendly.\n* [joe](http://joe-editor.sourceforge.net/) - (Joe's Own Editor) - a compact text editor written in C, a detailed list of features and missing ones is explicitly reported on the website. This editor is mentioned in several web sources for its capability in handling large files.\n* [Kakoune](http://kakoune.org/) - Modal editor, faster as in less keystrokes, multiple selections, orthogonal design.\n* [maki](https://sr.ht/~bscit/maki/) - A simple text editor with file navigation and an emphasis on preserving battery life.\n* [micro](https://github.com/zyedidia/micro) - Aims to be a successor to [`nano`](https://www.nano-editor.org/). Aiming to be easy to use, it has a nano-like keybindings menu; also takes advantage of the full capabilities of modern terminals, supports mutiple cursors, and has a plugin system. Written in Go.\n* [nano](https://www.nano-editor.org/) - Easy to use, lightweight text editor; no complex keybindings to remember; the main ones are shown in the main menu.\n* [neovim](https://neovim.io/) - A work in progress attempt to improve [vim](http://www.vim.org/), dropping older/unused OS compatibility, improving the codebase readability, modularity, and maintainability; it has chances to become the next choice of vim users.\n* [o](https://github.com/xyproto/orbiton) - Configuration-free text editor and IDE limited to VT100. Suitable for writing git commit messages, editing Markdown, config files, source code, viewing man pages and for quick edit-compile cycles when programming.\n* [ox](https://github.com/curlpipe/ox) - An independent Rust text editor.\n* [slap](https://github.com/slap-editor/slap) - Text editor inspired by [Sublime Text](https://www.sublimetext.com/) written in NodeJS, extendable in JavaScript.\n* [Tilde](https://os.ghalkes.nl/tilde/) - Tilde is a text editor that provides an intuitive interface for people accustomed to GUI environments, usual shortcuts for common operation, a traditional menu bar, etc.\n* [Turbo](https://github.com/magiblot/turbo) - An experimental text editor for the terminal, based on Scintilla and Turbo Vision.\n* [vai](https://github.com/stefanoborini/vai) - Text editor similar to `vim` written in Python; many features are nicely replicated, some are still missing; however, the advantage of this implementation is its simplicity, maintainability and extensibility, thanks to the Python implementation.\n* [VE](http://www.inverary.net/ve/ve.html) - Lean, fast and feature rich text editor.\n* [vicut](https://github.com/km-clay/vicut) - Vim-based, scriptable and headless text editor for the command line, it can be used to extract fields, edit text files in-place and apply global substitutions and more.\n* [vim](http://www.vim.org/) - Historically one of the preferred text editors, behavior based on editing modes, plenty of plugins and tips to address every possible editing problem.\n* [vis](https://github.com/martanne/vis) - \"a modern, legacy free, simple yet efficient vim-like editor\", and more: \"The intention is not to be bug for bug compatible with vim, instead a similar editing experience should be provided. The goal could thus be summarized as 80% of vim's features implemented in roughly 1% of the code\"; the editor is scriptable in LUA and supports editing large files.\n* [vy](https://github.com/vyapp/vy) - A vim-like in Python made from scratch.\n* [WordGrinder](https://cowlark.com/wordgrinder/) - From the website: \"WordGrinder is a word processor for processing words. It is not WYSIWYG. It is not point and click. It is not a desktop publisher. It is not a text editor. It does not do fonts and it barely does styles. What it does do is words. It's designed for writing text. It gets out of your way and lets you type.\" \n* [zee](https://github.com/zee-editor/zee) - Zee is a modern editor for the terminal, in the spirit of Emacs. It is written in Rust and it is somewhat experimental.\n\n## \u003ca name=\"git\"\u003e\u003c/a\u003eGit and accessories\n\nTools to support and extend the functionalities of the `git` version tracker.\n\n* [AI Git Narrator](https://github.com/pmusolino/AI-Git-Narrator) - Command-line tool for generating Git commit messages and PR descriptions with AI based on Git diffs and commits. Supports staged/unstaged changes and customizable AI parameters.\n* [automate-git-commands](https://github.com/LEDparty/automate-git-commands) - Automates many of the common uses of git, ssh key generation, and ssh configuration.\n* [BFG Repo-Cleaner](https://github.com/rtyley/bfg-repo-cleaner) - Removes large or troublesome blobs like git-filter-branch does, but faster.\n* [czg](https://github.com/Zhengqbbb/cz-git) - Interactively generate standardized commit messages.\n* [dunk](https://github.com/darrenburns/dunk) - Prettier git diffs in the terminal.\n* [Export Pull Requests](https://github.com/sshaw/export-pull-requests) - Export pull requests and/or issues to a CSV file. Supports GitHub, GitLab, and Bitbucket.\n* [forgit](https://github.com/wfxr/forgit) - A utility tool powered by fzf for using git interactively.\n* [Froggit](https://github.com/thewizardshell/froggit) - Minimalist Git TUI with GitHub CLI integration.\n* [fzf-git.sh](https://github.com/junegunn/fzf-git.sh) - bash and zsh key bindings for Git objects, powered by fzf.\n* [gacp](https://github.com/anhsirk0/gacp) - git add, commit and push in one go.\n* [ggc](https://github.com/bmf-san/ggc) - A modern Git CLI tool with both traditional command-line and interactive incremental-search UI.\n* [gh](https://cli.github.com/) - GitHub's official tool to manage repos, issues, projects, gists and much more.\n* [gh-dash](https://github.com/dlvhdr/gh-dash) - A beautiful CLI dashboard for GitHub.\n* [gh-f](https://github.com/gennaro-tedesco/gh-f) - The ultimate, compact and snappy fzf extension for gh CLI.\n* [gh-repo-man](https://github.com/2KAbhishek/gh-repo-man) - GitHub CLI extension that allows developers to browse, clone and work with multiple repositories interactively.\n* [gh-s](https://github.com/gennaro-tedesco/gh-s) - Search GitHub repositories interactively.\n* [gh-stars](https://github.com/aymanbagabas/gh-stars) - A GitHub CLI extension to show repository stargazers.\n* [giq](https://github.com/doganarif/giq) - Git CLI with AI-powered commit messages and insights; it is a drop-in replacement for git with the same commands.\n* [git](https://git-scm.com/) - The winner across all the existing file versioning tools, distributed versioning, fully controllable from the command-line, plenty of configuration and usage options, behind a number of related project that leverage git as backend.\n* [git absorb](https://github.com/tummychow/git-absorb) - git commit --fixup, but automatic.\n* [Git Activity Visualization](https://github.com/dakennedyd/activity) - Creates a git activity heat map in the command line.\n* [Git Auto Sync](https://github.com/GitJournal/git-auto-sync) - Automatically commits changes to a git repository, and always keep that repository up to date.\n* [git commander](https://github.com/golbin/git-commander) - A git tool with an easy interactive terminal interface.\n* [Git Commit Vanity Hash Solver](https://github.com/trichner/gitc0ffee) - Neat tool to find a 'vanity' hash for a given git commit. Make all your commits hashes start with the prefix c0ffee, cafe, badc0de5 or whatever makes you happy!\n* [git-all-branches](https://github.com/zacanger/git-all-branches) - Improved visualization of git branches (`git branch -a`).\n* [git-annex](https://git-annex.branchable.com/) - Manages files with `git`, without checking the file contents into git; very useful to manage large/binary files.\n* [git-booster-cli](https://github.com/akgondber/git-booster-cli) - Improve your git workflow with customizable and runnable blocks.\n* [git-bug](https://github.com/MichaelMure/git-bug) - Distributed, offline-first bug tracker embedded in git, with bridges.\n* [git-cc](https://github.com/SKalt/git-cc) - A git extension to help write conventional commits.\n* [git-cliff](https://github.com/orhun/git-cliff) - A highly customizable Changelog Generator that follows Conventional Commit specifications.\n* [git-crecord](https://github.com/andrewshadura/git-crecord) - Git subcommand to interactively select changes to commit or stage.\n* [git-cz](https://github.com/streamich/git-cz) - Semantic Git commits.\n* [git-extras](https://github.com/tj/git-extras) - Little git extras like git-ignore, git-setup, git-changelog, git-release, git-effort and more.\n* [git-fuzzy](https://github.com/bigH/git-fuzzy) - Interactive `git` with the help of `fzf`.\n* [git-heatgrid](https://github.com/denshakhov/git-heatgrid) - Visualize git commits as a calendar heatmap.\n* [git-identity](https://github.com/cookiengineer/git-identity) - Automated git alias management.\n* [git-peek](https://github.com/Jarred-Sumner/git-peek) - git peek is the fastest way to open a remote git repository in your local text editor.\n* [git-quick-stats](https://github.com/arzzen/git-quick-stats) - A simple and efficient way to access various statistics in a git repository.\n* [git-recall](https://github.com/Fakerr/git-recall) - A simple tool that allows you to easily go through your commits and check what you or other contributors in your team did.\n* [git-remote-aws](https://github.com/nathants/git-remote-aws) - Management of encrypted git hosting.\n* [git-secret](https://github.com/sobolevn/git-secret) - A bash tool which stores private data inside a git repo; it uses users' public keys, allowing trusted users to access encrypted data using PGP and their secret keys.\n* [git-stats](https://github.com/IonicaBizau/git-stats) - Local git statistics including GitHub-like contributions calendars.\n* [gita](https://github.com/nosarthur/gita) - A command-line tool to manage multiple git repositories.\n* [Gitea](https://gitea.com/) - Single binary self-hosted Git service.\n* [GiTerm](https://github.com/isene/GiTerm) - Git and GitHub TUI application (browse repositories, manage issues and pull requests and perform Git operations from the terminal).\n* [gitlab-cli](https://github.com/vishwanatharondekar/gitlab-cli) - Create GitLab merge requests.\n* [gitleaks](https://github.com/gitleaks/gitleaks) - Tool for detecting and preventing hardcoded secrets like passwords, api keys, and tokens in git repos.\n* [gitnr](https://github.com/reemus-dev/gitnr) - Create `.gitignore` files using one or more templates from TopTal, GitHub or your own collection.\n* [gits-statuses](https://github.com/nicolgit/gits-statuses) - A python/powershell command-line tool to display the status of multiple Git repositories in a clear, tabular format.\n* [gitsnip](https://github.com/dagimg-dot/gitsnip) - A CLI tool to download specific folders from a git repository.\n* [gitsummary](https://github.com/glenreesor/gitsummary) - A better git status that lists stashes, file statuses, branch list, all nicely formatted with color.\n* [GitUI](https://github.com/extrawurst/gitui) - The comfort of a git GUI but right in your terminal, with keyboard only control, scalable UI, and features all the necessary operations of git.\n* [gmap](https://github.com/seeyebe/gmap) - Command-line tool for visualizing Git activity.\n* [grv](https://github.com/rgburke/grv) - Git Repository Viewer - A terminal based interface for viewing Git repositories. It allows refs, commits, and diffs to be viewed, searched and filtered.\n* [hut](https://git.sr.ht/~xenrox/hut) - A CLI tool for sr.ht.\n* [kick](https://github.com/mcandre/kick) - git sync automator.\n* [Kusa](https://github.com/Ryu0118/Kusa) - Displays GitHub contribution graphs.\n* [Lazygit](https://github.com/jesseduffield/lazygit) - A simple terminal UI for git commands that simplify the execution of many operations making them interactive.\n* [mamediff](https://github.com/sile/mamediff) - A TUI editor for managing unstaged and staged Git diffs.\n* [mamegrep](https://github.com/sile/mamegrep) - An interactive terminal interface for 'git grep' to easily edit search patterns and view results.\n* [mergestat-lite](https://github.com/mergestat/mergestat-lite) - A command-line tool for running SQL queries on git repositories and related data sources.\n* [mkgit](https://github.com/cosmicwanderer7/mkgit) - This Bash script automates the process of creating a new GitHub repository, initializing it with a README file, and pushing the initial commit to the remote repository. The script prompts the user for a repository name and utilizes the GitHub API to create a new public repository.\n* [nodebro](https://github.com/jonaburg/nodebro) - Easily view most recent Github releases/tags and release notes from the terminal.\n* [onefetch](https://github.com/o2sh/onefetch) - Git repository summary on your terminal.\n* [patchy](https://github.com/NikitaRevenco/patchy) - A tool which makes it easy to declaratively manage personal forks by automatically merging pull requests.\n* [PReam-Team](https://github.com/nikoladucak/pream-team/) - A TUI utility that helps you keep track of your teams GitHub PRs across multiple repositories.\n* [prs](https://github.com/dhth/prs) - Stay updated on PRs without leaving the terminal.\n* [pyautogit](https://github.com/jwlodek/pyautogit) - A TUI for working with git written in python.\n* [rcz](https://github.com/Cassin01/rcz) - A tool to write a commit message based on “Conventional Commits”.\n* [repo-verify-utils](https://github.com/jaggzh/repo-verify-utils) - Utility collection to help examine what repositories and scopes yout GitHub identity has access to.\n* [sad](https://github.com/ms-jpq/sad) - CLI search and replace. Show you a nice diff of proposed changes before you commit them.\n* [semantic-git-commit-cli](https://github.com/JPeer264/node-semantic-git-commit-cli) - Ensure semantic commits messages. With emoji support.\n* [Smart Commit](https://github.com/eL1fe/smart-commit) - Customizable CLI tool for creating consistent Git commits using interactive prompts (automatic commit type suggestions, CI integration, GPG signing, push support, and local configuration for a streamlined commit workflow).\n* [Soft Serve](https://github.com/charmbracelet/soft-serve) - Self-hostable Git server for the command line. One distinguished feature is the possibility to create new repositories with a push.\n* [stargazer](https://github.com/gennaro-tedesco/stargazer) - GitHub stats from the command line.\n* [tig](https://github.com/jonas/tig) - An ncurses-based text-mode interface for `git` that can act as a repository browser, but can also assist in staging changes for commit at chunk level.\n* [travelgrunt](https://github.com/ivanilves/travelgrunt) - cd inside [mono]repos without fatigue.\n* [unreal-git-hook](https://github.com/dmayboroda/unreal-git-hook) - Mix of git-hook and Unreal Tournament announcer.\n* [ur-commit-mentor](https://github.com/ddoemonn/ur-commit-mentor) - A CLI tool that analyzes git commits and provides AI-powered code review insights (for now only works with Claude API).\n* [WRKFLW](https://github.com/bahdotsh/wrkflw) - Command-line tool for validating and executing GitHub actions workflows locally, without a full GitHub environment.\n\n## \u003ca name=\"versioning\"\u003e\u003c/a\u003eVersioning\n\nTools for file versioning that are not related to git.\n\n* [Bazaar](http://bazaar.canonical.com/en/) - Multiplatform version control system supporting different workflows; it is part of the GNU Project, and it is free software sponsored by Canonical.\n* [Bob](https://github.com/MordechaiHadad/bob) - Bob is a cross-platform and easy-to-use Neovim version manager, allowing for easy switching between versions.\n* [cocommit](https://github.com/andrewromanenco/cocommit) - Cocommit is a command-line tool that works with your HEAD commit and leverages an LLM of your choice to enhance commit quality.\n* [fnc](https://fnc.bsdbox.org/index) - Interactive text-based user interface for Fossil.\n* [fossil](https://fossil-scm.org/) - A simple, high-reliability, distributed software configuration management system with these advanced features: project management, built-in web interface, friendly self-hosting, simple networking, all-in-one standalone executable, and much more.\n* [gee](https://github.com/human37/gee) - CLI repository manager and automation tool written in rust.\n* [Jujutsu](https://github.com/martinvonz/jj) - A Git-compatible VCS that is both simple and powerful.\n* [Mercurial](https://www.mercurial-scm.org/) - Free, distributed source control management tool.\n* [myrepo](https://myrepos.branchable.com/) - A repository management tool.\n\n## \u003ca name=\"programming\"\u003e\u003c/a\u003eProgramming\n\nTools for developers, including debuggers, testing, line counters, boilerplate and license generators, etc..\n\n* [air](https://github.com/air-verse/air) - Live reload for Go apps.\n* [argbash](https://github.com/matejak/argbash) - Bash argument parsing code generator.\n* [bashly](https://bashly.dannyb.co/) - Bashly is a command line application (written in Ruby) that lets you generate feature-rich bash command line tools.\n* [bencher](https://github.com/bencherdev/bencher) - Continuous benchmarking, Bencher allows you to track the performance of your code or binary over time and catch performance regressions before you release.\n* [binsider](https://github.com/orhun/binsider) - A TUI for analyzing Linux binaries.\n* [blinkenlights](https://github.com/jart/blink) - TUI that may be used for debugging x86_64-linux or i8086 programs across platforms.\n* [Bump-Setup](https://github.com/talwrii/bump-setup) - Command-line utility designed to automatically update versione numbers in Pyhton project configuration files.\n* [cargo-seek](https://github.com/tareqimbasher/cargo-seek) - A TUI for searching, adding and installing cargo crates.\n* [cgasm](https://github.com/bnagy/cgasm) - Pronounced “SeekAzzem”, it is a standalone, offline terminal-based tool with no dependencies that gives me x86 assembly documentation.\n* [cgdb](https://github.com/cgdb/cgdb) - Console front-end to the GNU debugger.\n* [chars](https://github.com/antifuchs/chars) - Display names and codes for various ASCII (and Unicode) characters / code points.\n* [ChatDBG](https://github.com/plasma-umass/ChatDBG) - AI-assisted debugging. Uses AI to answer 'why'.\n* [cloc](https://github.com/AlDanial/cloc) - Tool for counting blank lines, comment lines, and physical lines of source code in many programming languages.\n* [codegrab](https://github.com/epilande/codegrab) - Interactive CLI tool for selecting and bundling code into a single, LLM-ready output file.\n* [CodeMark CLI](https://github.com/rootCircle/codemark-cli) - Helps you manage coding assignments and tests; easily initialize the configuration, list assignments, fetch and check your code, submit your code for grading, and get AI-powered error recommendations.\n* [Cppcheck](http://cppcheck.net/) - Static analysis tool for C/C++ code providing unique code analysis to detect bugs and focuses on detecting undefined behavior and dangerous coding constructs.\n* [Crush](https://github.com/charmbracelet/crush) - Flexible AI coding agent with a wide range of LLMS, maintains multiple work sessions and contexts per project, works everywhere and extensible.\n* [dasht](http://sunaku.github.io/dasht/man/man0/README.html) - Search in 200+ offline documentation sets API docs offline, in your terminal or browser.\n* [DEM](https://www.axemsolutions.io/dem_doc/index.html) - Containerized Development Environment Manager for embedded development.\n* [devbox](https://github.com/jetify-com/devbox) - Instant, easy, and predictable development environments.\n* [DevTUI](https://github.com/skatkov/devtui) - All-in-one terminal toolkit that consolidates everyday developer utilities into a unified TUI and CLI.\n* [dfft](https://github.com/dhth/dfft) - The program monitors changes as AI agents modify your codebase.\n* [dotenvhub](https://github.com/Zaloog/dotenvhub) - Terminal App to centrally manage .env files. Written in Python powered by Textual.\n* [dtool](https://github.com/guoxbin/dtool) - Collection of development tools.\n* [Euporie](https://github.com/joouha/euporie) - Allows you to interact with Jupyter kernels, and run Jupyter notebooks - entirely from the terminal.\n* [fastmod](https://github.com/facebookincubator/fastmod) - A tool to assist you with large-scale codebase refactors, and it supports most of codemod's options. It is focused on improving the use case \"I want to use interactive mode to make sure my regex is correct, and then I want to apply the regex everywhere\".\n* [Flox](https://github.com/flox/flox) - Developer environments you can take with you.\n* [fmake](https://github.com/bharatvaj/fmake) - Brings `make`s interface to almost any build system.\n* [Frama-C](https://frama-c.com/) - Open source extensible and collaborative platform dedicated to source-code analysis of C software. Frama-C can assist from the navigation through unfamiliar projects up to the certification of critical software.\n* [gdb-dashboard](https://github.com/cyrus-and/gdb-dashboard) - Modular visual interface for GDB in Python.\n* [grex](https://github.com/pemistahl/grex) - A command-line tool for generating regular e","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/toolleeo%2Fawesome-cli-apps-in-a-csv/projects"}