MyClaude Docs
MyClaude Docs

Getting Started

Buyers

Creators

CLI

API

Agent Integration

Developers

ContributingSelf-HostingWebhooks & IntegrationDesign System ReferenceData Model ReferenceAdmin Panel

Security

Legal

Developers

Design System Reference

Complete reference for MyClaude's design system: color tokens, typography scale, surfaces, glow shadows, motion, z-index, spacing, component inventory, and the token-only enforcement policy.

ReferenceUpdated 2026-03-26

MyClaude's design system uses OKLCH color tokens, a Minor Third typography scale, glow-only shadows, step-based motion, and a strict token-only policy that prohibits all inline values.

Philosophy

Three principles govern every pixel:

  1. Dark terminal aesthetic. The UI is a hacker's terminal, not a SaaS dashboard. Warm terracotta primary, warm neutral backgrounds, phosphor-tinted category colors. Dark-only for v1.
  2. Glow, not shadow. No traditional box-shadow elevation. Depth is communicated through luminous glow effects that reinforce the terminal identity.
  3. Token-only enforcement. Zero inline colors, font sizes, or shadows in component code. Every visual property references a design token. This is enforced by code review rules, not just convention.

All color values use OKLCH color space. All tokens are defined in globals.css via @theme inline.

Color tokens

Semantic colors

TokenTailwind classPurpose
--backgroundbg-backgroundPage background (L0 surface)
--foregroundtext-foregroundPrimary text
--cardbg-cardCard surface (L1)
--card-foregroundtext-card-foregroundText on cards
--popoverbg-popoverPopover/dropdown surface (L2)
--popover-foregroundtext-popover-foregroundText in popovers
--primarybg-primary, text-primaryWarm terracotta — brand color
--primary-foregroundtext-primary-foregroundText on primary backgrounds
--secondarybg-secondarySecondary surface
--secondary-foregroundtext-secondary-foregroundText on secondary
--mutedbg-mutedMuted/disabled surface
--muted-foregroundtext-muted-foregroundMuted text, metadata
--accentbg-accentAccent surface (hover states)
--accent-foregroundtext-accent-foregroundText on accent
--destructivebg-destructive, text-destructiveError/danger actions
--borderborder-borderAll borders
--inputbg-inputInput field backgrounds
--ringring-ringFocus rings

Phosphor category palette

Each product category has a dedicated color for instant visual identification.

TokenTailwind classCategory
--vault-greentext-vault-greenSkills
--vault-cyantext-vault-cyanSquads
--vault-ambertext-vault-amberAgents
--vault-violettext-vault-violetWorkflows
--vault-magentatext-vault-magentaDesign Systems
--vault-goldtext-vault-goldCLAUDE.md
--vault-bluetext-vault-bluePrompts
--vault-limetext-vault-limeApplications
--vault-rosetext-vault-roseSystems

The --vault-green-muted variant provides a 15% opacity version for background tints.

Status colors

TokenTailwind classPurpose
--vault-successtext-vault-successSuccess states (maps to green)
--vault-warningtext-vault-warningWarnings (maps to gold)
--vault-errortext-vault-errorErrors (maps to destructive)
--vault-infotext-vault-infoInformational (maps to blue)

Chart colors

Five chart colors (--chart-1 through --chart-5) are provided for data visualization. chart-1 maps to primary terracotta.

Typography scale

Font: Geist Mono (primary), Geist Sans (fallback). Scale follows Minor Third ratio (1.2) from a 14px base.

LevelClassSizeLine heightLetter spacingWeightUse
Displaytext-xl / text-2xl + font-semibold20-24px1.2-0.02em600Hero titles, page titles
Headingtext-sm + font-semibold14px1.3-0.01em600Section titles, card titles
Bodytext-xs12px1.5normal400Content, descriptions, nav, buttons
Captiontext-micro10px1.40.02em400Metadata, timestamps
Systemtext-system10px1.150.08em500Labels, tags, table headers (uppercase)
Nanotext-nano8px1.20.04em400Fine print, version numbers

The text-mini utility (11px, lh 1.4, 0.01em tracking) sits between Body and Caption for edge cases.

Rule: Navigation chrome and buttons always use text-xs (Body), never Caption. Caption is for metadata only.

Custom utilities

Defined in globals.css via @utility:

