awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Command line tools

Ranking updated Jul 9, 2026

For a command line tool for text selection, the first results are lotabout/skim (Skim is a high-performance, interactive command-line filter that provides fuzzy searching, multi-selection, and customizable keybindings, making it a direct and comprehensive solution for terminal selection workflows), skim-rs/skim (Skim is a versatile, interactive fuzzy finder that provides the exact terminal-based selection interface you need, complete with multi-selection, stdin/stdout piping, and advanced fuzzy matching capabilities) and junegunn/fzf (This is the industry-standard command-line fuzzy finder that provides interactive selection menus, multi-selection, and deep integration with shell pipelines, perfectly matching the requirements for a terminal-based selection tool). peco/peco and charmbracelet/gum round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Find the best command line tools for text selection. Compare top-rated open-source utilities by features and activity to pick the right one for you.

Command line tools

Find the best repos with AI.We'll search the best matching repositories with AI.
  • lotabout/skimlotabout avatar

    lotabout/skim

    6,850View on GitHub↗

    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

    Skim is a high-performance, interactive command-line filter that provides fuzzy searching, multi-selection, and customizable keybindings, making it a direct and comprehensive solution for terminal selection workflows.

    RustFuzzy FindersFuzzy Search Interfaces
    View on GitHub↗6,850
  • skim-rs/skimskim-rs avatar

    skim-rs/skim

    6,592View on GitHub↗

    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 a versatile, interactive fuzzy finder that provides the exact terminal-based selection interface you need, complete with multi-selection, stdin/stdout piping, and advanced fuzzy matching capabilities.

    RustFuzzy FindersItem Navigation and SelectionFuzzy Search Interfaces
    View on GitHub↗6,592
  • junegunn/fzfjunegunn avatar

    junegunn/fzf

    81,017View on GitHub↗

    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 is the industry-standard command-line fuzzy finder that provides interactive selection menus, multi-selection, and deep integration with shell pipelines, perfectly matching the requirements for a terminal-based selection tool.

    GoItem Navigation and SelectionTerminal User InterfacesStream Processing Utilities
    View on GitHub↗81,017
  • peco/pecopeco avatar

    peco/peco

    7,892View on GitHub↗

    Peco is an interactive text filter and fuzzy finder for the terminal. It serves as a terminal user interface selection tool that filters standard input in real-time using fuzzy matching and regular expressions. The tool preserves and renders ANSI color escape sequences from piped input streams while performing matching logic on plain-text versions. It supports multi-stage filtering, allowing users to freeze result sets to create a new base for subsequent refinements. Capability areas include advanced search filtering with negative matching, multi-item selection, and the ability to pipe selec

    Peco is a dedicated command-line tool that provides interactive fuzzy filtering and selection menus, perfectly matching the requirement for a terminal-based workflow utility with stdin/stdout piping and multi-selection support.

    GoFuzzy FindersKeybinding Configurations
    View on GitHub↗7,892
  • charmbracelet/gumcharmbracelet avatar

    charmbracelet/gum

    22,814View on GitHub↗

    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

    Gum is a versatile CLI toolkit that provides interactive, fuzzy-searchable selection menus and various other TUI components designed specifically for integration into shell scripts via stdin/stdout.

    GoItem Navigation and Selection
    View on GitHub↗22,814
  • bombshell-dev/clackbombshell-dev avatar

    bombshell-dev/clack

    7,878View on GitHub↗

    Clack is a Node.js CLI framework and prompt library designed for building stylized, interactive command-line user interfaces. It provides a toolkit for creating terminal applications that collect structured user input and display formatted information. The library includes a set of interactive terminal UI components, such as validated input fields for text and passwords, searchable selection menus with autocomplete, and grouped options for user choice. It also provides mechanisms for process visualization, including loading spinners, progress bars, and sequential task lists to communicate bac

    Clack is a library for building interactive terminal interfaces that includes the requested fuzzy-searchable selection menus and input components, though it is designed as a framework for developers rather than a standalone CLI tool for end-users.

    TypeScriptTerminal User InterfacesInteractive Terminal Menus
    View on GitHub↗7,878
  • sboudrias/inquirer.jsSBoudrias avatar

    SBoudrias/Inquirer.js

    21,578View on GitHub↗

    Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured set of tools for building interactive terminal interfaces, including menus, checklists, and text inputs, to gather user data and manage complex interactions. The framework allows for the creation of dynamic user experiences through branching prompt logic and the resolution of asynchronous configurations. Users can define custom prompts using a provided API and localize interface text into different languages. The library covers a wide range of input capabilities, including sing

    Inquirer.js is a comprehensive framework for building interactive terminal prompts and menus, providing the necessary tools for fuzzy-searchable lists and complex user input flows within Node.js applications.

    TypeScriptTerminal User Interfaces
    View on GitHub↗21,578
  • lou/multi-selectlou avatar

    lou/multi-select

    1,891View on GitHub↗

    This project is a reusable web component designed to replace standard multiple-choice form inputs with an interactive interface. It functions as an accessible dropdown menu that simplifies the process of selecting and managing multiple items within browser-based forms and applications. The component utilizes shadow DOM encapsulation to isolate its internal structure from global styles and employs slot-based content projection to allow for custom markup injection. It maintains compatibility with standard HTML form elements through declarative attribute mapping and manages user interactions via

    This tool provides an interactive, multi-select interface for terminal workflows, serving as a direct replacement for standard selection prompts with support for piping and custom configuration.

    JavaScriptAccessible Select ReplacementsMulti-Select DropdownsForm Components
    View on GitHub↗1,891
  • nvim-telescope/telescope.nvimnvim-telescope avatar

    nvim-telescope/telescope.nvim

    19,083View on GitHub↗

    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

    This is a specialized plugin designed specifically for the Neovim text editor rather than a standalone command-line interface tool for general terminal workflows.

    LuaFuzzy FindersFuzzy Search Interfaces
    View on GitHub↗19,083
  • pythops/bluetuipythops avatar

    pythops/bluetui

    2,556View on GitHub↗

    bluetui is a text-based user interface for managing Bluetooth devices and adapters. It serves as a terminal application that interfaces with the BlueZ stack to control wireless radio hardware and connection states. The project provides a keyboard-driven controller for scanning for nearby discoverable hardware and establishing secure pairings with new peripherals. It allows for the management of paired devices, including the configuration of trust settings and the assignment of custom nicknames to simplify reconnection. The application includes capabilities for Bluetooth adapter control to to

    This is a specialized terminal application for managing Bluetooth devices rather than a general-purpose library or tool for creating interactive fuzzy-searchable selection menus.

    RustKeybinding ConfigurationsTerminal User Interfaces
    View on GitHub↗2,556
  • helix-editor/helixhelix-editor avatar

    helix-editor/helix

    44,911View on GitHub↗

    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

    Helix is a terminal-based text editor rather than a general-purpose interactive selection tool, though it shares the terminal interface and command-line utility domain.

    RustFuzzy FindersTerminal User InterfacesKeybinding Managers
    View on GitHub↗44,911
  • aloxaf/fzf-tabAloxaf avatar

    Aloxaf/fzf-tab

    4,521View on GitHub↗

    fzf-tab is a Zsh plugin that replaces the default tab-completion menu with an interactive fuzzy search interface powered by fzf. It hooks into Zsh's completion system to present completion candidates in a searchable list where users can filter, select, and navigate results by typing partial matches. The plugin distinguishes itself through several integrated capabilities. It supports multi-item selection for batch operations, group-based navigation to switch between completion categories like files and commands, and live previews of each candidate using user-defined commands. The interface can

    This is a Zsh-specific plugin that enhances shell tab-completion rather than a standalone CLI tool for building interactive selection menus in arbitrary terminal workflows.

    ShellMulti-Selection InterfacesCompletion Multi-Selections
    View on GitHub↗4,521
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
lotabout/skim6.9KRustMITJun 17, 2026
skim-rs/skim6.6KRustmitFeb 20, 2026
junegunn/fzf
81K
Go
MIT
Jun 15, 2026
peco/peco7.9KGoMITJun 6, 2026
charmbracelet/gum22.8KGomitFeb 16, 2026
bombshell-dev/clack7.9KTypeScriptNOASSERTIONJun 22, 2026
sboudrias/inquirer.js21.6KTypeScriptMITJun 16, 2026
lou/multi-select1.9KJavaScriptMITAug 19, 2022
nvim-telescope/telescope.nvim19.1KLuamitFeb 16, 2026
pythops/bluetui2.6KRustgpl-3.0Feb 5, 2026

Related searches

  • Workflow automation examples
  • Model selection tutorials
  • Table column picker
  • Test automation framework
  • Native file picker
  • a collection of CrewAI multi-agent workflow examples
  • a collection of production ready Kubernetes manifests
  • a computer vision library for face detection