dmtrKovalenko/fff

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

何を解決するか

fff は、長時間実行されるプロセスにおいて、ripgrep や fzf などの従来の CLI ツールよりも高速なファイル検索ツールキットです。タイポに強いパスおよびコンテンツ検索、頻度順に並べられたファイルアクセス(frecency)、低遅延のファイル発見を実現する軽量なインメモリコンテンツインデックスを提供します。

動作方法

fff は、さまざまな環境に統合可能なライブラリとして動作します。バックグラウンドのウォッチャーとインメモリインデックスを使用して、高速な検索状態を維持します。主な機能は以下の通りです:

  • Frecency Memory:アクセス頻度と最新性に基づいてファイルをランク付けし、git ヒストリから自動的にウォームアップします。
  • スマートケースとファジー補完:大文字小文字を無視した検索を実行し、正確な一致が見つからない場合に自動的にファジー検索にフォールバックします。
  • Git 統合:ファイルに git 状態(変更済み、未追跡、ステージ済み)を付与し、ユーザーまたはエージェントがアクティブな変更を優先できるようにします。
  • 定義優先のヒント:Rust 側でコード定義を分類することで、プロンプトでの正規表現オーバーヘッドを回避します。

対象ユーザー

  • AI エージェント:LLM に高速かつトークン効率の良いファイル検索機能を提供するため、MCP(Model Context Protocol)サーバーと拡張機能(例:Pi エージェント用)を提供します。
  • 開発者:Neovim プラグイン(fff.nvim)を提供し、エディタ内での迅速なファイルナビゲーションとコンテンツ grep を可能にします。
  • ツール開発者:正確で高速なファイル検索を必要とするコードエディタや AI ハーネス向けのライブラリを提供します。

特徴

  • MCP サーバー対応:Claude Code、Cursor、Cline と互換性があり、grep のラウンドトリップとコンテキストの浪費を削減します。
  • 極めて高速:インメモリインデックスにより、繰り返し検索のシナリオで標準 CLI を上回ります。
  • 高度な制約:グロブパターン、git 状態フィルター(例:git:modified)、除外条件など、複雑なクエリをサポートします。
  • マルチプラットフォーム:Linux、macOS、Windows で利用可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト