Vibestrate
Vibestrate
docs
Documentation

project.yml schema

The Zod-derived schema for .vibestrate/project.yml. Defaults are the values Vibestrate fills in when the key is missing.

Source: src/project/config-schema.ts 14 top-level keys

Every field on this page is derived from the runtime Zod schemas that validate project.yml on every load. When you edit the YAML by hand, Vibestrate runs these schemas against it; broken configs fail at load time, not mid-run.

To edit safely, use vibe config get and vibe config set - both go through the same schema.

project
object
project.name
string
project.type
string (optional)
default: "generic"
git
object (optional)
default: {"mainBranch":"main","branchPrefix":"vibestrate/","worktreeDir":"../.vibestrate-worktrees","requireCleanMain":false,"allowAutoMerge":false,"allowAutoPush":false}
git.mainBranch
string (optional)
default: "main"
git.branchPrefix
string (optional)
default: "vibestrate/"
git.worktreeDir
string (optional)
default: "../.vibestrate-worktrees"
git.requireCleanMain
boolean (optional)
default: false
git.allowAutoMerge
boolean (optional)
default: false
git.allowAutoPush
boolean (optional)
default: false
workflow
object (optional)
default: {"id":"default-plan-build-review","maxReviewLoops":2,"requireHumanMerge":true}
workflow.id
string (optional)
default: "default-plan-build-review"
workflow.maxReviewLoops
number (optional)
default: 2
workflow.requireHumanMerge
boolean (optional)
default: true
execution
object (optional)
default: {"backend":"local-worktree"}
execution.backend
enum (optional)
values: local-worktree | docker | remote-sandbox | cloud-runner
default: "local-worktree"
providers
record<string, object | object>
profiles
record<string, object> (optional)
default: {}
crews
record<string, object> (optional)
default: {}
defaultCrew
string (optional)
default: "default"
budget
object (optional)
default: {"spendCapDailyUsd":null,"capAction":"stop","warnThresholdPct":0.8}
budget.spendCapDailyUsd
number | null (optional)
default: null
budget.capAction
enum (optional)
values: stop | downgrade-model | reduce-effort
default: "stop"
budget.warnThresholdPct
number (optional)
default: 0.8
budget.fallbackProfile
string (optional)
commands
object (optional)
default: {"validate":[]}
commands.validate
array<string> (optional)
default: []
commands.validationProfiles
record<string, object> (optional)
default: {}
permissions
object (optional)
default: {"profiles":{}}
permissions.profiles
record<string, object> (optional)
default: {}
policies
object (optional)
default: {"forbidMainBranchWrites":true,"forbidSecretsAccess":true,"forbidAutoPush":true,"forbidAutoMerge":true,"preserveArtifacts":true,"requireApprovalAtStages":[],"allowInteractiveTerminal":false}
policies.forbidMainBranchWrites
boolean (optional)
default: true
policies.forbidSecretsAccess
boolean (optional)
default: true
policies.forbidAutoPush
boolean (optional)
default: true
policies.forbidAutoMerge
boolean (optional)
default: true
policies.preserveArtifacts
boolean (optional)
default: true
policies.requireApprovalAtStages
array<enum> (optional)
default: []
policies.allowInteractiveTerminal
boolean (optional)
default: false
policies.strictApplyOnly
boolean (optional)
default: false
scheduler
object (optional)
default: {"maxConcurrentRuns":1,"maxConcurrentWriteRoles":1,"conflictPolicy":"warn","queuePolicy":"fifo","sourceQuotas":{}}
scheduler.maxConcurrentRuns
number (optional)
default: 1
scheduler.maxConcurrentWriteRoles
number (optional)
default: 1
scheduler.conflictPolicy
enum (optional)
values: warn | block
default: "warn"
scheduler.queuePolicy
enum (optional)
values: fifo | priority | fair
default: "fifo"
scheduler.sourceQuotas
record<string, number> (optional)
default: {}
scheduler.defaultSourceConcurrency
number (optional)
editor
object (optional)
default: {"enabled":false,"command":"code","args":["--goto","{file}:{line}:{column}"]}
editor.enabled
boolean (optional)
default: false
editor.command
string (optional)
default: "code"
editor.args
array<string> (optional)
default: ["--goto","{file}:{line}:{column}"]
© 2026 Guy Shonshon · Made for educational and learning purposes · v0.1.1 · 3ade132 · 2026-05-30 Shonshon - Evolving Technologies