What problem does it solve?
Core design principles help teams reduce cognitive load, reveal complexity progressively, and ensure safe abstractions when creating APIs, modules, or data structures.
Core Features & Use Cases
- Minimize Cognitive Load: Encourage clear separation of concerns, single responsibilities, and readable interfaces.
- Progressive Disclosure: Expose complexity gradually; keep public APIs minimal while making advanced features accessible.
- Make Illegal States Unrepresentable: Favor type-safe patterns and restrict invalid configurations at compile time.
- Abstractions Must Earn Their Keep: Prefer simple, well-justified abstractions that truly reduce cognitive load.
- Use Case: When designing a new API, start from a minimal surface and progressively add well-scoped features without leaking internal state.
Quick Start
Review and apply these principles when starting new APIs, modules, or data structures. See patterns.md for practical patterns and examples.