SDKs should be no more than the sum of the Domain Knowledge and of the chosen Programming Language.
Users should not be required to learn or compromise by adopting auxiliary classes or functions beyond this combined scope. Instead, users are expected to provide only the minimal information required for the SDK to achieve their goals. To support this, the SDK must provide immediate and precise guidance, ensuring users can identify and supply correct information at the earliest possible moment. The feedback loop must be tight, but non-invasive, proactively detecting and addressing issues at appropriate times during development.