What problem does it solve?
It prevents wasted engineering effort by forcing a clear, agreed design for a requested capability before any implementation begins, reducing the risk of incorrect APIs, broken data flows, and late discovery of edge cases.
Core Features & Use Cases
- Restate and clarify requirements: Identify the intended users, desired outcomes, out-of-scope boundaries, and success criteria so the build targets the right problem.
- Specify impacted components and API shape: Define what changes, how inputs are validated, what outputs and error cases look like, and what backward-compatibility expectations exist.
- Design data flow, edge cases, and mitigations: Map where new state comes from and goes, enumerate failure modes and boundary conditions, and list risks with mitigations for safer, more predictable delivery.
Quick Start
Use design-feature to produce a one-page design (feature name, outcome, API, data flow, edge cases, alternatives, risks, affected components, and testing strategy) for the requested change before opening any source files to edit.