🚀 CodeRabbitレビュー保存
このディレクトリには、PlexMCPメモリバンクを通じて検索可能な履歴分析を行うための、すべてのCodeRabbitコードレビュー結果が保存されています。
🚀 クイックスタート
このディレクトリはCodeRabbitのコードレビュー結果を保存し、PlexMCPメモリバンクを通じて検索可能な履歴分析を行うために使用されます。以下に、ディレクトリ構造、ファイル命名規則、ファイル形式などの詳細を説明します。
✨ 主な機能
- コードレビュー結果の保存と検索可能な履歴分析
- 自動的なレビュー生成と保存
- PlexMCPメモリバンクとの統合によるインデックス化と検索
- 様々なユースケースに対応したコード品質の管理
📦 インストール
このディレクトリは既に設定されており、インストールは必要ありません。ただし、コードレビューを自動的に保存するには、post-commitフックを設定する必要があります。
COMMIT_HASH=$(git rev-parse --short HEAD)
TIMESTAMP=$(date +"%Y-%m-%d-%H%M%S")
coderabbit --prompt-only --type committed --output json \
> .coderabbit/reviews/$TIMESTAMP-$COMMIT_HASH.json
node scripts/generate-review-summary.js \
.coderabbit/reviews/$TIMESTAMP-$COMMIT_HASH.json \
> .coderabbit/reviews/$TIMESTAMP-$COMMIT_HASH.md
💻 使用例
基本的な使用法
コードレビューは、各コミット後に自動的に保存されます。以下は、コミット時のワークフローの例です。
git add .
git commit -m "Implement feature X"
git add .coderabbit/reviews/
git commit -m "Add CodeRabbit review for feature X"
git push
高度な使用法
カスタムレビュークエリ
複雑なフィルタを組み合わせたクエリを実行することができます。
find_code_quality_issues({
query: "database query performance optimization",
severity: "high",
file_pattern: "crates/api/src/db",
max_results: 20
})
トレンド分析
時間の経過に伴う問題数を追跡することができます。
for month in {01..12}; do
count=$(ls .coderabbit/reviews/2025-$month-*.md 2>/dev/null | wc -l)
echo "2025-$month: $count reviews"
done
外部分析のためのエクスポート
CSV形式に変換して、スプレッドシートで分析することができます。
node scripts/export-reviews-to-csv.js > reviews.csv
📚 ドキュメント
ディレクトリ構造
.coderabbit/
├── README.md # This file
└── reviews/ # Review storage
├── 2025-12-29-143022-abc1234.json # Raw CodeRabbit output
├── 2025-12-29-143022-abc1234.md # Human-readable summary
├── 2025-12-29-151530-def5678.json
└── 2025-12-29-151530-def5678.md
ファイル命名規則
すべてのレビューファイルは、以下のパターンに従います。
{YYYY-MM-DD}-{HHMMSS}-{commit-hash}.{extension}
例: 2025-12-29-143022-abc1234.json
- 日付: 2025-12-29 (2025年12月29日)
- 時間: 14:30:22 (UTC 午後2:30:22)
- コミット: abc1234 (短いコミットハッシュ)
- 拡張子: .json または .md
ファイル形式
JSONファイル (.json)
構造化されたレビューデータを含む、生のCodeRabbit APIレスポンスです。
スキーマ:
{
"commit_hash": "abc1234",
"timestamp": "2025-12-29T14:30:22Z",
"files_count": 8,
"issues": [
{
"id": "issue-001",
"severity": "high",
"category": "security",
"title": "SQL Injection Vulnerability",
"description": "User input not sanitized in database query",
"file": "crates/api/src/auth.rs",
"line": 45,
"column": 12,
"suggestion": "Use parameterized queries with sqlx::query!",
"code_snippet": "...",
"impact": "Critical - allows arbitrary SQL execution"
}
],
"summary": {
"critical": 2,
"high": 5,
"medium": 12,
"low": 8
}
}
Markdownファイル (.md)
JSONから生成された、人間が読みやすい要約です。埋め込みインデックス化のために使用されます。
形式:
# CodeRabbit Review - abc1234
**Date:** 2025-12-29T14:30:22Z
**Files Reviewed:** 8
**Issues Found:** 27
## Summary
- Critical: 2
- High: 5
- Medium: 12
- Low: 8
## Issues
### 1. SQL Injection Vulnerability (critical)
**File:** `crates/api/src/auth.rs:45`
**Category:** security
**Description:** User input not sanitized in database query
**Suggested Fix:**
Use parameterized queries with sqlx::query!
レビューの作成方法
レビューは、各コミット後に自動的に保存されます。post-commitフックを使用して、以下のように生成されます。
COMMIT_HASH=$(git rev-parse --short HEAD)
TIMESTAMP=$(date +"%Y-%m-%d-%H%M%S")
coderabbit --prompt-only --type committed --output json \
> .coderabbit/reviews/$TIMESTAMP-$COMMIT_HASH.json
node scripts/generate-review-summary.js \
.coderabbit/reviews/$TIMESTAMP-$COMMIT_HASH.json \
> .coderabbit/reviews/$TIMESTAMP-$COMMIT_HASH.md
トリガー: すべての git commit ( --no-verify でバイパス可能)
メモリバンク統合
自動インデックス化
PlexMCP埋め込みウォッチャーは、Markdownレビューファイルを自動的にインデックス化します。
- ファイルウォッチャー が
.coderabbit/reviews/ 内の新しい .md ファイルを検出します。
- チャンカー がレビューを意味的なセクションに分割します。
- 埋め込み がOllama (nomic-embed-text) を使用して生成されます。
- FAISSストア がベクトルをインデックス化し、類似性検索を行います。
- SQLite FTS5 がテキストをインデックス化し、キーワード検索を行います。
ドメイン: coderabbit-reviews
MCPツールを通じた検索
Claude Codeは、find_code_quality_issues() MCPツールを使用して、レビュー履歴を検索することができます。
find_code_quality_issues({
query: "authentication security issues",
severity: "high",
file_pattern: "auth.rs",
max_results: 10
})
返り値:
- 関連する過去のコードレビュー
- 問題の説明と解決策
- ファイルの場所と行番号
- 時間的なパターン (繰り返し発生する問題)
ユースケース
1. 過去のミスから学ぶ
クエリ: "What SQL injection vulnerabilities have we had?"
結果: SQLインジェクションに言及したすべての過去のレビューが表示され、以下の情報が示されます。
2. 繰り返し発生する問題の追跡
クエリ: "Show me all unwrap() issues in the last month"
結果: 時間の経過に伴う .unwrap() の使用パターン分析が行われ、以下の情報が特定されます。
- 繰り返し問題が発生するファイル
- トレーニングが必要な開発者
- リファクタリングが必要な領域
3. セキュリティ監査トレイル
クエリ: "Critical security issues in authentication code"
結果: 認証関連のファイルにおけるセキュリティ調査の完全な履歴が表示され、以下の情報が示されます。
- 発見された問題
- 問題が解決された時期
- 修正をコミットした人
4. 新しい開発者のオンボーディング
クエリ: "Common code quality issues in this codebase"
結果: 集計されたパターンが表示され、以下の情報が示されます。
- プロジェクト固有のコーディング標準
- 避けるべき一般的な落とし穴
- ベストプラクティスの例
5. リリース品質チェック
クエリ: "Issues found since last release tag"
結果: 現在のリリースサイクルで発見されたすべての品質問題が表示され、以下の情報が示されます。
メンテナンス
保存サイズ
成長率: コミットごとに約10 - 50 KB (変更セットのサイズによって異なります)
推定年間保存サイズ: 約10 - 50 MB (年間1,000コミットを想定)
推奨事項: 無期限に保持することをお勧めします (コストが低く、価値が高いため)
クリーンアップ (必要な場合)
古いレビューをアーカイブする:
find .coderabbit/reviews -name "*.json" -mtime +365 -exec gzip {} \;
find .coderabbit/reviews -name "*.md" -mtime +365 -exec gzip {} \;
非常に古いレビューを削除する:
find .coderabbit/reviews -name "*.json" -mtime +730 -delete
find .coderabbit/reviews -name "*.md" -mtime +730 -delete
cd .embeddings && npm run reindex
破損回復
JSONが破損した場合:
- レビューがgit履歴にまだ存在する場合:
git log --all --full-history -- .coderabbit/reviews/
git show <commit-hash>:.coderabbit/reviews/<filename>
- コミットから再生成する:
git checkout <commit-hash>
coderabbit --type committed --output json > recovered.json
Git統合
レビューをコミットすべきか?
はい - レビューはgitにコミットするべきです。理由は以下の通りです。
- バージョン履歴 - レビューを特定のコミットにリンクします。
- チーム共有 - すべてのチームメンバーが同じレビュー履歴にアクセスできます。
- CI/CD統合 - GitHub Actionsがトレンドを分析できます。
- バックアップ - レビューがgit履歴に保存されます。
- 監査可能性 - 完全な品質トレイルを残します。
.gitignoreの考慮事項
.coderabbit/reviews/ を無視しないでください - これらはコミットすべきです。
現在の .gitignore:
# Do NOT ignore CodeRabbit reviews
# !.coderabbit/
# Temporary review files (if any)
.coderabbit/*.tmp
.coderabbit/*.lock
大規模リポジトリの懸念
レビュー保存が大きくなりすぎる場合 (可能性は低いです)、以下のオプションがあります。
オプション1: JSONファイルにGit LFSを使用する
git lfs track ".coderabbit/reviews/*.json"
オプション2: 別のレビューリポジトリを作成する
git init coderabbit-reviews
git remote add reviews https://github.com/org/plexmcp-reviews
トラブルシューティング
レビューが作成されない場合
ls -la .git/hooks/post-commit
chmod +x .git/hooks/post-commit
ls -la scripts/store-coderabbit-review.sh
chmod +x scripts/store-coderabbit-review.sh
coderabbit auth status
手動でトリガーする:
bash scripts/store-coderabbit-review.sh
レビューが検索できない場合
ls .coderabbit/reviews/*.md
cd .embeddings && npm run stats
npm run reindex
レビューが空の場合
原因: CodeRabbitの実行に失敗しました (ネットワーク、認証、タイムアウト)
修正方法:
coderabbit --type committed --output json
bash scripts/store-coderabbit-review.sh
ベストプラクティス
1. すぐにレビューをコミットする
レビューは、レビュー対象のコードと一緒にコミットされたときに最も価値があります。
git add .
git commit -m "Implement feature X"
git add .coderabbit/reviews/
git commit -m "Add CodeRabbit review for feature X"
git push
代替案: 同じコミットにレビューを含める (カスタムフックが必要)
2. 主要なリリース前にレビューする
リリース前に、未解決の問題を検索します。
find_code_quality_issues({
query: "critical high severity issues",
severity: "critical"
})
3. 定期的な品質監査
毎月パターンをレビューします。
cd .coderabbit/reviews
grep -h "^### " *.md | sort | uniq -c | sort -rn
4. レビューをPRにリンクする
PRの説明で、レビューファイルを参照します。
## Code Quality
CodeRabbit review: `.coderabbit/reviews/2025-12-29-143022-abc1234.md`
**Issues found:** 5 (3 high, 2 medium)
**All resolved:** ✅
最終更新日: 2025-12-29
メンテナンス担当: PlexMCP開発チーム