0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Cursor] GitHub PRの確認やPRの修正の際に使えるルール

Posted at

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の同期は正しいか

エージェントのコメント生成ルール

レビューコメントを生成する際、以下の形式を使用してください:

コメントの優先度と形式

🔴 必須修正: [問題の説明]。[なぜ問題なのか]。[修正方法]。
💡 推奨改善: [改善提案]。[期待される効果]。
❓ 質問: [確認したい内容]。[背景や理由]。
✨ 良い実装: [良い点の説明]。

コメント生成の原則

  1. 具体的に: 行番号やコードスニペットを引用する
  2. 建設的に: 問題点だけでなく、解決策も提示する
  3. 優先順位を明確に: 🔴(必須)、💡(推奨)、❓(質問)、✨(賞賛)を使い分ける
  4. 文脈を説明: なぜその修正が必要なのかを明記する
  5. プロジェクト固有の知識を活用: Jugyuzuプロジェクトの規約や構造を踏まえる

エージェントの承認基準

エージェントは以下の基準に基づいてレビュー結果を判定します:

✅ Approve(承認)する条件

すべての条件を満たす場合に承認します:

  1. 機能的に正しい: 実装がPRの目的を達成している
  2. 可読性が高い: コードが理解しやすく、適切な命名がされている
  3. 保守性が確保されている: 将来の変更に対応しやすい構造
  4. パフォーマンス問題なし: 重い処理やメモリリークの懸念がない
  5. プロジェクト規約に準拠: Jugyuzuプロジェクトの命名規則や構造に従っている
  6. 既存機能への悪影響なし: 他の機能を壊していない
  7. テストやデバッグが可能: 問題が発生した際に追跡しやすい

⚠️ 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. [ファイル名:行番号] 評価できる実装

## 総評
[全体的な評価とコメント]
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?