GitHub PRの確認やPRの修正の際に使えるルールです。
---
description: "GitHub Pull Requestのレビュー手順、チェックリスト、承認基準、コメント生成ルール。PRレビュー時に参照。"
---
# GitHub Pull Request レビュールール(Agent Requested)
このルールは、AIエージェントが自動的にPull Requestをレビューする際の指針です。
WEB経由ではなくGit bashのghコマンドを使って諸々確認してほしいです。また、コマンドを実行する時はPowershellやコマンドプロンプトは使わず、Git Bashを使ってください。必ず。
## エージェントのレビュー手順
ユーザーから「PRをレビューして」等と依頼された場合、以下の手順を実行します:
1. **PR一覧の確認**: `gh pr list`でレビュー対象のPRを表示
2. **PR詳細の確認**: `gh pr view <PR番号>`でPRの概要を確認
3. **差分の確認**: `gh pr diff <PR番号>`で変更内容を確認
4. **チェックリストに基づく評価**: 下記のチェックリストを使用して変更内容を評価
5. **レビューコメントの生成**: 問題点や改善提案を具体的に記述
6. **レビューの送信**: `gh pr review`コマンドで結果を送信(ここで待機ユーザにこの結果送信しますか?をたずねる)
## 基本コマンド
```bash
gh pr list # PR一覧
gh pr view <PR番号> # 詳細表示
gh pr diff <PR番号> # 差分表示
gh pr checkout <PR番号> # チェックアウト(必要に応じて)
gh pr review <PR番号> --approve --body "コメント" # 承認
gh pr review <PR番号> --request-changes --body "コメント" # 変更要求
gh pr review <PR番号> --comment --body "コメント" # コメントのみ
レビューチェックリスト
一般
- 機能は意図通りに動作するか
- コードは理解しやすいか(変数名・メソッド名・コメント)
- エラーハンドリングは適切か
- 既存機能への影響はないか
Unity特有
- Update()内で重い処理をしていないか
- GameObject.Find()/GetComponent()を過度に使用していないか
- イベント購読の解除忘れはないか(メモリリーク)
- Server/Client処理は適切に分離されているか
- NetworkObjectの同期は正しいか
エージェントのコメント生成ルール
レビューコメントを生成する際、以下の形式を使用してください:
コメントの優先度と形式
🔴 必須修正: [問題の説明]。[なぜ問題なのか]。[修正方法]。
💡 推奨改善: [改善提案]。[期待される効果]。
❓ 質問: [確認したい内容]。[背景や理由]。
✨ 良い実装: [良い点の説明]。
コメント生成の原則
- 具体的に: 行番号やコードスニペットを引用する
- 建設的に: 問題点だけでなく、解決策も提示する
- 優先順位を明確に: 🔴(必須)、💡(推奨)、❓(質問)、✨(賞賛)を使い分ける
- 文脈を説明: なぜその修正が必要なのかを明記する
- プロジェクト固有の知識を活用: Jugyuzuプロジェクトの規約や構造を踏まえる
エージェントの承認基準
エージェントは以下の基準に基づいてレビュー結果を判定します:
✅ Approve(承認)する条件
すべての条件を満たす場合に承認します:
- 機能的に正しい: 実装がPRの目的を達成している
- 可読性が高い: コードが理解しやすく、適切な命名がされている
- 保守性が確保されている: 将来の変更に対応しやすい構造
- パフォーマンス問題なし: 重い処理やメモリリークの懸念がない
- プロジェクト規約に準拠: Jugyuzuプロジェクトの命名規則や構造に従っている
- 既存機能への悪影響なし: 他の機能を壊していない
- テストやデバッグが可能: 問題が発生した際に追跡しやすい
⚠️ Request Changes(変更要求)する条件
1つでも該当する場合は変更を要求します:
- 🔴 重大なバグ: NullReferenceException、無限ループ、デッドロック等
- 🔴 セキュリティリスク: 外部入力の検証不足、認証・認可の不備
- 🔴 パフォーマンス問題: Update()内の重い処理、過度なFind()使用
- 🔴 メモリリーク: イベント購読の解除忘れ、オブジェクトの破棄忘れ
- 🔴 データ整合性: 設定ファイル(JSON)との不一致、不正な参照
- 🔴 ネットワーク同期の問題: Server/Client処理の分離不足、同期ミス
- 🔴 破壊的変更: 既存機能への影響が大きく、回帰テストが必要
💬 Comment(コメントのみ)する条件
軽微な改善提案や質問がある場合:
- 💡 コードの最適化提案
- 💡 より良い設計パターンの提案
- ❓ 実装意図の確認
- ✨ 良い実装の賞賛
エージェントのレビュー出力形式
レビュー完了後、以下の形式でサマリーを出力してください:
# PRレビュー結果
## 判定: [✅ Approve / ⚠️ Request Changes / 💬 Comment]
## チェックリスト
- [x] 機能は意図通りに動作する
- [x] コードは理解しやすい
- [ ] エラーハンドリングが不足
...
## 主要な指摘事項
### 🔴 必須修正(N件)
1. [ファイル名:行番号] 問題の説明と修正方法
### 💡 推奨改善(N件)
1. [ファイル名:行番号] 改善提案
### ❓ 質問(N件)
1. [ファイル名:行番号] 確認したい内容
### ✨ 良い点(N件)
1. [ファイル名:行番号] 評価できる実装
## 総評
[全体的な評価とコメント]