Open source autonomous coding agent that runs as an IDE extension, terminal CLI, desktop app, or SDK.
dmtrKovalenko/fff
A fast, typo-tolerant file and content search toolkit for Neovim, AI agents, and Rust, Node, Bun, Python, and C applications.
- Stars
- 11,153
- Forks
- 468
- Open issues
- 80
- Last commit
- 11 hours ago
What is it?
FFF is a file search toolkit that combines typo-tolerant path and content search, frecency-ranked file access, a background file watcher, and a lightweight in-memory content index. It is aimed at long-running processes that search repeatedly, where keeping the index resident avoids the cost of starting a new CLI such as ripgrep or fzf on every query.
The project ships in several forms: a fff.nvim plugin for Neovim with file and live grep pickers, an MCP server for clients like Claude Code, Codex, OpenCode and Cursor, a Pi agent extension, a Rust crate named fff-search, a C library with a header file, and a TypeScript SDK for Node.js and Bun. Each shares the same core search engine.
Search supports glob and regex modes, git status constraints such as git:modified, and definition-first classification that surfaces declarations ahead of ordinary usages in grep results.
Key features
- 01Typo-tolerant fuzzy matching for both file paths and file contents.
- 02Frecency ranking that moves recently and frequently opened files higher.
- 03Background file watcher and in-memory content index for repeated searches.
- 04Glob, regex, and literal search modes with context lines and cursor pagination.
- 05Git-aware filters such as modified, staged, and untracked files.
Use cases
- Giving an AI coding agent fast, accurate file and code search through MCP.
- Replacing the file and grep pickers in Neovim with a faster, ranked alternative.
- Building a custom file search feature into a Node.js, Bun, or Rust application.
Quick start
- 1
Install the fff-mcp server with Homebrew (macOS/Linux)
brew install dmtrKovalenko/fff/fff-mcp - 2
Register the installed binary with Codex using its absolute path
codex mcp add fff -- "$(brew --prefix)/bin/fff-mcp" - 3
Or install the Pi agent extension from npm
pi install npm:@ff-labs/pi-fff
Things to know
- The Neovim plugin's build step downloads a prebuilt binary or falls back to compiling with cargo.
- The published benchmark results were measured by the project itself on specific repos and models.
Topics
FAQ
- What is fff?
- A fast, typo-tolerant file and content search toolkit for Neovim, AI agents, and Rust, Node, Bun, Python, and C applications. FFF is a file search toolkit that combines typo-tolerant path and content search, frecency-ranked file access, a background file watcher, and a lightweight in-memory content index. It is aimed at long-running processes that search repeatedly, where keeping the index resident avoids the cost of starting a new CLI such as ripgrep or fzf on every query.
- Is fff free to use? What license does it have?
- fff is open source under the MIT license. Check the license terms before using it in commercial products.
- Is fff still maintained?
- Actively maintained. The last commit to fff was on Oct 20, 2026.
- What can I use fff for?
- Giving an AI coding agent fast, accurate file and code search through MCP. Replacing the file and grep pickers in Neovim with a faster, ranked alternative. Building a custom file search feature into a Node.js, Bun, or Rust application.
- How do I install fff?
- Install the fff-mcp server with Homebrew (macOS/Linux): brew install dmtrKovalenko/fff/fff-mcp Register the installed binary with Codex using its absolute path: codex mcp add fff -- "$(brew --prefix)/bin/fff-mcp" Or install the Pi agent extension from npm: pi install npm:@ff-labs/pi-fff
- Where can I get fff?
- The source code and installation instructions are on GitHub: https://github.com/dmtrKovalenko/fff
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An open source, general-purpose AI agent that runs on your machine as a desktop app, CLI, or embeddable API, for code and non-code tasks.
Open-source Rust coding agent for the terminal that edits files, runs commands and works with 40+ model providers, including local models.
Open-source multimodal AI agent stack from ByteDance, with a CLI/Web UI (Agent TARS) and a desktop GUI agent app (UI-TARS Desktop).
A terminal coding agent with built-in LSP, debugger, browser and subagent tools, supporting 60+ model providers.
An open-source coding-agent CLI that runs in the terminal and works with cloud APIs and local model backends like Ollama.