Configuration
Git Vibe reads configuration in this order:
- local repo Git config
- checked-in
vibe.toml - global Git config
- built-in defaults
This gives teams a shared repository-level source of truth while still working well for solo developers who want one place to set the defaults.
Example vibe.toml
[vibe]
baseBranch = "main"
branchPrefix = "feat/"
worktreeRoot = "../.vibe"
openEditor = "auto"
openWorkspaceWith = "auto"
deleteRemoteOnFinish = true
issueBranchStyle = "number-and-title"
sharedPaths = "node_modules, .venv"
[release]
versioning = "npm"
[hooks]
post-create = "npm install"
pre-finish = "npm test"
pre-release = "npm test"Core vibe settings
baseBranchbranchPrefixworktreeRootopenEditoropenWorkspaceWithdeleteRemoteOnFinishissueBranchStylesharedPaths
Release settings
versioningfile
Git config versions of the same release settings look like this:
git config vibe.releaseVersioning npm
git config vibe.releaseVersioning file
git config vibe.releaseFile VERSIONWorkspace behavior
vibe.openEditor=auto|always|never controls whether Git Vibe tries to launch a workspace app after opening a vibe.
vibe.openWorkspaceWith=auto|codex|vscode controls which workspace app Git Vibe prefers.
In auto, Git Vibe prefers Codex Desktop inside a Codex shell and otherwise uses VS Code when the code CLI is available.
Shared runtime paths
vibe.sharedPaths is a comma-separated list of relative repo paths that Git Vibe should symlink from the primary checkout into a fresh vibe before post-create runs.
By default, Git Vibe uses:
git config --global vibe.sharedPaths node_modulesThat default makes a practical difference for Node projects: if your main checkout already has node_modules, a fresh vibe can usually run npm run dev, npm test, and local CLIs immediately.
Useful examples:
[vibe]
sharedPaths = "node_modules, .venv"git config vibe.sharedPaths "node_modules,.direnv"
git config vibe.sharedPaths noneUse none when you want to disable automatic runtime plumbing for a repo.
Lifecycle hooks
Hooks live under [hooks] and run through sh -c.
post-createruns after Git Vibe creates or attaches a fresh worktree and after shared path plumbing is linkedpre-finishruns after merge verification and before cleanuppre-releaseruns after release validation and before version updates, commit creation, and tagging
Environment variables available to hooks:
GIT_VIBE_HOOKGIT_VIBE_REPO_ROOTGIT_VIBE_BASE_BRANCHGIT_VIBE_BRANCHGIT_VIBE_WORKTREE_PATHGIT_VIBE_VERSIONGIT_VIBE_ISSUE_NUMBER
A few useful local overrides
git config vibe.openEditor never
git config vibe.openWorkspaceWith codex
git config vibe.issueBranchStyle number-only
git config vibe.deleteRemoteOnFinish trueThe result is a shared workflow with predictable defaults and room for local overrides where needed.