| name | gh-issue-to-pr |
| description | 既存の実装内容を元に、ghコマンドでIssueを作成し、専用ブランチへ移動・分割コミット・Pushを行い、PRを作成する。 |
実装済みタスクのIssue化とPR作成ワークフロー
このコマンドは、現在手元にある実装済みの変更を整理し、GitHub CLI (gh) を使用してIssue作成、ブランチ整理、論理的な粒度でのコミット、そしてPR作成までを対話的に実行します。
前提
- すでに機能の実装や修正が手元(現在のブランチ)で行われていること。
git status や git diff で変更内容が確認できること。
ワークフロー
ステップ1: 変更内容の確認とIssue作成
- 現在の変更内容 (
git diff および git diff --cached) を分析し、どのような修正が行われたか把握します。
- 修正内容に基づき、適切なIssueの
title と body を提案します。
- ユーザーに提案内容の確認とIssue作成の許可を求めます。
- 許可が得られたら
gh issue create --title "[title]" --body "[body]" を実行し、Issue番号を取得します。
ステップ2: 専用ブランチの作成と移動
- Issue番号に基づいたブランチ名を提案します(例:
issue/123-feature-name)。
- ユーザーにブランチ作成と移動(チェックアウト)の許可を求めます。
- 許可が得られたら、現在の変更を保持したまま新ブランチを作成して移動します。
ステップ3: 論理的な粒度での分割コミット
現在の変更を一括ではなく、意味のある単位(feat, fix, refactor等)に分けてコミットします。
- コミット計画の提示:
- 変更内容をどう分割してコミットするか(メッセージ案と対象ファイル)をユーザーに提示します。
- 個別コミットの実行(ループ):
- 各コミットごとに以下の手順を踏みます。
git-committer スキルのガイドラインに基づいてメッセージを最終確認します。
- 「[メッセージ] でコミットしてよろしいですか?」とユーザーに確認します。
- 許可が得られたら
git add [対象ファイル] および git commit -m "[メッセージ]" を実行します。
- 全ての変更がコミットされるまで繰り返します。
ステップ4: PushとPRの作成
- リモートへのPush許可をユーザーに求めます。
- 許可が得られたら
git push -u origin [ブランチ名] を実行します。
- PRのタイトルと本文(例:
Closes #[番号] を含む)を提案します。
- PR作成の許可をユーザーに求めます。
- 許可が得られたら
gh pr create --issue [番号] --title "[title]" --body "[body]" を実行します。
- 作成されたPRのURLをユーザーに提示して完了します。
成功条件
- 手元の変更が整理され、Issueに紐付いた専用ブランチでコミットされている。
- 全てのGit操作(ブランチ作成、コミット、Push)がユーザーの明示的な許可を得て行われている。
- GitHub上でIssueとPRが正しく紐付いている。
注意事項
- 常に
git-committer スキルのガイドラインを遵守してください。
- 競合が発生したり、操作に失敗した場合は、無理に継続せずユーザーに状況を報告してください。