Initial commit: Clean DSS implementation

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
This commit is contained in:
Digital Production Factory
2025-12-09 18:45:48 -03:00
commit 276ed71f31
884 changed files with 373737 additions and 0 deletions

233
admin-ui/TOKEN-REFERENCE.md Normal file
View File

@@ -0,0 +1,233 @@
# 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)`
#### 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)`
#### 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)`
#### 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)` to `var(--space-4)`
- **Section Margins**: `var(--space-6)` to `var(--space-8)`
- **Gaps in Flexbox**: `var(--space-2)` to `var(--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
```css
/* 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-motion` for slower animations
## Contributing
When adding new tokens:
1. Add to `design-tokens.json`
2. Update appropriate CSS layer file
3. Document in this file
4. Update `DESIGN-SYSTEM.md` if behavior changes
5. Test contrast ratios (colors)
6. Test responsiveness (sizing)