30 open-source projects similar to nvbn/thefuck, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Thefuck alternative.
This project is a community-driven repository of simplified, example-based reference guides for command-line tools. It functions as an open-source knowledge base designed to provide concise, practical usage examples that help developers navigate complex software without the need for lengthy technical documentation. The system relies on a decentralized architecture where independent client applications fetch and render documentation locally. This approach ensures that reference materials remain accessible offline while supporting a wide variety of user interfaces across desktop, mobile, and we
Ranger is a keyboard-centric console file manager that provides a multi-column, text-based interface for navigating and organizing local file systems. It functions as a productivity tool designed to streamline command-line workflows by allowing users to perform standard file operations, such as copying, moving, and deleting, directly within a terminal environment. The project distinguishes itself through its extensible architecture and deep integration with the host shell. It supports custom plugin development and maintains context between sessions by syncing the working directory upon exit.
This project is a terminal-based HTTP client designed for interacting with web services, debugging APIs, and automating network requests. It provides a specialized command-line interface that simplifies the construction of complex HTTP exchanges, allowing users to test and inspect web services directly from the shell. The tool distinguishes itself through a declarative syntax engine that translates shorthand command-line tokens into fully formed HTTP requests, including headers, parameters, and body payloads. It features a modular, plugin-based architecture that enables users to extend core f
This project is a general-purpose command-line filter that provides an interactive interface for processing standard input streams. It enables real-time fuzzy searching, data selection, and transformation, allowing users to navigate complex information or file systems directly within their terminal. By utilizing a pipe-oriented architecture, it integrates into existing shell pipelines and workflows to facilitate efficient data exploration. What distinguishes this tool is its highly extensible, event-driven design that allows for deep integration with external processes. It supports asynchrono
This project is a high-performance command-line utility designed for rapid filesystem navigation and file discovery. It enables users to locate files and directories within large project structures using recursive search, pattern matching, and metadata-aware filtering. By employing multi-threaded parallel traversal, it provides an efficient way to explore complex directory trees. What distinguishes this tool is its ability to integrate directly into terminal workflows and automate file management tasks. It automatically respects version control ignore files and hidden file settings, ensuring
zsh-syntax-highlighting is a Zsh shell extension and plugin that provides real-time syntax highlighting and visual feedback. It functions as an interactive command-line visual aid and regular expression text colorizer that distinguishes between commands, string literals, and shell constructs during input. The project allows for extensive customization through user-defined highlight rules, custom regular expression patterns, and predicate logic. It includes specific capabilities for path-based filtering and the assignment of custom colors to text segments. The system provides real-time comman
Cookiecutter is a command-line project templating engine and scaffolding tool used to automate the creation of software project structures. It functions as a project automator that generates initialized repositories and directories from predefined templates using variable substitution. The system utilizes the Jinja2 templating language to render files and folders, transforming generic blueprints into customized codebases based on user input. It supports template distribution via Git repositories or zip archives, allowing for the standardization of development environments across teams. The t
Because sometimes you need to do it live
This project is a command-line media downloader designed for the systematic retrieval and organization of digital content from diverse online platforms. It functions as an extensible extraction engine that utilizes a declarative format-selection pipeline to automate the identification, merging, and downloading of specific audio and video streams based on user-defined criteria. The system distinguishes itself through a modular architecture that supports custom plugins and site-specific scripts, allowing for the bypass of platform restrictions and the handling of complex authentication challeng
Autojump is a shell directory navigation tool and weighted directory search utility. It functions as a path shortcut manager that allows users to jump to frequently visited directories using partial name matching. The tool optimizes shell workflows by learning navigation patterns and maintaining a weighted database of visited paths. It ranks folders based on access frequency and recency to resolve ambiguous queries and minimize the keystrokes required to reach deeply nested directories. Beyond shell navigation, the utility provides integration with native system file explorers to launch mana
z is a shell navigation utility and directory history tracker designed to reduce the amount of typing required to move through deep directory structures. It functions as a command line tool for jumping to frequently and recently visited directories using a ranking algorithm. The tool utilizes a frecency-based path jump system that weights the number of visits against the time elapsed since the last access to determine priority. It identifies candidate navigation targets by applying regular expression patterns against a database of visited paths. The utility integrates with the shell completi
SpaceVim is a modular configuration framework for Vim and Neovim designed to manage settings, plugins, and keybindings across different editing environments. It functions as a plugin manager that uses a layered organization system to group related functions and plugins, reducing the manual effort required for configuration. The system is centered around a mnemonic keybinding strategy that utilizes the space bar as the primary modifier for editor commands. To maintain performance, the framework implements a startup optimizer that delays the loading of non-essential plugins until they are requi
This project is a terminal multiplexer that enables multiple terminal sessions to run simultaneously within a single window or a detached background process. By decoupling the client interface from a persistent server process, it allows users to maintain long-running command-line tasks that continue to execute even after disconnecting from a remote host. The system functions as a terminal window manager and process controller, providing a text-based interface to organize multiple shell processes into custom tiled layouts. It distinguishes itself through a programmable command-line interface t
pgcli is an interactive command-line interface and database management tool for PostgreSQL. It functions as an interactive SQL shell and query editor that allows users to inspect schemas, manage connections, and run queries against PostgreSQL data sources. The tool is distinguished by its real-time, schema-aware autocompletion for keywords, tables, and columns, as well as dynamic SQL syntax highlighting. It provides safety mechanisms through transaction-aware guardrails that warn against or block destructive statements when no active transaction is detected. Broad capabilities include secure
mycli is a MySQL command line client, database administration tool, and SQL query editor. It functions as a terminal interface for executing queries and managing MySQL connections, incorporating an integrated assistant that uses large language models to generate and analyze SQL statements based on the current database schema. The tool provides specialized query authoring capabilities, including context-sensitive syntax suggestions, fuzzy-matching identifier completion for tables and columns, and the ability to handover query buffers to external system text editors. It distinguishes its connec
This project is a keyboard-driven terminal file manager designed for efficient navigation and manipulation of local and remote filesystems. It functions as both a standalone console file explorer and a versatile file picker, allowing users to select paths and pass them to external shell commands or system utilities for automated workflows. The application distinguishes itself through a highly modular architecture that supports compile-time feature flagging and static binary compilation, ensuring a minimal memory footprint and portability across environments. Users can extend its core function
Zoxide is a terminal utility designed to accelerate filesystem navigation by learning user habits. It functions as a command-line navigation tool that allows users to jump to frequently accessed directories using partial names rather than typing out full file paths. The tool maintains a persistent, atomic file-based database that records navigation history, enabling rapid lookups and safe updates across multiple shell sessions. The project distinguishes itself through a frecency-based ranking algorithm, which calculates directory relevance by combining access frequency with temporal decay. Th
howdoi is a command-line coding answer engine that retrieves programming solutions and code snippets from the web for display directly in the terminal. It functions as a web-based code search tool that uses natural language queries to find technical answers without requiring a web browser. The tool provides a JSON-exportable query system, allowing search results to be output as structured data for integration with other software and text editors. It features terminal-based knowledge retrieval that includes local caching and stashing of answers to reduce network latency and avoid search engine
Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.
Exa is a command-line utility designed to replace traditional file listing commands in Unix-like environments. It functions as a terminal-based file explorer that displays directory contents alongside system metadata and file attributes. The tool distinguishes itself by integrating version control information directly into the directory listing, allowing users to view the status of files within a repository alongside standard system data. It utilizes terminal-based styling to provide color-coded output, which helps visually differentiate between file types and metadata. The utility supports
screenFetch is a shell-based system information tool and terminal profiler. It retrieves hardware and software specifications, operating system details, and kernel data to display them within a terminal window. The utility combines system discovery with distribution branding, printing gathered specifications alongside ASCII-art logos. It includes a utility to trigger screenshots of the resulting terminal output. The tool handles environment variable extraction and the execution of external system commands to format and arrange system metadata for display.
CLI for SQLite Databases with auto-completion and syntax highlighting
This project is a shell plugin that provides real-time command suggestions to accelerate terminal input. By hooking into the command line editor and utilizing a strategy-based prediction engine, it generates completions derived from command history, shell completion data, or custom user-defined sources. The tool distinguishes itself by rendering suggestions as a visual ghost layer directly within the terminal buffer using ANSI-styled overlays. To maintain a responsive command-line environment, it performs all prediction calculations in the background, ensuring that heavy computation does not
ripgrep is a command-line utility designed for searching through large file trees and source code repositories. It functions as a recursive text processor that traverses directories to locate and display matching patterns, serving as a high-performance alternative to traditional search tools. The tool distinguishes itself through a focus on execution speed and intelligent file handling. It utilizes a finite automata-based regular expression engine to ensure linear time complexity and employs hardware-level acceleration for literal byte sequence scanning. By integrating with version control sy
This project serves as a comprehensive repository and management framework for Zsh shell extensions, themes, and configuration bundles. It functions as a centralized resource for discovering and integrating community-driven enhancements designed to tailor the terminal experience and streamline command-line workflows. The framework distinguishes itself by providing automated tools for the installation, updating, and lazy-loading of modular shell plugins. By enforcing standardized directory structures and utilizing version control for dependency management, it ensures that shell configurations
yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings into structured JavaScript objects, providing a toolkit for building terminal applications with nested sub-commands, dedicated handlers, and a structured user interface. The framework distinguishes itself through automated help text generation, which constructs formatted usage menus and instructions based on registered metadata. It also provides shell completion generation for Bash and Zsh and uses string-distance algorithms to offer typo correction suggestions when invalid inpu
Crush is a framework designed to orchestrate and secure the execution of external tools invoked by large language models. It functions as a middleware layer that manages the flow of agentic tool calls, providing a controlled environment for terminal-based automation and task processing. The project distinguishes itself by implementing a policy-driven security layer that intercepts, validates, and modifies tool execution requests. By wrapping command calls within a process-boundary layer, it allows for the automated approval of specific operations and the dynamic injection of contextual metada
Hyperfine is a command-line benchmarking tool used to measure the execution time of shell commands through multiple runs and statistical analysis. It functions as a comparative benchmarking utility and a shell performance analyzer, allowing for the evaluation of multiple commands against a reference baseline to determine relative speed. The tool distinguishes itself by isolating actual command performance through shell overhead correction and the ability to bypass the shell entirely using system calls. It supports parameterized execution, enabling benchmarks to run across a range of varying i
Bash-it is a framework for organizing and enhancing the Bash shell environment. It provides a structured system for managing aliases, custom scripts, and environment settings to prevent clutter in the primary configuration file. The project includes a prompt customizer with predefined visual themes and a suite of intelligent command completions designed to increase typing speed and reduce input errors. The framework covers broad capability areas including shell configuration management, visual appearance customization, and environment troubleshooting through diagnostic utilities.
Clink is a command line enhancer and shell extension for the Windows CMD terminal. It functions as a readline-style input library and completion engine, adding advanced line editing, persistent command history, and command argument prediction to the standard Windows command line environment. The project distinguishes itself through a scriptable architecture that allows for custom completion definitions, Lua keyboard mapping, and dynamic prompt customization. It enables the creation of context-sensitive prompts that can include asynchronous updates, environment-based formatting, and transient