Do you like frameworks? I'm quite skeptical about them.
They try to solve everything at once and end up adding complexity where it’s not really needed. But engineers love inventing frameworks. Vibecoding is no exception. A new family of frameworks is called spec-driven development (SDD).
The main idea is to write a "spec" before writing code with AI.
A spec is a structured description of WHAT should be done and WHY. In classic terms, a spec is like an interface, generated code is like an implementation.
Main principles:
🔸 Spec-first. A thoughtful spec is written first, reviewed and then used in a development workflow.
🔸 Spec-driven. The spec is kept in git repo and it’s used to evolve and maintain the feature.
🔸 Spec-sourced. Only the spec is edited by human, the code is edited by AI-agent.
Development workflow:
intention -> requirements -> design -> tasks -> implementation
Popular implementations:
- https://github.com/github/spec-kit/
- https://github.com/Fission-AI/OpenSpec
- https://kiro.dev/
- https://github.com/bmad-code-org/BMAD-METHOD
From my perspective it looks like an attempt to bring some control over vibecoding. But as a result the agent generates a bunch of markdown files to review, and I cannot say it's much easier than code review (if not harder, since LLMs tend to be verbose).
There’s no common opinion on SDD yet. I know people who like it, and people who don't. Like any AI tool, it needs experimentation and adaptation to your specific tasks.
P.S. Mentioned tools contain interesting prompts that can be reused without SDD itself.
#engineering #ai #sdd