コンテンツにスキップ

.vibe.toml

.vibe.tomlファイルには、通常gitにコミットされてチームで共有される設定が含まれます。

元リポジトリからWorktreeへ個別のファイルをコピー:

[copy]
files = [".env", "config.json"]

files配列はglobパターンに対応しており、柔軟なファイル選択が可能です:

[copy]
files = [
"*.env", # ルートディレクトリの全.envファイル
"**/*.json", # 全JSONファイル(再帰的)
"config/*.txt", # config/内の全.txtファイル
".env.production" # 厳密なパスも引き続き利用可能
]

サポートされるパターン:

パターン説明
*/以外の任意の文字にマッチ
**/を含む任意の文字にマッチ(再帰的)
?任意の1文字にマッチ
[abc]ブラケット内の任意の文字にマッチ

ディレクトリ全体を再帰的にコピー:

[copy]
dirs = [
"node_modules", # 厳密なディレクトリパス
".cache", # 隠しディレクトリ
"packages/*" # 複数ディレクトリにマッチするGlobパターン
]

コピーパフォーマンスの最適化 v0.4.0+

Section titled “コピーパフォーマンスの最適化 ”

vibeはシステムに応じて最適なコピー戦略を自動選択します:

戦略使用条件プラットフォーム
Clone (CoW)APFSでのディレクトリコピーmacOS
Clone (reflink)Btrfs/XFSでのディレクトリコピーLinux
rsynccloneが利用できない場合のディレクトリコピーmacOS/Linux
Standardファイルコピー、またはフォールバック全て

仕組み:

  • ファイルコピー: 単一ファイルの最高パフォーマンスのため、常にDenoネイティブのcopyFile()を使用
  • ディレクトリコピー: 利用可能な最速の方法を自動使用

メリット:

  • Copy-on-Writeは実際のデータではなくメタデータのみをコピーするため非常に高速
  • 設定不要 - 最適な戦略が自動検出されます
  • 自動フォールバックによりコピーは常に動作します

フック設定の詳細はフックを参照してください。

[copy]
files = [
".env",
".env.local",
"**/*.secret"
]
dirs = [
"node_modules",
".cache",
"vendor"
]
[hooks]
pre_start = ["echo 'Worktreeを準備中...'"]
post_start = [
"pnpm install",
"pnpm db:migrate",
"pnpm build"
]
pre_clean = ["git stash"]
post_clean = ["echo 'クリーンアップ完了'"]