mcpField
C
conventional-branch

conventional-branch

github.com/conventional-branch開発140271 回インストール6 日前に更新
リポジトリ

conventional-branch について

Conventional Branch 1.1.0仕様に沿ったGitブランチを作成するスキルです。開発者やコーディングエージェント向けに、命名規則、例、検証方法、作成手順を提供します。

主な機能

  1. 01仕様に基づくブランチ命名
  2. 02目的別・エージェント別プレフィックス
  3. 03厳密な命名検証ルール
  4. 04ブランチ作成ワークフロー
  5. 05commit-checkによる検証ガイド

活用シーン

  1. 01機能追加やバグ修正ブランチの命名
  2. 02AIコーディングエージェント用ブランチの作成
  3. 03リポジトリへのブランチ名検証の導入

インストール

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

$npx skills add https://github.com/conventional-branch/conventional-branch --skill conventional-branch

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

詳細

Conventional Branch

Conventional Branch 1.1.0 の仕様に従って Git ブランチを作成します。人が読みやすく、機械で解析でき、自動化に適しています。

ブランチ名の形式

<type>/<description>
要素形式必須例
type定義済みのプレフィックス(下の表を参照)はいfeature、fix
description小文字のケバブケースはいadd-login-page
ブランチの種類

一貫性を保つため、エイリアスよりも正式名称を優先してください。

目的を表すプレフィックス — 作業の意図を示します。

種類エイリアス目的
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 はトランクブランチであり、プレフィックスは付けません。トランクブランチと同じ名前のブランチを新たに作成せず、トランクブランチからブランチを作成してください。

命名規則(厳守)

ブランチ名は以下の規則に従う必要があります。従わない場合、commit-check などの検証ツールによって拒否されます。

  • 小文字のみ — 大文字は一切使用できません(a-z のみ)
  • 英数字、ハイフン、ピリオド — a-z、0-9、-、.
  • ピリオドは説明のどこでも使用でき、通常はバージョン番号に使います(例:release/v1.2.0、chore/upgrade-node-v20.11)
  • アンダースコア、スペース、特殊文字は禁止
  • ハイフンの連続(--)、ピリオドの連続(..)、ハイフンとピリオドの隣接(-. または .-)は禁止
  • 説明の先頭または末尾にハイフンやピリオドを付けてはいけません
形式文法(ABNF)
branch-name     = trunk-branch / prefixed-branch
trunk-branch    = "main" / "master" / "develop"
prefixed-branch = type "/" description
type            = "feature" / "feat" / "bugfix" / "fix"
                / "hotfix" / "release" / "chore"
                / "ai" / "copilot" / "cursor"
                / "claude" / "codex"
description     = desc-segment *("-" desc-segment)
desc-segment    = 1*(ALPHA / DIGIT) *("." 1*(ALPHA / DIGIT))
ALPHA           = %x61-7A
DIGIT           = %x30-39
有効な例
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、john-working-on-stuff

ワークフロー

新しいブランチを作成するときは、以下の手順に従ってください。

1. 情報を集める

すでに明確でない場合は、ユーザーに以下を尋ねます。

  • ブランチの種類 — 不明な場合は feature をデフォルトにします
  • 簡単な説明 — ブランチの目的

チケット番号は尋ねないでください。ユーザーが番号を提示した場合は、説明に含めます(例:feature/issue-123-add-oauth)。

2. 名前を検証する

作成前に、組み立てた名前が上記の命名規則に従っているか確認します。規則に違反している場合は、黙って修正します。

  • すべて小文字にする
  • アンダースコアとスペースをハイフンに置き換える
  • 連続するハイフンを1つにまとめる
  • 先頭と末尾のハイフンを取り除く
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 を案内します。設定なしで、ブランチ名が仕様で定められたタイプのプレフィックスに従っているかをデフォルトで確認します。

# Check the current branch name
commit-check --branch

プレコミットフックとして使用すると、不正な名前を最初のコミット時に検出できます。

repos:
  - repo: https://github.com/commit-check/commit-check
    rev: v2.19.1
    hooks:
      - id: check-branch

GitHub Actions では、commit-check-action がすべてのプルリクエストで同じチェックを実行します(branch: true がデフォルトです)。すべてのプラットフォーム向けのコピーしてすぐ使える設定(タイプを仕様で定められたものだけに絞り込む commit-check.toml を含む)は、https://conventionalbranch.org/enforce/ にあります。

Conventional Commits との関係

Conventional Branch は Conventional Commits に着想を得ており、自然に相補うものです。

Conventional Branch一般的な Conventional Commit
feature/add-loginfeat: add login page
bugfix/fix-headerfix: header overflow on mobile
chore/update-depschore: bump lodash to 5.0
release/v1.2.0chore: release v1.2.0

可能な場合は、ブランチのタイプをコミットのタイプと揃えます(例:feature/* ブランチと feat: コミット)。コミットメッセージの規約については、conventional-commit スキルを参照してください。

コメント