@nurix/etna 0.19.11 → 0.19.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/harness-index.json +1 -1
- package/data/harnesses/code/harness.json +1 -1
- package/data/harnesses/code/rules/frontend.md +5 -5
- package/data/harnesses/code/skills/design/SKILL.md +70 -50
- package/data/harnesses/code/skills/design/components/charts.md +76 -0
- package/data/harnesses/code/skills/design/components/collections.md +132 -0
- package/data/harnesses/code/skills/design/components/feedback.md +47 -0
- package/data/harnesses/code/skills/design/components/hooks.md +35 -0
- package/data/harnesses/code/skills/design/components/index.md +143 -0
- package/data/harnesses/code/skills/design/components/inputs.md +327 -0
- package/data/harnesses/code/skills/design/components/layout.md +52 -0
- package/data/harnesses/code/skills/design/components/media.md +66 -0
- package/data/harnesses/code/skills/design/components/motion.md +82 -0
- package/data/harnesses/code/skills/design/components/navigation.md +29 -0
- package/data/harnesses/code/skills/design/components/overlays.md +72 -0
- package/data/harnesses/code/skills/design/components/setup.md +40 -0
- package/data/harnesses/code/skills/design/components/typography.md +46 -0
- package/data/harnesses/code/skills/design/components/utils.md +37 -0
- package/data/harnesses/code/skills/design/data/blueprints/browse.md +38 -0
- package/data/harnesses/code/skills/design/data/blueprints/creation-flow.md +38 -0
- package/data/harnesses/code/skills/design/data/blueprints/dashboard.md +38 -0
- package/data/harnesses/code/skills/design/data/blueprints/grid.md +38 -0
- package/data/harnesses/code/skills/design/data/blueprints/queue.md +38 -0
- package/data/harnesses/code/skills/design/data/blueprints/record-detail.md +38 -0
- package/data/harnesses/code/skills/design/data/blueprints/settings.md +38 -0
- package/data/harnesses/code/skills/design/data/chart-styling/Readme.md +33 -0
- package/data/harnesses/code/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/datadog-classic-six-aligned.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/econ-red-rule-horizontal.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/material-rounded-explicit-label.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/plot-currentcolor-inherit.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/saas-gradient-glow-area.md +19 -0
- package/data/harnesses/code/skills/design/data/chart-styling/shadcn-composable-css-vars.md +19 -0
- package/data/harnesses/code/skills/design/data/charts/census.csv +58 -0
- package/data/harnesses/code/skills/design/data/checklists/browse.md +21 -0
- package/data/harnesses/code/skills/design/data/checklists/creation-flow.md +20 -0
- package/data/harnesses/code/skills/design/data/checklists/dashboard.md +21 -0
- package/data/harnesses/code/skills/design/data/checklists/grid.md +21 -0
- package/data/harnesses/code/skills/design/data/checklists/queue.md +21 -0
- package/data/harnesses/code/skills/design/data/checklists/record-detail.md +21 -0
- package/data/harnesses/code/skills/design/data/checklists/settings.md +21 -0
- package/data/harnesses/code/skills/design/data/chrome/board-column.md +68 -0
- package/data/harnesses/code/skills/design/data/chrome/data-table.md +63 -0
- package/data/harnesses/code/skills/design/data/chrome/side-panel.md +60 -0
- package/data/harnesses/code/skills/design/data/chrome/sidebar.md +78 -0
- package/data/harnesses/code/skills/design/data/chrome/stat-cards.md +62 -0
- package/data/harnesses/code/skills/design/data/chrome/topbar.md +65 -0
- package/data/harnesses/code/skills/design/data/color/accent-presets.md +90 -0
- package/data/harnesses/code/skills/design/data/color/aesop-earth-mute.md +91 -0
- package/data/harnesses/code/skills/design/data/color/arc-peach-play.md +90 -0
- package/data/harnesses/code/skills/design/data/color/attio-hunter-teal.md +90 -0
- package/data/harnesses/code/skills/design/data/color/carbon-cyan-signal.md +90 -0
- package/data/harnesses/code/skills/design/data/color/clay-parchment.md +90 -0
- package/data/harnesses/code/skills/design/data/color/duolingo-feather.md +90 -0
- package/data/harnesses/code/skills/design/data/color/geist-mono-signal.md +90 -0
- package/data/harnesses/code/skills/design/data/color/linear-graphite-violet.md +90 -0
- package/data/harnesses/code/skills/design/data/color/mercury-onyx-cobalt.md +90 -0
- package/data/harnesses/code/skills/design/data/color/notion-paper-ink.md +90 -0
- package/data/harnesses/code/skills/design/data/color/radix-slate-iris.md +90 -0
- package/data/harnesses/code/skills/design/data/color/raycast-void-spectrum.md +90 -0
- package/data/harnesses/code/skills/design/data/color/spectrum-celery-fuchsia.md +90 -0
- package/data/harnesses/code/skills/design/data/color/stripe-blurple-ruby.md +90 -0
- package/data/harnesses/code/skills/design/data/color/superhuman-cod-picton.md +89 -0
- package/data/harnesses/code/skills/design/data/corpora/operations-review/companies.csv +15 -0
- package/data/harnesses/code/skills/design/data/corpora/operations-review/corpus.md +87 -0
- package/data/harnesses/code/skills/design/data/corpora/operations-review/people.csv +25 -0
- package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/companies.csv +15 -0
- package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/corpus.md +83 -0
- package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/people.csv +25 -0
- package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/companies.csv +15 -0
- package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/corpus.md +89 -0
- package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/people.csv +25 -0
- package/data/harnesses/code/skills/design/data/elevation/ant-design-directional-shadow.md +19 -0
- package/data/harnesses/code/skills/design/data/elevation/apple-liquid-glass-material.md +18 -0
- package/data/harnesses/code/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +20 -0
- package/data/harnesses/code/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +20 -0
- package/data/harnesses/code/skills/design/data/elevation/github-primer-sparing-shadow.md +19 -0
- package/data/harnesses/code/skills/design/data/elevation/ibm-carbon-layer-and-border.md +19 -0
- package/data/harnesses/code/skills/design/data/elevation/linear-dark-surface-ladder.md +17 -0
- package/data/harnesses/code/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +19 -0
- package/data/harnesses/code/skills/design/data/elevation/material-3-tonal-elevation.md +21 -0
- package/data/harnesses/code/skills/design/data/elevation/neobrutalist-hard-offset.md +19 -0
- package/data/harnesses/code/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +18 -0
- package/data/harnesses/code/skills/design/data/elevation/notion-warm-minimal-hairline.md +17 -0
- package/data/harnesses/code/skills/design/data/elevation/polaris-elevation-inset-bevel.md +21 -0
- package/data/harnesses/code/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +19 -0
- package/data/harnesses/code/skills/design/data/elevation/shadcn-neutral-derived-radius.md +19 -0
- package/data/harnesses/code/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +18 -0
- package/data/harnesses/code/skills/design/data/elevation/tailwind-default-utility-scale.md +19 -0
- package/data/harnesses/code/skills/design/data/elevation/vercel-geist-shadow-as-border.md +20 -0
- package/data/harnesses/code/skills/design/data/gradients/amber-attention-fill.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/cloud-shadow-wash.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/confident-lavender-wash.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/ember-ship-flare.md +18 -0
- package/data/harnesses/code/skills/design/data/gradients/full-metal-wash.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/indigo-ruby-cta-band.md +18 -0
- package/data/harnesses/code/skills/design/data/gradients/linear-graphite-wash.md +18 -0
- package/data/harnesses/code/skills/design/data/gradients/marble-quartz-wash.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/midnight-aurora-panel.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/neutral-volume-fill.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/revenue-uptrend-fill.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/risk-decline-fill.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/signal-blue-develop.md +18 -0
- package/data/harnesses/code/skills/design/data/gradients/slate-mist-wash.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/stripe-atmosphere-mesh.md +18 -0
- package/data/harnesses/code/skills/design/data/gradients/teal-signal-accent.md +16 -0
- package/data/harnesses/code/skills/design/data/gradients/violet-magenta-promo.md +16 -0
- package/data/harnesses/code/skills/design/data/iconography.md +199 -0
- package/data/harnesses/code/skills/design/data/motion/accordion-expand.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/destructive-hold-confirm.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/drag-dismiss-momentum.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/empty-state-arrive.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/hover-lift.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/modal-center-arrive.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/number-ticker-roll.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/onboarding-bounce.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/panel-slide.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/press-feedback.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/progress-linear-loop.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/route-crossfade.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/rubber-band-overscroll.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/skeleton-shimmer.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/stagger-arrive.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/toast-enter-stack.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/tooltip-chain-instant.md +18 -0
- package/data/harnesses/code/skills/design/data/motion/trigger-anchored-reveal.md +18 -0
- package/data/harnesses/code/skills/design/data/tells.csv +34 -0
- package/data/harnesses/code/skills/design/data/typography/anton-work-sans.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/archivo-black-archivo.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/bitter-karla.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/dm-serif-dm-sans.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/fraunces-inter.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/geist-geist-mono.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/hubot-sans-mona-sans.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/instrument-serif-instrument-sans.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/inter-operator-single-family.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/libre-baskerville-libre-franklin.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/newsreader-inter.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/playfair-display-source-sans.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/public-sans-operator-single-family.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/sohne-inter-fintech.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/source-serif-source-sans.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +17 -0
- package/data/harnesses/code/skills/design/data/typography/spectral-manrope.md +17 -0
- package/data/harnesses/code/skills/design/data/voices/bright-collaborator.md +29 -0
- package/data/harnesses/code/skills/design/data/voices/direct-operator.md +29 -0
- package/data/harnesses/code/skills/design/data/voices/earnest-helper.md +29 -0
- package/data/harnesses/code/skills/design/data/voices/editorial-composed.md +29 -0
- package/data/harnesses/code/skills/design/data/voices/quiet-concierge.md +29 -0
- package/data/harnesses/code/skills/design/data/voices/warm-guide.md +29 -0
- package/data/harnesses/code/skills/design/design-md/SCHEMA.md +179 -0
- package/data/harnesses/code/skills/design/design-md/index.csv +67 -0
- package/data/harnesses/code/skills/design/design-md/library/airbnb.md +207 -0
- package/data/harnesses/code/skills/design/design-md/library/airtable.md +205 -0
- package/data/harnesses/code/skills/design/design-md/library/anthropic-claude.md +203 -0
- package/data/harnesses/code/skills/design/design-md/library/apple.md +206 -0
- package/data/harnesses/code/skills/design/design-md/library/binance.md +210 -0
- package/data/harnesses/code/skills/design/design-md/library/bmw.md +210 -0
- package/data/harnesses/code/skills/design/design-md/library/cal.md +209 -0
- package/data/harnesses/code/skills/design/design-md/library/clay.md +204 -0
- package/data/harnesses/code/skills/design/design-md/library/clickhouse.md +205 -0
- package/data/harnesses/code/skills/design/design-md/library/cohere.md +205 -0
- package/data/harnesses/code/skills/design/design-md/library/coinbase.md +198 -0
- package/data/harnesses/code/skills/design/design-md/library/composio.md +198 -0
- package/data/harnesses/code/skills/design/design-md/library/cursor.md +197 -0
- package/data/harnesses/code/skills/design/design-md/library/elevenlabs.md +199 -0
- package/data/harnesses/code/skills/design/design-md/library/expo.md +200 -0
- package/data/harnesses/code/skills/design/design-md/library/figma.md +199 -0
- package/data/harnesses/code/skills/design/design-md/library/framer.md +202 -0
- package/data/harnesses/code/skills/design/design-md/library/hashicorp.md +205 -0
- package/data/harnesses/code/skills/design/design-md/library/ibm.md +205 -0
- package/data/harnesses/code/skills/design/design-md/library/intercom.md +204 -0
- package/data/harnesses/code/skills/design/design-md/library/kraken.md +200 -0
- package/data/harnesses/code/skills/design/design-md/library/linear-app.md +198 -0
- package/data/harnesses/code/skills/design/design-md/library/lovable.md +199 -0
- package/data/harnesses/code/skills/design/design-md/library/meta.md +204 -0
- package/data/harnesses/code/skills/design/design-md/library/minimax.md +204 -0
- package/data/harnesses/code/skills/design/design-md/library/mintlify.md +210 -0
- package/data/harnesses/code/skills/design/design-md/library/miro.md +209 -0
- package/data/harnesses/code/skills/design/design-md/library/mistral-ai.md +201 -0
- package/data/harnesses/code/skills/design/design-md/library/mongodb.md +201 -0
- package/data/harnesses/code/skills/design/design-md/library/notion.md +204 -0
- package/data/harnesses/code/skills/design/design-md/library/nvidia.md +215 -0
- package/data/harnesses/code/skills/design/design-md/library/ollama.md +213 -0
- package/data/harnesses/code/skills/design/design-md/library/opencode-ai.md +216 -0
- package/data/harnesses/code/skills/design/design-md/library/posthog.md +218 -0
- package/data/harnesses/code/skills/design/design-md/library/raycast.md +214 -0
- package/data/harnesses/code/skills/design/design-md/library/replicate.md +202 -0
- package/data/harnesses/code/skills/design/design-md/library/resend.md +203 -0
- package/data/harnesses/code/skills/design/design-md/library/revolut.md +203 -0
- package/data/harnesses/code/skills/design/design-md/library/runwayml.md +203 -0
- package/data/harnesses/code/skills/design/design-md/library/sanity.md +200 -0
- package/data/harnesses/code/skills/design/design-md/library/sentry.md +201 -0
- package/data/harnesses/code/skills/design/design-md/library/shopify.md +202 -0
- package/data/harnesses/code/skills/design/design-md/library/slack.md +202 -0
- package/data/harnesses/code/skills/design/design-md/library/spacex.md +206 -0
- package/data/harnesses/code/skills/design/design-md/library/spotify.md +206 -0
- package/data/harnesses/code/skills/design/design-md/library/stripe.md +196 -0
- package/data/harnesses/code/skills/design/design-md/library/supabase.md +196 -0
- package/data/harnesses/code/skills/design/design-md/library/superhuman.md +194 -0
- package/data/harnesses/code/skills/design/design-md/library/tesla.md +198 -0
- package/data/harnesses/code/skills/design/design-md/library/theverge.md +199 -0
- package/data/harnesses/code/skills/design/design-md/library/together-ai.md +193 -0
- package/data/harnesses/code/skills/design/design-md/library/uber.md +195 -0
- package/data/harnesses/code/skills/design/design-md/library/vercel.md +195 -0
- package/data/harnesses/code/skills/design/design-md/library/voltagent.md +197 -0
- package/data/harnesses/code/skills/design/design-md/library/warp.md +196 -0
- package/data/harnesses/code/skills/design/design-md/library/webflow.md +197 -0
- package/data/harnesses/code/skills/design/design-md/library/wired.md +197 -0
- package/data/harnesses/code/skills/design/design-md/library/wise.md +198 -0
- package/data/harnesses/code/skills/design/design-md/library/x-ai.md +199 -0
- package/data/harnesses/code/skills/design/design-md/library/zapier.md +198 -0
- package/data/harnesses/code/skills/design/design-md/nurix.md +214 -0
- package/data/harnesses/code/skills/design/design-md/variants/editorial-luxury.md +184 -0
- package/data/harnesses/code/skills/design/design-md/variants/expressive-saas.md +216 -0
- package/data/harnesses/code/skills/design/design-md/variants/quiet-premium.md +211 -0
- package/data/harnesses/code/skills/design/design-md/variants/terse-dense-operator.md +212 -0
- package/data/harnesses/code/skills/design/design-md/variants/warm-approachable.md +216 -0
- package/data/harnesses/code/skills/design/references/compose.md +23 -0
- package/data/harnesses/code/skills/design/references/content.md +28 -0
- package/data/harnesses/code/skills/design/references/emission.md +21 -0
- package/data/harnesses/code/skills/design/references/existing-apps.md +27 -0
- package/data/harnesses/code/skills/design/references/intake.md +36 -0
- package/data/harnesses/code/skills/design/references/object-pass.md +24 -0
- package/data/harnesses/code/skills/design/references/ship-gate.md +29 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/Readme.md +195 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/ai-layer.md +49 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/attributes-lifecycle.md +43 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/container-choice.md +44 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/creation-paths.md +46 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/dashboards.md +42 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/modes.md +42 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/object-model.md +46 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/page-archetype.md +48 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/promotion-demotion.md +37 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/settings.md +42 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/standard-pages.md +46 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/state-matrix.md +41 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/table-mechanics.md +48 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/verbs.md +45 -0
- package/data/harnesses/code/skills/design/references/ux-patterns/viewer-context.md +40 -0
- package/data/harnesses/code/skills/design/scripts/README-validator.md +27 -0
- package/data/harnesses/code/skills/design/scripts/select-chart.mjs +596 -0
- package/data/harnesses/code/skills/design/scripts/validate-design-md.mjs +1198 -0
- package/package.json +1 -1
- package/data/harnesses/code/skills/design/data/catalog/rules.csv +0 -137
- package/data/harnesses/code/skills/design/data/combinations/Readme.md +0 -33
- package/data/harnesses/code/skills/design/data/combinations/accent-presets.md +0 -113
- package/data/harnesses/code/skills/design/data/combinations/charts.csv +0 -33
- package/data/harnesses/code/skills/design/data/combinations/fonts-known.json +0 -448
- package/data/harnesses/code/skills/design/data/combinations/icons.csv +0 -157
- package/data/harnesses/code/skills/design/data/combinations/landing.csv +0 -38
- package/data/harnesses/code/skills/design/data/combinations/lucide-names.json +0 -2001
- package/data/harnesses/code/skills/design/data/combinations/manifest.json +0 -330
- package/data/harnesses/code/skills/design/data/combinations/motion.csv +0 -10
- package/data/harnesses/code/skills/design/data/combinations/palettes.csv +0 -92
- package/data/harnesses/code/skills/design/data/combinations/product-router.csv +0 -80
- package/data/harnesses/code/skills/design/data/combinations/styles.csv +0 -67
- package/data/harnesses/code/skills/design/data/combinations/typography.csv +0 -64
- package/data/harnesses/code/skills/design/data/design-md/SCHEMA.md +0 -106
- package/data/harnesses/code/skills/design/data/design-md/library/airbnb.md +0 -154
- package/data/harnesses/code/skills/design/data/design-md/library/airtable.md +0 -151
- package/data/harnesses/code/skills/design/data/design-md/library/anthropic-claude.md +0 -139
- package/data/harnesses/code/skills/design/data/design-md/library/apple.md +0 -139
- package/data/harnesses/code/skills/design/data/design-md/library/binance.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/bmw.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/cal.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/clay.md +0 -139
- package/data/harnesses/code/skills/design/data/design-md/library/clickhouse.md +0 -139
- package/data/harnesses/code/skills/design/data/design-md/library/cohere.md +0 -147
- package/data/harnesses/code/skills/design/data/design-md/library/coinbase.md +0 -156
- package/data/harnesses/code/skills/design/data/design-md/library/composio.md +0 -138
- package/data/harnesses/code/skills/design/data/design-md/library/cursor.md +0 -138
- package/data/harnesses/code/skills/design/data/design-md/library/elevenlabs.md +0 -137
- package/data/harnesses/code/skills/design/data/design-md/library/expo.md +0 -148
- package/data/harnesses/code/skills/design/data/design-md/library/figma.md +0 -141
- package/data/harnesses/code/skills/design/data/design-md/library/framer.md +0 -156
- package/data/harnesses/code/skills/design/data/design-md/library/hashicorp.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/ibm.md +0 -153
- package/data/harnesses/code/skills/design/data/design-md/library/intercom.md +0 -158
- package/data/harnesses/code/skills/design/data/design-md/library/kraken.md +0 -156
- package/data/harnesses/code/skills/design/data/design-md/library/linear-app.md +0 -122
- package/data/harnesses/code/skills/design/data/design-md/library/lovable.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/meta.md +0 -139
- package/data/harnesses/code/skills/design/data/design-md/library/minimax.md +0 -139
- package/data/harnesses/code/skills/design/data/design-md/library/mintlify.md +0 -139
- package/data/harnesses/code/skills/design/data/design-md/library/miro.md +0 -153
- package/data/harnesses/code/skills/design/data/design-md/library/mistral-ai.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/mongodb.md +0 -155
- package/data/harnesses/code/skills/design/data/design-md/library/notion.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/nvidia.md +0 -141
- package/data/harnesses/code/skills/design/data/design-md/library/ollama.md +0 -145
- package/data/harnesses/code/skills/design/data/design-md/library/opencode-ai.md +0 -142
- package/data/harnesses/code/skills/design/data/design-md/library/posthog.md +0 -152
- package/data/harnesses/code/skills/design/data/design-md/library/raycast.md +0 -137
- package/data/harnesses/code/skills/design/data/design-md/library/replicate.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/resend.md +0 -170
- package/data/harnesses/code/skills/design/data/design-md/library/revolut.md +0 -145
- package/data/harnesses/code/skills/design/data/design-md/library/runwayml.md +0 -137
- package/data/harnesses/code/skills/design/data/design-md/library/sanity.md +0 -168
- package/data/harnesses/code/skills/design/data/design-md/library/sentry.md +0 -163
- package/data/harnesses/code/skills/design/data/design-md/library/shopify.md +0 -147
- package/data/harnesses/code/skills/design/data/design-md/library/slack.md +0 -158
- package/data/harnesses/code/skills/design/data/design-md/library/spacex.md +0 -171
- package/data/harnesses/code/skills/design/data/design-md/library/spotify.md +0 -166
- package/data/harnesses/code/skills/design/data/design-md/library/stripe.md +0 -160
- package/data/harnesses/code/skills/design/data/design-md/library/supabase.md +0 -173
- package/data/harnesses/code/skills/design/data/design-md/library/superhuman.md +0 -145
- package/data/harnesses/code/skills/design/data/design-md/library/tesla.md +0 -153
- package/data/harnesses/code/skills/design/data/design-md/library/theverge.md +0 -167
- package/data/harnesses/code/skills/design/data/design-md/library/together-ai.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/uber.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/vercel.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/voltagent.md +0 -130
- package/data/harnesses/code/skills/design/data/design-md/library/warp.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/webflow.md +0 -140
- package/data/harnesses/code/skills/design/data/design-md/library/wired.md +0 -139
- package/data/harnesses/code/skills/design/data/design-md/library/wise.md +0 -137
- package/data/harnesses/code/skills/design/data/design-md/library/x-ai.md +0 -138
- package/data/harnesses/code/skills/design/data/design-md/library/zapier.md +0 -158
- package/data/harnesses/code/skills/design/data/design-md/nurix.md +0 -138
- package/data/harnesses/code/skills/design/data/design-tokens/SCHEMA.md +0 -695
- package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/airbnb/design.tokens.json +0 -1272
- package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/airtable/design.tokens.json +0 -1268
- package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/anthropic-claude/design.tokens.json +0 -1273
- package/data/harnesses/code/skills/design/data/design-tokens/apple/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/apple/design.tokens.json +0 -1262
- package/data/harnesses/code/skills/design/data/design-tokens/binance/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/binance/design.tokens.json +0 -1257
- package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/bmw/design.tokens.json +0 -1270
- package/data/harnesses/code/skills/design/data/design-tokens/cal/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/cal/design.tokens.json +0 -1270
- package/data/harnesses/code/skills/design/data/design-tokens/clay/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/clay/design.tokens.json +0 -1261
- package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/clickhouse/design.tokens.json +0 -1268
- package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/cohere/design.tokens.json +0 -1281
- package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/coinbase/design.tokens.json +0 -1262
- package/data/harnesses/code/skills/design/data/design-tokens/composio/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/composio/design.tokens.json +0 -1271
- package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/cursor/design.tokens.json +0 -1276
- package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/elevenlabs/design.tokens.json +0 -1293
- package/data/harnesses/code/skills/design/data/design-tokens/expo/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/expo/design.tokens.json +0 -1270
- package/data/harnesses/code/skills/design/data/design-tokens/figma/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/figma/design.tokens.json +0 -1276
- package/data/harnesses/code/skills/design/data/design-tokens/framer/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/framer/design.tokens.json +0 -1267
- package/data/harnesses/code/skills/design/data/design-tokens/goldens.json +0 -251
- package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/hashicorp/design.tokens.json +0 -1273
- package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/ibm/design.tokens.json +0 -1286
- package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/intercom/design.tokens.json +0 -1290
- package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/kraken/design.tokens.json +0 -1270
- package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.resolver.json +0 -23
- package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.dark.json +0 -599
- package/data/harnesses/code/skills/design/data/design-tokens/linear-app/design.tokens.json +0 -1272
- package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/lovable/design.tokens.json +0 -1267
- package/data/harnesses/code/skills/design/data/design-tokens/meta/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/meta/design.tokens.json +0 -1289
- package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/minimax/design.tokens.json +0 -1258
- package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/mintlify/design.tokens.json +0 -1284
- package/data/harnesses/code/skills/design/data/design-tokens/miro/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/miro/design.tokens.json +0 -1291
- package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/mistral-ai/design.tokens.json +0 -1263
- package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/mongodb/design.tokens.json +0 -1270
- package/data/harnesses/code/skills/design/data/design-tokens/notion/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/notion/design.tokens.json +0 -1261
- package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/nurix/design.tokens.json +0 -1209
- package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/nvidia/design.tokens.json +0 -1265
- package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/ollama/design.tokens.json +0 -1253
- package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/opencode-ai/design.tokens.json +0 -1268
- package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/posthog/design.tokens.json +0 -1261
- package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/raycast/design.tokens.json +0 -1263
- package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/replicate/design.tokens.json +0 -1266
- package/data/harnesses/code/skills/design/data/design-tokens/resend/design.resolver.json +0 -23
- package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.dark.json +0 -623
- package/data/harnesses/code/skills/design/data/design-tokens/resend/design.tokens.json +0 -1276
- package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/revolut/design.tokens.json +0 -1264
- package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/runwayml/design.tokens.json +0 -1268
- package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/sanity/design.tokens.json +0 -1270
- package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/sentry/design.tokens.json +0 -1288
- package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/shopify/design.tokens.json +0 -1272
- package/data/harnesses/code/skills/design/data/design-tokens/slack/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/slack/design.tokens.json +0 -1265
- package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/spacex/design.tokens.json +0 -1287
- package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/spotify/design.tokens.json +0 -1286
- package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/stripe/design.tokens.json +0 -1285
- package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/supabase/design.tokens.json +0 -1287
- package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/superhuman/design.tokens.json +0 -1278
- package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/tesla/design.tokens.json +0 -1269
- package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/theverge/design.tokens.json +0 -1285
- package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/together-ai/design.tokens.json +0 -1303
- package/data/harnesses/code/skills/design/data/design-tokens/uber/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/uber/design.tokens.json +0 -1274
- package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/vercel/design.tokens.json +0 -1296
- package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.resolver.json +0 -23
- package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.dark.json +0 -612
- package/data/harnesses/code/skills/design/data/design-tokens/voltagent/design.tokens.json +0 -1282
- package/data/harnesses/code/skills/design/data/design-tokens/warp/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/warp/design.tokens.json +0 -1287
- package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/webflow/design.tokens.json +0 -1268
- package/data/harnesses/code/skills/design/data/design-tokens/wired/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/wired/design.tokens.json +0 -1276
- package/data/harnesses/code/skills/design/data/design-tokens/wise/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/wise/design.tokens.json +0 -1273
- package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/x-ai/design.tokens.json +0 -1296
- package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.resolver.json +0 -20
- package/data/harnesses/code/skills/design/data/design-tokens/zapier/design.tokens.json +0 -1286
- package/data/harnesses/code/skills/design/data/operator-pack/exemplars/command-center.tsx +0 -249
- package/data/harnesses/code/skills/design/data/operator-pack/exemplars/create-edit.tsx +0 -249
- package/data/harnesses/code/skills/design/data/operator-pack/exemplars/dashboard.tsx +0 -225
- package/data/harnesses/code/skills/design/data/operator-pack/exemplars/entity-detail.tsx +0 -249
- package/data/harnesses/code/skills/design/data/operator-pack/exemplars/list-detail.tsx +0 -224
- package/data/harnesses/code/skills/design/data/operator-pack/exemplars/log-stream.tsx +0 -249
- package/data/harnesses/code/skills/design/data/operator-pack/fixtures.md +0 -88
- package/data/harnesses/code/skills/design/data/operator-pack/surface-catalog.md +0 -132
- package/data/harnesses/code/skills/design/data/operator-pack/trust-rubric.md +0 -76
- package/data/harnesses/code/skills/design/references/create.md +0 -173
- package/data/harnesses/code/skills/design/references/diagnosis.md +0 -108
- package/data/harnesses/code/skills/design/references/hard-rules.md +0 -177
- package/data/harnesses/code/skills/design/references/improve.md +0 -116
- package/data/harnesses/code/skills/design/references/interaction.md +0 -77
- package/data/harnesses/code/skills/design/references/introspect.md +0 -100
- package/data/harnesses/code/skills/design/references/lifecycle.md +0 -73
- package/data/harnesses/code/skills/design/references/personality.md +0 -575
- package/data/harnesses/code/skills/design/references/structure.md +0 -159
- package/data/harnesses/code/skills/design/scripts/convert-design-md.mjs +0 -1312
- package/data/harnesses/code/skills/design/scripts/derive-personality.mjs +0 -1498
- package/data/harnesses/code/skills/design/scripts/generate-fixtures.mjs +0 -551
- package/data/harnesses/code/skills/design/scripts/lib/checks.mjs +0 -1092
- package/data/harnesses/code/skills/design/scripts/lib/golden.mjs +0 -26
- package/data/harnesses/code/skills/design/scripts/lib/vocabulary.mjs +0 -65
- package/data/harnesses/code/skills/design/scripts/phase-gate.mjs +0 -538
- package/data/harnesses/code/skills/design/scripts/preship-sweep.mjs +0 -312
- package/data/harnesses/code/skills/design/scripts/render-rung.mjs +0 -890
- package/data/harnesses/code/skills/design/scripts/scaffold.mjs +0 -769
- package/data/harnesses/code/skills/design/scripts/self-integrity.mjs +0 -675
- package/data/harnesses/code/skills/design/scripts/snapshot-goldens.mjs +0 -164
- package/data/harnesses/code/skills/design/scripts/validate-combinations.mjs +0 -439
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema: design-md/v2
|
|
3
|
+
id: sanity
|
|
4
|
+
tier: brand
|
|
5
|
+
segments: [dev-tools, cms, content-ops]
|
|
6
|
+
keywords: [dark, near-black, achromatic, coral, electric-blue, mono, dense]
|
|
7
|
+
sourced: 2026-07-12
|
|
8
|
+
sources: "design-md/v1 library entry (2026-07-04); 2026-07-12 brand re-audit; waldenburgNormal → Space Grotesk Variable substitution (v1-documented geometric-condensed stand-in), IBM Plex Mono carried as the brand's real mono"
|
|
9
|
+
license: open
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# sanity — a nocturnal content control room, signal lights on near-black
|
|
13
|
+
|
|
14
|
+
## 1 Visual Theme
|
|
15
|
+
A control room after the building has gone dark: near-black consoles, silver
|
|
16
|
+
readouts, a coral standby lamp resting on one panel while an electric-blue trace
|
|
17
|
+
runs the wires that are live. Dark is the primary identity — the `#0b0b0b` canvas
|
|
18
|
+
is the floor, not a mode toggle; a full near-white daytime theme is authored beside
|
|
19
|
+
it for completeness. Effectively achromatic: the whisper of cool tint on every
|
|
20
|
+
neutral is beneath perception, and hierarchy is a surface ladder, never a shadow.
|
|
21
|
+
|
|
22
|
+
## 2 Color Roles
|
|
23
|
+
Silver `foreground` on the near-black `background`. Two signals held to strict
|
|
24
|
+
roles: coral `primary` is the one resting call-to-action, electric-blue `ring` is
|
|
25
|
+
the activation trace — focus, and the sidebar's active-nav marker — and the two
|
|
26
|
+
never meet in one element. `accent` is a neutral colorimetric step for hover and
|
|
27
|
+
selection, never a hue wash. The `sidebar` runs the near-black control panel in
|
|
28
|
+
both themes. Status hues speak only status; the neon green and magenta survive as
|
|
29
|
+
chart voltage.
|
|
30
|
+
|
|
31
|
+
## 3 Typography
|
|
32
|
+
Space Grotesk (chrome and display, substituting waldenburgNormal) / IBM Plex Mono
|
|
33
|
+
(data). Register scope: the geometric sans carries every title, control, cell, and
|
|
34
|
+
byline at tight negative tracking, weight 500 the ceiling — the brand never bolds
|
|
35
|
+
past it; the mono owns IDs, codes, timestamps, log lines, and the uppercase tag
|
|
36
|
+
register. Numerals are always `tabular-nums`; emphasis bumps weight, never size.
|
|
37
|
+
|
|
38
|
+
## 4 Component Stylings
|
|
39
|
+
Buttons `radius-sm`, coral `primary` fill or a `secondary` step with a hairline,
|
|
40
|
+
never a pill; inputs on the `input` hairline with the electric-blue `ring` at 2px,
|
|
41
|
+
no glow; cards are the elevated surface lifted off the canvas on a hairline, never
|
|
42
|
+
shadowed; table rows `muted` hover, `accent` selection with a coral left-indicator;
|
|
43
|
+
detail opens in the side panel beside the work; badges pill with uppercase mono
|
|
44
|
+
captions, status fills only.
|
|
45
|
+
|
|
46
|
+
## 5 Layout
|
|
47
|
+
8px base; sidebar 248/56px; topbar 52px — the tight console band; side panel
|
|
48
|
+
420/640px; content max 1440px; density dense, the marketing rhythm left behind.
|
|
49
|
+
|
|
50
|
+
## 6 Depth
|
|
51
|
+
Flat and colorimetric. Dark: the ladder does the work — `background` 0.15 L,
|
|
52
|
+
`surface-raised` +0.06, `surface-overlay` +0.14, hue held at 265; hairlines carry
|
|
53
|
+
every edge, coral marks selection, the blue ring marks focus. A faint navy-tinted
|
|
54
|
+
ring lifts a true overlay only; no offset drop shadows. Light: hairlines carry
|
|
55
|
+
structure, the near-black sidebar the one dark region.
|
|
56
|
+
|
|
57
|
+
## 7 Motion
|
|
58
|
+
Reserved and mechanical. Named moments: `panel-slide` (side panel, 220ms,
|
|
59
|
+
interruptible), `fade-arrive` (page content, 150ms), `signal-press` (primary
|
|
60
|
+
press, 100ms). Physicality granted only to auth and first-run empty states; tables,
|
|
61
|
+
the log stream, and keyboard actions are instant.
|
|
62
|
+
|
|
63
|
+
## 8 Iconography & Charts
|
|
64
|
+
Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default. Charts: hairline
|
|
65
|
+
axes, no gridline fills; the signal palette returns here — coral, electric blue,
|
|
66
|
+
neon green, magenta, amber categorical (`chart-1..5`); monochrome sequential
|
|
67
|
+
canvas→blue; tooltips on `surface-overlay` with mono numerals.
|
|
68
|
+
|
|
69
|
+
## 9 Voice
|
|
70
|
+
System-readout terse: lowercase-plain sentences, exact counts, no exclamation.
|
|
71
|
+
"Publish" · "Queue clear — last document synced 4m ago" · "Draft failed schema
|
|
72
|
+
validation on 2 fields; publishing is blocked."
|
|
73
|
+
|
|
74
|
+
## 10 Do's & Don'ts
|
|
75
|
+
Do anchor every surface on the near-black canvas and keep the neutral ramp cool and
|
|
76
|
+
quiet. Do spend coral once — one resting action per surface — and let the blue ring
|
|
77
|
+
own activation. Don't mix the two signals in one element. Don't promote neon green
|
|
78
|
+
or magenta out of charts. Don't pill a control, bold past 500, or signal elevation
|
|
79
|
+
with a drop shadow.
|
|
80
|
+
|
|
81
|
+
## 11 Responsive
|
|
82
|
+
375: sidebar → off-canvas drawer, side panel → full sheet, list+detail stacks. 768:
|
|
83
|
+
sidebar → icon rail; tables scroll overflow. 1024/1440: two-pane queue+detail holds;
|
|
84
|
+
forms cap, log streams and dashboards run the full width.
|
|
85
|
+
|
|
86
|
+
## 12 Agent Prompt Guide
|
|
87
|
+
Anchor on the near-black canvas; the light theme is the daytime counterpart, never
|
|
88
|
+
the home. Two signals, strict roles: coral is the one resting action, blue is focus
|
|
89
|
+
and active-nav — if they meet, one is wrong. Every ID, code, and tag rides IBM Plex
|
|
90
|
+
Mono; the sans caps at weight 500. Depth is surface and hairline — consult the
|
|
91
|
+
block, never derive dark from light.
|
|
92
|
+
|
|
93
|
+
```yaml design-values
|
|
94
|
+
color:
|
|
95
|
+
light:
|
|
96
|
+
background: oklch(0.985 0.005 265)
|
|
97
|
+
foreground: oklch(0.22 0.006 265)
|
|
98
|
+
card: oklch(0.995 0.004 265)
|
|
99
|
+
card-foreground: oklch(0.22 0.006 265)
|
|
100
|
+
popover: oklch(0.995 0.004 265)
|
|
101
|
+
popover-foreground: oklch(0.22 0.006 265)
|
|
102
|
+
primary: oklch(0.66 0.183 27.5)
|
|
103
|
+
primary-foreground: oklch(1 0 27.5)
|
|
104
|
+
secondary: oklch(0.96 0.006 265)
|
|
105
|
+
secondary-foreground: oklch(0.28 0.006 265)
|
|
106
|
+
muted: oklch(0.96 0.006 265)
|
|
107
|
+
muted-foreground: oklch(0.5 0.008 265)
|
|
108
|
+
accent: oklch(0.945 0.006 265)
|
|
109
|
+
accent-foreground: oklch(0.26 0.006 265)
|
|
110
|
+
destructive: oklch(0.55 0.221 29.2)
|
|
111
|
+
destructive-foreground: oklch(0.985 0.012 29.2)
|
|
112
|
+
success: oklch(0.58 0.14 157)
|
|
113
|
+
warning: oklch(0.7 0.15 70.1)
|
|
114
|
+
border: oklch(0.9 0.006 265)
|
|
115
|
+
input: oklch(0.9 0.006 265)
|
|
116
|
+
ring: oklch(0.513 0.244 262.4)
|
|
117
|
+
surface-raised: oklch(0.99 0.004 265)
|
|
118
|
+
surface-overlay: oklch(0.995 0.004 265)
|
|
119
|
+
chart-1: oklch(0.6 0.19 27.5)
|
|
120
|
+
chart-2: oklch(0.513 0.244 262.4)
|
|
121
|
+
chart-3: oklch(0.6 0.19 142.1)
|
|
122
|
+
chart-4: oklch(0.6 0.27 326.2)
|
|
123
|
+
chart-5: oklch(0.65 0.16 70.1)
|
|
124
|
+
sidebar: oklch(0.2 0.006 265)
|
|
125
|
+
sidebar-foreground: oklch(0.9 0.005 265)
|
|
126
|
+
sidebar-primary: oklch(0.58 0.22 262.4)
|
|
127
|
+
sidebar-primary-foreground: oklch(0.98 0.01 262.4)
|
|
128
|
+
sidebar-accent: oklch(0.27 0.006 265)
|
|
129
|
+
sidebar-accent-foreground: oklch(0.9 0.005 265)
|
|
130
|
+
sidebar-border: oklch(0.29 0.006 265)
|
|
131
|
+
sidebar-ring: oklch(0.58 0.22 262.4)
|
|
132
|
+
dark:
|
|
133
|
+
background: oklch(0.15 0.006 265)
|
|
134
|
+
foreground: oklch(0.98 0.004 265)
|
|
135
|
+
card: oklch(0.248 0.006 265)
|
|
136
|
+
card-foreground: oklch(0.98 0.004 265)
|
|
137
|
+
popover: oklch(0.29 0.006 265)
|
|
138
|
+
popover-foreground: oklch(0.98 0.004 265)
|
|
139
|
+
primary: oklch(0.682 0.178 27.5)
|
|
140
|
+
primary-foreground: oklch(1 0 27.5)
|
|
141
|
+
secondary: oklch(0.248 0.006 265)
|
|
142
|
+
secondary-foreground: oklch(0.9 0.005 265)
|
|
143
|
+
muted: oklch(0.248 0.006 265)
|
|
144
|
+
muted-foreground: oklch(0.75 0.006 265)
|
|
145
|
+
accent: oklch(0.329 0.006 265)
|
|
146
|
+
accent-foreground: oklch(0.9 0.005 265)
|
|
147
|
+
destructive: oklch(0.6 0.221 29.2)
|
|
148
|
+
destructive-foreground: oklch(0.98 0.012 29.2)
|
|
149
|
+
success: oklch(0.754 0.163 156.9)
|
|
150
|
+
warning: oklch(0.769 0.165 70.1)
|
|
151
|
+
border: oklch(0.329 0.006 265)
|
|
152
|
+
input: oklch(0.329 0.006 265)
|
|
153
|
+
ring: oklch(0.58 0.22 262.4)
|
|
154
|
+
surface-raised: oklch(0.21 0.006 265)
|
|
155
|
+
surface-overlay: oklch(0.29 0.006 265)
|
|
156
|
+
chart-1: oklch(0.682 0.178 27.5)
|
|
157
|
+
chart-2: oklch(0.58 0.22 262.4)
|
|
158
|
+
chart-3: oklch(0.761 0.256 142.1)
|
|
159
|
+
chart-4: oklch(0.687 0.319 326.2)
|
|
160
|
+
chart-5: oklch(0.769 0.165 70.1)
|
|
161
|
+
sidebar: oklch(0.13 0.006 265)
|
|
162
|
+
sidebar-foreground: oklch(0.9 0.005 265)
|
|
163
|
+
sidebar-primary: oklch(0.58 0.22 262.4)
|
|
164
|
+
sidebar-primary-foreground: oklch(0.98 0.01 262.4)
|
|
165
|
+
sidebar-accent: oklch(0.2 0.006 265)
|
|
166
|
+
sidebar-accent-foreground: oklch(0.9 0.005 265)
|
|
167
|
+
sidebar-border: oklch(0.24 0.006 265)
|
|
168
|
+
sidebar-ring: oklch(0.58 0.22 262.4)
|
|
169
|
+
typography:
|
|
170
|
+
display: { family: "Space Grotesk Variable", fallback: "system-ui, sans-serif", weights: [400, 500] }
|
|
171
|
+
sans: { family: "Space Grotesk Variable", fallback: "system-ui, sans-serif", weights: [400, 500] }
|
|
172
|
+
mono: { family: "IBM Plex Mono", fallback: "ui-monospace, monospace", weights: [400, 500] }
|
|
173
|
+
ramp:
|
|
174
|
+
display: { size: 28px, line: 34px, weight: 500, family: display, tracking: -0.02em }
|
|
175
|
+
h1: { size: 24px, line: 30px, weight: 500, family: sans, tracking: -0.02em }
|
|
176
|
+
h2: { size: 20px, line: 26px, weight: 500, family: sans, tracking: -0.01em }
|
|
177
|
+
body: { size: 15px, line: 22px, weight: 400, family: sans }
|
|
178
|
+
small: { size: 13px, line: 18px, weight: 400, family: sans }
|
|
179
|
+
caption: { size: 12px, line: 16px, weight: 500, family: mono, tracking: 0.04em, transform: uppercase }
|
|
180
|
+
data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
|
|
181
|
+
register-scope: { display: [page-title, empty-state], sans: [chrome, controls, body, headings], mono: [data, ids, timestamps, tags] }
|
|
182
|
+
elevation:
|
|
183
|
+
radius: { sm: 6px, md: 8px, lg: 12px }
|
|
184
|
+
hairline: border
|
|
185
|
+
shadow:
|
|
186
|
+
overlay: "0 8px 30px oklch(0.12 0.02 265 / 0.5)"
|
|
187
|
+
popover: "0 4px 16px oklch(0.12 0.02 265 / 0.4)"
|
|
188
|
+
dark-ladder: { background: 0.15, raised: 0.21, overlay: 0.29, hue-held: 265 }
|
|
189
|
+
motion:
|
|
190
|
+
duration: { press: 100ms, fade: 150ms, panel: 220ms }
|
|
191
|
+
easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
|
|
192
|
+
entrance-never: ease-in
|
|
193
|
+
identity-moments: [auth, first-run-empty]
|
|
194
|
+
iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
|
|
195
|
+
charts:
|
|
196
|
+
categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
|
|
197
|
+
sequential: { from: background, to: chart-2 }
|
|
198
|
+
diverging: { negative: destructive, mid: muted, positive: success }
|
|
199
|
+
layout: { base: 8px, sidebar: [248px, 56px], topbar: 52px, side-panel: [420px, 640px], content-max: 1440px }
|
|
200
|
+
```
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema: design-md/v2
|
|
3
|
+
id: sentry
|
|
4
|
+
tier: brand
|
|
5
|
+
segments: [dev-tools, monitoring, observability]
|
|
6
|
+
keywords: [violet, lime, console, developer, uppercase, dark-console]
|
|
7
|
+
sourced: 2026-07-12
|
|
8
|
+
sources: "design-md/v1 sentry entry (2026-07-04); 2026-07-12 re-audit of sentry.io public identity. Rubik is the brand's own open UI face; proprietary Monaco substituted with JetBrains Mono (closest open mono)."
|
|
9
|
+
license: open
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# sentry — an incident room at 2 a.m.
|
|
13
|
+
|
|
14
|
+
## 1 Visual Theme
|
|
15
|
+
A fluorescent-lit incident room at 2 a.m.: white workbenches, a near-black violet
|
|
16
|
+
terminal window open on every screen, one lime highlighter capping the failing line.
|
|
17
|
+
Light by default — the brand's white transactional polarity, not its dark marketing
|
|
18
|
+
hero; flat, with cool violet-leaning hairlines carrying the grid. The dark theme is
|
|
19
|
+
the iconic violet console, an authored ladder, not inverted paper. Density standard,
|
|
20
|
+
dense-capable from the console heritage.
|
|
21
|
+
|
|
22
|
+
## 2 Color Roles
|
|
23
|
+
Deep ink-violet `foreground` on the white `background`; the single accent is the
|
|
24
|
+
authoritative midnight-violet `primary` — the near-black button that reads strongest
|
|
25
|
+
on either polarity, never softened to a bright brand-violet. `accent` is a faint
|
|
26
|
+
violet wash for selected rows and nav only. `ring` is the one documented focus blue,
|
|
27
|
+
reserved for keyboard focus. Lime and pink live in `chart-2`/`chart-3` and one scarce
|
|
28
|
+
highlight glyph per viewport — never a button, a fill, or body text. Status hues
|
|
29
|
+
(`destructive`, `success`, `warning`) speak only status.
|
|
30
|
+
|
|
31
|
+
## 3 Typography
|
|
32
|
+
Rubik (UI) / JetBrains Mono (code, logs, telemetry). The brand signature is uppercase
|
|
33
|
+
caps with wide tracking on buttons and eyebrows — a console-prompt cadence on the
|
|
34
|
+
caption step. Register scope: the display register is Rubik at page-title weight only
|
|
35
|
+
(the chunky marketing display stays behind); mono owns every ID, timestamp, stack
|
|
36
|
+
trace, and log line. Numeric columns are always `tabular-nums`; emphasis bumps
|
|
37
|
+
weight, never size.
|
|
38
|
+
|
|
39
|
+
## 4 Component Stylings
|
|
40
|
+
Buttons `radius-md`, `primary` fill, uppercase tracked label, no pill; inputs
|
|
41
|
+
hairline `input` border with the blue `ring` focus, no glow; cards on `card` with a
|
|
42
|
+
hairline, shadow only for true overlays; table rows dense with `muted` hover and
|
|
43
|
+
`accent` selection; code and log panels invert to the near-black violet inlay
|
|
44
|
+
(`sidebar`-family surfaces) with mono text; badges hairline with `muted`/status fill
|
|
45
|
+
and uppercase caption.
|
|
46
|
+
|
|
47
|
+
## 5 Layout
|
|
48
|
+
4px base; sidebar 248/56px; topbar 56px; side panel 420/640px; content max 1280px;
|
|
49
|
+
tables full-width. The 96px marketing rhythm stays behind — chrome is tight, the
|
|
50
|
+
density lives in the data.
|
|
51
|
+
|
|
52
|
+
## 6 Depth
|
|
53
|
+
Light: flat — hairlines and type weight carry hierarchy; shadow only on overlays,
|
|
54
|
+
violet-tinted, never gray-black. Dark: the authored console ladder — `background`
|
|
55
|
+
0.22 L, `surface-raised` +0.05, `surface-overlay` +0.10, hue held at 296; hairlines
|
|
56
|
+
lighten one step, shadow stays minimal because the ladder does the work.
|
|
57
|
+
|
|
58
|
+
## 7 Motion
|
|
59
|
+
Quick and mechanical, like a console. Named moments: `row-resolve` (issue-row state
|
|
60
|
+
change, 140ms fade), `panel-slide` (side panel, 220ms, interruptible), `primary-press`
|
|
61
|
+
(100ms). Physicality is granted only to auth and the first-run empty state. Nothing
|
|
62
|
+
animates in tables, log streams, or any keyboard-initiated action.
|
|
63
|
+
|
|
64
|
+
## 8 Iconography & Charts
|
|
65
|
+
Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default. Charts: hairline
|
|
66
|
+
axes, no gridline fills; the categorical ramp runs violet → lime → pink → blue →
|
|
67
|
+
amber (`chart-1..5`) — the brand's chart-only voltage; tooltips on `surface-overlay`
|
|
68
|
+
with mono numerals.
|
|
69
|
+
|
|
70
|
+
## 9 Voice
|
|
71
|
+
Terse engineer-to-engineer: verbs first, stack-trace plain, no cheer. "Resolve issue" ·
|
|
72
|
+
"No unresolved events — next digest at 09:00" · "This alert rule overlaps an existing
|
|
73
|
+
rule; merge them or narrow the filter."
|
|
74
|
+
|
|
75
|
+
## 10 Do's & Don'ts
|
|
76
|
+
Do reserve midnight-violet `primary` for the one action and active nav — the
|
|
77
|
+
near-black is the point. Do keep buttons and eyebrows uppercase with wide tracking.
|
|
78
|
+
Do dress code and log panels in the dark violet inlay with mono. Don't make lime a
|
|
79
|
+
fill or a success color — it is one highlight glyph per viewport plus `chart-2`.
|
|
80
|
+
Don't promote pink or bright violet to chrome. Don't pill the CTA; don't blend the
|
|
81
|
+
two polarities on one band; don't signal rank with heavy shadow.
|
|
82
|
+
|
|
83
|
+
## 11 Responsive
|
|
84
|
+
375: sidebar → drawer, side panel → full sheet, log inlays scroll horizontally, never
|
|
85
|
+
wrap. 768: sidebar collapses to the icon rail; tables scroll overflow. 1024/1440:
|
|
86
|
+
two-pane queue+detail holds; dashboards take the full width.
|
|
87
|
+
|
|
88
|
+
## 12 Agent Prompt Guide
|
|
89
|
+
Reach for the white transactional canvas first; the violet console is the dark theme,
|
|
90
|
+
not the default. Spend `primary` once. Uppercase-track every button and eyebrow.
|
|
91
|
+
Every ID and timestamp is mono; every numeric column tabular. Lime appears once per
|
|
92
|
+
viewport or not at all. Dark is authored — consult the block, never derive.
|
|
93
|
+
|
|
94
|
+
```yaml design-values
|
|
95
|
+
color:
|
|
96
|
+
light:
|
|
97
|
+
background: oklch(0.985 0.006 300)
|
|
98
|
+
foreground: oklch(0.23 0.055 296)
|
|
99
|
+
card: oklch(0.995 0.005 300)
|
|
100
|
+
card-foreground: oklch(0.23 0.055 296)
|
|
101
|
+
popover: oklch(0.995 0.005 300)
|
|
102
|
+
popover-foreground: oklch(0.23 0.055 296)
|
|
103
|
+
primary: oklch(0.19 0.04 296)
|
|
104
|
+
primary-foreground: oklch(0.98 0.007 300)
|
|
105
|
+
secondary: oklch(0.962 0.01 299)
|
|
106
|
+
secondary-foreground: oklch(0.26 0.05 296)
|
|
107
|
+
muted: oklch(0.955 0.008 299)
|
|
108
|
+
muted-foreground: oklch(0.5 0.029 300)
|
|
109
|
+
accent: oklch(0.929 0.021 298)
|
|
110
|
+
accent-foreground: oklch(0.26 0.055 296)
|
|
111
|
+
destructive: oklch(0.586 0.222 17.6)
|
|
112
|
+
destructive-foreground: oklch(0.99 0.005 17)
|
|
113
|
+
success: oklch(0.627 0.17 149)
|
|
114
|
+
warning: oklch(0.666 0.157 58)
|
|
115
|
+
border: oklch(0.925 0.007 296)
|
|
116
|
+
input: oklch(0.86 0.014 290)
|
|
117
|
+
ring: oklch(0.623 0.188 260)
|
|
118
|
+
surface-raised: oklch(0.99 0.005 300)
|
|
119
|
+
surface-overlay: oklch(0.995 0.005 300)
|
|
120
|
+
chart-1: oklch(0.49 0.19 296)
|
|
121
|
+
chart-2: oklch(0.89 0.19 124)
|
|
122
|
+
chart-3: oklch(0.75 0.16 359)
|
|
123
|
+
chart-4: oklch(0.62 0.19 260)
|
|
124
|
+
chart-5: oklch(0.67 0.16 58)
|
|
125
|
+
sidebar: oklch(0.975 0.008 299)
|
|
126
|
+
sidebar-foreground: oklch(0.23 0.055 296)
|
|
127
|
+
sidebar-primary: oklch(0.19 0.04 296)
|
|
128
|
+
sidebar-primary-foreground: oklch(0.98 0.007 300)
|
|
129
|
+
sidebar-accent: oklch(0.929 0.021 298)
|
|
130
|
+
sidebar-accent-foreground: oklch(0.26 0.055 296)
|
|
131
|
+
sidebar-border: oklch(0.92 0.008 296)
|
|
132
|
+
sidebar-ring: oklch(0.623 0.188 260)
|
|
133
|
+
dark:
|
|
134
|
+
background: oklch(0.22 0.045 296)
|
|
135
|
+
foreground: oklch(0.93 0.01 300)
|
|
136
|
+
card: oklch(0.26 0.045 296)
|
|
137
|
+
card-foreground: oklch(0.93 0.01 300)
|
|
138
|
+
popover: oklch(0.32 0.045 296)
|
|
139
|
+
popover-foreground: oklch(0.93 0.01 300)
|
|
140
|
+
primary: oklch(0.93 0.02 300)
|
|
141
|
+
primary-foreground: oklch(0.2 0.04 296)
|
|
142
|
+
secondary: oklch(0.3 0.045 296)
|
|
143
|
+
secondary-foreground: oklch(0.9 0.012 300)
|
|
144
|
+
muted: oklch(0.29 0.045 296)
|
|
145
|
+
muted-foreground: oklch(0.72 0.025 300)
|
|
146
|
+
accent: oklch(0.32 0.06 296)
|
|
147
|
+
accent-foreground: oklch(0.93 0.015 300)
|
|
148
|
+
destructive: oklch(0.62 0.21 18)
|
|
149
|
+
destructive-foreground: oklch(0.14 0.02 18)
|
|
150
|
+
success: oklch(0.72 0.17 149)
|
|
151
|
+
warning: oklch(0.75 0.15 58)
|
|
152
|
+
border: oklch(0.34 0.045 296)
|
|
153
|
+
input: oklch(0.34 0.045 296)
|
|
154
|
+
ring: oklch(0.68 0.17 260)
|
|
155
|
+
surface-raised: oklch(0.27 0.045 296)
|
|
156
|
+
surface-overlay: oklch(0.32 0.045 296)
|
|
157
|
+
chart-1: oklch(0.65 0.15 296)
|
|
158
|
+
chart-2: oklch(0.89 0.19 124)
|
|
159
|
+
chart-3: oklch(0.75 0.16 359)
|
|
160
|
+
chart-4: oklch(0.68 0.15 260)
|
|
161
|
+
chart-5: oklch(0.75 0.14 58)
|
|
162
|
+
sidebar: oklch(0.19 0.045 296)
|
|
163
|
+
sidebar-foreground: oklch(0.9 0.015 300)
|
|
164
|
+
sidebar-primary: oklch(0.93 0.02 300)
|
|
165
|
+
sidebar-primary-foreground: oklch(0.2 0.04 296)
|
|
166
|
+
sidebar-accent: oklch(0.26 0.05 296)
|
|
167
|
+
sidebar-accent-foreground: oklch(0.92 0.015 300)
|
|
168
|
+
sidebar-border: oklch(0.28 0.045 296)
|
|
169
|
+
sidebar-ring: oklch(0.68 0.17 260)
|
|
170
|
+
typography:
|
|
171
|
+
display: { family: "Rubik Variable", fallback: "-apple-system, system-ui, sans-serif", weights: [600] }
|
|
172
|
+
sans: { family: "Rubik Variable", fallback: "-apple-system, system-ui, sans-serif", weights: [400, 600] }
|
|
173
|
+
mono: { family: "JetBrains Mono Variable", fallback: "ui-monospace, Menlo, monospace", weights: [400] }
|
|
174
|
+
ramp:
|
|
175
|
+
display: { size: 28px, line: 34px, weight: 600, family: sans }
|
|
176
|
+
h1: { size: 24px, line: 30px, weight: 600, family: sans }
|
|
177
|
+
h2: { size: 20px, line: 26px, weight: 600, family: sans }
|
|
178
|
+
body: { size: 14px, line: 21px, weight: 400, family: sans }
|
|
179
|
+
small: { size: 13px, line: 19px, weight: 400, family: sans }
|
|
180
|
+
caption: { size: 12px, line: 16px, weight: 600, family: sans, tracking: 0.015em, transform: uppercase }
|
|
181
|
+
data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
|
|
182
|
+
register-scope: { sans: [chrome, controls, body, page-title], mono: [data, ids, timestamps, logs, stack-traces] }
|
|
183
|
+
elevation:
|
|
184
|
+
radius: { sm: 6px, md: 8px, lg: 12px }
|
|
185
|
+
hairline: border
|
|
186
|
+
shadow:
|
|
187
|
+
overlay: "0 8px 28px oklch(0.22 0.05 296 / 0.16)"
|
|
188
|
+
popover: "0 4px 14px oklch(0.22 0.05 296 / 0.12)"
|
|
189
|
+
dark-ladder: { background: 0.22, raised: 0.27, overlay: 0.32, hue-held: 296 }
|
|
190
|
+
motion:
|
|
191
|
+
duration: { press: 100ms, fade: 140ms, panel: 220ms }
|
|
192
|
+
easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
|
|
193
|
+
entrance-never: ease-in
|
|
194
|
+
identity-moments: [auth, first-run-empty]
|
|
195
|
+
iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
|
|
196
|
+
charts:
|
|
197
|
+
categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
|
|
198
|
+
sequential: { from: background, to: chart-1 }
|
|
199
|
+
diverging: { negative: destructive, mid: muted, positive: success }
|
|
200
|
+
layout: { base: 4px, sidebar: [248px, 56px], topbar: 56px, side-panel: [420px, 640px], content-max: 1280px }
|
|
201
|
+
```
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema: design-md/v2
|
|
3
|
+
id: shopify
|
|
4
|
+
tier: brand
|
|
5
|
+
segments: [commerce, smb, admin]
|
|
6
|
+
keywords: [cream, mint, pill, editorial, warm, black-ink]
|
|
7
|
+
sourced: 2026-07-12
|
|
8
|
+
sources: "design-md/v1 shopify entry (2026-07-04); 2026-07-12 re-audit of shopify.com public identity. Proprietary Neue Haas Grotesk display stays behind per v1; operator face is Inter (v1-documented workhorse); mono derived as IBM Plex Mono (brand ships none)."
|
|
9
|
+
license: open
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# shopify — an indie storefront on opening day
|
|
13
|
+
|
|
14
|
+
## 1 Visual Theme
|
|
15
|
+
A well-lit indie storefront on opening day: cream kraft paper on the counter, crisp
|
|
16
|
+
white price cards, a mint "open" sign in the window, prices inked in pure black.
|
|
17
|
+
Light by default; the cream `background` under white `card` panels is the brand's
|
|
18
|
+
editorial warmth, and white cards lift on a soft layered paper-halo shadow — the one
|
|
19
|
+
departure from flat. Comfortable standard density; the pill button carries in from
|
|
20
|
+
the brand. The dark theme is the shop after hours — warm charcoal, same layering.
|
|
21
|
+
|
|
22
|
+
## 2 Color Roles
|
|
23
|
+
Pure black `foreground` and `primary` — black is ink, a neutral, not a second color.
|
|
24
|
+
The single chromatic accent is the aloe-mint `accent`: a fill for selection, growth,
|
|
25
|
+
and the featured tier, never behind type and never a status color. The text ladder
|
|
26
|
+
runs cool zinc against the warm cream canvas — that temperature split is the
|
|
27
|
+
signature. Status reads on the saturated `success` / `warning` / `destructive` only.
|
|
28
|
+
`ring` matches `primary`: an unmistakable black outline.
|
|
29
|
+
|
|
30
|
+
## 3 Typography
|
|
31
|
+
Inter carries everything — body, tables, labels, headings — so one sans serves dense
|
|
32
|
+
chrome; IBM Plex Mono takes IDs, codes, and timestamps. Headings track slightly
|
|
33
|
+
open, the editorial voice running opposite to tight-tracked operator defaults; apply
|
|
34
|
+
the `ss03` stylistic set at the root so it rides every role. Register scope: no
|
|
35
|
+
display face — the thin marketing display stays behind; mono owns data. Numeric
|
|
36
|
+
columns are `tabular-nums`; emphasis bumps weight, never size.
|
|
37
|
+
|
|
38
|
+
## 4 Component Stylings
|
|
39
|
+
Buttons are pills — the brand's non-negotiable override of the no-pill default:
|
|
40
|
+
`primary` black pill, secondary white pill with hairline `border`, featured takes the
|
|
41
|
+
`accent` mint fill with black ink. Inputs on `card` fill with hairline `border` and
|
|
42
|
+
the black `ring` focus. Cards white on cream with a hairline plus the layered paper
|
|
43
|
+
halo. Table rows hairline grid, `muted` hover, `accent` selection tint. Detail opens
|
|
44
|
+
in the side panel. Badges hairline with `muted`/status fill, uppercase caption —
|
|
45
|
+
mint marks featured, never status.
|
|
46
|
+
|
|
47
|
+
## 5 Layout
|
|
48
|
+
4px base; sidebar 248/56px; topbar 56px; side panel 440/640px; content max 1200px;
|
|
49
|
+
card and section insets run generous — the brand pads comfortably — but the global
|
|
50
|
+
tier stays standard.
|
|
51
|
+
|
|
52
|
+
## 6 Depth
|
|
53
|
+
The paper halo carries hierarchy: canvas flat, white cards lifted on many tiny
|
|
54
|
+
low-opacity green-tinted shadows (never one hard drop), overlays one step up. Rank is
|
|
55
|
+
border, position, and the soft halo. Dark: the authored ladder — `background` 0.17 L,
|
|
56
|
+
`surface-raised` +0.05, `surface-overlay` +0.10, warm hue held at 106 — with the halo
|
|
57
|
+
dimmed to a whisper.
|
|
58
|
+
|
|
59
|
+
## 7 Motion
|
|
60
|
+
Comfortable and unhurried, never springy. Named moments: `card-settle` (card entry,
|
|
61
|
+
180ms fade), `panel-slide` (side panel, 260ms, interruptible), `pill-press` (primary
|
|
62
|
+
action, 120ms). Physicality is granted only to first-run onboarding and the empty
|
|
63
|
+
storefront state. Nothing animates in tables or keyboard-initiated actions.
|
|
64
|
+
|
|
65
|
+
## 8 Iconography & Charts
|
|
66
|
+
Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default. Charts: hairline
|
|
67
|
+
axes, no gridline fills; categorical ramp leads with commerce green then mint, amber,
|
|
68
|
+
slate-blue, warm red (`chart-1..5`); tooltips on `surface-overlay` with mono
|
|
69
|
+
numerals.
|
|
70
|
+
|
|
71
|
+
## 9 Voice
|
|
72
|
+
A helpful shopkeeper: plain verbs, merchant-first nouns, quietly encouraging without
|
|
73
|
+
exclamation. "Add product" · "No orders yet today — your store opened 2 hours ago" ·
|
|
74
|
+
"This discount overlaps an active one; customers get whichever is larger."
|
|
75
|
+
|
|
76
|
+
## 10 Do's & Don'ts
|
|
77
|
+
Do pill every button — this brand overrides the no-pill default. Do layer white cards
|
|
78
|
+
on the cream canvas and lift them with the paper halo, never a hard drop. Do keep
|
|
79
|
+
`ss03` at the root and headings tracked open. Don't use the pale mint as a status
|
|
80
|
+
color or behind type. Don't promote a second chromatic accent. Don't bring the
|
|
81
|
+
cinematic black canvas or thin display type into operator chrome.
|
|
82
|
+
|
|
83
|
+
## 11 Responsive
|
|
84
|
+
375: sidebar → drawer, side panel → full sheet, card grids stack. 768: sidebar
|
|
85
|
+
collapses to the icon rail; tables scroll overflow. 1024/1440: two-pane queue+detail
|
|
86
|
+
holds; forms cap, dashboards take the full width.
|
|
87
|
+
|
|
88
|
+
## 12 Agent Prompt Guide
|
|
89
|
+
Cream page, white cards, black ink, one mint fill — in that order. The primary action
|
|
90
|
+
is a black pill; if two things want mint, one is not featured. Keep the zinc text
|
|
91
|
+
ladder cool against the warm cream. Every numeric column tabular, every ID mono.
|
|
92
|
+
Dark is authored — consult the block, never derive.
|
|
93
|
+
|
|
94
|
+
```yaml design-values
|
|
95
|
+
color:
|
|
96
|
+
light:
|
|
97
|
+
background: oklch(0.986 0.008 106)
|
|
98
|
+
foreground: oklch(0 0 0)
|
|
99
|
+
card: oklch(0.995 0.005 106)
|
|
100
|
+
card-foreground: oklch(0 0 0)
|
|
101
|
+
popover: oklch(0.995 0.005 106)
|
|
102
|
+
popover-foreground: oklch(0 0 0)
|
|
103
|
+
primary: oklch(0 0 0)
|
|
104
|
+
primary-foreground: oklch(0.99 0.005 106)
|
|
105
|
+
secondary: oklch(0.965 0.005 286)
|
|
106
|
+
secondary-foreground: oklch(0.25 0.006 286)
|
|
107
|
+
muted: oklch(0.955 0.005 286)
|
|
108
|
+
muted-foreground: oklch(0.5 0.014 286)
|
|
109
|
+
accent: oklch(0.938 0.079 155)
|
|
110
|
+
accent-foreground: oklch(0.22 0.04 160)
|
|
111
|
+
destructive: oklch(0.572 0.21 32)
|
|
112
|
+
destructive-foreground: oklch(0.99 0.005 32)
|
|
113
|
+
success: oklch(0.533 0.108 168)
|
|
114
|
+
warning: oklch(0.555 0.146 49)
|
|
115
|
+
border: oklch(0.92 0.005 286)
|
|
116
|
+
input: oklch(0.92 0.005 286)
|
|
117
|
+
ring: oklch(0 0 0)
|
|
118
|
+
surface-raised: oklch(0.99 0.006 106)
|
|
119
|
+
surface-overlay: oklch(0.995 0.005 106)
|
|
120
|
+
chart-1: oklch(0.533 0.108 168)
|
|
121
|
+
chart-2: oklch(0.79 0.12 155)
|
|
122
|
+
chart-3: oklch(0.67 0.13 75)
|
|
123
|
+
chart-4: oklch(0.55 0.1 240)
|
|
124
|
+
chart-5: oklch(0.55 0.16 25)
|
|
125
|
+
sidebar: oklch(0.975 0.008 106)
|
|
126
|
+
sidebar-foreground: oklch(0.15 0.008 106)
|
|
127
|
+
sidebar-primary: oklch(0 0 0)
|
|
128
|
+
sidebar-primary-foreground: oklch(0.99 0.005 106)
|
|
129
|
+
sidebar-accent: oklch(0.938 0.079 155)
|
|
130
|
+
sidebar-accent-foreground: oklch(0.22 0.04 160)
|
|
131
|
+
sidebar-border: oklch(0.92 0.006 106)
|
|
132
|
+
sidebar-ring: oklch(0 0 0)
|
|
133
|
+
dark:
|
|
134
|
+
background: oklch(0.17 0.006 106)
|
|
135
|
+
foreground: oklch(0.96 0.01 106)
|
|
136
|
+
card: oklch(0.21 0.007 106)
|
|
137
|
+
card-foreground: oklch(0.96 0.01 106)
|
|
138
|
+
popover: oklch(0.27 0.008 106)
|
|
139
|
+
popover-foreground: oklch(0.96 0.01 106)
|
|
140
|
+
primary: oklch(0.96 0.008 106)
|
|
141
|
+
primary-foreground: oklch(0.17 0.006 106)
|
|
142
|
+
secondary: oklch(0.26 0.007 106)
|
|
143
|
+
secondary-foreground: oklch(0.92 0.008 106)
|
|
144
|
+
muted: oklch(0.25 0.007 106)
|
|
145
|
+
muted-foreground: oklch(0.7 0.01 106)
|
|
146
|
+
accent: oklch(0.32 0.05 160)
|
|
147
|
+
accent-foreground: oklch(0.93 0.06 155)
|
|
148
|
+
destructive: oklch(0.62 0.19 32)
|
|
149
|
+
destructive-foreground: oklch(0.14 0.02 32)
|
|
150
|
+
success: oklch(0.68 0.12 165)
|
|
151
|
+
warning: oklch(0.72 0.13 60)
|
|
152
|
+
border: oklch(0.3 0.008 106)
|
|
153
|
+
input: oklch(0.3 0.008 106)
|
|
154
|
+
ring: oklch(0.96 0.008 106)
|
|
155
|
+
surface-raised: oklch(0.22 0.007 106)
|
|
156
|
+
surface-overlay: oklch(0.27 0.008 106)
|
|
157
|
+
chart-1: oklch(0.68 0.12 168)
|
|
158
|
+
chart-2: oklch(0.85 0.1 155)
|
|
159
|
+
chart-3: oklch(0.75 0.12 75)
|
|
160
|
+
chart-4: oklch(0.65 0.09 240)
|
|
161
|
+
chart-5: oklch(0.65 0.14 25)
|
|
162
|
+
sidebar: oklch(0.15 0.006 106)
|
|
163
|
+
sidebar-foreground: oklch(0.93 0.01 106)
|
|
164
|
+
sidebar-primary: oklch(0.96 0.008 106)
|
|
165
|
+
sidebar-primary-foreground: oklch(0.17 0.006 106)
|
|
166
|
+
sidebar-accent: oklch(0.24 0.03 160)
|
|
167
|
+
sidebar-accent-foreground: oklch(0.93 0.06 155)
|
|
168
|
+
sidebar-border: oklch(0.26 0.007 106)
|
|
169
|
+
sidebar-ring: oklch(0.96 0.008 106)
|
|
170
|
+
typography:
|
|
171
|
+
display: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [600] }
|
|
172
|
+
sans: { family: "Inter Variable", fallback: "system-ui, sans-serif", weights: [400, 600], features: [ss03] }
|
|
173
|
+
mono: { family: "IBM Plex Mono", fallback: "ui-monospace, monospace", weights: [400] }
|
|
174
|
+
ramp:
|
|
175
|
+
display: { size: 28px, line: 34px, weight: 600, family: sans, tracking: 0.005em }
|
|
176
|
+
h1: { size: 24px, line: 29px, weight: 600, family: sans, tracking: 0.005em }
|
|
177
|
+
h2: { size: 20px, line: 26px, weight: 600, family: sans, tracking: 0.005em }
|
|
178
|
+
body: { size: 14px, line: 21px, weight: 400, family: sans }
|
|
179
|
+
small: { size: 13px, line: 18px, weight: 400, family: sans }
|
|
180
|
+
caption: { size: 12px, line: 15px, weight: 600, family: sans, tracking: 0.06em, transform: uppercase }
|
|
181
|
+
data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
|
|
182
|
+
register-scope: { sans: [chrome, controls, body, page-title], mono: [data, ids, timestamps] }
|
|
183
|
+
elevation:
|
|
184
|
+
radius: { sm: 4px, md: 8px, lg: 12px, pill: 9999px }
|
|
185
|
+
hairline: border
|
|
186
|
+
shadow:
|
|
187
|
+
card: "0 1px 2px oklch(0.35 0.03 160 / 0.05), 0 2px 6px oklch(0.35 0.03 160 / 0.05), 0 6px 16px oklch(0.35 0.03 160 / 0.06)"
|
|
188
|
+
overlay: "0 8px 28px oklch(0.35 0.03 160 / 0.14)"
|
|
189
|
+
popover: "0 4px 14px oklch(0.35 0.03 160 / 0.1)"
|
|
190
|
+
dark-ladder: { background: 0.17, raised: 0.22, overlay: 0.27, hue-held: 106 }
|
|
191
|
+
motion:
|
|
192
|
+
duration: { press: 120ms, fade: 180ms, panel: 260ms }
|
|
193
|
+
easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
|
|
194
|
+
entrance-never: ease-in
|
|
195
|
+
identity-moments: [first-run-onboarding, empty-storefront]
|
|
196
|
+
iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
|
|
197
|
+
charts:
|
|
198
|
+
categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
|
|
199
|
+
sequential: { from: background, to: chart-1 }
|
|
200
|
+
diverging: { negative: destructive, mid: muted, positive: chart-1 }
|
|
201
|
+
layout: { base: 4px, sidebar: [248px, 56px], topbar: 56px, side-panel: [440px, 640px], content-max: 1200px }
|
|
202
|
+
```
|