DiffSense について
DiffSense は、MR/PR 段階で変更の回帰リスクを評価するチェックツールです。セマンティック diff とルールエンジンを用いて、変更部分のみを分析します。CI パイプラインやエージェント連携に向けられ、MCP サーバーは読み取り専用です。
主な機能
- 01変更内容に限定したセマンティックなリスク監査
- 02review_level と推奨アクションの出力
- 03バージョン管理された JSON 契約と SARIF 2.1.0 出力
- 04監査とルール参照を行う読み取り専用の MCP サーバー
- 05GitHub と GitLab のパイプライン連携
活用シーン
- 01GitHub または GitLab のプルリクエストでの変更監査の自動実行
- 02コマンドラインでのローカルな変更監査の再実行
- 03AI エージェントや CI ゲートへの機械可読な監査結果の提供
MCP 対応
本プロジェクトは読み取り専用の MCP サーバーであり、audit_diff、audit_replay、list_rules、explain_rule のツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DiffSense
DiffSense は、PR 段階のための変更リスクゲートです。コードベース全体のスキャンやスタイルチェックを行わずに、現在の差分が回帰リスクをもたらすかどうかを評価します。アラートを最小限に抑え、高精度、低レイテンシ、そして解釈可能な結果を実現するように設計されています。
クイックスタート
| シナリオ | アクション |
|---|---|
| GitHub Pull Request | diffsense/docs/quickstart.md(方法 1)のワークフローを、対象リポジトリの .github/workflows/diffsense.yml にコピーします。デフォルトの GITHUB_TOKEN を使用するため、追加の設定は不要です。コミットして PR を作成または更新すると、ワークフローが自動的に監査を実行し、結果を PR に投稿します。 |
| ローカル監査 | リポジトリのルートで pip install -e diffsense を実行するか、pip install "git+https://github.com/GoldenSupremeSaltedFish/DiffSense.git@main#subdirectory=diffsense" を実行した後、diffsense replay <path-to-diff> を実行します。 |
| エージェント / LLM 連携 | pip install "diffsense[mcp]" で MCP サーバーをインストールして diffsense-mcp を実行するか、JSON コントラクト / SARIF を直接利用します。詳細はエージェント連携ガイドをご覧ください。 |
完全な手順は diffsense/docs/quickstart.md で確認できます。
任意: リポジトリのルートに .diffsense.yaml を追加すると、ほとんどのチームに適した公式推奨設定を使用できます。
機能
- CI / ローカル: MR/PR の差分に対してセマンティックなリスク監査を実行し、
review_levelと推奨アクションを出力します。変更された内容のみを解析するため、パイプラインを遅くしません。品質の低いルールは自動的にダウングレードされます。CI ステータスを自動的に変更することはなく、ブロックするかどうかの判断は手動または下流のプロセスによって行われます。 - エージェント / LLM 連携: エージェントや CI ゲート向けの決定論的で機械可読なインターフェース — バージョン管理された JSON コントラクト(
schema_version)、SARIF 2.1.0 出力、および読み取り専用の MCP サーバー(audit_diff/audit_replay/list_rules/explain_rule)。詳細はエージェント連携ガイドおよび CLI コントラクトをご覧ください。 - VSCode 拡張機能: このリポジトリの vscode-extension ディレクトリで管理されています(デュアルアーティファクト構成)。Marketplace からインストールするか、Releases から VSIX をダウンロードしてください。
クイックスタート(詳細)
GitHub Actions
diffsense/docs/quickstart.md(方法 1)の完全な YAML を、リポジトリの .github/workflows/diffsense.yml にコピーすると、PR 監査が有効になります。
GitLab CI
- プロジェクトで Settings → CI/CD → Variables に移動し、変数
DIFFSENSE_TOKENを追加します(api権限を持つ Personal Access Token。Mask variable にチェックを入れることを推奨します)。 .gitlab-ci.ymlに対応するジョブを追加します。例は diffsense/gitlab-ci-example.yml をご覧ください。
VSCode 拡張機能
このリポジトリの vscode-extension ディレクトリで管理されています。Marketplace からインストールするか、Releases から VSIX をダウンロードしてください。
Project Structure (This Branch)
DiffSense/
├── diffsense/ # CLI, rule engine, GitHub/GitLab adapters, MCP server; see docs/quickstart.md for quick start
├── vscode-extension/ # VS Code extension (dual-artifact line)
├── AGENTS.md # repository guide for AI coding agents
└── technical_documentation/
Development
git clone https://github.com/GoldenSupremeSaltedFish/DiffSense.git
cd DiffSense/diffsense
pip install -e ".[dev]"
pytest tests/ -v
See diffsense/CONTRIBUTING.md for details.
License & Links
- License: Apache-2.0
- Issues: Report a bug
- Marketplace: DiffSense
English | 中文版(存档)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。