Context
The Extra Chill ecosystem has two design token layers:
- datamachine tokens (
--datamachine-*) — theme-agnostic, used by DM plugins
- extrachill theme tokens (
--card-background, --text-color, --accent, etc.) — theme-specific
Currently these live in their respective CSS files with no shared package. A @extrachill/tokens package would:
- Export CSS custom properties as importable values
- Provide TypeScript constants for use in JS/TS
- Be the single source of truth for spacing, colors, typography scales
Scope
- Extract existing tokens from
extrachill-theme/root.css and data-machine/root.css
- Publish as
@extrachill/tokens on npm
- Provide CSS, SCSS, and JS/TS entry points
Open question
Should this be a separate package or a sub-export of @extrachill/components? Separate package keeps the dependency graph cleaner for consumers that only need tokens (e.g., native apps).
Context
The Extra Chill ecosystem has two design token layers:
--datamachine-*) — theme-agnostic, used by DM plugins--card-background,--text-color,--accent, etc.) — theme-specificCurrently these live in their respective CSS files with no shared package. A
@extrachill/tokenspackage would:Scope
extrachill-theme/root.cssanddata-machine/root.css@extrachill/tokenson npmOpen question
Should this be a separate package or a sub-export of
@extrachill/components? Separate package keeps the dependency graph cleaner for consumers that only need tokens (e.g., native apps).