fff.nvim  by dmtrKovalenko

Fast fuzzy file finder for AI agents and Neovim

Created 8 months ago
4,441 stars

Top 10.9% on SourcePulse

GitHubView on GitHub
Project Summary

Fast File Finder (FFF) is a high-performance fuzzy file picker designed for both AI agents and Neovim users. It addresses the need for rapid, accurate file searching within large codebases, aiming to reduce developer friction and AI token expenditure. By offering an intuitive, typo-resistant interface and intelligent search result ranking, FFF enhances productivity for AI-assisted development and traditional Neovim workflows.

How It Works

FFF employs a Rust-based core for maximum performance in fuzzy file matching, globbing, and grepping. For AI agents, it acts as an intelligent file search tool with built-in memory, leveraging factors like frecency, Git status, and file size to suggest optimal search results, thereby minimizing token usage and improving AI's ability to locate code. Neovim users benefit from a highly responsive picker with features like live grep, multi-select, and Git status integration, all optimized for speed and usability across large repositories.

Quick Start & Requirements

  • AI Agent Installation: Execute curl -L https://dmtrkovalenko.dev/install-fff-mcp.sh | bash. Follow printed instructions to integrate with AI models (e.g., Claude Code, Codex).
  • Neovim Installation: Requires Neovim 0.10.0 or higher. Installation via lazy.nvim or vim.pack is supported, with a build step to download prebuilt binaries or compile from source using a Rust toolchain.
  • Dependencies: Neovim >= 0.10.0. A Rust toolchain may be required for source compilation.
  • Links: AI install script: https://dmtrkovalenko.dev/install-fff-mcp.sh.

Highlighted Details

  • AI Integration: MCP (Memory-Constrained Planning) enables AI agents to perform faster, more token-efficient file searches.
  • Performance: Demonstrated capability in handling large repositories (e.g., 100k files, 8GB).
  • Advanced Search: Supports plain text, regex, and Smith-Waterman fuzzy matching with customizable modes and constraints (e.g., git:modified, globbing).
  • Git Integration: Real-time Git status highlighting in the sign column and optional filename coloring.
  • Multi-Select & Quickfix: Allows selecting multiple files and sending them directly to Neovim's quickfix list.
  • Frecency & History: Stores file open frequency and query history to boost relevant results.

Maintenance & Community

No specific details regarding maintainers, community channels (like Discord/Slack), or roadmap were provided in the README.

Licensing & Compatibility

The license type and any compatibility notes for commercial use or closed-source linking are not specified in the provided documentation.

Limitations & Caveats

The debug mode is noted as being in beta, soliciting user collaboration for optimization. No other significant limitations or alpha status indicators were explicitly mentioned.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
49
Issues (30d)
38
Star History
2,938 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.