protologue

Vibe Coding vs Spec-Driven Development

Vibe coding builds software by describing what you want to an AI model and accepting the code, largely without reading it, with intent living only in the chat. Spec-driven development writes and refines a specification first, then has the agent derive a plan, tasks and code from it, keeping the specification as the source of truth while the developer reviews focused changes.

Definitions

Vibe Coding PTL-0146
Vibe coding is building software by describing what you want to an AI model in natural language and accepting the code it generates, largely without reading or understanding that code.
Spec-Driven Development PTL-0226
Spec-driven development is an approach to building software with AI coding agents in which a written specification of what the software should do, and why, is created and refined first, and the agent then derives a technical plan, a task list and the code from it, with the specification kept as the source of truth.

Differences

Vibe CodingSpec-Driven Development
Where intent livesIn chat promptsIn a written specification
Code reviewLittle or noneSmall, focused changes are reviewed
Best forThrowaway prototypes where speed matters mostSoftware that must be maintained

Which to use

  • Vibe coding suits quick experiments where correctness is not critical.
  • Spec-driven development suits production work, where decisions need to be recorded and checked.

Sources

  1. Karpathy (2025). Post introducing "vibe coding".
  2. Delimarsky (GitHub) (2025). Spec-driven development with AI: Get started with a new open source toolkit.

Cite this page

Protologue. (2026). Vibe Coding vs Spec-Driven Development. In Protologue: A Taxonomy of Prompting and LLM Techniques (v1.4.0). https://protologue.com/compare/vibe-coding-vs-spec-driven-development/

Markdown