vibeflow

Spec-driven development
for AI agents

Define what to build, then let the agent build it right.

Vibeflow separates thinking from coding. You define specs with guardrails, and the AI agent implements following your project's real patterns.

Quick start
analyze scans your codebase, builds .vibeflow/ knowledge
gen-spec "feature" generates spec with DoD, scope, patterns
implement <spec> implements with guardrails (budget, DoD, tests)

How Vibeflow works

Three commands. From codebase analysis to audited implementation.

01 analyze
02 gen-spec
03 implement
01 analyze

Deep-scans your codebase and learns your patterns, conventions, and architecture.

.vibeflow/ docs with real conventions
02 gen-spec

Generates a spec with binary Definition of Done, scope, anti-scope, and budget.

Spec with pass/fail checks
03 implement

Implements from the spec following your patterns, within budget, respecting anti-scope.

Code within scope and budget

Plus: discover, prompt-pack, audit, quick, teach, stats

See it in action

Watch Vibeflow challenge a vague idea into a tight spec.

vibeflow discover → gen-spec
You "I need user authentication for my app"
01 discover
Vibeflow What kind? OAuth, magic link, or email/password?
Vibeflow Do you need password reset in v1? That's 3 extra files and email integration.
Vibeflow Social login? That adds OAuth complexity you might not need yet.
You "Just email/password. No reset, no social. Keep it simple."
02 discover round 2
Vibeflow You said "simple". Do you need email verification or just trust the input?
Vibeflow Rate limiting on login attempts? Without it, brute force is trivial.
You "No email verification for v1. Yes to rate limiting, 5 attempts per minute."
PRD generated
Scope: email/password signup + login + rate limiting Anti-scope: OAuth, password reset, social login, email verification Success criteria: 4 binary checks
03 gen-spec
Spec generated
☐ POST /auth/signup returns 201 + JWT ☐ POST /auth/login returns 200 + JWT ☐ Passwords hashed with bcrypt, min 8 chars ☐ Login rate-limited to 5 attempts/min per IP
Budget: ≤4 files Patterns: follows existing controller/service structure in src/api/ Anti-scope enforced: NO OAuth, NO reset, NO verification, NO social

Use cases

Vibeflow adapts to different roles and scenarios.

Developer

New feature in an existing project

You need to add a payment flow. Instead of letting AI guess, you define scope (Stripe only, no PayPal), anti-scope (no subscription management), and a 5-check DoD. The agent implements exactly that.

analyze → gen-spec → implement → audit
Developer

Quick bug fix with controlled scope

A date formatting bug in the dashboard. You use quick mode, it generates a focused spec in seconds. The agent fixes the bug, nothing else. Audit confirms the fix.

quick → implement → audit
Product Manager

Defining requirements before handing off

You have a feature idea but need to clarify scope before the dev team starts. Discover walks you through the hard questions and produces a clear PRD. No code involved.

discover → hand off PRD to team
Tech Lead

Onboarding a new developer

New dev joins the team. Instead of reading 200 files, they run analyze. Vibeflow produces a comprehensive guide to the project: architecture, patterns, conventions, all with real code examples.

analyze → dev reads .vibeflow/

Choose your edition

Same methodology. Adapted to your agent.

GitHub Copilot

Prompts, agents, skills, and instructions for Copilot Chat.

npx setup-vibeflow@latest --copilot

Cursor

Rules and skills for Cursor Agent. Slash commands via /skill-name.

npx setup-vibeflow@latest --cursor

Claude Code

Plugin with slash commands for Claude Code CLI.

pe-menezes/vibeflow-claude

By default the installer adds installed files and the .vibeflow/ folder to .gitignore so they are not committed. Remove the "Vibeflow" block from .gitignore if you want to track them in git.

Start building with specs

Define what you want, let AI execute, verify the result.

Open source MIT License Free forever

Created by Pedro Menezes

Get in touch

Have a question, feedback, or want to contribute? Send a message.