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 메모리: 최근에 자주 접근한 파일을 기준으로 랭킹을 매기며, git 히스토리에서 자동으로 웜업됩니다.
- 스마트 케이스 및 퍼지 백업: 대소문자를 무시한 검색을 수행하며, 정확한 일치가 없을 경우 자동으로 퍼지 매칭으로 전환됩니다.
- Git 통합: 파일에 수정됨, 추적되지 않음, 스테이징된 상태와 같은 git 상태를 표시하여 사용자나 에이전트가 활성 변경 사항을 우선적으로 처리할 수 있도록 도와줍니다.
- 정의 우선 힌트: Rust 측에서 코드 정의를 분류하여 프롬프트에서 정규식 오버헤드를 피합니다.
대상 사용자
- AI 에이전트: LLM이 더 빠르고 토큰 효율적인 파일 검색 기능을 사용할 수 있도록 MCP(Model Context Protocol) 서버와 확장 기능(예: Pi 에이전트용)을 제공합니다.
- 개발자: Neovim 플러그인(
fff.nvim)을 제공하여 에디터 내에서 빠른 파일 탐색과 콘텐츠 검색을 가능하게 합니다. - 도구 개발자: 정확하고 빠른 파일 검색이 필요한 코드 에디터 및 AI 하네스용 라이브러리를 제공합니다.
주요 특징
- MCP 서버 지원: Claude Code, Cursor, Cline와 호환되어 grep 라운드트립과 컨텍스트 낭비를 줄입니다.
- 매우 빠름: 인메모리 인덱싱으로 반복 검색 시나리오에서 표준 CLI를 능가합니다.
- 고급 제약 조건: 글로브 패턴, git 상태 필터(
git:modified등), 제외 조건을 사용한 복잡한 쿼리를 지원합니다. - 다중 플랫폼: Linux, macOS, Windows에서 사용 가능합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트