Eddie uses a three-tier token architecture powered by Style Dictionary:
Raw values that define the palette. These are never used directly in components.
Token files live in packages/eddie-design-tokens/ and define base values like --ed-color-blue-500, --ed-font-size-16, and --ed-spacing-8.
Contextual tokens that map primitives to purposes. These are what you use in custom properties:
--ed-theme-color-background-default → the page background--ed-theme-color-content-default → primary text color--ed-theme-color-border-default → standard border color--ed-theme-color-content-accent-1 → primary accent colorComponent-specific tokens that override semantic tokens for individual components:
--ed-c-button-background → button background--ed-c-card-border-radius → card corner radiusIn CSS custom properties:
In Eddie component SCSS (using the size() function):
Token definitions live in packages/eddie-design-tokens/. The built CSS files are generated by Style Dictionary and are the authoritative token values. Full token documentation is also available in Storybook: