thehardwarestore.ai

where AI agents shop for the right tools

── 99307 repos indexed ── | filtered by tag: #shell-integration
junegunn/fzf ★ 83357 4167 APPLICATION

fzf is a general-purpose command-line fuzzy finder and interactive terminal filter written in Go. It reads candidate items from stdin, a command, or a file walker; incrementally filters them using fuzzy matching algorithms; and renders an interactive terminal UI for selection. It also supports non-interactive filter mode (--filter), preview windows, tmux/Zellij popups, an HTTP control server, and deep shell integration via key bindings and completions for bash, zsh, fish, and nushell. The core architecture is event-driven: main.go parses options and dispatches to fzf.Run(), which orchestrates a reader, matcher, terminal renderer, and preview worker. The codebase is an application, not a data/research project, although its fuzzy matching and scoring systems have research-grade algorithmic depth.

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Schniz/fnm ★ 27075 650 APPLICATION

fnm (Fast Node Manager) is a cross-platform Node.js version manager built in Rust. It allows users to install, switch between, and manage multiple Node.js versions on a single system. The application features automatic version switching based on directory via .node-version or .nvmrc files, shell integration for Bash, Zsh, Fish, and PowerShell, version aliasing, and the ability to execute commands with specific Node.js versions. Built with performance and reliability in mind, fnm provides a modern alternative to tools like nvm with faster startup times and more robust shell integration.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
gokcehan/lf ★ 9552 382 APPLICATION

lf is a mature terminal file manager written in Go. It provides a full TUI built on tcell/v3, with navigation, previews, search/filter, marks/tags, visual mode, and async file operations that delegate actual file mutations to external shell tools. The application follows a client/server architecture: a daemon listens on a Unix socket while multiple client instances can connect, issue remote commands, and maintain per-client state. Entry points are main.go for CLI parsing, client.go/server.go for lifecycle and IPC, app.go/ui.go for the event loop and rendering, and eval.go for command evaluation. Platform-specific code supports Linux, BSD, and Windows, with filesystem watching via fsnotify and disk-free space queries via platform-specific df_*.go files.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
gsamokovarov/jump ★ 1945 65 APPLICATION

Jump is a single-binary Go CLI for fuzzy directory navigation, in the family of autojump/z/zoxide. It integrates with bash, zsh, fish, PowerShell, and Nushell by emitting a shell function (default `j`) that hooks PWD changes and calls `jump chdir`, which persists a scored database of visited directories as JSON files under ~/.jump or $XDG_CONFIG_HOME/jump. When the user types `j wc`, the shell function invokes `jump cd wc`, which ranks all entries by longest-common-subsequence fuzzy match against a cleverly normalized path (basename-only unless separators are given, case-sensitive when any capital letter is typed) and prints the best path for the shell to cd into. The tool also supports pins, relative jumps, repo-root-based mode via `j .`, reverse jumps via an empty term, stale-entry cleanup, and exact-match proximity heuristics. The codebase is cleanly layered: cli (argument parsing and command dispatch), cmd (command implementations), config (an interface with file- and in-memory implementations over atomic JSON persistence), scoring (frequency+recency weighted ranking and fuzzy sort), fuzzy (LCS algorithm and path normalizer), importer (parsers for autojump.txt, z's .z file, and zoxide's binary db.zo), and shell (Go-embedded integration scripts compiled via text/template). Everything is local files; there is no daemon, server, or network dependency. Test coverage is thorough across all packages, including adversarial importer tests for truncated, oversized, and corrupt zoxide databases and shell template compilation tests. Craftsmanship is strong: the atomic file helper, LCS implementation, path normalizer, and zoxide binary parser are genuinely reusable modules. Minor blemishes include a global command registry, duplicated version constants (0.67.0 in cmd/version.go vs 0.69.0 in the Makefile), a leftover defunct .travis.yml CI config, and a copy-paste error in the settings error message (--preserve validation prints 'slash, ignore' instead of 'true, false'). Overall this is a mature, well-maintained developer tool with an elegant core search/scoring design.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 6 reusable components found
raghavpillai/branchlet ★ 501 28 APPLICATION

Branchlet is an interactive CLI tool for creating and managing Git worktrees. It provides both a Terminal User Interface (TUI) built with Ink/React and a scriptable command-line interface for automating worktree operations. The tool simplifies Git worktree management by offering features like intelligent branch handling, automatic file copying to new worktrees based on configurable patterns, post-creation command execution, and shell integration for quick directory switching. It supports project-specific and global configuration through JSON files and includes robust error handling with user-friendly messages.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
jdx/fnox ★ 2149 108 APPLICATION

fnox is a production-grade secrets management CLI written in Rust. It resolves secrets from over 20 providers (encryption keys, cloud secret stores, password managers, hardware tokens) and injects them into subprocess environments, shell sessions, or a local TUI. The system uses a hierarchical, profile-based configuration model where secrets can be sourced from encrypted local files (age), cloud services (AWS, Azure, GCP, Vault), or third-party password managers (1Password, Bitwarden, Doppler, Proton Pass) with support for short-lived credential leases. It also provides a daemon for caching resolved secrets, an MCP server for AI agent integration, an HTTPS proxy that auto-injects credentials, and a secret scanning command for CI/CD pipelines.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: