Traditional approach: Write code first, figure it out as you go.
Spec-Driven approach: Define what you want first, then let AI build it right.
For decades, we treated specifications as throwaway notesβjust a formality before the "real" coding began. Spec-Driven Development flips this around: your specification becomes the blueprint that directly generates working code, not just a suggestion.
> Think of it like architecture: You wouldn't build a house without blueprints. Why build software without clear specifications?
Development Approaches
Hanoi Rainbow supports both Greenfield (new projects) and Brownfield (existing projects) development:
```mermaid
flowchart LR
Start([Project Type?])
Start --> Greenfield[π± Greenfield
New Project]
Start --> Brownfield[ποΈ Brownfield
Existing Project]
Greenfield --> GF1[π Regulate
Set Principles]
GF1 --> GF2[π― Specify
Define Features]
GF2 --> GF3[π Clarify
Refine Requirements]
GF3 --> GF4[π Architect
System Design]
GF4 --> GF5[π Standardize
Coding Rules]
GF5 --> GF6[π οΈ Design
Technical Plan]
GF6 --> GF7[π Taskify
Break Down Tasks]
GF7 --> GF8[β‘ Implement
Build Features]
GF8 --> GF9[β
Test & Deploy]
Brownfield --> BF1[π Assess Context
Analyze Codebase]
BF1 --> BF2[π Regulate
Update Principles]
BF2 --> BF3[π― Specify
New Feature]
BF3 --> BF4[π Clarify
Requirements]
BF4 --> BF5[π οΈ Design
Integration Plan]
BF5 --> BF6[π Taskify
Task Breakdown]
BF6 --> BF7[β‘ Implement
Add Feature]
BF7 --> BF8[β
Test & Deploy]
style Greenfield fill:#90EE90
style Brownfield fill:#87CEEB
style GF8 fill:#FFD700
style BF7 fill:#FFD700
```
Greenfield projects start with establishing principles, architecture, and standards before building features. Brownfield projects begin with /rainbow.assess-context to understand existing architecture and patterns, then follow a streamlined workflow to add new features while maintaining consistency.
Key Differences:
| Aspect | π± Greenfield | ποΈ Brownfield |
|--------|--------------|---------------|
| Starting Point | Empty project | Existing codebase |
| Setup Phase | /rainbow.regulate | /rainbow.assess-context (once per project) |
| Focus | Establish foundations first | Integrate with existing patterns |
| Timeline | 2-4 weeks (MVP