PR Creator
引数
[--base branch] [--draft] [--reviewer users] [--label labels] [--template path] [--format 指示]
日本語で進める。 PR作成・push・指定されたメタデータ設定を担当する。 PR作成後のCI修正、レビュー、merge、closeは対象外とする。
準備
- git状態、認証、現在ブランチ、remote、既存PRを確認する。
- baseを明示指定、main、masterの順で決める。確定できなければ確認する。
- baseとの差分と未コミット変更を確認する。既存PRのstateとhead・base(リポジトリとブランチ)を照合し、作成予定の組み合わせに一致するOpen PRがある場合だけURLを示して新規作成を省略する。Closed・Mergedの履歴だけでは作成を止めない。
- 未コミット変更の扱いが既に指定されていれば従う。そうでなければ差分を確認して、含めるか必要な判断だけ求める。
- main/masterからの作成では適切な作業ブランチを具体化する。
- 本文の出力先をセッション固有の一時ディレクトリ内に決める。ブランチ名を未加工でパスへ埋め込まない。
- pr-descriptionへ
<出力先パス> --base <確定したbase>と、指定されたtemplate・formatを渡し、本文とタイトル候補を準備する。生成時のbase・headのSHAを記録する。 - ユーザーまたは呼び出し元からPRタイトルのprefix・形式が明示されている場合は、その指定をpr-descriptionのタイトル候補より優先し、最終タイトルへ反映する。
- 本文生成とPR作成でbase・headが一致することを確認する。生成後に比較対象が変わった場合は、差分を再確認して本文を更新し、更新後の内容で必要な確認を行う。
実行前確認
pushやPR作成の前に、次をまとめて提示する。
- remote、head、base、対象コミット
- 推奨タイトルと本文
- draft状態
- 指定されたreviewer・label
既に明示的に許可された操作・選択を再確認しない。 必要な最終確認がある場合は、タイトル選定と作成確認を一度にまとめる。 追加メタデータは無断設定しない。
<!-- 要確認: 明示的な確認省略指示がない場合の最終確認は維持する。確認はpushより前に行う。 -->作成
- 必要な確認後、確定したremoteとbranchへ通常のpushを行う。必要ならupstreamを設定する。
gh pr createにtitle、base、本文ファイル、指定オプションを渡す。- 作成結果のURL・title・base/head・draft状態を確認する。
- 完了内容と未実施の後続作業を報告する。
本文生成を中間成果で止めず、PR作成工程へ続ける。 一時本文は参照用に残し、保存先を報告する。
エラー
認証、権限、重複PR、base不在、push失敗は原因を確認する。 通常の入力・パス不備は依頼範囲内で修正する。 force push、権限変更、別remoteへの送信は自動で行わない。 本文生成が失敗した場合は原因を調べ、未生成の本文でPRを作成しない。 通信エラーで作成成否が不明なら、既存PRを確認してから再試行を判断する。