Skip to content
10 changes: 10 additions & 0 deletions spec-driven.md
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,16 @@ No implementation code shall be written before:

This completely inverts traditional AI code generation. Instead of generating code and hoping it works, the LLM must first generate comprehensive tests that define behavior, get them approved, and only then generate implementation.

#### Articles IV, V & VI: Project-Customizable Standards

Articles IV, V, and VI are the primary areas the constitution template reserves for project-specific standards. While the `/speckit.constitution` command lets teams define fewer or more principles than the template provides, these three articles represent the typical customization focus:

- **Article IV** addresses integration concerns—such as integration testing requirements, contract testing across service boundaries, or cross-component communication standards. The constitution template's `[PRINCIPLE_4_NAME]` / `[PRINCIPLE_4_DESCRIPTION]` slot is dedicated to this article, with an example hint of *Integration Testing*.

- **Articles V & VI** address operational and lifecycle concerns—such as observability, structured logging, versioning schemes, or breaking-change policies. By default, the template groups these under a single `[PRINCIPLE_5_NAME]` / `[PRINCIPLE_5_DESCRIPTION]` slot. Teams can name and scope this slot however fits their project, or expand to separate articles using `/speckit.constitution`.

To define these articles for your project, run `/speckit.constitution`—it guides you through populating the principle sections in `.specify/memory/constitution.md`. The `/speckit.analyze` command validates all spec, plan, and task artifacts against every principle in your project constitution, so any rules you define here are automatically applied during analysis.

#### Articles VII & VIII: Simplicity and Anti-Abstraction

These paired articles combat over-engineering:
Expand Down