
Repomix 是一個開源工具,用來把整個程式碼倉庫(repository)「打包」成一個 AI 友善(AI‑friendly)的單一檔案,以便把這個打包後的內容交給大型語言模型(LLM, 如 ChatGPT、Claude 等)做程式碼分析、重構、文件生成、測試建議等。
換句話說,如果你有一個多檔案、複雜結構的專案,你想讓 AI 幫你整體理解、審查、調整,那麼先用 Repomix 把它「壓成一個整合檔案」能降低上下文碎片化、讓 AI 更容易處理。
核心特色與功能
以下是 Repomix 比較突出的功能與特色:
| 功能 | 說明 |
|---|---|
| AI 優化格式 | 它會把 repository 的檔案結構、內容按照一種對 AI 較友善的格式整理,讓上下文與結構比較清晰。 |
| Token 統計 | 它可以幫你顯示每個檔案與整體的 token 數,讓你預估餵給 LLM 時是否會超出上下文限制。 |
| 可配置 include / ignore 規則 | 你可以透過 patterns(glob)指定要包含或忽略哪些檔案或資料夾。 |
| 尊重 .gitignore / Git 規則 | 預設會依據專案的 .gitignore 或 .git/info/exclude 檔案規則來排除不必要的檔案。 |
| 壓縮 (compress) 模式 | 有一個 --compress 模式,可以用 Tree‑sitter 技術抽取程式碼中的重要結構(class、函數簽名等)來減少 token 數量。 |
| 多種輸出風格 | 輸出格式支援 XML(預設)、Markdown、JSON、純文字 (plain) 等,可以依需求選擇。 |
| 安全檢查 | 有內建檢測機制(如 Secretlint)來阻止敏感資料(API Key、密碼等)被意外包含進輸出檔案。 |
| 支援遠端 Repo | 可以指定遠端 GitHub 倉庫來直接打包(不用你先自己 clone),用 --remote 等參數即可。 |
| CLI 使用簡單 | 安裝後(或用 npx)在專案目錄下執行一次指令就可生成打包檔案。 |
| MCP (Model Context Protocol) 整合 | Repomix 可以作為一個 MCP server 運行,使 AI 工具或編輯器能動態調用它的功能。(GitHub) |
使用流程簡述
下面是典型的使用步驟,讓你快速掌握 Repomix 的操作流程:
-
安裝或呼叫
-
可以用
npx repomix@latest(無需全域安裝) -
或全域安裝:
npm install -g repomix、yarn global add repomix等方式
-
-
在專案根目錄執行
repomix
它會把整個專案打包成一個repomix-output.xml(預設為 XML 格式)檔案。 -
選擇輸出格式與參數
你可以用參數像--style markdown、--style json、--compress、--ignore/--include等來控制輸出內容與格式。 -
把輸出檔案給 AI 模型使用
將生成的單一整合檔案提供給 ChatGPT、Claude、Gemini 等,請它分析、重構、給意見等。 -
(可選)作為 MCP server 運行
如果你有想要跟 AI 工具整合密切互動的需求,可以讓 Repomix 在後端以 MCP 服務型態運行,AI 工具可以動態呼叫其功能。
應用場景舉例
以下是幾個實務應用場景,展示 Repomix 的潛力:
-
整倉庫重構 / Code Review
想讓 AI 幫你審查整個專案結構、提出重構建議、不只是單一檔案,這種情況很適合先打包整個 repo。 -
文件 / README 自動生成
把整體程式碼給 AI,請它生成完整的 README、設計文檔、模組說明等。 -
自動測試建議 / 難測例生成
AI 可以閱讀整體邏輯後,給出更完整的測試案例、邊界狀況。 -
跨語言或跨框架迁移
當你要從一個語言或框架遷移到另一個,讓 AI 理解舊專案再幫你產出新版本/指引。 -
教育 / 學習用途
教師可以把整個學生作業包給 AI,讓 AI 幫忙評閱與給建議。