UtilityOutput
text-nanofont-size: 0.5rem; line-height: 1.2; letter-spacing: 0.04em
text-microfont-size: 0.625rem; line-height: 1.4; letter-spacing: 0.02em
text-minifont-size: 0.6875rem; line-height: 1.4; letter-spacing: 0.01em
text-systemfont-size: 0.625rem; line-height: 1.15; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 500
safe-bottompadding-bottom: env(safe-area-inset-bottom, 0)
scrollbar-noneHides scrollbar across all browsers
animate-blinkTerminal cursor blink (1s step-end infinite)

Never manually compose text-micro uppercase tracking-wider — use text-system instead.

Spacing system

Tailwind v4 built-in on a 4px base grid. No custom spacing tokens.

ClassValueUse
p-1, gap-1, m-14pxTight internal padding
p-2, gap-2, m-28pxStandard internal padding
p-3, gap-3, m-312pxCard content padding
p-4, gap-4, m-416pxSection padding
p-6, gap-6, m-624pxLarge section gaps
p-8, gap-8, m-832pxPage-level spacing

All Tailwind spacing utilities are available. Do not create custom --space-* tokens.

Surface hierarchy

Five surface levels from darkest (L0) to lightest (L4). Each level adds approximately +4 lightness in OKLCH.

LevelTokenTailwind classOKLCH lightness (dark)Use
L0--backgroundbg-background0.145Page background
L1--cardbg-card0.185Cards, panels
L2--popover / --secondarybg-popover, bg-secondary0.225Popovers, dropdowns, muted areas
L3--accentbg-accent0.265Hover states, active items
L4(border)border-border0.265Borders, dividers

Surfaces never use opacity for layering — each level is a distinct opaque color.

Shadow and glow system

No traditional box-shadow elevation. All depth is communicated through glow.

Glow classes

ClassEffectUse
.glow-boxbox-shadow: var(--glow-sm)Subtle container emphasis
.glow-primarytext-shadow: var(--glow-text)Terracotta text glow
.glow-greentext-shadow with vault-greenStatus/success text glow

Glow tokens

TokenSpreadOpacity
--glow-sm8px12%
--glow-md16px15%
--glow-lg24px18%
--glow-text6px35%

The Black (AMOLED) theme intensifies glow values for high-contrast displays.

Motion tokens

Terminal-native motion: instant snaps or barely perceptible transitions. No elastic easing, no spring physics.

TokenTailwind classValueUse
--transition-duration-instantduration-instant0msImmediate state change
--transition-duration-snapduration-snap75msHover/focus feedback
--transition-duration-fastduration-fast100msTransitions, reveals
--transition-duration-normalduration-normal150msComplex transitions
--transition-duration-slowduration-slow300msLayout shifts (rare)
--transition-timing-function-terminalease-terminalsteps(1)Binary on/off (cursor blink)
--transition-timing-function-snapease-snapcubic-bezier(0.2, 0, 0, 1)Fast-in, immediate-out

Rule: Prefer duration-snap + ease-snap for most interactions. Use ease-terminal only for binary state toggles.

Z-index scale

Seven named layers. Never use arbitrary z-[...] values.

TokenTailwind classValueUse
--z-index-basez-base0Default stacking
--z-index-raisedz-raised1Cards above siblings
--z-index-dropdownz-dropdown10Dropdowns, menus
--z-index-stickyz-sticky20Sticky headers, nav
--z-index-overlayz-overlay30Overlay backgrounds
--z-index-modalz-modal40Modal dialogs
--z-index-toastz-toast50Toast notifications
--z-index-maxz-max9999Emergency override only

Border radius

Terminal aesthetic: barely-rounded rectangles. Base --radius is 0.375rem (6px).

TokenTailwind classComputed value
--radius-smrounded-sm3.6px
--radius-mdrounded-md4.8px
--radius-lgrounded-lg6px (base)
--radius-xlrounded-xl8.4px
--radius-2xlrounded-2xl10.8px
--radius-3xlrounded-3xl13.2px
--radius-4xlrounded-4xl15.6px

Component inventory

Atoms (20 components)

Small UI primitives. Single responsibility, no business logic.

ComponentFilePurpose
AsciiTextascii-text.tsxASCII art text rendering
BreadcrumbNavbreadcrumb-nav.tsxNavigation breadcrumbs
ClaudeCodeLogoclaude-code-logo.tsxBrand logo mark
ClaudeMascotclaude-mascot.tsxStatic mascot illustration
ClaudeMascotAnimatedclaude-mascot-animated.tsxAnimated mascot
LevelBadgelevel-badge.tsxUser level indicator
McsBadgemcs-badge.tsxMCS certification badge
PriceTagprice-tag.tsxPrice display (free/paid)
RankBadgerank-badge.tsxUser rank display
RoleBadgerole-badge.tsxUser role indicator
StarRatingstar-rating.tsx1-5 star display
StatCounterstat-counter.tsxNumeric stat with label
StatusDotstatus-dot.tsxStatus indicator dot
ThemeProvidertheme-provider.tsxTheme context wrapper
ThemeSwitchertheme-switcher.tsxDark/light/black toggle
VaultBadgevault-badge.tsxBranded badge component
VaultLogovault-logo.tsxFull logo with wordmark
VaultTagvault-tag.tsxCategory/tag pill
VerifyEmailBannerverify-email-banner.tsxEmail verification prompt
XpBarxp-bar.tsxXP progress bar

Molecules (12 components)

Composed from atoms. Handle local interaction state.

ComponentFilePurpose
AuthModalauth-modal.tsxLogin/register modal
CategoryFiltercategory-filter.tsxCategory selection bar
MarkdownRenderermarkdown-renderer.tsxMarkdown to HTML
MobileProductListmobile-product-list.tsxMobile product listing
NavBarnav-bar.tsxMain navigation bar
ProductCardproduct-card.tsxProduct preview card
ReportDialogreport-dialog.tsxContent report form
ReviewAggregatereview-aggregate.tsxRating summary display
ReviewFormreview-form.tsxWrite a review
ReviewListreview-list.tsxReview listing
SearchBarsearch-bar.tsxSearch input with filters
UserCarduser-card.tsxUser preview card

Organisms (12 components)

Complex sections. May fetch data or manage significant state.

ComponentFilePurpose
AskSellerDialogask-seller-dialog.tsxBuyer-seller messaging
ExploreClientexplore-client.tsxExplore page client shell
HeroSectionhero-section.tsxLanding page hero
MessagesPanelmessages-panel.tsxConversation message list
ProductActionsproduct-actions.tsxBuy/download/like bar
ProductContentproduct-content.tsxProduct page body
ProductGridproduct-grid.tsxGrid layout for products
ProductTableproduct-table.tsxTable layout for products
ProfileClientprofile-client.tsxProfile page client shell
ProfileHeaderprofile-header.tsxUser profile header
PurchasesListpurchases-list.tsxUser purchase history
RelatedProductsrelated-products.tsxRelated product suggestions

UI (shadcn/ui)

The components/ui/ directory contains unmodified shadcn/ui components (base-nova theme). These are never edited directly.

Token-only policy

What is prohibited in component code

PatternExampleWhy
Inline colorstext-[#d97757], bg-[oklch(...)]Use semantic tokens (text-primary)
Inline font-sizetext-[14px], text-[0.875rem]Use scale classes (text-sm)
Inline spacingp-[13px], m-[7px]Use 4px grid (p-3, m-2)
Inline shadowsshadow-[0_0_8px_...]Use glow classes (.glow-box)
Inline z-indexz-[100]Use z-scale (z-modal)
Inline border-radiusrounded-[8px]Use radius tokens (rounded-lg)
Manual text-systemtext-micro uppercase tracking-widerUse text-system utility

What is permitted

  • All Tailwind built-in classes (text-xs, p-4, bg-primary, rounded-lg)
  • Custom @utility classes (text-nano, text-micro, text-mini, text-system)
  • Theme tokens (text-muted-foreground, bg-card, border-border, text-primary)
  • Glow classes (.glow-box, .glow-primary, .glow-green)
  • animate-blink for terminal cursor

Exceptions (require inline comment)

  • SVG width/height attributes (dimensional, not styling)
  • Animation @keyframes internal to globals.css
  • shadcn/ui components in components/ui/ (never edited)

Where tokens are defined

All design tokens live in src/app/globals.css inside the @theme inline block. Theme variants (.dark, .light, .black) override CSS custom properties to swap palettes without changing component code.

Webhooks & Integration

Reference for Stripe webhook events, payload handling, idempotency, rate limits across all 26 API routes, and integration points for CLI and MCP.

Data Model Reference

Complete Firestore data model for MyClaude: 13 collections, all fields, subcollections, indexes, security rules, and data flow diagrams.

On this page

PhilosophyColor tokensSemantic colorsPhosphor category paletteStatus colorsChart colorsTypography scaleCustom utilitiesSpacing systemSurface hierarchyShadow and glow systemGlow classesGlow tokensMotion tokensZ-index scaleBorder radiusComponent inventoryAtoms (20 components)Molecules (12 components)Organisms (12 components)UI (shadcn/ui)Token-only policyWhat is prohibited in component codeWhat is permittedExceptions (require inline comment)Where tokens are defined