シェル設定
vibeはWorktreeの作成やクリーンアップ後にディレクトリを変更するため、シェルラッパー関数が必要です。以下の適切な設定をシェルに追加してください。
~/.zshrc に どちらか一方 を追加してください。両方追加すると wrapper 関数が二重定義されるので注意。
推奨 — ラッパー関数 + タブ補完(サブコマンド・フラグ・vibe start / vibe jump のブランチ名):
autoload -Uz compinit && compiniteval "$(vibe shell-setup --shell zsh --with-completion)"この 2 行で vibe ラッパー関数の定義と zsh 補完の登録が同時に行われます。compinit 行は zsh の補完システムに必須です — すでに ~/.zshrc の他の場所で compinit を呼んでいる場合は、eval 行をその 後 に置いてください。compinit が実行されていない場合は補完登録が silently スキップされ、vibe ラッパー関数のみが定義されます。
ラッパー関数のみ(タブ補完なし):
vibe() { eval "$(command vibe "$@")" }~/.bashrcに追加:
vibe() { eval "$(command vibe "$@")"; }~/.config/fish/config.fish に どちらか一方 を追加してください。両方追加すると wrapper 関数が二重定義されるので注意。
推奨 — ラッパー関数 + タブ補完(サブコマンド・フラグ・vibe start / vibe jump のブランチ名):
vibe shell-setup --shell fish --with-completion | sourceこの 1 行だけで vibe ラッパー関数と fish 補完の両方が登録されます。
ラッパー関数のみ(タブ補完なし):
function vibe eval (command vibe $argv)end~/.config/nushell/config.nuに追加:
def --env --wrapped vibe [...args] { let out = (^vibe --eval-dialect nu ...$args) for line in ($out | lines) { if ($line | str starts-with "__VIBE_CD__") { cd ($line | str replace "__VIBE_CD__" "") } else { print $line } }}$PROFILEに追加:
function vibe { $out = & vibe.exe --eval-dialect powershell @args; if ($out) { Invoke-Expression ($out -join "`n") } }miseを使った自動セットアップ
Section titled “miseを使った自動セットアップ”miseでvibeをインストールした場合、miseのhooks機能を使ってシェル設定を自動化できます。
プロジェクトの.mise.tomlに以下を追加してください:
[hooks]enter = 'eval "$(vibe shell-setup)"'なぜこれが必要なのか?
Section titled “なぜこれが必要なのか?”vibeがWorktreeを作成すると、現在の作業ディレクトリを新しいWorktreeに変更する必要があります。しかし、サブプロセスは親プロセスのディレクトリを直接変更することができません。
シェルラッパー関数はvibeの出力(cd /path/to/worktreeのようなシェルコマンドを含む)をキャプチャし、現在のシェルコンテキストで実行します。
インストールの確認
Section titled “インストールの確認”シェル設定を追加した後、シェルをリロードして確認:
# シェルをリロードまたは新しいターミナルを開くsource ~/.zshrc # または ~/.bashrc など
# vibeが動作することを確認vibe --help