Skip to main content

Palette (Design System)

Palette is the design system management service for the Shift Platform. It provides a structured catalog for design tokens, components, patterns, standards, and accessibility rules. Export tokens as CSS, JSON, or Tailwind config. Full-text search across all collections.

Palette admin showing design system themes with app previews

What It Does

  • Design Tokens — Register and manage color, typography, spacing, and other design tokens with CSS variable and Tailwind mappings.
  • Components — Define component specifications with props, variants, examples, and linked tokens/a11y rules.
  • Patterns — Document UI patterns with problem/solution pairs, step-by-step guides, and do/don't lists.
  • Standards — Define brand and design standards with categorized rules.
  • Accessibility Rules — Catalog WCAG-linked a11y rules with severity levels and component associations.
  • Export — Export tokens as CSS custom properties, JSON theme objects, or Tailwind configuration.
  • Full-Text Search — Search across all five collections by name, description, or tags.

Key Concepts

ConceptDescription
TokenA design primitive (color, spacing, typography, etc.) with optional dark mode values.
ComponentA UI component definition with props, variants, and usage examples.
PatternA reusable UI pattern documenting a problem/solution approach.
StandardA brand or design standard with categorized rules and guidelines.
A11y RuleAn accessibility requirement with WCAG references and severity levels.

Configuration

SettingValue
Storage Directory.palette/
API Dev Port4006
Web Dev Port4106
Gateway Prefix/api/v1/palette/*

Getting Started

Create your first design token:

shift-cli palette tokens add --name "primary-blue" --category color --value "#0066FF"

Or via the API:

curl -X POST http://localhost:3000/api/v1/palette/tokens \
-H "Content-Type: application/json" \
-d '{"name": "primary-blue", "category": "color", "value": "#0066FF"}'

Then explore the design system:

shift-cli palette tokens list
shift-cli palette components list
shift-cli palette search "blue"
shift-cli palette export --format css