工程開發
file-search avatar

file-search

利用 ripgrep 進行快速文字搜尋,並透過 ast-grep 進行語法感知代碼分析,有效定位程式碼庫中的模式與結構。

簡介

file-search 技能透過整合 ripgrep 與 ast-grep,使代理程式能夠高效地導航與分析大型程式碼庫。ripgrep 用於基於文字的正則表達式搜尋,而 ast-grep 則用於結構化、語法感知的代碼比對。此工具專為開發者與 AI 代理設計,適用於程式碼探索、重構、安全性稽核與技術文件分析,能幫助使用者在無需人工遍歷的情況下快速定位入口點、追蹤函式或類別用法。

  • 進階文字搜尋:支援透過 ripgrep 進行多檔案正則表達式搜尋,快速定位字串、變數名稱、註解與設定鍵。

  • 語法感知分析:利用 ast-grep 基於抽象語法樹 (AST) 執行語意代碼搜尋,可精準比對類別定義、函式簽章與複雜代碼區塊。

  • 高效效能架構:專為大型儲存庫設計,在搜尋速度與效率上遠優於傳統的 grep 或 find 指令。

  • 廣泛語言支援:支援針對 Python、JavaScript、TypeScript 等多種程式語言進行精確的範圍搜尋。

  • 優先執行目標明確的搜尋:建議透過指定目錄路徑或檔案類型篩選器(如 --type py)來鎖定搜尋範圍,以維持高精確度並減少 Token 消耗。

  • 流程優化:建議先使用計數功能評估範圍,再透過前後文標記或更具體的語法模式縮小範圍,以精確找到所需的程式邏輯。

  • 安全性稽核:可利用此工具主動識別安全性漏洞,例如硬編碼憑證、潛在注入點或危險函式(如 eval)的使用。

  • 工具選擇建議:對於簡單的文字字串、註解或一般模式比對,請優先選擇 ripgrep;若搜尋重點在於程式邏輯或語法結構,請優先使用 ast-grep。

  • 效能調整建議:掃描大量結果時,務必將輸出透過 pipe 傳遞給 head 指令,以避免過度消耗代理上下文空間;同時可使用 --glob 標記排除測試目錄或不相關的資源。

倉庫統計

Star 數
968
Fork 數
151
Open Issue 數
6
主要語言
Python
預設分支
main
同步狀態
閒置
最近同步時間
2026年4月29日 上午05:27
在 GitHub 查看