Migrated from design-system-swarm with fresh git history.
Old project history preserved in /home/overbits/apps/design-system-swarm
Core components:
- MCP Server (Python FastAPI with mcp 1.23.1)
- Claude Plugin (agents, commands, skills, strategies, hooks, core)
- DSS Backend (dss-mvp1 - token translation, Figma sync)
- Admin UI (Node.js/React)
- Server (Node.js/Express)
- Storybook integration (dss-mvp1/.storybook)
Self-contained configuration:
- All paths relative or use DSS_BASE_PATH=/home/overbits/dss
- PYTHONPATH configured for dss-mvp1 and dss-claude-plugin
- .env file with all configuration
- Claude plugin uses ${CLAUDE_PLUGIN_ROOT} for portability
Migration completed: $(date)
🤖 Clean migration with full functionality preserved
6.9 KiB
6.9 KiB
Design Token Reference
Complete reference of all design tokens used in the DSS Admin UI.
Color Tokens
Primary
- Name:
--primary/--color-primary - Value:
oklch(0.65 0.18 250) - Usage: Main brand color for actions, highlights, active states
- Figma: Primary component in color library
Secondary
- Name:
--secondary/--color-secondary - Value:
oklch(0.60 0.12 120) - Usage: Supporting actions, secondary buttons
- Figma: Secondary component in color library
Accent
- Name:
--accent/--color-accent - Value:
oklch(0.70 0.20 40) - Usage: Highlight elements, emphasis
- Figma: Accent component in color library
Semantic Colors
Destructive
- Name:
--destructive/--color-destructive - Value:
oklch(0.63 0.25 30) - Usage: Delete, remove, error actions
- States:
- Hover:
oklch(0.53 0.25 30) - Light:
oklch(0.88 0.10 30)
- Hover:
Success
- Name:
--success/--color-success - Value:
oklch(0.65 0.18 140) - Usage: Positive feedback, successful actions
- States:
- Hover:
oklch(0.55 0.18 140) - Light:
oklch(0.86 0.10 140)
- Hover:
Warning
- Name:
--warning/--color-warning - Value:
oklch(0.68 0.22 60) - Usage: Caution, attention-needed states
- States:
- Hover:
oklch(0.58 0.22 60) - Light:
oklch(0.88 0.12 60)
- Hover:
Info
- Name:
--info/--color-info - Value:
oklch(0.62 0.18 230) - Usage: Informational messages, neutral feedback
Neutral/Grayscale
Text Colors
--foreground:oklch(0.20 0.02 280)- Primary text--foreground-secondary:oklch(0.40 0.02 280)- Secondary text--muted-foreground:oklch(0.55 0.02 280)- Muted text, disabled states
Background & Surface
--background:oklch(0.98 0.01 280)- Page background--surface:oklch(0.95 0.01 280)- Section background--surface-secondary:oklch(0.92 0.01 280)- Secondary surface--muted:oklch(0.88 0.01 280)- Muted background (hover states)--card:oklch(0.98 0.01 280)- Card backgrounds
UI Elements
--border:oklch(0.82 0.01 280)- Border color--ring:oklch(0.65 0.18 250)- Focus ring (uses primary)--input:oklch(0.95 0.01 280)- Input background
Dark Mode Overrides
When prefers-color-scheme: dark or [data-theme="dark"]:
--foreground:oklch(0.92 0.02 280)--background:oklch(0.12 0.02 280)--surface:oklch(0.15 0.02 280)--border:oklch(0.30 0.02 280)
Spacing Scale
All values use a 4px base unit for predictable, modular spacing.
| Name | Value | Pixels | Usage |
|---|---|---|---|
--space-0 |
0 | 0px | No spacing |
--space-1 |
0.25rem | 4px | Minimal gaps |
--space-2 |
0.5rem | 8px | Small spacing |
--space-3 |
0.75rem | 12px | Component padding |
--space-4 |
1rem | 16px | Standard padding |
--space-5 |
1.25rem | 20px | Large spacing |
--space-6 |
1.5rem | 24px | Section margin |
--space-7 |
1.75rem | 28px | Large gap |
--space-8 |
2rem | 32px | Extra large spacing |
Spacing Patterns
- Component Padding:
var(--space-3)tovar(--space-4) - Section Margins:
var(--space-6)tovar(--space-8) - Gaps in Flexbox:
var(--space-2)tovar(--space-4) - Indentation:
var(--space-4)per level
Typography
Font Families
--font-sans: System font stack (San Francisco, Segoe UI, Roboto, etc.)--font-mono: Monospace font (Monaco, Courier New)
Font Sizes
All sizes scale responsively based on viewport.
| Name | Value | Pixels | Usage |
|---|---|---|---|
--text-xs |
0.75rem | 12px | Labels, captions, help text |
--text-sm |
0.875rem | 14px | Secondary text, small UI |
--text-base |
1rem | 16px | Body text, default |
--text-lg |
1.125rem | 18px | Subheadings |
--text-xl |
1.25rem | 20px | Section headers |
--text-2xl |
1.5rem | 24px | Page titles |
Font Weights
--font-400: 400 (Normal) - Body text--font-500: 500 (Medium) - Buttons, labels--font-600: 600 (Semibold) - Section headers--font-700: 700 (Bold) - Page titles
Line Heights
--line-height-tight: 1.2 - Headings--line-height-normal: 1.5 - Body text--line-height-relaxed: 1.75 - Long-form content--line-height-loose: 2 - Very relaxed spacing
Border Radius
| Name | Value | Usage |
|---|---|---|
--radius-none |
0 | Sharp corners |
--radius-sm |
0.25rem (4px) | Small elements, badges |
--radius |
0.375rem (6px) | Buttons, inputs, default |
--radius-md |
0.5rem (8px) | Cards, panels |
--radius-lg |
0.75rem (12px) | Large containers |
--radius-full |
9999px | Completely round |
Shadows
Used for elevation and depth perception.
| Name | Value | Usage |
|---|---|---|
--shadow-sm |
0 1px 2px rgba(0, 0, 0, 0.05) |
Subtle elevation |
--shadow |
0 1px 3px rgba(0, 0, 0, 0.1), ... |
Default shadow |
--shadow-md |
0 4px 6px -1px rgba(0, 0, 0, 0.1), ... |
Medium elevation |
--shadow-lg |
0 10px 15px -3px rgba(0, 0, 0, 0.1), ... |
Large elevation |
Animation
Durations
--duration-fast: 150ms - Quick interactions (hover, micro-interactions)--duration-normal: 200ms - Standard transitions--duration-slow: 300ms - Slow, deliberate animations
Easing Functions
--ease-default:cubic-bezier(0.4, 0, 0.2, 1)- Standard easing--ease-in:cubic-bezier(0.4, 0, 1, 1)- Ease in (start slow)--ease-out:cubic-bezier(0, 0, 0.2, 1)- Ease out (end slow)--ease-in-out:cubic-bezier(0.4, 0, 0.2, 1)- Ease both directions
Animation Examples
/* Quick hover state */
button {
transition: background var(--duration-fast) var(--ease-default);
}
/* Smooth panel open */
.panel {
transition: max-height var(--duration-normal) var(--ease-default);
}
/* Slower meaningful animation */
.modal {
animation: slideUp var(--duration-slow) var(--ease-out);
}
Color Space Notes
All colors are defined in OKLCH color space:
- Better perceptual uniformity than HSL
- Easier to adjust lightness independently
- Better for accessible color contrast
- Format:
oklch(lightness saturation hue)- Lightness: 0-1 (0 = black, 1 = white)
- Saturation: 0-0.4 (higher = more vibrant)
- Hue: 0-360 (angle on color wheel)
Accessibility Considerations
Color Contrast
- Text on
--background: ✓ WCAG AAA - Text on
--surface: ✓ WCAG AAA - Primary action on muted: ✓ WCAG AA
Focus Indicators
--ring: 2px solid, 2px offset- Visible on all interactive elements
- Never removed without replacement
Motion
--duration-fast: Imperceptible to most- Consider
prefers-reduced-motionfor slower animations
Contributing
When adding new tokens:
- Add to
design-tokens.json - Update appropriate CSS layer file
- Document in this file
- Update
DESIGN-SYSTEM.mdif behavior changes - Test contrast ratios (colors)
- Test responsiveness (sizing)