Enterprise
by Default
TypeScript-first. CEM-driven. Token-powered.
Not enterprise as an afterthought. Every architectural choice -- from strict TypeScript to W3C design tokens to the Custom Elements Manifest pipeline -- was made to serve teams building at scale.
100% TypeScript. Zero Exceptions.
Strict mode is not optional. Every component, every utility, every test is fully typed. The compiler catches bugs before they reach production.
"strict": true -- all strict checks enabled"noUncheckedIndexedAccess": true -- arrays can be undefined"noImplicitOverride": true -- explicit override keyword"exactOptionalPropertyTypes": true -- undefined vs missing"useDefineForClassFields": true -- Lit 3.x class fieldsany types in the entire codebaseclass MyButton extends LitElement { @property() variant: any; // What values? @property() size; // What type?? handleClick(e) { // e is implicitly 'any' this.dispatchEvent(new CustomEvent('click')); } }
type ButtonVariant = 'primary' | 'secondary' | 'danger'; type ButtonSize = 'sm' | 'md' | 'lg'; class WcButton extends LitElement { /** Button visual style */ @property({ reflect: true }) variant: ButtonVariant = 'primary'; /** Button size */ @property({ reflect: true }) size: ButtonSize = 'md'; }
The CEM Pipeline
Write JSDoc once. The Custom Elements Manifest generates everything else -- Storybook controls, API docs, IDE hints, and Drupal tooling.
Three-Tier Token Architecture
W3C DTCG-compliant design tokens flow from global primitives through brand decisions to component-specific values. Change one tier, everything downstream updates.
Automated at Every Layer
Six quality gates that run on every commit. No component ships without passing all of them.
Write Once, Publish Everywhere
JSDoc annotations in your component source are the single input. Four documentation outputs are generated automatically -- no manual sync, no stale docs, no drift.