Specification-Driven Development
An engineering methodology that places specification documents at the core of the development process, requiring that requirements, interface contracts, technical constraints, and acceptance criteria be defined in structured form before code is written. All code generation and modifications must correspond to specific specification items, making it particularly suited for constraining the generative behavior of AI programming tools.
Core Facts
Timeline (last 90 days)
The practice of Spec-Driven Development is to first create a complete specification containing requirements and expected outcomes, then hand it to an AI coding agent to generate the project and all artifacts, thereby reducing reliance on the model's interpretive ability and making the development process more predictable.
The design inspiration for the original pstack project comes from the idea of specification-driven development in software engineering, where structured interaction protocols are defined in advance to allow AI agents to operate within predictable constraints.
The core idea of specification-driven development is to focus effort on writing the contextual information the agent does not yet have, by giving the agent a Markdown file or detailed prompt describing what to build and letting the agent implement the entire specification.
Specification-driven development enables large-scale code changes to be controlled through small modifications to the specification — for example, changing 'use SQLite with Prisma ORM' to 'switch to MongoDB' can trigger wide-ranging adjustments.
Andrew Ng has partnered with JetBrains to launch a specification-driven development hands-on course for beginners, taught by JetBrains developer advocate Paul Everett.
The specification-driven development workflow supports both greenfield projects and brownfield projects: greenfield projects establish a constitution through conversation, while brownfield projects generate a constitution based on the existing codebase.
The course teaches how to write your own agent skills to automate the entire specification-driven workflow.
The course lists three core advantages of specification-driven development: controlling large-scale code changes with small modifications, eliminating context degradation between sessions, and improving intent fidelity.
SDD places the most critical constraints and decisions at prominent positions in the context (typically at the beginning) to leverage the Lost in the Middle effect and ensure the model prioritizes following this information.
Specification-driven development uses Markdown files as the specification medium because Markdown is highly human-readable, version-control-friendly, natively supported by development tools, and extensively present in mainstream LLM training data.
All Facts (12)
SDD(Specification-Driven Development,规范驱动开发)是当前AI编程领域被普遍认可的一种开发思想,核心理念是基于规范驱动进行编程
80%UnverifiedLarge language models are essentially stateless, and code repositories, as external persistent storage, compensate for this deficiency.
60%UnverifiedThe practice of Spec-Driven Development is to first create a complete specification containing requirements and expected outcomes, then hand it to an AI coding agent to generate the project and all artifacts, thereby reducing reliance on the model's interpretive ability and making the development process more predictable.
50%UnverifiedThe design inspiration for the original pstack project comes from the idea of specification-driven development in software engineering, where structured interaction protocols are defined in advance to allow AI agents to operate within predictable constraints.
50%UnverifiedThe specification-driven development workflow supports both greenfield projects and brownfield projects: greenfield projects establish a constitution through conversation, while brownfield projects generate a constitution based on the existing codebase.
50%UnverifiedThe course teaches how to write your own agent skills to automate the entire specification-driven workflow.
50%UnverifiedThe core idea of specification-driven development is to focus effort on writing the contextual information the agent does not yet have, by giving the agent a Markdown file or detailed prompt describing what to build and letting the agent implement the entire specification.
50%UnverifiedSpecification-driven development enables large-scale code changes to be controlled through small modifications to the specification — for example, changing 'use SQLite with Prisma ORM' to 'switch to MongoDB' can trigger wide-ranging adjustments.
50%UnverifiedThe course lists three core advantages of specification-driven development: controlling large-scale code changes with small modifications, eliminating context degradation between sessions, and improving intent fidelity.
50%UnverifiedSDD places the most critical constraints and decisions at prominent positions in the context (typically at the beginning) to leverage the Lost in the Middle effect and ensure the model prioritizes following this information.
50%UnverifiedSpecification-driven development uses Markdown files as the specification medium because Markdown is highly human-readable, version-control-friendly, natively supported by development tools, and extensively present in mainstream LLM training data.
50%UnverifiedAndrew Ng has partnered with JetBrains to launch a specification-driven development hands-on course for beginners, taught by JetBrains developer advocate Paul Everett.
50%