conventional-branch について
conventional-branchは、Gitブランチ名を統一したい開発者向けのスキルです。ブランチ種別の選択、名前の検証、ベースブランチの検出、作成手順を案内します。
主な機能
- 01Conventional Branchの命名
- 02用途別・AIエージェント用プレフィックス
- 03ブランチ名の検証
- 04ベースブランチの検出
- 05ブランチの作成と切り替え
活用シーン
- 01機能開発や修正用のブランチ命名
- 02AIエージェント用ブランチの作成
- 03規約に沿ったブランチ名の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ github/ awesome-copilot --skill conventional-branchインストール後、Claude Code で/conventional-branchを入力して読み込まれたか確認します。
詳細
Conventional Branch
Git ブランチに Conventional Branch 仕様に準拠した名前を付けます。これは、Git ブランチの命名に関するシンプルで一貫した規約です。
ブランチ名の形式
<type>/<description>
ブランチの種類
目的を表すプレフィックス — 作業の意図を示します。
| 種類 | 別名 | 目的 |
|---|---|---|
feature/ | feat/ | 新機能または機能強化 |
bugfix/ | fix/ | バグ修正 |
hotfix/ | — | 本番環境の緊急修正 |
release/ | — | リリース準備(バージョンにはドットを使用できます:release/v1.2.0) |
chore/ | — | コード以外のタスク(依存関係、ドキュメント、設定) |
AI エージェントのソースを表すプレフィックス — AI コーディングエージェントによって生成されたブランチであることを示します。
| 種類 | 別名 | 目的 |
|---|---|---|
ai/ | — | 任意の AI コーディングエージェントに使う汎用プレフィックス |
copilot/ | — | GitHub Copilot |
cursor/ | — | Cursor |
claude/ | — | Anthropic の Claude Code |
codex/ | — | OpenAI Codex |
ブランチを作成するエージェントが分かっている場合はベンダー固有のプレフィックスを使い、ベンダーに依存しない代替として ai/ を使います。
トランクブランチ
main、master、develop はトランクブランチであり、プレフィックスは使用しません。トランクブランチと同じ名前の新しいブランチは作成せず、トランクブランチから分岐させてください。
命名規則
- 小文字のみ — 大文字は使用できません
- 英数字、ハイフン、ドット —
a-z、0-9、-、. - ドットは説明のどこでも使用できます。通常はバージョン番号に使います(例:
release/v1.2.0、chore/upgrade-node-v20.11) - アンダースコア、スペース、特殊文字は使用できません
- ハイフンの連続(
--)、ドットの連続(..)、ハイフンとドットの隣接(-.または.-)は使用できません - 説明の先頭または末尾にハイフンやドットは使用できません
有効な例
main
master
develop
feature/add-login-page
feat/add-login-page
bugfix/fix-header-bug
fix/header-bug
hotfix/security-patch
release/v1.2.0
chore/update-dependencies
feature/issue-123-new-login
ai/refactor-auth-flow
copilot/add-login-page
cursor/fix-header-bug
claude/security-patch
codex/optimize-query
無効な例
| ブランチ | 問題 |
|---|---|
Feature/Add-Login | 大文字 |
feature/new--login | ハイフンの連続 |
feature/-new-login | 先頭のハイフン |
feature/new-login- | 末尾のハイフン |
release/v1.-2.0 | ハイフンとドットが隣接 |
fix/header bug | スペース |
fix/header_bug | アンダースコア |
unknown/some-task | 不明なプレフィックスの種類 |
説明のガイドライン
- ケバブケースを使用し、2〜5語にします
- 説明的でありながら簡潔にします(全体で約50文字)
- 良い例:
add-oauth-login、fix-header-overflow、update-ci-config - 悪い例:
fix-bug、new-feature
ワークフロー
次の手順に従います:
手順 1 — ブランチの種類を決める
まだ明確でない場合は、ユーザーに確認します。
- ブランチの種類 — 判断できない場合は
featureを既定値にします - 簡単な説明 — ブランチの目的
ユーザーがチケット番号または課題番号を挙げた場合は、説明に含めます(例:feature/issue-123-add-oauth)。
手順 2 — 名前を検証する
組み立てた名前が上記の命名規則に従っているか確認します。規則に違反している場合は修正します。
- すべて小文字にする
- アンダースコアとスペースをハイフンに置き換える
- 連続するハイフンをまとめる
- 先頭と末尾のハイフンを削除する
手順 3 — ベースブランチを検出する
リポジトリによって使用するトランクブランチは異なります。このリポジトリで使用されているものを検出します。
# Prefer the remote's default branch
git symbolic-ref --short refs/remotes/origin/HEAD 2>/dev/null | sed 's|^origin/||'
何も返されない場合は、ローカルに存在するトランクブランチを次の優先順位で確認します:develop、main、master
for b in develop main master; do
git show-ref --verify --quiet "refs/heads/$b" && echo "$b" && break
done
手順 4 — 作成してチェックアウトする
git checkout <base>
git pull origin <base>
git checkout -b <type>/<description>
手順 5 — 確認する
ユーザーに次のことを伝えます。
- 作成したブランチ名
- 新しいブランチに切り替わっていること
- 準備ができたら
git push -u origin <branch-name>を実行するように伝えます
検証
commit-check は、仕様に照らしてブランチ名を検証します。commit-check --branch を実行するか、check-branch pre-commit フックを使用するか、GitHub Actions で commit-check-action を使ってください。GitHub のルールセット、GitLab、Bitbucket、Git フックの設定は https://conventionalbranch.org/enforce/ にあります。
Conventional Commits との関係
Conventional Branch は Conventional Commits を補完します。
| Conventional Branch | 一般的な Conventional Commit |
|---|---|
feature/add-login | feat: add login page |
bugfix/fix-header | fix: header overflow on mobile |
chore/update-deps | chore: bump lodash to 5.0 |
release/v1.2.0 | chore: release v1.2.0 |
可能な場合は、ブランチの種類をコミットの種類に合わせてください(例:feature/* ブランチには feat: コミットを使用します)。