Discussion about this post

User's avatar
Jesús Suárez's avatar

Hey Nathan, thanks for the post! I think this framing is very useful. I have a question about the boundaries of this approach.

Seems like schemas could deterministically guarantee things like teams using only the available variants, which is terribly useful. What it can't tell us, as far as I can see, is whether they picked the right component/variant for a given use case. The rules governing such choices still belong in the design system: "use this component for this type of use case". But most of the times these can't be automatically verified because they would need extra application context that doesn't exist when the contract is written.

So, in your mental model, are decisions like these deliberately outside what a contract arbitrates? And if they are, do they still live somewhere in the design system, in a less verifiable form?

Apurv Ray's avatar

Hey Nathan, this is a great primer for component contracts. Would you be able to share an example of a component contract for a publicly available (documentation) design system so that we can compare the component details and its contract side by side. It would really help us understand the concept better

4 more comments...

No posts

Ready for more?