Skip to content

.vibe.local.toml

The .vibe.local.toml file allows you to override or extend the shared .vibe.toml configuration with your personal settings. This file is automatically gitignored.

  • Developer-specific environment files
  • Local paths or credentials
  • Personal workflow customizations
  • Machine-specific configurations
# Override or extend shared hooks with local commands
[hooks]
post_start_prepend = ["echo 'Local setup starting'"]
post_start_append = ["npm run dev"]
# Override files to copy
[copy]
files = [".env.local", ".secrets"]

When both .vibe.toml and .vibe.local.toml exist, they are merged according to these rules:

MethodSyntaxDescription
Complete overridefield_name = [...]Replaces the shared value entirely
Prepend itemsfield_name_prepend = [...]Adds items before shared values
Append itemsfield_name_append = [...]Adds items after shared values
# .vibe.toml (shared)
[hooks]
post_start = ["npm install", "npm run build"]
# .vibe.local.toml (local)
[hooks]
post_start_prepend = ["echo 'local setup'"]
post_start_append = ["npm run dev"]
# Result: ["echo 'local setup'", "npm install", "npm run build", "npm run dev"]

To completely replace a shared configuration:

.vibe.local.toml
[hooks]
post_start = ["my-custom-script.sh"]
# Result: ["my-custom-script.sh"]
# (shared post_start is completely replaced)

Like .vibe.toml, the local configuration file must also be trusted:

Terminal window
vibe trust

This command trusts both .vibe.toml and .vibe.local.toml if they exist.

.vibe.local.toml
[copy]
# Add local-only files to copy
files = [".env.local", ".secrets", "local-config.json"]
[hooks]
# Run before shared pre_start hooks
pre_start_prepend = ["echo 'Starting local setup'"]
# Run after shared post_start hooks
post_start_append = [
"npm run dev",
"open http://localhost:3000"
]
# Completely override pre_clean
pre_clean = ["echo 'Custom cleanup'"]