Build the Operator Uplift shared UI component library. Check existing repo first. Design tokens: #E77630 primary, #F59E0B secondary, #050508 bg, white text on dark Publish as: @operatoruplift/ui (npm package) Components:
- PRIMITIVES — Button (primary/outline/ghost/danger), Badge, Card (default/glass), Input, Toggle, Select, Tooltip, Toast
- LAYOUT — Sidebar, Header, PageWrapper, Modal
- DATA — Table, StatCard, ProgressBar, Skeleton, EmptyState
- AGENT — AgentCard, RiskBadge, SessionIndicator, PermissionChip, ModelSelector, ChatBubble
- EFFECTS — SpotlightCard, GlowButton, FadeIn, DotGlobe
Setup: Storybook 8, Vitest, tsconfig with declaration files, barrel export from src/index.ts
All components must work in Next.js (SSR) and Tauri (CSR). "use client" where needed.
Tech: React, TypeScript, Tailwind CSS 4
After every change, run
npx tsc --noEmitandnpm run storybook -- --smoke-test.