mcpField
G
github-pr

github-pr

github.com/dhruvanbhalara開発30110 回インストール9 週間前に更新
リポジトリ

github-pr について

`gh` を使った GitHub Pull Request の作成・管理を支援するスキルです。CLI が使えない場合の手動手順も示し、ブランチ確認、タイトルや説明の作成、ラベルと担当者の設定を扱います。

主な機能

  1. 01`gh` の導入と認証状態の確認
  2. 02コミットとベースブランチの確認
  3. 03Conventional Commits 形式のタイトル作成
  4. 04コミットとテンプレートに基づく PR 説明の準備
  5. 05ラベルの提案と担当者の指定

活用シーン

  1. 01機能ブランチの作業後に PR を作成
  2. 02`gh` が使えない場合の PR 内容の準備
  3. 03提出前の PR 条件の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dhruvanbhalara/skills --skill github-pr

インストール後、Claude Code で/github-prを入力して読み込まれたか確認します。

詳細

Pull Request の作成と管理

このスキルは、GitHub CLI(gh)を使用して高品質な Pull Request を作成するプロセスを自動化します。利用できない場合は手順を提示します。

1. 準備

  • GitHub CLI の確認: gh がインストールされ、認証されているかを確認します(gh auth status)。
  • コミットの確認: すべての変更が現在のフィーチャーブランチにコミットされていることを確認します。
  • ベースブランチ: ターゲットとなるベースブランチ(通常は main)を特定します。

2. PR の品質とメタデータ

  • 品質ゲート: すべての PR はマージ前に分析(警告 0 件)、フォーマット、テストを通過しなければなりません(MUST)。
  • ブランチ保護: ブランチ保護ルールが守られていることを確認します(main への直接プッシュは禁止)。
  • メタデータ: 関連するラベルと少なくとも 1 名のアサインを必ず指定します(ALWAYS)。
  • チェックリスト: タスクを完了する前に、開発計画と要件がレビューされていることを確認します。

3. PR タイトルの生成

  • Conventional Commits: PR タイトルは <type>(<scope>): <description> のパターンに従わなければなりません(MUST)。
    • タイプ: feat、fix、docs、style、refactor、perf、test、build、ci、chore、revert。
    • 例: feat(auth): add google sign-in support
  • ソース: 現在のブランチのコミットメッセージを分析し、最も適切なタイトルを決定します。

3. PR 説明の生成

  • コミット履歴: 現在のブランチ内のすべてのコミットを読み取ります(git log origin/main..HEAD --oneline)。
  • PR テンプレート: .github/PULL_REQUEST_TEMPLATE.md または類似のファイルを確認します。存在する場合は、それに記入します。
  • 内容:
    • 変更の「何を」と「なぜ」を要約します。
    • 具体的な変更を箇条書きで示します。
    • 関連する issue 番号を含めます(例: Closes #123)。

4. ラベル付けとアサイン

  • 利用可能なラベル: リポジトリからラベルを取得します(gh label list)。
  • 自動ラベル付け: 変更内容に基づいてラベルを割り当てます:
    • enhancement / feat: 新機能の場合。
    • bug / fix: バグ修正の場合。
    • documentation / docs: ドキュメントの更新の場合。
  • アサイン: 現在のユーザーまたはプロジェクトのルールに従って PR をアサインします。

5. 実行

  • CLI の使用: gh が利用可能な場合は、次を実行します:
    gh pr create --title "<title>" --body "<body>" --label "<labels>"
    
  • 手動でのフォールバック: gh が利用できない場合は、生成されたタイトル、説明、推奨ラベルをユーザーに提示し、どのように進めるかを尋ねます。

コメント