Skip to main content
Glama

PR Review Knowledge System

GitHub PRのレビューコメントから有益な指摘を自動収集・蓄積し、実装時に活用できる仕組み。

ドキュメント

ドキュメント

内容

対象者

統合ガイド

本番導入・CI/CD連携・MCPサーバー設定

導入担当者

MCP技術仕様

MCPサーバーの詳細仕様・API

開発者

トラブルシューティング

よくある問題と解決方法

全ユーザー

Related MCP server: Code Review MCP Server

概要

  • 目的: PRレビューで得られた知見をチームで共有し、同じミスの再発を防止

  • 対象: GitHub Organization内のpublicリポジトリ

実装状況

Phase

機能

ステータス

Phase 1

PRマージ時の自動収集・Markdown蓄積

完了

Phase 2

MCPサーバー(Claude Code連携)

完了

Phase 3

CI/CD連携(PR自動コメント)

完了

クイックスタート

ローカルで試す(2分)

git clone https://github.com/yourorg/review-dojo-mcp.git
cd review-dojo-mcp
npm install
npm run build
npm test

MCPサーバーを試す(3分)

# Claude Code の設定に追加
claude mcp add review-dojo node $(pwd)/dist/interfaces/mcp/McpServer.js

Claude Code で「Javaのセキュリティに関する知見を検索して」と質問して動作確認。

本番導入

自組織への完全な導入手順は 統合ガイド を参照してください:

  • Phase 1: 知見収集システム(30-45分)

  • Phase 2: MCPサーバー導入(10-15分)

  • Phase 3: CI/CD連携(15-20分)

GitHub Enterprise対応

GitHub Enterprise (GHE) 環境で使用する場合は、以下の環境変数を設定してください。

環境変数

環境変数

説明

デフォルト値

GITHUB_HOST

GitHubホスト名

github.com

github.example.com

GITHUB_API_URL

GitHub API URL

https://api.github.com

https://github.example.com/api/v3

GITHUB_ORG_NAME

組織名

yourorg

my-org

設定例

MCP設定(claude_desktop_config.json)

{
  "mcpServers": {
    "review-dojo": {
      "command": "node",
      "args": ["/path/to/review-dojo-mcp/dist/interfaces/mcp/McpServer.js"],
      "env": {
        "GITHUB_HOST": "github.example.com",
        "GITHUB_API_URL": "https://github.example.com/api/v3",
        "GITHUB_ORG_NAME": "my-org",
        "GITHUB_TOKEN": "ghp_xxx",
        "REVIEW_DOJO_GITHUB_REPO": "my-org/review-dojo-knowledge"
      }
    }
  }
}

GitHub Actions

GitHub Actionsでは、Repository Variables を使用してカスタマイズできます:

Variable

用途

KNOWLEDGE_REPO

知見リポジトリ

my-org/review-dojo-knowledge

REVIEW_DOJO_ACTION

review-dojo-action の参照

my-org/review-dojo-action

REVIEW_DOJO_ACTION_VERSION

action のバージョン

v1

詳細は 統合ガイド を参照してください。

Phase機能一覧

Phase 1: 知見収集(MVP)

PRマージ時に自動的にレビューコメントを収集・分析し、カテゴリ別にMarkdownファイルへ蓄積。

  • Claude Codeによる AI分析・抽出

  • 類似知見のマージ・発生回数カウント

  • 機密情報の自動マスク

  • 100件/ファイル上限でアーカイブ

Phase 2: MCPサーバー

Claude Code から蓄積された知見を検索・参照。

  • search_knowledge: 知見検索(カテゴリ・言語・重要度でフィルタ)

  • get_knowledge_detail: 知見詳細取得

  • generate_pr_checklist: 変更ファイルから関連知見をチェックリスト化

  • list_categories / list_languages: メタデータ取得

詳細: MCP技術仕様

Phase 3: CI/CD連携

PR作成時に関連知見を自動コメント。GitHub Actions / Screwdriver CI対応。

詳細: 統合ガイド

システム構成

┌─────────────────────────────────────────┐
│         各リポジトリ                     │
│  ┌────────────────────────────────┐     │
│  │ PR マージ                       │     │
│  └────────┬───────────────────────┘     │
│           │ repository_dispatch          │
└───────────┼─────────────────────────────┘
            ▼
┌─────────────────────────────────────────┐
│      review-dojo (knowledge-repo)       │
│  1. PRコメント取得                       │
│  2. Claude Code で分析                   │
│  3. 知見抽出・Markdown更新               │
└─────────────────────────────────────────┘

アーキテクチャ

オニオンアーキテクチャ(4層)を採用:

責務

主要コンポーネント

Interfaces

エントリーポイント

McpServer, CheckKnowledgeCli

Application

ユースケース

SearchKnowledgeUseCase, GeneratePRChecklistUseCase

Domain

ビジネスロジック

KnowledgeFile, KnowledgeItem, SensitiveInfoMasker

Infrastructure

外部連携

FileSystemKnowledgeRepository, MarkdownSerializer

依存関係ルールは ts-arch で自動検証: npm test tests/architecture

ディレクトリ構造

review-dojo/
├── src/                # TypeScript ソースコード(オニオンアーキテクチャ)
│   ├── domain/         # ドメイン層(ビジネスロジック)
│   ├── application/    # アプリケーション層(ユースケース)
│   ├── infrastructure/ # インフラ層(ファイルI/O、シリアライズ)
│   └── interfaces/     # インターフェース層(CLI、MCP Server)
├── dist/               # ビルド出力(src/のコンパイル結果)
├── tests/              # テストコード
│   ├── domain/         # ドメイン層のテスト
│   ├── infrastructure/ # インフラ層のテスト
│   └── architecture/   # アーキテクチャテスト(ts-arch)
├── security/           # セキュリティ関連知見
├── performance/        # パフォーマンス関連知見
├── readability/        # 可読性・命名関連知見
├── design/             # 設計・アーキテクチャ関連知見
├── testing/            # テスト関連知見
├── error-handling/     # エラーハンドリング関連知見
├── other/              # その他
└── archive/            # アーカイブ(100件超過時)

知見のフォーマット

## SQLインジェクション対策

- **重要度**: critical
- **発生回数**: 3
- **概要**: PreparedStatementを使用せず文字列結合でSQLを組み立てている
- **推奨対応**: 必ずPreparedStatementまたはORMのパラメータバインディングを使用する
- **コード例**:
  ```java
  // NG
  String sql = "SELECT * FROM users WHERE id = " + userId;
// OK
PreparedStatement ps = conn.prepareStatement("SELECT * FROM users WHERE id = ?");


## 開発

### ビルド

```bash
# TypeScriptをビルド
npm run build

# 開発時の自動ビルド(ウォッチモード)
npm run build -- --watch

テスト

# 単体テスト実行
npm test

# カバレッジ確認
npm run test:coverage

# UI モード
npm run test:ui

# アーキテクチャテスト(ts-arch)
# オニオンアーキテクチャの依存関係ルールを検証
npm test tests/architecture

ライセンス

MIT

参考資料

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sk8metalme/review-dojo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server