FFF (Fast File Find)

A typo-resistant, frecency-ranked file and content search toolkit for AI agents, Neovim, Rust, C, Python, Bun, and NodeJS. Claims to beat ripgrep and fzf in any long-running process that searches more than once. 9,491 stars at the 2026-07-03 source check. Source: dmtrKovalenko/fff README, GitHub

fff started as a beloved Neovim plugin and generalized into a search library, because AI harnesses and code editors all need the same thing: accurate, fast file search that holds a warm in-memory index instead of re-walking the tree on every query. It ships a background watcher, frecency ranking (files you open rank higher next time, warmed from git touch history), and a lightweight content index. Source: dmtrKovalenko/fff README, GitHub

Surfaces

  • MCP server: exposes ffgrep, fffind, and fff-multi-grep to Claude Code, Codex, OpenCode, Cursor, Cline, and any MCP client. One-line install via curl ... | bash. The repo's benchmark chart claims fewer grep roundtrips and less wasted context than built-in agent file search.
  • Pi agent extension (pi install npm:@ff-labs/pi-fff) with three modes: add tools + UI, tools-only, or override pi's native grep/find/multi_grep.
  • fff.nvim: the original Neovim plugin, demoed on the Linux kernel repo (100k files, 8GB).

Source: dmtrKovalenko/fff README, GitHub

Why It Matters for Agents

The agent-facing value is token economy, not just speed. Smart-case with auto-fuzzy fallback (IsOffTheRecord finds snake_case variants; zero-match queries retry as fuzzy), definition-first hinting classified on the Rust side, and git-aware annotations mean the agent reaches for what you are actively changing with fewer, higher-signal results. This is the search-layer analog of Lean Ctx: cut wasted context per tool call. It complements rather than replaces Ripgrep, which stays the right tool for one-shot terminal greps; fff wins inside a persistent agent session that searches repeatedly. Drop For any file search or grep in the current git-indexed directory, use fff tools. into CLAUDE.md to route an agent to it.

Install candidate (Rust/MCP/Pi/Neovim). Run the three-gate chain before adopting, per AGENTS.md.

Version Snapshot

Checked 2026-07-03:

Surface Current
GitHub dmtrKovalenko/fff, MIT, 9,491 stars, 366 forks
Source revision main HEAD 1cd8d31da4c1536be11c4dae0ed61d066e05e87f
Release tag v0.9.6 tag object 8ab96838fbaf4495ae87e3e6b82344b720695ae0, commit 28321da22836b0e11da81e30f40f7a043b8f8fb4
npm / Pi extension @ff-labs/pi-fff@0.9.6 latest, nightly at 0.9.7-nightly.1cd8d31, package modified 2026-07-02
Distribution MCP install script, Homebrew formula, Pi extension, Neovim plugin, and language bindings

The bookmark itself is source-only: no local image/video artifact was expected. The durable evidence is the resolved GitHub repo, README, and package/release state. Source: GitHub, npm registry, 2026-07-03


Timeline