getsentry/warden

Your code is under new management. Agents that review your code.

什麼是 Warden

Warden 是 Sentry 提供的開源工具,讓您能在倉儲中直接執行 AI 驅動的程式碼審查。它將審查邏輯視為 「技能」 —— 存放在一般目錄中的可重用分析模組(例如 .agents/skills/.claude/skills/)。一旦定義好技能,您即可透過命令列本地呼叫,或透過 GitHub Action 在每次拉取請求(PR)上自動執行。

核心理念

概念 含義
技能,而非提示 不再為每次執行撰寫臨時提示,而是只需撰寫一次技能(小型腳本或設定),即可在任何地方重複使用。
兩種執行模式 CLI – 執行 npx @sentry/warden 來掃描您推送前的目前分支。
GitHub Action – 將 Warden 附加到倉儲,使每次 PR 都能獲得自動審查。
原生 GitHub 反饋 發現結果以帶建議修復的內聯 PR 評論形式出現,並在 GitHub Checks UI 中聚合,使開發者的審查體驗無縫銜接。

快速開始(來自 README)

# 1. 將 Warden CLI 安裝到您的倉儲
npx @sentry/warden init

# 2. 新增內建審查「技能」
#    – 安全性導向的審查
npx @sentry/warden add security-review
#    – 通用程式碼品質審查
npx @sentry/warden add code-review

# 3. 在目前分支上執行審查
#    (需要 LLM API 金鑰 – OpenAI 或 Anthropic)
export WARDEN_OPENAI_API_KEY=…   # 或 WARDEN_ANTHROPIC_API_KEY
npx @sentry/warden

# 4. 讓 Warden 自動修復簡單問題
npx @sentry/warden --fix

完整文件請造訪 https://warden.sentry.dev/。

內部運作原理

  • 技能 存放在標準目錄中(如 .agents/skills/.claude/skills/)。每個技能定義了 LLM 用於分析程式碼的提示或邏輯。
  • CLI 將變更檔案打包,傳送給選定的 LLM(OpenAI 或 Anthropic),並解析模型的回應為可操作的發現結果。
  • 在 CI 中,GitHub Action 會在每個 PR 上執行相同流程,然後將發現結果作為 內聯評論 發布,並在 Checks 選項卡中聚合。
  • 可選的 --fix 標誌會嘗試自動套用建議的修改(例如格式化、簡單重構)。

開發與貢獻

# 克隆並設定倉儲
git clone git@github.com:getsentry/warden.git
cd warden
pnpm install && pnpm build

# 執行單元測試
pnpm test
pnpm test:coverage   # 帶有覆蓋率報告

# 執行端到端評估套件(需要 LLM API 金鑰)
pnpm evals

packages/evals 檔案夾包含一個用於評估技能效能的小型框架。

授權

Warden 以 FSL-1.1-ALv2 授權發布。


核心價值:Warden 讓團隊只需一次定義 AI 驅動的程式碼審查邏輯(作為可重用的「技能」),即可在推送前本地執行,或在每次 PR 上自動應用,同時將結果直接展示在 GitHub UI 中。

相關

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