dmtrKovalenko/fff

The fastest and the most accurate file search SDK for AI agents, Neovim, Rust, C, Python, Bun and NodeJS

What it solves

fff is a high-performance file search toolkit designed to be faster than traditional CLI tools like ripgrep and fzf for long-running processes. It provides typo-resistant path and content search, frequency-ranked file access (frecency), and a lightweight in-memory content index to reduce latency in file discovery.

How it works

fff operates as a library that can be integrated into various environments. It uses a background watcher and an in-memory index to maintain a fast search state. Key features include:

  • Frecency Memory: Ranks files based on how often and recently they have been accessed, with automatic warm-up from git history.
  • Smart-case and Fuzzy Fallback: Performs case-insensitive searches that automatically fall back to fuzzy matching if no exact matches are found.
  • Git Integration: Annotates files with their git status (modified, untracked, staged) to help users or agents prioritize active changes.
  • Definition-first Hinting: Classifies code definitions on the Rust side to avoid regex overhead in prompts.

Who it’s for

  • AI Agents: Provides an MCP (Model Context Protocol) server and extensions (e.g., for Pi agent) to give LLMs faster, more token-efficient file search capabilities.
  • Developers: Offers a Neovim plugin (fff.nvim) for rapid file navigation and content grep within the editor.
  • Tool Builders: Provides a library for code editors and AI harnesses that require accurate, fast file search.

Highlights

  • MCP Server Support: Compatible with Claude Code, Cursor, and Cline, reducing grep roundtrips and context waste.
  • Extremely Fast: Outperforms standard CLIs in repeated search scenarios due to its in-memory indexing.
  • Advanced Constraints: Supports complex queries using glob patterns, git status filters (e.g., git:modified), and exclusions.
  • Multi-platform: Available for Linux, macOS, and Windows.

Related

  • Project
  • Project
  • Project
  • Project
  • Project