Vibefile Documentation
The task runner for the AI era — declare what you want, let the machine figure out how.
What is Vibefile?
A Vibefile is a task runner configuration file. It describes what tasks do and when they run — not how they are implemented. The how is figured out at runtime by an LLM that reads the Vibefile alongside relevant context from your repo.
The format is inspired by Makefiles. The dependency model is identical. The only thing that changes is the recipe: instead of shell commands, you write a plain-English description of intent.
# Vibefile
model = claude-sonnet-4-6
build:
"compile and bundle for production"
test:
"run the full test suite with coverage"
deploy: test build
"deploy to fly.io and verify the app came up healthy"
How it works
- You write a
Vibefilewith targets described in plain English - On
vibe run <target>, the CLI collects relevant context from your repo - An LLM generates the implementation (a shell script)
- The generated script is cached — subsequent runs are instant and free
- Dependencies are resolved and executed in topological order
The mental model
source code → Vibefile (intent) → compiled script (implementation)
first run: Vibefile → LLM → .vibe/compiled/build.sh → execute
next runs: Vibefile → .vibe/compiled/build.sh → execute (no LLM)
The Vibefile is your source code. The generated shell script is the binary. Just like a compiler, the expensive step happens once and the output is reused.
Key concepts
| Concept | Description | Status |
|---|---|---|
| Targets | Named tasks with plain-English recipes and optional dependencies | Implemented |
| Codegen mode | LLM generates shell scripts from task descriptions | Implemented |
| Compiled targets | Generated scripts cached to disk — committed to git for free CI | Implemented |
| Project detection | Auto-detect project type and generate Vibefile with sensible targets | Implemented |
| Agent mode | LLM executes tasks via MCP server tool calls (@mcp) |
Coming soon |
| Skills | Reusable, community-maintained task implementations (@skill) |
Coming soon |
| Sandbox | All generated code runs in an isolated container | Coming soon |
Quick start
# Install the CLI
go install github.com/vibefile-dev/vibe@latest
# Initialize a Vibefile for your project
vibe init
# Run a target
vibe run build
# See all targets
vibe list