コンテンツにスキップ

gh vibe shell-setup

gh をラップして、gh vibe review <PR> の成功時に自動で作成済みの worktree に cd するシェルスニペットを出力します。

Terminal window
gh vibe shell-setup [--shell=<bash|zsh|fish|pwsh>]

--shell を省略した場合、$SHELL(PowerShell では $PSModulePath)から 呼び出し元シェルを自動判定します。別のシェル用のスニペットを生成して rc ファイルにコミットしたい場合だけ明示してください。

Terminal window
# ~/.bashrc or ~/.zshrc
eval "$(gh vibe shell-setup)"
~/.config/fish/config.fish
gh vibe shell-setup --shell=fish | source
Terminal window
# $PROFILE
gh vibe shell-setup --shell=pwsh | Out-String | Invoke-Expression

シェルを再読み込みすると:

Terminal window
gh vibe review 123 # worktree を作成 + 自動 cd
シェルテスト内容
bashbash -n 構文チェック + 実シェル E2E
zshzsh -n 構文チェック
fishfish -n 構文チェック
pwsh(PowerShell 7+)[scriptblock]::Create パースチェック

bashzsh は POSIX 互換の同一スニペットを共有し、fishpwsh には専用のラッパーを使用します。

shell-setup スニペットは対話シェルを破壊しないよう設計されています:

  • ユーザ定義の gh 関数 / エイリアスが既に存在する場合、ラッパーは インストールを拒否します(標準エラーに警告を出力)。
  • ラッパーは # __ghvibe_v1_begin__# __ghvibe_v1_end__ センチネル で囲まれた出力のみを評価します。# は全対応シェルで通常のコメントに なるため、無関係な gh 標準出力がシェルコードとして実行されることは ありません。
  • バイナリ側もシェル用出力を吐くのは、ラッパー経由で起動された (GH_VIBE_SHELL=v1 環境変数を検出した)かつ標準出力が TTY でない ときのみです。対話シェルで手動で当該環境変数を設定した場合は、警告付き で通常モードにフォールバックします。

該当する行を rc ファイル / プロフィールから削除して、シェルを再読み込み してください。