The Engineering Shift in AI Programming: Spec-Driven Development
Currently, direct, prompt-based AI programming (often called ‘vibe-based coding’) frequently hits efficiency bottlenecks and causes a surge in technical debt when handling complex projects. This is due to issues like context loss, vague requirements, and a disconnect between documentation and code. To solve this dilemma, Spec-Driven Development (SDD) has emerged. This paradigm emphasizes that ‘the spec is the source of truth,’ mandating that requirements, design, and other information are first solidified into a structured specification before an AI is prompted to generate code. This transforms AI programming from ‘improvisational creation’ into a controlled ‘engineering process’.
Spec Kit: A Rigorous ‘Constitution’ for 0-to-1 Projects
Spec Kit, an open-source toolkit from GitHub, introduces a strict gating and review mechanism to AI programming. Through a series of commands starting with /speckit.*, it guides developers through seven steps: constitution, requirements, clarification, planning, decomposition, analysis, and implementation. This process produces detailed documents like a constitution (project constitution) and spec.md. This process-heavy, high-certainty design philosophy makes it especially suitable for new ‘0-to-1’ projects, exploratory projects with unclear requirements, and large-scale enterprise applications requiring high compliance, ensuring a solid engineering foundation is established from the project’s outset. The tool is based on a Python tech stack.
OpenSpec: Lightweight Change Management Focused on Incremental Iteration

OpenSpec, open-sourced by Fission AI, offers a different approach. It revolves around the core concept of a ‘Change’ and excels at incremental development on existing codebases. Its workflow is structured around a dependency graph of four artifacts: proposal, specs, design, and tasks. Through a ‘change isolation’ mechanism, it allows multiple developers to work in parallel without interference. Its Delta Spec notation clearly records every modification, significantly enhancing the traceability of changes. This lightweight, TypeScript-based workflow is particularly well-suited for continuous feature iteration on existing projects (1-to-N) and the daily development of agile teams.
Selection Strategy: Combining Tools for Full-Lifecycle Coverage
Spec Kit and OpenSpec are not mutually exclusive but complementary. An effective practice is to use Spec Kit’s rigorous process during the project initiation phase to establish the architecture and core specifications. Once the project enters a stable iteration period, you can switch to OpenSpec for efficient incremental feature development and maintenance. The former acts like an ‘architect,’ laying the project’s foundation, while the latter serves as a ‘requirements management expert,’ ensuring the agility and quality of subsequent iterations. By combining them, teams can build an engineering system for AI programming that covers the entire project lifecycle.