Replace slow file finder lookups in Neovim with FFF's indexed search when working in large codebases.
Give AI coding assistants like Claude Code or Cursor a faster, context-aware file search tool via an MCP server.
Search a large codebase with automatic fuzzy fallback when an exact match returns no results.
FFF is a file search library and toolkit designed to be faster than general-purpose command-line tools like ripgrep or fzf when a program needs to search files repeatedly. Its speed advantage comes from keeping an in-memory index of the file system rather than scanning the disk each time. It also tracks which files you open most frequently (a concept called frecency, combining frequency and recency) and ranks those files higher in search results. The project serves several audiences. As a Neovim plugin, it replaces the default file finder and live grep with FFF's indexed search, making navigation faster in large codebases. As an MCP server, it gives AI coding tools like Claude Code, Cursor, and Cline a faster and more token-efficient search tool that understands code structure and git state. There is also an extension for the Pi agent. Each surface uses the same Rust core. Search in FFF handles typos and partial matches automatically. If an exact search returns no results, the tool retries as a fuzzy search. It also treats smart-case queries (like IsOffTheRecord) with awareness of snake_case and other naming styles. On the git side, the tool annotates modified, untracked, and staged files so AI agents can prioritize files that are actively being changed. Installing the MCP server version takes a single shell command on Linux and macOS, or a PowerShell command on Windows. The install script prints instructions for connecting the server to your chosen client. After connecting, agents can access the ffgrep, fffind, and fff-multi-grep tools. The Neovim plugin installs through standard plugin managers like lazy.nvim and downloads a prebuilt binary rather than requiring a local Rust build. The README lists configuration options and commands for each surface, with sensible defaults that work for most users without adjustment.
← dmtrkovalenko on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.