repowise-dev/repowise

Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.

Repowise – 證據導向的程式碼庫智慧

是什麼 – Repowise 是一個基於 Python 的工具,可建立本地、持續更新的程式碼庫索引。該索引整合了語言無關的呼叫圖、Git 歷史、測試覆蓋率資訊、文件以及記錄的架構決策。從這單一的真相來源出發,它為開發者或 AI 驅動的程式碼代理通常需要透過 grep、閱讀程式碼或執行昂貴的模型提示來發現的問題,提供 決定性(無需 LLM 呼叫)的答案。

為何重要 – 現代 AI 程式碼助手在每次請求時都會花費大量時間「重新發現」程式碼庫的結構,這會增加 token 使用量、降低代理速度,並可能導致上下文遺失。Repowise 一次性完成繁重工作,然後以遠少的工具呼叫和大幅減少的負載(例如,典型提交上下文從 13,984 個 token 減少到 393 個 token)提供 帶引用 的、圖感知的結果。此專案還提供具體、可操作的重構建議和每個檔案的健康分數,所有計算均在本地完成且開源。


核心功能

領域 Repowise 提供的內容
程式碼圖 支援 25 種語言的 AST 解析依賴關係,帶置信度標記的呼叫解析,社群檢測,中心性度量,執行流程追蹤。
Git 信號 熱點檢測、所有權、共變更統計、巴士因子、缺陷修復歷史 – 全部源自程式碼庫自身的提交日誌。
文件維基 為每個模組/檔案自動產生、增量式維基頁面;可選擇性地為每頁新增 LLM 寫的段落。
架構決策 從五個來源(如提交訊息、程式碼註解)決定性地提取,加上手動捕獲;每個決策均連結到證據。
程式碼健康分析 49 個決定性檢測器(複雜度、內聚性、克隆檢測、未測試熱點、變更熵等)為每個檔案生成 1–10 的健康分數,並提供具體重構計畫(提取類/方法、移動方法、拆分檔案等)。
測試智慧 透過呼叫圖找出哪些測試 觸及 一個檔案(當覆蓋率報告遺失時的回退方案),並可列出差異所觸發的最小測試集。
變更風險 使用圖和 Git 信號對差異或 PR 進行 0–10 分的評分,返回可操作指令如 may_breakmissing_tests
MCP 工具 十個任務型「模型-控制-協定」端點(圖、Git、文件、決策、健康、風險、受影響測試、精煉等),任何 MCP 兼容代理(Claude Code、Codex、Cursor、VS Code 等)均可呼叫。
精煉 在命令輸出(如長 pytest 日誌)到達代理前進行壓縮,保留錯誤和結束碼的同時,將 token 使用量減少 60–90 %。
PR 機器人 GitHub 應用,為每個 PR 發佈一條持續更新的評論,包含影響範圍、測試影響、風險分數、健康警報以及詳細分析頁面連結。

典型工作流程

  1. 安裝pip install repowise
  2. 初始化 – 在目標程式碼庫內執行 repowise init --no-prose -y。此操作解析程式碼、建構圖、提取 Git 信號、建立維基,並執行健康檢測器。
  3. 服務repowise serve 啟動本地 HTTP 端點,公開 MCP 工具。
  4. 連接 – 將你的程式碼代理(Claude Code、Codex、Cursor 等)指向該端點,或開啟內建儀表板探索健康分數、變更風險和重構建議。
  5. 迭代 – 隨著程式碼庫變更,Repowise 會增量更新索引,無需重新執行完整分析即可保持所有答案最新。

適用對象

使用情境 Repowise 如何協助
AI 輔助開發 代理透過單次呼叫即可獲得預先計算、帶引用的上下文(例如「誰呼叫了 auth.validate?」),減少 token 消耗和延遲。
安全的拉取請求審查 自動風險評分、測試影響清單和影響範圍圖直接顯示在 PR 評論中,讓審查者專注於真實破壞性風險。
持續程式碼健康改善 健康分數揭示缺陷高發檔案;具體重構計畫可輸入代理或手動應用。
大型多程式碼庫工作區 單一 MCP 端點可服務多個程式碼庫,支援跨服務契約檢查和架構強制。
企業部署 核心分析完全在本地執行,無需 API 金鑰,AGPL-3.0 許可,企業可選付費支援、安全擴充和 SLA 保證。

安裝與快速入門

pip install repowise               # 取得 CLI 和程式庫
cd /path/to/your/repo
repowise init --no-prose -y        # 建構索引(無需 LLM)
repowise serve                     # 啟動本地 MCP 伺服器
# 範例查詢
repowise risk main..HEAD           # 當前 PR 的變更風險評分
repowise health --refactoring-targets  # 列出低健康檔案及具體修復方案
repowise impacted-tests main..HEAD   # 差異的最小測試集

完整說明見 docs/start/QUICKSTART.md


證據與基準測試

  • 代理效率 – 在 django/django 程式碼庫上對 43 個問題的研究顯示,Repowise 將代理輸出減少 31.6 %,工具呼叫次數從 7.2 → 3.8(p < 0.0001)。
  • 負載減少 – 典型提交上下文從 13,984 → 393 個 token(減少 97.2 %)。
  • 缺陷預測 – 健康引擎的 49 個檢測器基於真實缺陷語料庫校準;程式碼庫內驗證顯示,最低健康檔案中最近缺陷的富集度為 3.3×
  • 圖準確性 – 在 37,853 個 Oracle 邊上與 5 個其他工具對比;Repowise 在所有 7 個編譯器評分單元中均達到最高精確度。
  • 所有基準數據、方法和限制均在 docs/BENCHMARKS.md 中公開。

許可與可用性

  • 開源 – AGPL-3.0(原始碼在 GitHub,PyPI 套件 repowise)。
  • 自托管 – 核心分析在本地執行,無需外部 API 金鑰或雲端服務。
  • 商業選項 – 企業可選付費支援、安全擴充和 SLA 保證。

學習更多


總結 – Repowise 將程式碼庫轉變為一個決定性知識庫,讓 AI 代理和開發者可即時查詢,降低 token 成本,提升安全性,並在不將程式碼發送到遠端 LLM 的情況下提供具體、可執行的修復方案。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案