sdd-plan
Core Philosophy
Plan First, Code Second: Every development task begins with a detailed specification that acts as a contract between intent and implementation. This prevents the common failure mode where AI "works once and then falls apart" in real codebases.
Staged Planning (Recommended): For complex features, create specifications in two stages: (1) high-level phase structure for user review and approval, then (2) detailed task breakdown. This reduces wasted effort and enables early course correction before detailed planning begins.
Atomic Tasks: Each task represents a single, focused change to one file. Tasks are the fundamental unit of work in SDD, and keeping them atomic provides:
- Precise dependency tracking: File-level dependencies are explicit and clear
- Granular progress monitoring: Each completed task represents concrete, verifiable progress
- Parallel implementation: Independent tasks can be worked on simultaneously
- Straightforward verification: Each task has a focused scope and clear success criteria
- Easy rollback: Changes can be reverted at the file level without affecting other work
When a feature requires changes across multiple files, decompose it into multiple tasks with proper dependencies, or use subtasks to organize related file changes under a parent task. Never bundle multiple file changes into a single task. Always practice atomic task decomposition and verification.