getsentry/warden
Your code is under new management. Agents that review your code.
Warden とは何ですか?
Warden は Sentry が提供するオープンソースツールで、リポジトリ内で直接 AI ベースのコードレビューを実行できます。レビューのロジックを 「スキル」 として扱い、通常のディレクトリ(例:.agents/skills/ や .claude/skills/)に格納された再利用可能な分析モジュールとして管理します。一度スキルを定義すれば、コマンドラインからローカルで実行したり、GitHub Action を通じてすべてのプルリクエストに自動的に適用できます。
コアとなる考え
| 概念 | 意味 |
|---|---|
| プロンプトではなくスキル | 各実行ごとに一時的なプロンプトを書くのではなく、一度だけスキル(小さなスクリプトや設定)を作成し、どこでも再利用できます。 |
| 2つの実行モード | • 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 内に直接表示されるため、チーム全体で一貫した品質基準を維持できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト