The principles this SDK is built and reviewed by. They are not a checklist: apply them with judgement.
- Minimalism — The SDK should do less, not more: prefer changes that add no API or option unless justified.
- Spec is the anchor — The spec decides; where it leaves a choice open, check what the other official SDKs do before making your own choice.
- Strict by default — Accept what the spec allows, and add no leniency for peers that break it.
- Backwards compatible — New features and changes arrive in backwards compatible ways; when a bug, a spec violation or an unsafe default forces a break, the changeset says what breaks.
- Small changes — Guard scope hard: a smaller change that lands beats a bigger one that doesn't, and small, independent pull requests can land in any order.
- The words are true — Changesets, docs and comments say what the code does.
- Test what users see — Prefer tests that cover the end-to-end usage a user would actually see, where sensible;
test/e2e/requirements.tslists those behaviours. - Brief comments — Keep inline comments to one line and JSDoc to the public API; the reasoning goes in the commit message or PR description.
Style belongs to Prettier, ESLint and the compiler.