Claude Code Plugins

Community-maintained marketplace

Feedback

branch-management

@tettuan/climpt
0
0

main, develop, release ブランチに関するPR作成、マージ、ブランチ作成時にブランチ戦略を確認・案内する

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name branch-management
description main, develop, release ブランチに関するPR作成、マージ、ブランチ作成時にブランチ戦略を確認・案内する
allowed-tools Bash, Read, Grep, Glob

ブランチ管理ガイド

目的

main, develop, release ブランチの操作が正しいフローで行われることを担保する。

トリガー条件

以下の操作について議論・作業する際に自動的に実行:

  • main ブランチへのマージ・PR作成
  • develop ブランチへのマージ・PR作成
  • release/* ブランチの作成・マージ
  • 作業ブランチの作成・派生元の決定

ブランチ戦略

全体フロー図

flowchart LR
    subgraph Protected["保護ブランチ(直接push禁止)"]
        main[main]
        develop[develop]
    end

    subgraph Release["リリースブランチ"]
        release[release/*]
    end

    subgraph Work["作業ブランチ"]
        feature[feature/*]
        fix[fix/*]
        docs[docs/*]
    end

    develop -->|派生| release
    release -->|派生| feature
    release -->|派生| fix
    release -->|派生| docs

    feature -->|PR| release
    fix -->|PR| release
    docs -->|PR| release

    release -->|PR| develop
    develop -->|PR| main

マージ方向図

flowchart TD
    A[作業ブランチ] -->|"① PR作成・マージ"| B[release/*]
    B -->|"② PR作成・マージ"| C[develop]
    C -->|"③ PR作成・マージ"| D[main]
    D -->|"④ vタグ付与"| E[リリース完了]

    style A fill:#e1f5fe
    style B fill:#fff3e0
    style C fill:#f3e5f5
    style D fill:#e8f5e9
    style E fill:#fce4ec

ルール一覧

操作 許可 禁止
main への変更 develop からの PR マージのみ 直接 push、他ブランチからのマージ
develop への変更 release/* からの PR マージのみ 直接 push
release/* の作成 develop から派生 main や作業ブランチから派生
作業ブランチの作成 release/* から派生 main や develop から直接派生

実施手順

1. 現在のブランチ状態を確認

git branch -a
git log --oneline -5

2. 操作タイプ別の確認

作業ブランチを作成する場合

# 正しい手順
git checkout release/x.y.z
git checkout -b feature/my-feature

# または
git checkout -b feature/my-feature release/x.y.z

PR を作成する場合

現在のブランチ PR先 コマンド例
feature/, fix/, docs/* release/* gh pr create --base release/x.y.z
release/* develop gh pr create --base develop
develop main gh pr create --base main

PR をマージする場合

1. PR の状態確認
# PR一覧を確認
gh pr list

# 特定のPRの詳細を確認
gh pr view <PR番号>

# CIステータスを確認
gh pr checks <PR番号>
2. マージ前チェックリスト
flowchart TD
    A[PRマージ開始] --> B{CIが通過?}
    B -->|No| C[CI失敗を修正]
    C --> B
    B -->|Yes| D{レビュー承認済み?}
    D -->|No| E[レビューを依頼]
    E --> D
    D -->|Yes| F{コンフリクトなし?}
    F -->|No| G[コンフリクト解消]
    G --> F
    F -->|Yes| H[マージ実行]
    H --> I[ローカル反映]
3. マージ実行
# Squash マージ(推奨:コミット履歴をクリーンに保つ)
gh pr merge <PR番号> --squash

# 通常マージ(コミット履歴を保持)
gh pr merge <PR番号> --merge

# リベースマージ
gh pr merge <PR番号> --rebase
4. マージ方法の選択基準
マージ方法 使用場面 コマンド
Squash 作業ブランチ → release(複数コミットを1つに) gh pr merge --squash
Merge release → develop(履歴保持) gh pr merge --merge
Merge develop → main(履歴保持) gh pr merge --merge
5. マージ後の確認
# マージ完了を確認
gh pr view <PR番号> --json state

# リモートの状態を確認
git fetch origin
git log origin/develop --oneline -5

マージ後のローカル反映

git checkout develop
git pull origin develop

3. リリースフロー

sequenceDiagram
    participant W as 作業ブランチ
    participant R as release/x.y.z
    participant D as develop
    participant M as main

    W->>R: PR作成・マージ
    Note over W,R: 機能完成

    R->>R: バージョン番号更新
    R->>D: PR作成・マージ
    Note over R,D: CI確認

    D->>M: PR作成・マージ
    Note over D,M: 最終確認

    M->>M: vタグ付与
    Note over M: git tag vx.y.z

警告パターン

以下の操作を検知した場合は警告:

操作 警告メッセージ
git push origin main main への直接 push は禁止です。develop からの PR を作成してください。
git push origin develop develop への直接 push は禁止です。release/* からの PR を作成してください。
git checkout -b feature/* develop 作業ブランチは release/* から派生してください。
git merge main main からのマージは想定外です。派生元を確認してください。

クイックリファレンス

作業開始:
  git checkout release/x.y.z
  git checkout -b feature/my-work

作業完了(PR作成):
  gh pr create --base release/x.y.z

PRマージ:
  gh pr checks <PR番号>           # CI確認
  gh pr merge <PR番号> --squash   # 作業ブランチ用
  gh pr merge <PR番号> --merge    # release/develop用

マージ後のローカル反映:
  git checkout <マージ先ブランチ>
  git pull origin <マージ先ブランチ>

リリースフロー:
  1. release/* → develop (PR作成 → マージ)
  2. develop → main (PR作成 → マージ)
  3. main に vタグ付与: git tag vx.y.z && git push origin vx.y.z