はじめに
vibeとは?
Section titled “vibeとは?”vibeはGit Worktreeの管理を簡素化するCLIツールです。以下のことができます:
- メインリポジトリを離れずに新機能用のWorktreeを作成
- 設定ファイルや依存関係を自動的にコピー
- Worktreeの作成・クリーンアップ時にセットアップフックを実行
- 対話的なプロンプトでWorktreeのライフサイクルを安全に管理
クイックスタート
Section titled “クイックスタート”1. vibeをインストール
Section titled “1. vibeをインストール”brew install kexi/tap/vibe# グローバルインストールnpm install -g @kexi/vibe
# またはnpxで直接実行npx @kexi/vibe start feat/my-feature# グローバルインストールbun add -g @kexi/vibe
# またはbunxで直接実行bunx @kexi/vibe start feat/my-feature# Ubuntu/Debian (x64)curl -LO https://github.com/kexi/vibe/releases/latest/download/vibe_amd64.debsudo apt install ./vibe_amd64.deb
# その他のディストリビューション (x64)curl -L https://github.com/kexi/vibe/releases/latest/download/vibe-linux-x64 -o vibechmod +x vibe && sudo mv vibe /usr/local/bin/npm install -g @kexi/vibeWindows x64 は @kexi/vibe-win32-x64 バイナリパッケージ経由でサポートされています。WSL2 ユーザーは上記の Linux 手順も利用できます。
2. シェルを設定
Section titled “2. シェルを設定”インストール方法に応じて、以下のいずれか1つをシェル設定に追加:
# ~/.zshrc に追加(いずれか1つを選択)
# グローバルインストール用(Homebrew, npm -g, bun -g)vibe() { eval "$(command vibe "$@")" }
# npx用(グローバルインストールなし)vibe() { eval "$(npx @kexi/vibe "$@")" }# bunx用:# vibe() { eval "$(bunx @kexi/vibe "$@")" }# ~/.bashrc に追加(いずれか1つを選択)
# グローバルインストール用(Homebrew, npm -g, bun -g)vibe() { eval "$(command vibe "$@")"; }
# npx用(グローバルインストールなし)vibe() { eval "$(npx @kexi/vibe "$@")"; }# bunx用:# vibe() { eval "$(bunx @kexi/vibe "$@")"; }# ~/.config/fish/config.fish に追加(いずれか1つを選択)
# グローバルインストール用(Homebrew, npm -g, bun -g)function vibe eval (command vibe $argv)end
# npx用(グローバルインストールなし)function vibe eval (npx @kexi/vibe $argv)end# bunx用:# function vibe# eval (bunx @kexi/vibe $argv)# end# ~/.config/nushell/config.nu に追加(いずれか1つを選択)
# グローバルインストール用(Homebrew, npm -g, bun -g)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 } }}
# npx用(グローバルインストールなし)def --env --wrapped vibe [...args] { let out = (npx @kexi/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 } }}# bunx用:# def --env --wrapped vibe [...args] {# let out = (bunx @kexi/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 に追加(いずれか1つを選択)
# グローバルインストール用(Homebrew, npm -g, bun -g)function vibe { $out = & vibe.exe --eval-dialect powershell @args; if ($out) { Invoke-Expression ($out -join "`n") } }
# npx用(グローバルインストールなし)function vibe { $out = & npx @kexi/vibe --eval-dialect powershell @args; if ($out) { Invoke-Expression ($out -join "`n") } }# bunx用:# function vibe { $out = & bunx @kexi/vibe --eval-dialect powershell @args; if ($out) { Invoke-Expression ($out -join "`n") } }3. 最初のWorktreeを作成
Section titled “3. 最初のWorktreeを作成”# 新機能の作業を開始vibe start feat/my-new-feature
# ターミナルは新しいWorktreeに移動しています!# 変更を加えて、コミット、プッシュなど...
# 作業完了後、Worktreeをクリーンアップvibe clean基本的なワークフロー
Section titled “基本的なワークフロー”メインリポジトリ │ ├── vibe start feat/feature-a → repo-feat-feature-a/ │ │ │ └── (機能を開発) │ └── vibe clean ←─────────────────────────┘ (メインに戻り、Worktreeを削除)