.vibe.toml
.vibe.tomlファイルには、通常gitにコミットされてチームで共有される設定が含まれます。
Copy設定
Section titled “Copy設定”元リポジトリからWorktreeへ個別のファイルをコピー:
[copy]files = [".env", "config.json"]Globパターン
Section titled “Globパターン”files配列はglobパターンに対応しており、柔軟なファイル選択が可能です:
[copy]files = [ "*.env", # ルートディレクトリの全.envファイル "**/*.json", # 全JSONファイル(再帰的) "config/*.txt", # config/内の全.txtファイル ".env.production" # 厳密なパスも引き続き利用可能]サポートされるパターン:
| パターン | 説明 |
|---|---|
* | /以外の任意の文字にマッチ |
** | /を含む任意の文字にマッチ(再帰的) |
? | 任意の1文字にマッチ |
[abc] | ブラケット内の任意の文字にマッチ |
ディレクトリ v0.4.0+
Section titled “ディレクトリ ”ディレクトリ全体を再帰的にコピー:
[copy]dirs = [ "node_modules", # 厳密なディレクトリパス ".cache", # 隠しディレクトリ "packages/*" # 複数ディレクトリにマッチするGlobパターン]コピーパフォーマンスの最適化 v0.4.0+
Section titled “コピーパフォーマンスの最適化 ”vibeはシステムに応じて最適なコピー戦略を自動選択します:
| 戦略 | 使用条件 | プラットフォーム |
|---|---|---|
| Clone (CoW) | APFSでのディレクトリコピー | macOS |
| Clone (reflink) | Btrfs/XFSでのディレクトリコピー | Linux |
| rsync | cloneが利用できない場合のディレクトリコピー | 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 'クリーンアップ完了'"]