6 ポイント 投稿者 denimcoder 2025-09-17 | 6件のコメント | WhatsAppで共有

こんにちは。
多くの方がLLMをコードレビューに活用してみたことがあると思いますが、実際に適用するには煩雑な点があったはずです。
レビュー対象のコードとコンテキストを渡し、望む出力形式まで詳細に指定してLLMに伝えるプロセスが必要だからです。

selvageは、こうした準備プロセスを自動化してコードレビューの効率を高めるCLIツールです。

[主な機能]

  • CLIツールとして、特定のIDEや拡張機能に依存せず利用可能
  • 主要なSOTAモデル(GPT-5、Claude-Sonnet-4、Gemini、Qwen3-code)をサポート
  • OpenRouter API Keyで、サブスクリプション不要の従量課金ベースで利用可能
  • Gitワークフローと統合
    • stagedの作業内容、unstagedの作業内容、特定コミット/ブランチ間の差分分析をサポート
  • AST(抽象構文木)ベースのSmart Context抽出機能
    • 変更に関連する最小限のコードブロックと依存関係のみを抽出
    • 本当に必要なコンテキストだけを渡すことでトークン使用量を削減し、同時にレビュー品質を最大化
  • Large Context Review機能
    • モデルのContext Limitを超える大規模な変更(主に特定機能をデプロイするためのPR)でも安定してレビュー可能

6件のコメント

 
denimcoder 2025-09-29

こんにちは。
このたび主要アップデートを実施したので、お知らせを共有します。
ぜひご注目ください!

GitHubリンク: https://github.com/selvage-lab/selvage


🚀 主な機能アップデート内容

🤖 MCP (Model Context Protocol) サーバーモードを追加NEW

Cursor、Claude Code などのチャット画面からコードレビューを依頼!

これからは Selvage を Cursor や Claude Code などに MCP として登録し、自然言語でコードレビューを依頼できます。
レビュー結果は AI アシスタントが直接返してくれ、フィードバックを確認した後、そのままコード改善までまとめて依頼できます。

設定方法:

# Claude Code 連携  
# 方法 1: 環境変数を使用(すでに設定済みの場合)  
claude mcp add selvage -- uvx selvage mcp  
  
# 方法 2: 直接指定  
claude mcp add selvage -e OPENROUTER_API_KEY=your_openrouter_api_key_here -- uvx selvage mcp  
# Cursor 連携 (~/.cursor/mcp.json)  
{  
  "mcpServers": {  
    "selvage": {  
      "command": "uvx",  
      "args": ["selvage", "mcp"],  
      "env": {"OPENROUTER_API_KEY": "your_key"} // Optional : システム環境変数を登録している場合は不要  
    }  
  }  
}  

💡 利用シナリオ

シンプルな利用例

"selvage mcpで現在の変更内容をレビューして"  
"selvage mcpでメインブランチと現在のブランチをclaude-sonnet-4-thinkingで比較レビューして"  
"selvage mcpでステージングされた作業をgpt-5-highでレビューして、優先順位ごとに整理して"  
"selvage mcpでステージングされた作業内容をgpt-5-high、claude-sonnet-4-thinkingでそれぞれレビューして、結果を比較して"  

段階的なコード改善ワークフロー

1. selvage mcpで現在の変更内容をclaude-sonnet-4-thinkingでレビューして  
2. レビューフィードバックが現在のコードベースに対して有効かどうかを批判的に検討し、優先順位を教えて  
3. 検討した内容を優先順位に従って順番に反映して  
 
jkapa0417 2025-09-22

こんにちは、使ってみたいのですが、やはり必ず Openrouter を使わなければならないのでしょうか? 現在使っている API キーがあるので、その API キーを活用して利用できるのか気になっています。

 
denimcoder 2025-09-22

こんにちは。
どのAPIキーをお使いでしょうか?
OpenRouter KEYの代わりに、各モデルのProvider API Keyを環境変数に設定して使用できます。

export OPENAI_API_KEY="your_openai_api_key_here"  
export ANTHROPIC_API_KEY="your_anthropic_api_key_here"  
export GEMINI_API_KEY="your_gemini_api_key_here"  

OPENAI_API_KEYはGPT系モデル、
ANTHROPIC_API_KEYはClaude系モデル、
GEMINI_API_KEYはGemini系モデルでサポートされています!

 
kjows5 2025-09-18

LLM の入力に入る前に、ソースコードレベルでの機密情報のマスキングも可能でしょうか?

 
denimcoder 2025-09-19

こんにちは。ご回答いたします。

  1. 現在、コードレビューを依頼する際、.env 系のファイルは完全に除外されますが、ソースコード内に存在する API キー/トークン/パスワードなどの「値」を置換したりマスキングしたりする段階はありません。

  2. レビュー時に機密情報を除外したい場合は、
    レビュー対象のコードを git の staged 状態にした後、
    selvage review --staged コマンドでレビューを実行すると、機密情報を LLM への入力から除外できます。

  3. ご質問の内容に近い機能については、今後アップデートを予定しています。ユーザーが yml ファイルで、レビュー時に除外するファイル拡張子や、コード内の特定パターン(正規表現)を直接指定できるようにし、各プロジェクトごとに適切に機密情報をフィルタリングできるようにする計画です。

 
namongk 2025-09-18

おお…