@easysimplecool/design-system
v0.2.49
Published
Design tokens as CSS custom properties, generated from Tokens Studio.
Readme
@easysimplecool/design-system
CSS custom properties generated from Figma via Tokens Studio + Style Dictionary.
Consumers get dist/variables.css (base --ds-* primitives) and dist/theme.css (multidimensional theme axes) — no React, no Style Dictionary.
Pipeline
- Edit tokens in Figma → Tokens Studio push → updates
src/tokens/*.json - GitHub Action runs Style Dictionary + theme builder → commits
dist/variables.cssanddist/theme.css→ publishes to npm - Apps import the CSS and use
var(--ds-…)/var(--sa-…)
Consume (CSS only)
Base tokens only
import "@easysimplecool/design-system/variables.css";Multidimensional theme switcher
Load both stylesheets (theme second). Axis options come from $themes.json — one CSS block per axis value (accent, type, canvas, elevation, radius, brand), not every permutation.
import "@easysimplecool/design-system/variables.css";
import "@easysimplecool/design-system/theme.css";Set axis attributes on <html> (e.g. data-accent, data-canvas, data-brand) from your app — see Second Act theme.js for a reference runtime.
Cursor / Claude Code / any Node project
npm install @easysimplecool/design-systemimport "@easysimplecool/design-system/variables.css";Then use tokens in your CSS or inline styles:
.button {
color: var(--ds-color-ink);
background: var(--ds-color-surface-secondary);
}Figma Make
This package ships CSS only — no React components. Figma Make generates UI and styles it with your tokens.
See Bring your design system package to a Make kit for kit assembly details.
1. Pin the package
Use the version from npm after each token publish (CI prints this in the workflow summary):
{
"dependencies": {
"@easysimplecool/design-system": "0.2.46"
}
}2. Import both stylesheets
import "@easysimplecool/design-system/variables.css";
import "@easysimplecool/design-system/theme.css";This package ships CSS only (no Button/Input components).
3. Add guidelines to the Make kit
Copy the Make kit translation guidelines from guidelines/ into the kit (start at Guidelines.md). They teach Make how to map --ds-* / --sa-* and data-* theme axes instead of default Tailwind/shadcn styling.
Set axis attributes on <html> (e.g. data-accent="teal", data-canvas="warm") — see Second Act theme.js for a reference runtime.
4. Assemble the Make kit
- In Figma Make → create or edit your Make kit
- Add the npm dependency (step 1)
- Copy the
guidelines/contents into kit guidelines, starting atGuidelines.md(step 3) - Optionally import your Figma Design library variables (complements the npm CSS)
- Publish the kit to your org or set as default for new Make files
After each token publish, update the kit dependency version and refresh guidelines from the new npm release.
Static sites / no package manager
Link the published file via jsDelivr (mirrors npm):
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@easysimplecool/design-system/dist/variables.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@easysimplecool/design-system/dist/theme.css">Pin a version for a frozen snapshot (replace with the version you want):
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@easysimplecool/[email protected]/dist/variables.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@easysimplecool/[email protected]/dist/theme.css">Local kitchen build (maintainers only)
npm install
npm run buildOutput: dist/variables.css + dist/theme.css. Consumer apps should not run this.
Folder structure
npm-test/
├── CLAUDE.md # agent entry point (Claude Code)
├── .cursor/rules/ # Cursor auto-rules (thin pointer to CLAUDE.md)
├── src/tokens/ # Tokens Studio source of truth (multifile + $themes.json)
├── dist/ # generated + committed CSS (ships to npm)
│ ├── variables.css # primitives + component vars
│ └── theme.css # multidimensional axis blocks
├── guidelines/ # CONSUMER docs (shipped in npm — Figma Make kit + apps)
│ ├── Guidelines.md # consumer entry point
│ ├── parametric-theming.md # the theming model
│ ├── setup.md, themes.md, anti-patterns.md
│ └── foundations/ # color, typography, radius-elevation, buttons
├── docs/ # CONTRIBUTOR docs (NOT shipped in npm)
│ ├── project.md # pipeline overview + repo tour
│ ├── scripts.md # build scripts reference
│ └── contributing.md # local workflow, tests, publishing
├── scripts/ # build + validation
├── test/ # schema, resolve, golden tests
├── style-dictionary.config.js
└── .github/workflows/sync-tokens.yml