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 Coding | Spec-Driven Development | |
|---|---|---|
| Where intent lives | In chat prompts | In a written specification |
| Code review | Little or none | Small, focused changes are reviewed |
| Best for | Throwaway prototypes where speed matters most | Software 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
- Karpathy (2025). Post introducing "vibe coding".
- 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/