name: recolly-git-rules
description: RecollyプロジェクトのGit運用ルール(コミット規約、マージ戦略、PRルール、コードレビュー)。以下の場面で使うこと:(1) コミット作成時、(2) PR作成時、(3) マージ時、(4) コードレビュー対応時、(5) superpowers:finishing-a-development-branch の発動時。
Recolly Git運用ルール
コミットメッセージ
Conventional Commits(日本語):
feat: ユーザー登録機能を追加
fix: ログイン時のバリデーションエラーを修正
chore: RuboCopの設定を更新
test: 作品検索のテストを追加
docs: API仕様書を更新
refactor: 認証ロジックを整理
マージ戦略
- 全PRをMerge commitで統一する
- Squash and merge は使用しない
- Rebase and merge は使用しない
- mainへの直接プッシュは禁止。ドキュメントのみの変更でも必ずブランチを切ってPR経由でマージする
PRルール
- PRタイトルはConventional Commits形式(例:
feat: ○○,fix: ○○,docs: ○○)
コードレビュー
初回レビュー(自動)
PR を open すると、.github/workflows/claude-code-review.yml により Claude Code Review が自動で走る。トリガーは pull_request: opened / ready_for_review / reopened イベントのみ。
再レビュー(手動、@claude メンションで発動)
subsequent push では自動レビューは走らない。これは設計上の意図:
- 再レビューのいたちごっこ(ping-pong)を防ぐ
- 些細な修正まで毎回レビューすると API コストと待ち時間が無駄
- 「人間が見てほしいと判断したタイミング」で走らせる方がノイズが少ない
再レビューは PR コメントで @claude メンションして依頼する。これで .github/workflows/claude.yml が発動し、コメントの指示内容に従って GH Actions 上の Claude がアクションする。
レビュー対応のフィードバックループ(推奨運用)
GH Actions Claude の指摘に対する対応は、以下の分業で進める:
[1] PR 作成
↓
[2] claude-code-review.yml が初回レビュー → 指摘コメントを投稿
↓
[3] IK さんが指摘内容を local Claude(この環境の Claude Code)に共有
↓
[4] local Claude が指摘の技術的妥当性を検証(← 重要なゲート)
│ - 指摘は正しいか?
│ - 本当に修正が必要か?
│ - 指摘が誤りなら IK に説明して反論検討
│ ※ superpowers:receiving-code-review の精神に沿って「盲従しない」
↓
[5] 妥当と判断した指摘のみ修正コミット + push
↓
[6] local Claude が gh pr comment で「修正報告 + @claude メンション」を投稿
│ 例: 「指摘の X と Y を Z で修正しました。@claude 再確認お願いします」
↓
[7] claude.yml が発動 → GH Actions Claude が差分を再確認
↓
[8] OK ならマージ(IK さん判断)、追加指摘があれば [3] に戻る
役割分担:
| ステップ | 担当 |
|---|---|
| 指摘の技術的妥当性検証 | local Claude(盲従ゲートキーパー) |
| 修正実装 | local Claude |
@claude メンションコメントの投稿 | local Claude(gh pr comment で代行) |
| マージ判断 | IK さん |
| レビュー実行 | GH Actions Claude |
IK さんの手間:
- 指摘内容を local Claude に共有する(スクショ貼付 or 内容を伝える)
- 「修正 OK、
@claude再依頼して」と指示する - マージボタンを押す
IK さんがやらないこと:
@claudeという文字列を手でタイプしてコメントを書く(local Claude がgh pr commentで代行)- 指摘を全部そのまま修正に反映する(妥当性は local Claude が先に検証)
再レビュー依頼コメントの例(local Claude が gh pr comment で投稿)
一般的な再レビュー依頼:
@claude 直近のコミットを再レビューしてください
修正報告とセットでの再確認依頼:
指摘ありがとうございます。L42 の nil ガードと L78 のエラーハンドリングを追加しました(commit abc1234)。
@claude 修正内容が意図通りになっているか再確認お願いします。
特定ファイル / 観点を限定:
@claude Gemfile の変更だけ見てください。依存 gem の順序が正しいか、バージョン固定が妥当か確認してほしい
フロー(簡略版)
- ローカルで実装 + テスト + コミット
git push+ PR 作成- claude-code-review.yml が初回レビュー(自動)
- 指摘があれば上記「レビュー対応のフィードバックループ」に従って対応
- CI 全パス + レビュー指摘解消 → マージ
ルール
- 全 PR の 初回に Claude Code Review を必須とする(CI 経由で自動実行)
- レビュー指摘を全て解消してからマージする
- subsequent push で自動レビューは走らない(意図的)。必要なら
@claudeで明示的に再依頼 - 指摘への対応は local Claude が技術的妥当性を検証 してから反映する(盲従禁止)
- 再レビュー依頼の
@claudeコメント投稿は local Claude がgh pr commentで代行 する(IK さんが手でタイプしなくて良い)
レビュー観点
| 観点 | チェック内容 |
|---|---|
| CLAUDE.md準拠 | コーディング規約、命名規則、ファイルサイズ(200行以内)等 |
| コード品質 | DRY / YAGNI原則、ベストプラクティス |
| バグ・セキュリティ | SQLインジェクション、XSS、認証漏れ、Strong Parameters |
| パフォーマンス | N+1クエリ、不要な再レンダリング、メモリリーク |
| 保守性・可読性 | 変数名、コメント(「なぜ」の説明)、ファイル分割 |
| テスト | カバレッジ、エッジケース、TDD遵守 |
| 設計・アーキテクチャ | thin controller、コンポーネント設計、責務の分離 |
設定ファイル
- 初回レビュー:
.github/workflows/claude-code-review.yml(pull_request: opened / ready_for_review / reopened) - オンデマンドレビュー:
.github/workflows/claude.yml(@claudeメンションで発動)
PR前セルフチェック
PR作成前に references/pr-self-check.md のチェックリストを確認すること。