コンテンツにスキップ

gh vibe issue

gh issue view で issue を取得し、ラベルとタイトルから <type>/<num>-<slug> という形式のブランチ名を導出して、リポジトリの既定 ブランチを base に vibe の worktree を vibe start <branch> --base <base> で作成します。

Terminal window
gh vibe issue <# | URL>

番号でも URL でも受け付けます:

Terminal window
gh vibe issue 42
gh vibe issue https://github.com/owner/repo/issues/42

導出したブランチ名と base を表示し、ローカルブランチの衝突チェックまで は実行しますが、git fetchvibe start はスキップします。slug は ラベルとタイトルから決まるため、GitHub API への問い合わせは行われます。

Terminal window
gh vibe issue 42 --dry-run

base ブランチを上書きします。既定値はリポジトリの既定ブランチ (refs/remotes/origin/HEAD から解決)です。

Terminal window
gh vibe issue 42 --base develop

ラベルから推定された type prefix を上書きします。feat / fix / docs / chore / refactor / test / perf のいずれか。

Terminal window
gh vibe issue 42 --type feat

ブランチ名は <type>/<num>-<slug> の形式です。各要素は独立に導出されます:

  • <type> — issue のラベルのうち、最初に既知の type にマップされる ラベル名から決定されます。マッピングはおおよそ以下のとおり:

    ラベル名(大文字小文字無視)Prefix
    feat, feature, enhancementfeat
    fix, bug, bugfix, defectfix
    docs, documentationdocs
    chore, dependencies, deps, cichore
    refactor, refactoring, cleanuprefactor
    test, tests, testingtest
    perf, performanceperf

    既知の type にマップされるラベルがなければ chore にフォールバック します。--type を指定するとこの推定はスキップされます。

  • <num> — issue 番号がそのまま埋め込まれます。

  • <slug> — タイトルを NFKD 正規化し、結合文字を除去、小文字化し、 非 ASCII 英数字の連続を - に置換して導出します。50 文字に切り詰め られます。タイトルが絵文字や CJK 文字のみで構成されていて slug が空に なる場合は issue-<n> にフォールバックします。

  • ghgitvibePATH 上に存在すること。
  • 既定のリモート(origin)が issue のリポジトリを指す git リポジトリ の中から実行すること。
  • --base を省略する場合は refs/remotes/origin/HEAD が設定されている 必要があります。失われている場合は git remote set-head origin --auto で再生成してください。
  1. gh issue view で issue を解決(番号でも URL でも可)。
  2. base ブランチを解決(--base の値 or リポジトリの既定ブランチ)。
  3. ラベルとタイトルからローカルブランチ名を導出(上記参照)。
  4. 同名のローカルブランチが既に存在する場合は中断。
  5. base ブランチを origin から git fetch
  6. vibe start <branch> --base <base> に処理を引き渡し、worktree を作成。

gh vibe shell-setup と組み合わせると、成功時 にシェルが自動で worktree に cd します。