30 open-source projects similar to peco/peco, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel
Skim is an interactive text filter and terminal selection tool written in Rust. It functions as a command line interface utility that processes input streams to isolate specific entries through real-time user queries and sorting. The tool differentiates itself through ANSI compatibility, allowing it to parse color codes and maintain text formatting during the search process. It supports multiple matching strategies, including configurable fuzzy matching algorithms and regular expression integration. The application covers a broad range of capabilities including field-specific filtering, resu
gh-dash is a terminal user interface (TUI) dashboard and API client for monitoring and managing GitHub pull requests, issues, and notifications. It serves as a repository manager and git workflow tool, allowing users to track project activity and execute development lifecycle tasks directly from the command line. The project distinguishes itself through a highly configurable layout and keybinding system. It uses custom filter templates to define specific subsets of activity and allows users to associate remote repositories with local filesystem directories to automate branch checkouts. The t
React-admin is a framework for building data-driven administrative interfaces that connect to REST or GraphQL backends. It provides a comprehensive suite of tools for managing the full lifecycle of administrative applications, including resource-oriented routing, declarative form scaffolding, and context-driven state management. By utilizing a modular adapter-based architecture, the framework abstracts backend communication, allowing developers to build consistent CRUD interfaces that handle data fetching, authentication, and synchronization automatically. The project distinguishes itself thr
lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and organizing files and directories. It operates as a shell-integrated tool that synchronizes the current working directory with the calling shell and supports vi-style keybindings for filesystem operations. The project distinguishes itself through its ability to render images directly in the terminal via the SIXEL graphics protocol and its shell-driven execution model, which allows users to extend functionality using external shell scripts and commands. It also implements a server
Kakoune is a scriptable, modal text editor for the terminal that employs a client-server architecture. This model allows multiple terminal windows to connect to a single editing session, providing a programmable environment for managing source code and text. The editor is distinguished by its selection-first logic, where a text region must be predefined before a command is applied. It leverages regular expressions to manage multiple cursors and perform bulk edits across complex text patterns, and it integrates deeply with the shell by piping selections through external programs and filters.
Vis is a terminal-based modal text editor that utilizes vi keybindings and a system of structural regular expressions. It functions as a scriptable environment where Lua is used for configuration, custom key mappings, and plugin development. The editor distinguishes itself through a syntax highlighting system based on Parsing Expression Grammars and a pattern matching engine that treats text as a structure for complex search and replace operations. It also integrates directly with the system shell, allowing users to pipe text ranges to external commands and capture the resulting output. The
Tridactyl is a Vim-like Firefox extension that provides a comprehensive keyboard-driven interface for browsing, tab management, and page interaction. It replaces traditional mouse-based navigation with Vim-style keybindings, an ex-mode command line, and a hint overlay system for selecting and interacting with page elements. The extension is built around a core infrastructure that includes a modal command parser, a keybinding configuration system, and a content-script command bridge for executing commands in page context. The extension distinguishes itself through its deep integration with Fir
Tailspin is a regex-based text colorizer and terminal log viewer designed to transform plain text streams into colorized output. It functions as a command line log highlighter and tailer that applies syntax highlighting to logs using regular expressions. The tool distinguishes itself through its ability to monitor files in real time and pipe live output through a highlighter. It recognizes and colors common data types such as IP addresses, UUIDs, HTTP methods, JSON objects, dates, and memory pointers. Users can define custom highlight styles and regex patterns to assign specific colors to uni
mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
This project is a Go shell scripting library and framework designed for writing automation scripts and CLI tools. It provides a concurrent data pipeline system for chaining sources, filters, and sinks to process text and JSON streams. The library distinguishes itself through a comprehensive toolkit for shell-like operations, including a text processing engine for regular expression filtering and frequency analysis, a filesystem utility toolkit for recursive search and path manipulation, and an integrated HTTP client wrapper for building data pipelines that fetch web content. The capability s
ShellJS is a Node.js shell command library that provides a portable Unix-like utility suite for cross-platform system automation. It serves as a cross-platform filesystem API and a process wrapper for spawning and controlling external system subprocesses. The project translates Unix shell commands into equivalent operations for the host operating system, allowing scripts to run consistently across different platforms. It supports the registration of custom commands and the integration of third-party plugins to extend its portable shell capabilities. The library covers broad capability areas
Gum is a toolkit for building interactive, visually styled command-line interfaces and prompts directly within shell scripts. It functions as a library of modular components that allow developers to enhance terminal workflows by adding structured layouts, formatted text, and user-input widgets to standard command-line operations. The project distinguishes itself by providing a suite of specialized utilities for common shell tasks, such as fuzzy-matched selection menus, interactive file system navigation, and confirmation dialogs. It translates high-level styling and layout instructions into t
Oni2 is a high-performance, extensible text editor and project-based file manager. It functions as a modal code editor, utilizing a keyboard grammar of verbs and motions to navigate and modify source code without a mouse. It also serves as an LSP client, integrating Language Server Protocol servers to provide code completion, symbol navigation, and refactoring. The editor distinguishes itself by acting as a VSCode extension host, allowing it to load and execute language servers and debuggers from the VSCode ecosystem. It provides a programmable environment where custom functionality is implem
Cointop is a terminal-based cryptocurrency dashboard that displays real-time market data, prices, and portfolio values in a text-based interface. It aggregates data from multiple cryptocurrency exchange APIs and presents it in an interactive terminal user interface with vim-inspired keyboard shortcuts for navigation and control. The application distinguishes itself by embedding an SSH server that allows remote access to the dashboard from any device, with persistent client configuration tied to individual SSH keys. It includes a fuzzy search system for quickly finding coins by name, desktop n
Walker is a centralized search interface and application launcher designed to find and start installed software, system tools, and local files. It functions as a single entry point for executing desktop applications, running shell commands, and managing system scripts. The project uses a provider-based plugin architecture to extend its capabilities via independent modules. It allows for deep visual and behavioral customization through CSS styling, XML-defined layout templates, and layered configuration overrides. The system includes integrated productivity tooling for mathematical calculatio
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 terminal graphics library and command-line visual effects tool designed to create dynamic motion graphics using ANSI escape sequences. It provides a framework for implementing an ANSI text animation engine and a motion processor that handles the movement of characters along paths within a shell environment. The tool is distinguished by its wide array of pre-defined visual effects, ranging from simulated environmental phenomena like thunderstorms and fire to high-tech reveals such as laser etching and decryption animations. It also supports extensibility through a plugin-base
lolcat is a command line text processor and color filter that transforms standard text streams into rainbow gradients. It functions as a terminal text colorizer that modifies the visual presentation of shell output using ANSI escape codes. The tool processes text passed through Unix pipes to apply rainbow gradients and color highlights. It uses these visual effects to customize terminal output and differentiate blocks of text within a command line interface.
Helix is a terminal-based modal text editor designed for efficient code manipulation and navigation. It centers on a selection-first editing model, where operations are performed on active ranges rather than individual cursor positions, allowing for precise control over text and code structures. The editor distinguishes itself through deep integration with structural parsing and language intelligence. By utilizing an incremental parsing library, it builds concrete syntax trees that enable advanced features like structural code navigation, intelligent indentation, and syntax-aware text object
Telescope is a fuzzy search interface for the Neovim text editor, designed to provide rapid access to files, buffers, and project-wide data. It functions as a keyboard-driven command palette that allows users to locate and navigate complex directory structures and codebase content through real-time filtering. The system is built on a modular architecture that utilizes a pluggable interface to fetch data from diverse sources, including file systems, version control repositories, and language server protocols. By separating input collection from data retrieval, it maintains a decoupled state ma
Bootstrap Select is a jQuery plugin that replaces standard HTML select elements with a stylized interface. It functions as a custom dropdown menu that transforms native browser inputs into accessible form components. The project differentiates itself by providing real-time search filtering, multi-select data entry, and the ability to populate selection lists dynamically via remote JSON sources. To maintain browser performance when handling large datasets, it utilizes virtual rendering to display only the visible subset of options. The component includes accessibility support through ARIA att
jstree is a jQuery tree view plugin used to render interactive hierarchical data structures. It functions as a hierarchical data visualizer and manager, providing tools to display nested relationships through tree layouts. The project features a drag-and-drop tree manager for restructuring hierarchies and an AJAX tree loader for fetching nodes or HTML fragments from remote servers. It includes a tri-state checkbox selector to manage selection states across parent and child branches. The plugin supports various data modeling approaches, including child arrays, parent-id adjacency lists, and t
htop is a terminal-based system resource monitor and interactive process viewer. It functions as a text-user interface dashboard for overseeing hardware temperatures, load averages, and battery status while providing a comprehensive tool for monitoring and managing system processes. The application distinguishes itself through detailed process lifecycle management, allowing users to kill processes, adjust priorities via renicing, and assign CPU affinity to specific cores. It provides high-level visibility into system behavior through process hierarchy visualization and the ability to inspect
Execa is a promise-based process execution library that serves as a wrapper for the Node.js child process module. It functions as a shell command runner and subprocess management tool, simplifying the execution of external commands and binaries. The library distinguishes itself through automatic argument escaping to prevent shell injection and the use of abort signals for graceful process termination. It also provides an inter-process communication wrapper for exchanging structured JSON data and messages between parent and child processes. Its capabilities cover a broad range of process I/O
Ark is a headless UI component library that delivers accessible, cross-framework primitives with behavior governed by finite state machines. It provides unstyled components that encapsulate logic and accessibility — including full keyboard navigation, focus management, and WAI-ARIA support — while leaving visual styling entirely to the consumer. Components expose scoped data attributes for CSS targeting and use state machines to produce predictable, testable interactive behavior across every state transition. The library distinguishes itself through a state propagation model that distributes
Cash is a JavaScript implementation of Unix shell utilities and command-line interfaces. It provides a collection of standard system-level text processing and file manipulation tools written in ES6 that run without native compilation or external dependencies. The project allows for the programmatic execution of shell operations using function calls and tagged templates. It implements a system for chaining multiple commands together to filter and transform data through programmatic pipelines, mimicking standard shell pipe behavior. These capabilities enable the execution of Unix-style command
uBlacklist is a browser extension that filters search engine results by hiding specific domains from view. It functions as a client-side content filter that modifies the search engine interface to remove unwanted website elements based on custom blacklists. The tool manages both individual custom domain blocklisting and remote rule subscriptions. Users can import curated lists of unwanted domains from external HTTP sources or publish their own subscription lists for others to use. The system supports regular expression matching to identify domains and uses browser-based synchronization to ma
match-sorter is a JavaScript string matching and array filtering utility designed to rank and sort lists based on search string relevance. It functions as a deterministic best-match sorting library and fuzzy search engine for filtering object arrays. The tool prioritizes results using weighted match heuristics that favor exact matches, acronyms, and string containment. It employs a deterministic ranking system to ensure consistent ordering and supports diacritic-insensitive normalization to match characters regardless of accents. The library covers match criteria specification via key-path p