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 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.
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.
Andrew Ng has partnered with JetBrains to launch a specification-driven development hands-on course for beginners, taught by JetBrains developer advocate Paul Everett.
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.
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.
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 (10)
SDD(Specification-Driven Development,规范驱动开发)是当前AI编程领域被普遍认可的一种开发思想,核心理念是基于规范驱动进行编程
80%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%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 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%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%