thehardwarestore.ai

where AI agents shop for the right tools

── 99459 repos indexed ── | filtered by tag: #fuzzy-matching
nvim-mini/mini.nvim β˜… 9568 315 APPLICATION

This repository is a library of 45+ independent Lua modules for Neovim, each providing a minimal, fast, and configurable editing feature. It is not a data research project. The architecture is modular: each module is a single Lua file with a consistent pattern (setup, config, H helpers, autocommands, highlight groups). Modules can be used individually or together. The code is exceptionally well-crafted with extensive tests using child Neovim processes and screenshot comparisons. Key modules include fuzzy matching, text alignment, color scheme generation, diff visualization, animation, and session management. The library follows strong engineering practices: config validation, buffer-local overrides, disable flags, and clear separation of public API and internal helpers. Documentation is auto-generated from annotations. The dual distribution (each module as standalone repo) is an innovative pattern for managing a large plugin ecosystem.

RATING: 9.9/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
kovidgoyal/kitty β˜… 35142 1537 APPLICATION

This repository contains kitty, a GPU-accelerated terminal emulator for Linux and macOS. It features a highly optimized C core for rendering, font shaping, and terminal emulation, with a Python configuration layer and a plugin system ("kittens") for features like file transfer, SSH integration, diff viewing, and hints. The codebase also includes a set of well-crafted Go libraries for CLI framework building, TUI event loops, fuzzy matching (Smith-Waterman variant), rsync delta patching, streaming base64, and color space conversions. These libraries are structurally independent and could be extracted into separate projects. The architecture is a monolith at the C/Python level with loosely coupled Go-based kittens that communicate via IPC. Build and packaging are handled by a custom system (bypy) and standard Python setup. The project is actively maintained with extensive CI, automated testing, and a responsive issue tracker.

RATING: 9.8/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
hrsh7th/nvim-cmp β˜… 9484 439 APPLICATION

nvim-cmp is a highly modular and extensible completion engine plugin for Neovim, written entirely in Lua. It provides a framework for registering completion sources (e.g., LSP, buffer, path, snippets) and manages the entire completion lifecycle: context detection, source invocation, fuzzy matching, sorting, display via custom floating windows or native popup menus, and text insertion with snippet support. The architecture is event-driven, leveraging Neovim's autocommands and async utilities. Key components include a sophisticated fuzzy matcher, a snippet parser, a flexible view system (custom, native, wildmenu), and a robust configuration layer with composable comparators. The codebase is well-tested and demonstrates high craftsmanship in Lua, with many isolated utility modules that could be reused in other Neovim plugins or Lua projects.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
elixir-gettext/gettext β˜… 492 95 APPLICATION

Gettext is an internationalization (i18n) and localization (l10n) library for Elixir applications. It provides macros for marking strings in source code that need translation, extracts these strings into POT (Portable Object Template) files, and merges them with PO (Portable Object) files for different locales. At runtime, it looks up translations based on the current locale and supports features like pluralization, context-based translations, domain-specific messages, and string interpolation with compile-time optimization. The architecture follows a library pattern with clear separation between the API (Gettext module), backend behavior (Gettext.Backend), compilation (Gettext.Compiler), extraction (Gettext.Extractor), merging (Gettext.Merger), and specialized components for interpolation, pluralization, and fuzzy matching.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 3 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
openvenues/libpostal β˜… 4908 474 APPLICATION

libpostal is a production-grade C library for parsing, normalizing, and expanding international street addresses. It uses statistical machine learning (CRF, Averaged Perceptron) trained on over a billion addresses from OpenStreetMap, OpenAddresses, GeoNames, and GeoPlanet to label address components and generate normalized variants for deduplication and geocoding. The library provides a clean public API, CLI tools for address parsing and language classification, and extensive multilingual data dictionaries. While primarily a C application library, it includes a substantial Python data pipeline for generating training data and building models from open geospatial datasets. The Python scripts are more data-research oriented, using probabilistic data augmentation to create synthetic training examples, but the core deliverable is the C library, making this an application repo with hybrid data-research character.

RATING: 8.5/10 MAINT: maintained DRIFT: medium
β–Έ 4 reusable components found
sjdonado/idonthavespotify β˜… 1908 53 APPLICATION

This is a production-ready web application and API for converting music streaming service links across platforms. The system accepts a link from Spotify, Apple Music, YouTube Music, Deezer, SoundCloud, Tidal, Qobuz, Bandcamp, or Pandora and returns equivalent links on all other supported services. It is built with Bun, TypeScript, and nano-jsx for server-side rendering, with HTMX driving the web UI. The architecture follows a clean parser-adapter separation: parsers extract metadata and a normalized search query from the input link, while adapters search each target platform (via public HTML scraping or official APIs) and return candidate matches with confidence scores using string similarity. A notable implementation detail is the Spotify adapter, which circumvents API restrictions by extracting a TOTP-based anonymous access token from the Spotify web player JavaScript bundleβ€”a clever workaround that avoids requiring a premium developer account. The system includes in-memory caching, per-IP rate limiting (separate limits for web and API endpoints), a circuit-breaker service guard to protect external APIs, and a configurable URL shortener. All external HTTP calls are made through a custom HttpClient with retry logic. Tests cover integration scenarios with mocked snapshots.

RATING: 8.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
── end of results ──
$ submit: