@nurix/etna 0.19.11 → 0.19.13
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/README.md +6 -4
- package/data/harness-index.json +1 -1
- package/data/harnesses/code/agents/maintenance.md +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/data/harnesses/discussion/agents/discussion-baseline.md +1 -1
- package/data/harnesses/discussion/harness.json +1 -1
- package/data/harnesses/etna/agents/maintenance.md +1 -1
- package/data/harnesses/etna/harness.json +1 -1
- package/data/harnesses/hr/CLAUDE.md +1 -1
- package/data/harnesses/hr/harness.json +1 -1
- 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
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
schema: design-md/v1
|
|
3
|
-
product: Notion
|
|
4
|
-
provenance: library
|
|
5
|
-
sourced: 2026-07-04
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Notion — the warm-editorial operator design
|
|
9
|
-
|
|
10
|
-
The operator reading of Notion's brand: a warm, paper-toned workspace where hierarchy is carried by
|
|
11
|
-
hairlines and type weight, a single purple reserved for the one action that matters, and sober
|
|
12
|
-
rectangular geometry — never pills. What carries is the temperament — warm-charcoal ink over
|
|
13
|
-
off-white paper, beige hairline discipline, the 8px-button / 12px-card rhythm, one purple signal.
|
|
14
|
-
What stays behind: the deep-navy marketing hero band, the pastel feature-card rainbow, the 80px
|
|
15
|
-
display.
|
|
16
|
-
|
|
17
|
-
## 1 Visual Theme
|
|
18
|
-
|
|
19
|
-
Light by default; dark is opt-in. Flat: structure comes from a warm hairline `border`, type weight, and
|
|
20
|
-
contrast — never heavy shadow. A single accent, Notion `primary` (signature purple), reserved for the
|
|
21
|
-
one dominant action on a surface. The neutral ramp is Notion's defining trait — it leans *warm*, not
|
|
22
|
-
cool-slate: warm-charcoal ink, faint paper off-white surfaces, beige-tinted hairlines, so the UI reads
|
|
23
|
-
editorial and calm rather than clinical. The anchor surface is a white content canvas beside a warm
|
|
24
|
-
off-white `sidebar`. Geometry is sober-rectangular — 8px buttons, 12px cards, pills for status badges
|
|
25
|
-
only. Density is `standard`: comfortable, dense-capable in tables, never cramped.
|
|
26
|
-
|
|
27
|
-
## 2 Color Roles
|
|
28
|
-
|
|
29
|
-
Light values first. One accent — `primary` purple is the only chromatic hue that carries an action;
|
|
30
|
-
inline links stay a distinct blue; status hues speak only status; the pastel rainbow does not enter
|
|
31
|
-
operator chrome.
|
|
32
|
-
|
|
33
|
-
| Role | Value | Allowed where |
|
|
34
|
-
| --- | --- | --- |
|
|
35
|
-
| `background` / `card` / `popover` | canvas white `#ffffff` | page, cards, and overlays — the dominant surface |
|
|
36
|
-
| `foreground` | warm charcoal `#37352f` | all primary ink (Notion's signature product text color) |
|
|
37
|
-
| `muted` / `secondary` | paper off-white `#f6f5f4` | hover rows, subtle fills, secondary buttons |
|
|
38
|
-
| `muted-foreground` | warm slate `#5d5b54` | labels, captions, secondary text |
|
|
39
|
-
| `border` | warm hairline `#e5e3df` | every separator, grid line, and card edge |
|
|
40
|
-
| `input` | stronger hairline `#c8c4be` | field edges — one step darker than `border`, so inputs read as targets |
|
|
41
|
-
| `primary` | Notion purple `#5645d4` | the one primary action; active nav; key interactive detail |
|
|
42
|
-
| `accent` | lavender tint `#e6e0f5` | selected/hovered rows and nav — the purple's soft cousin |
|
|
43
|
-
| `accent-foreground` | deep purple `#391c57` | text and icons on `accent` fills |
|
|
44
|
-
| `ring` | `primary` | the focus outline — unmistakable, because keyboard-first |
|
|
45
|
-
| `destructive` | red `#e03131` | destructive actions and error state only |
|
|
46
|
-
| `success` / `warning` | green `#1aae39` / orange `#dd5b00` | status signalling only, never chrome |
|
|
47
|
-
|
|
48
|
-
Inline text links use link-blue `#0075de`, kept distinct from `primary` purple (a Notion rule: links and
|
|
49
|
-
CTAs never share a hue). The pastel feature tints and the navy hero are brand graces — no operator role (§7).
|
|
50
|
-
|
|
51
|
-
## 3 Typography
|
|
52
|
-
|
|
53
|
-
One sans, one mono. `font-sans` is Inter — Notion Sans is an Inter-based proprietary variable face, so the
|
|
54
|
-
operator wears its documented fallback; body, UI, and headings all ride it, with weight and tracking (not
|
|
55
|
-
a second family) carrying the display voice. `font-mono` serves IDs, codes, timestamps, and log lines.
|
|
56
|
-
Numeric columns render `tabular-nums` so figures align down a column (floor f04).
|
|
57
|
-
|
|
58
|
-
| Step | Role | Size · line | Weight · tracking |
|
|
59
|
-
| --- | --- | --- | --- |
|
|
60
|
-
| h1 | page title | 24px / 1.25 | `font-weight-strong` · `heading-tracking` |
|
|
61
|
-
| h2 | section head | 18px / 1.3 | `font-weight-strong` · `heading-tracking` |
|
|
62
|
-
| h3 | card / group head | 15px / 1.4 | `font-weight-strong` · `heading-tracking` |
|
|
63
|
-
| body | UI + prose | 14px / 1.5 | `font-weight-normal` |
|
|
64
|
-
| small | labels, meta, dense table | 13px / 1.4 | `font-weight-normal` |
|
|
65
|
-
| caption | uppercase eyebrow | 11px / 1.4 | `font-weight-strong`, `+0.09em`, uppercase |
|
|
66
|
-
|
|
67
|
-
Notion's generous body leading (1.5) survives for readability; headings track negative, matching Notion's
|
|
68
|
-
tight display letter-spacing. Bump weight one step for emphasis — never change size to emphasize.
|
|
69
|
-
|
|
70
|
-
## 4 Component Stylings
|
|
71
|
-
|
|
72
|
-
Every recurring operator component composes from the primitives — no literal values.
|
|
73
|
-
|
|
74
|
-
- **Button** — `primary`: filled `primary` on `primary-foreground`, `radius` (8px rectangle), no pill.
|
|
75
|
-
Secondary: `background` fill, 1px `input` border, `foreground`. Ghost: transparent, `accent` on hover.
|
|
76
|
-
- **Input** — `background` fill, 1px `input` border (`border-weight`), `radius`; focus draws the `ring` at
|
|
77
|
-
full 2px, no glow.
|
|
78
|
-
- **Card** — `card` surface, 1px `border`, `radius` (12px), shadow only when lifted (`shadow-intensity`);
|
|
79
|
-
inset by `density-inset`.
|
|
80
|
-
- **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; `tabular-nums` on
|
|
81
|
-
numeric columns; row selection tints `accent` (lavender).
|
|
82
|
-
- **Side panel** — detail and edit open beside the work (`side-panel-width` / `side-panel-width-rich`),
|
|
83
|
-
not over it (floor f03).
|
|
84
|
-
- **Badge** — status badges take the pill radius (`9999`) with `success` / `warning` / `destructive`
|
|
85
|
-
fills; a feature tag chip is a soft `radius`-4 rectangle in `accent` on `accent-foreground`.
|
|
86
|
-
|
|
87
|
-
## 5 Layout
|
|
88
|
-
|
|
89
|
-
Base spacing unit 4px (Tailwind `--spacing` 0.25rem); the on-scale ramp is `4 · 8 · 12 · 16 · 20 · 24 ·
|
|
90
|
-
32 · 40 · 48 · 64`. Shell dimensions map one-to-one to the layout primitives: sidebar
|
|
91
|
-
`sidebar-width-expanded` / `sidebar-width-collapsed`, topbar `topbar-height`, side panel
|
|
92
|
-
`side-panel-width` / `side-panel-width-rich`, modal cap `modal-width-max`, forms `form-max-width`, tables
|
|
93
|
-
full-width. Density is governed globally by `density-tier` and stepped per archetype by the surface catalog — never by absolute overrides.
|
|
94
|
-
|
|
95
|
-
## 6 Depth
|
|
96
|
-
|
|
97
|
-
Flat. Hierarchy comes from the warm surface ladder and hairlines, not shadow:
|
|
98
|
-
|
|
99
|
-
- **0 — canvas** `background`, no border.
|
|
100
|
-
- **1 — panel / card** `card` on a 1px `border`; a soft low-alpha `sm` shadow only when a tile must lift.
|
|
101
|
-
- **2 — overlay** `popover` / side panel / modal — the one place `shadow-intensity` earns a soft `md`
|
|
102
|
-
shadow (Notion's shadows are near-black at very low alpha, diffuse, never harsh). Rank is border and
|
|
103
|
-
position, never a heavier shadow.
|
|
104
|
-
|
|
105
|
-
Focus is a 2px `ring` outline in `primary` (never a glow), visible on every interactive element (floor
|
|
106
|
-
P6). Three z-levels: content, sticky chrome, overlay.
|
|
107
|
-
|
|
108
|
-
## 7 Do's & Don'ts
|
|
109
|
-
|
|
110
|
-
- **Do** reserve `primary` purple for the single most important action; everything else is neutral or status.
|
|
111
|
-
- **Do** keep the neutrals warm — charcoal ink, paper off-white fills, beige hairlines. Cool slate reads as a different product.
|
|
112
|
-
- **Do** carry hierarchy with hairlines, weight, and whitespace — Notion is predominantly flat.
|
|
113
|
-
- **Do** apply `tabular-nums` to every numeric column and `font-mono` to IDs, codes, and timestamps.
|
|
114
|
-
- **Don't** pill the primary CTA — Notion buttons are 8px rectangles; pills are for status badges only.
|
|
115
|
-
- **Don't** promote a second chromatic accent. The pastel rainbow stays marketing-decorative; status uses `success` / `warning` / `destructive`, selection uses `accent`.
|
|
116
|
-
- **Don't** color inline links purple — links are link-blue, distinct from the `primary` CTA hue.
|
|
117
|
-
- **Don't** signal elevation with heavy drop shadows or reach for the navy hero band as a surface.
|
|
118
|
-
|
|
119
|
-
## 8 Responsive
|
|
120
|
-
|
|
121
|
-
The operator sweep is 375 / 768 / 1024 / 1440.
|
|
122
|
-
|
|
123
|
-
| Breakpoint | What changes |
|
|
124
|
-
| --- | --- |
|
|
125
|
-
| 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; density holds |
|
|
126
|
-
| 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
|
|
127
|
-
| 1024 | sidebar expands; two-pane list+detail holds side by side |
|
|
128
|
-
| 1440 | content caps at `form-max-width` for forms; tables and dashboards use the full width |
|
|
129
|
-
|
|
130
|
-
## 9 Agent Prompt Guide
|
|
131
|
-
|
|
132
|
-
Directives the emitting agent follows verbatim:
|
|
133
|
-
|
|
134
|
-
- Lead every list surface with its table; lead every entity with its primary read, not its chrome.
|
|
135
|
-
- Keep the neutral ramp warm — charcoal ink on paper off-white, beige hairlines. Do not cool it to slate.
|
|
136
|
-
- Accent only the primary action with purple. Inline links are link-blue; the two hues never merge.
|
|
137
|
-
- Selection and hover tint `accent` (lavender); the pastel rainbow and the navy hero stay behind.
|
|
138
|
-
- Sober rectangles: 8px buttons, 12px cards. Pills are for status badges only — never the CTA.
|
|
139
|
-
- Every numeric column is `tabular-nums`; every ID / code / timestamp is `font-mono` (f04).
|
|
140
|
-
- Every workflow completes from the keyboard, `ring` focus always visible (f06); stay flat — hairline and weight before shadow, reaching past a hairline only for a real overlay.
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
schema: design-md/v1
|
|
3
|
-
product: NVIDIA
|
|
4
|
-
provenance: library
|
|
5
|
-
sourced: 2026-07-04
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# NVIDIA — the operator reading
|
|
9
|
-
|
|
10
|
-
The operator reading of NVIDIA's marketing system: an engineering-grade look reduced to four colors
|
|
11
|
-
— black, white, gray, and one violently saturated green — on an aggressively angular 2px grid.
|
|
12
|
-
NVIDIA's own surfaces alternate deep-black hero/footer chapters with paper-white body content under
|
|
13
|
-
hero-scale display type. This entry keeps what survives at operator scale: the strict single-green
|
|
14
|
-
accent, the pure black/white/gray palette, the 2px radius, the weight-not-size type hierarchy, and
|
|
15
|
-
flat hairline depth. The 48px display, dark hero chapters, corner squares, and editorial purple/blue
|
|
16
|
-
washes stay behind. Unmistakably NVIDIA — stark, technical, one-color.
|
|
17
|
-
|
|
18
|
-
## 1 Visual Theme
|
|
19
|
-
|
|
20
|
-
Light by default: a paper-white content canvas, ink-black type, a hairline gray grid. The black brand
|
|
21
|
-
frame is opt-in *structure*, not a dark theme — NVIDIA's chrome is pure black, so an operator shell
|
|
22
|
-
wears a black `sidebar` around the white canvas. Flat by conviction: hierarchy comes from hairline
|
|
23
|
-
`border`, pure-black ink, and 700-weight type — never shadow. A single accent, NVIDIA Green `primary`
|
|
24
|
-
(`#76b900`), carries the one action and the active state; black text sits on the green fill, never
|
|
25
|
-
white. The neutral ramp is true grayscale — no temperature tilt. Aggressively angular (`radius` 2px
|
|
26
|
-
everywhere); density is `dense` — this reads like engineering documentation, not consumer software.
|
|
27
|
-
|
|
28
|
-
## 2 Color Roles
|
|
29
|
-
|
|
30
|
-
Light values (hex — the corpus's native format). One accent: `primary` green is the only chromatic hue
|
|
31
|
-
that carries brand meaning; status hues speak only status, and the editorial purples and pales are
|
|
32
|
-
marketing graces with no role here (see §7).
|
|
33
|
-
|
|
34
|
-
| Role | Value | Allowed where |
|
|
35
|
-
| --- | --- | --- |
|
|
36
|
-
| `background` / `card` / `popover` | white `#ffffff` | page, cards, and overlays — the dominant body surface |
|
|
37
|
-
| `foreground` | pure black `#000000` | all primary ink and headlines — NVIDIA's stark ink is the identity |
|
|
38
|
-
| `muted` / `secondary` | soft surface `#f7f7f7` | hover rows, subtle fills, secondary buttons |
|
|
39
|
-
| `muted-foreground` | gray `#757575` | labels, captions, metadata, breadcrumbs |
|
|
40
|
-
| `border` / `input` | hairline `#cccccc` | every separator, grid line, and field edge — the highest-frequency token |
|
|
41
|
-
| `primary` / `primary-foreground` | NVIDIA Green `#76b900` / black `#000000` | the one primary action, active nav, focus ring — black on green, never white |
|
|
42
|
-
| `accent` / `accent-foreground` | pale green wash `#eef7d6` / black `#000000` | selected/hovered rows and nav — the operator translation of the green accent |
|
|
43
|
-
| `ring` | `primary` green | the focus outline — the brand's only focus signal, unmistakable |
|
|
44
|
-
| `destructive` | red `#e52020` | destructive actions and error state only |
|
|
45
|
-
| `success` / `warning` | deep green `#3f8500` / orange `#df6500` | status only — `success` kept off the saturated brand green so status ≠ accent |
|
|
46
|
-
|
|
47
|
-
Link-blue `#0046a4` is inline-prose links only (see §7); the editorial purple survives only as a chart hue.
|
|
48
|
-
|
|
49
|
-
## 3 Typography
|
|
50
|
-
|
|
51
|
-
One sans, no second display family — NVIDIA builds its entire hierarchy from two weights (400 and 700)
|
|
52
|
-
and size, never a second face and never color. `font-sans` is Inter (the corpus-named substitute for
|
|
53
|
-
the proprietary NVIDIA-EMEA cut; Arial the documented fallback) — UI, body, and headings all ride it.
|
|
54
|
-
`font-mono` is derived: the corpus ships no monospace, but operator IDs, codes, and log lines need one.
|
|
55
|
-
Numeric columns render `tabular-nums`; tracking is 0 across every step — NVIDIA does not tighten headings.
|
|
56
|
-
|
|
57
|
-
| Step | Role | Size · line | Weight · tracking |
|
|
58
|
-
| --- | --- | --- | --- |
|
|
59
|
-
| h1 | page title | 24px / 1.25 | `font-weight-strong` (700) · `heading-tracking` (0) |
|
|
60
|
-
| h2 | section head | 20px / 1.25 | `font-weight-strong` · 0 |
|
|
61
|
-
| h3 | card / group head | 17px / 1.47 | `font-weight-strong` · 0 |
|
|
62
|
-
| body | UI + prose | 16px / 1.5 | `font-weight-normal` (400) |
|
|
63
|
-
| small | labels, meta, dense table | 15px / 1.4 | `font-weight-normal` |
|
|
64
|
-
| caption | uppercase eyebrow | 14px / 1.43 | `font-weight-strong`, uppercase |
|
|
65
|
-
| code | IDs, logs, amounts | 15px / 1.5 | `font-mono`, `font-weight-normal` |
|
|
66
|
-
|
|
67
|
-
Emphasize by jumping straight to 700 — no intermediate weight; the 48px/36px hero display stays behind.
|
|
68
|
-
|
|
69
|
-
## 4 Component Stylings
|
|
70
|
-
|
|
71
|
-
- **Button** — `primary`: filled green on black `primary-foreground`, `radius` (2px), no pill. Secondary
|
|
72
|
-
(the NVIDIA outline): transparent with a 2px `primary` (green) border, `foreground` text. Ghost:
|
|
73
|
-
transparent, `accent` on hover.
|
|
74
|
-
- **Input** — `background` fill, 1px `border` (`border-weight`), `radius`; focus swaps the edge to a 2px
|
|
75
|
-
`ring` (green) border — the only focus signal in the system, no glow.
|
|
76
|
-
- **Card** — `card` surface on a 1px `border`, `radius`, no shadow; separation is the hairline, not elevation.
|
|
77
|
-
- **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; `tabular-nums` on
|
|
78
|
-
numeric columns; row selection tints `accent`.
|
|
79
|
-
- **Side panel** — detail and edit open in the side panel (`side-panel-width`, `side-panel-width-rich`
|
|
80
|
-
for content-heavy), beside the work, not over it.
|
|
81
|
-
- **Badge** — `secondary` fill, hairline `border`, uppercase caption; status badges take `success` /
|
|
82
|
-
`warning` / `destructive`, never `primary`.
|
|
83
|
-
|
|
84
|
-
## 5 Layout
|
|
85
|
-
|
|
86
|
-
Base spacing unit 4px (Tailwind `--spacing`); the on-scale ramp is `2 · 4 · 8 · 12 · 16 · 24 · 32 · 48 ·
|
|
87
|
-
64`, and NVIDIA's native 8px rhythm governs section gaps (64px between major blocks). Shell dimensions
|
|
88
|
-
map one-to-one to the layout primitives: black sidebar `sidebar-width-expanded` / `sidebar-width-collapsed`,
|
|
89
|
-
topbar `topbar-height` (56px, the brand's sub-nav strip height), side panel `side-panel-width` /
|
|
90
|
-
`side-panel-width-rich`, modal cap `modal-width-max`, forms `form-max-width`, tables full-width. Density
|
|
91
|
-
is governed globally by `density-tier` (`dense`) and stepped per archetype — never by absolute overrides.
|
|
92
|
-
|
|
93
|
-
## 6 Depth
|
|
94
|
-
|
|
95
|
-
Flat — NVIDIA's cards do not lift; they are rectangles with hairline borders. Hierarchy is the surface
|
|
96
|
-
ladder and hairlines, not shadow:
|
|
97
|
-
|
|
98
|
-
- **0 — canvas** `background`, no border.
|
|
99
|
-
- **1 — panel / card** `card` on a 1px `border` (`#cccccc`); no shadow.
|
|
100
|
-
- **2 — overlay** `popover` / side panel / modal — the one place `shadow-intensity` earns a single soft
|
|
101
|
-
`sm` shadow (the brand's lone 5px ambient). Rank is border and position, never a heavier shadow.
|
|
102
|
-
|
|
103
|
-
On the black `sidebar`, dividers use the stronger hairline `#5e5e5e`. Focus is a 2px green `ring` outline
|
|
104
|
-
(never a glow) on every interactive element; three z-levels (content, sticky chrome, overlay).
|
|
105
|
-
|
|
106
|
-
## 7 Do's & Don'ts
|
|
107
|
-
|
|
108
|
-
- **Do** reserve `primary` green for the single most important action and the active state — treat it as
|
|
109
|
-
a precious resource; keep black `primary-foreground` on the fill (black-on-green is the signature).
|
|
110
|
-
- **Do** carry hierarchy with weight (jump to 700) and hairlines, hold `radius` at 2px on every
|
|
111
|
-
interactive element, and frame the white canvas in the black `sidebar` — the black chrome is NVIDIA's identity.
|
|
112
|
-
- **Don't** promote a second chromatic accent — the editorial purple, link-blue, and pale washes are
|
|
113
|
-
marketing graces; status uses `success` / `warning` / `destructive`, and `success` is deep green
|
|
114
|
-
`#3f8500`, not the saturated brand green. Link-blue is inline-prose only, never chrome or a button.
|
|
115
|
-
- **Don't** pill the CTA or reach past 2px radius (avatars excepted); don't tint operator chrome with the
|
|
116
|
-
saturated brand green — selection uses the pale-green `accent`.
|
|
117
|
-
- **Don't** signal elevation with drop shadows, or reach for the marketing corner squares, hero-scale
|
|
118
|
-
display type, or dark hero chapters in an operator surface.
|
|
119
|
-
|
|
120
|
-
## 8 Responsive
|
|
121
|
-
|
|
122
|
-
The operator sweep is 375 / 768 / 1024 / 1440.
|
|
123
|
-
|
|
124
|
-
| Breakpoint | What changes |
|
|
125
|
-
| --- | --- |
|
|
126
|
-
| 375 | black sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; dense grids scroll horizontally; density holds |
|
|
127
|
-
| 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
|
|
128
|
-
| 1024 | sidebar expands; two-pane queue+detail holds side by side |
|
|
129
|
-
| 1440 | forms cap at `form-max-width`; tables and dashboards use the full width |
|
|
130
|
-
|
|
131
|
-
## 9 Agent Prompt Guide
|
|
132
|
-
|
|
133
|
-
- One accent, always green. `primary` marks THE action and the active state — black on green, never
|
|
134
|
-
white. If two things want the green, one of them is not primary.
|
|
135
|
-
- Frame the app in NVIDIA's black chrome: a black `sidebar` around a white content canvas, active nav in green.
|
|
136
|
-
- Build type hierarchy from weight (400 vs 700) and size — never a second family, never color; tracking 0.
|
|
137
|
-
- Every numeric column is `tabular-nums`; every ID / code / timestamp is `font-mono`. Hold `radius` at 2px everywhere; no pills.
|
|
138
|
-
- Success status is deep green `#3f8500`, not the brand green; stay flat — hairline and weight before shadow.
|
|
139
|
-
- Leave behind the marketing skin: 48px display headlines, dark full-bleed hero chapters, decorative
|
|
140
|
-
corner squares, and the editorial purple/blue/pale accents. What carries: the black/white/gray/green
|
|
141
|
-
palette, the neutral temperature, the 2px angular radius, the weight-not-size voice, and flat depth.
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
schema: design-md/v1
|
|
3
|
-
product: Ollama
|
|
4
|
-
provenance: library
|
|
5
|
-
sourced: 2026-07-04
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Ollama — the monochrome documentation operator
|
|
9
|
-
|
|
10
|
-
An operator reading of Ollama's defiantly minimal brand: paper-white canvas end to end, hairline
|
|
11
|
-
borders instead of shadow, and a single accent that is pure black itself. Ollama's marketing surface
|
|
12
|
-
reads like a Markdown README — one continuous white sheet, a rounded display face, a black pill CTA,
|
|
13
|
-
an inline `curl` snippet as the hero. An operator surface keeps the palette, the flatness, the
|
|
14
|
-
rounded type voice, and the airy rhythm; it leaves behind the hero-scale display type, the full-pill
|
|
15
|
-
CTA on every action, and the marketing whitespace at 88px.
|
|
16
|
-
|
|
17
|
-
## 1 Visual Theme
|
|
18
|
-
|
|
19
|
-
Light by default; dark is opt-in. Aggressively flat — hierarchy is carried by 1px hairline `border`,
|
|
20
|
-
type weight, and pure-black contrast, never by shadow (the brand has no drop-shadow elevation at all).
|
|
21
|
-
The system is monochrome: `primary` is pure black `#000000`, the only chromatic hue that carries
|
|
22
|
-
meaning. Status hues speak only status. The single non-neutral note is the focus `ring` — a functional
|
|
23
|
-
blue, the brand's one deliberate exception, not a second accent. The type voice is rounded and
|
|
24
|
-
approachable (a Nunito-class geometric sans), the radius character soft. The anchor surface is a
|
|
25
|
-
continuous white canvas beside a faint off-white `sidebar`. Density is `spacious` — whitespace is the
|
|
26
|
-
brand's whole layout — and steps denser per surface archetype.
|
|
27
|
-
|
|
28
|
-
## 2 Color Roles
|
|
29
|
-
|
|
30
|
-
Values are the brand's own. One accent — black — carries interaction; status hues signal only
|
|
31
|
-
status.
|
|
32
|
-
|
|
33
|
-
| Role | Value | Allowed where |
|
|
34
|
-
| --- | --- | --- |
|
|
35
|
-
| `background` / `card` / `popover` | white `#ffffff` | page, cards, and overlays — one continuous sheet, no surface alternation |
|
|
36
|
-
| `foreground` | pure black `#000000` | headings, key data, primary ink — the brand commits to true black |
|
|
37
|
-
| `muted` / `secondary` | soft off-white `#fafafa` | hover rows, subtle fills, secondary buttons |
|
|
38
|
-
| `muted-foreground` | neutral gray `#737373` | body prose, labels, captions, secondary text |
|
|
39
|
-
| `border` / `input` | hairline `#e5e5e5` | every separator, grid line, and field edge |
|
|
40
|
-
| `primary` | pure black `#000000` | the one primary action; active nav; solid icons |
|
|
41
|
-
| `accent` | pale gray `#f5f5f5` | selected/hovered rows and nav — a step past `muted` so selection reads distinct |
|
|
42
|
-
| `ring` | focus blue `#3b82f6` | the focus outline only — the brand's single functional non-monochrome element |
|
|
43
|
-
| `destructive` | red `#c92a2a` | destructive actions and error state only |
|
|
44
|
-
| `success` / `warning` | green `#1a7f37` / amber `#b45309` | status signalling only, never chrome |
|
|
45
|
-
|
|
46
|
-
The dark surface `#171717` is the brand's one inverted "look here" device — earn it once per view, never
|
|
47
|
-
twice. Terminal traffic-light hues stay inside mono/terminal ornament; they carry no operator role.
|
|
48
|
-
|
|
49
|
-
## 3 Typography
|
|
50
|
-
|
|
51
|
-
One sans, one mono. `font-sans` is a Nunito-class rounded geometric sans — the corpus's named substitute
|
|
52
|
-
for the brand's SF Pro Rounded, and the one thing that makes the UI read as Ollama; headings and body
|
|
53
|
-
share it. `font-mono` is JetBrains Mono for IDs, codes, timestamps, log lines, and install snippets.
|
|
54
|
-
Numeric columns render `tabular-nums` so figures align down a column.
|
|
55
|
-
|
|
56
|
-
| Step | Role | Size · line | Weight · tracking |
|
|
57
|
-
| --- | --- | --- | --- |
|
|
58
|
-
| h1 | page title | 30px / 1.2 | `font-weight-strong` · `heading-tracking` |
|
|
59
|
-
| h2 | section head | 24px / 1.33 | `font-weight-strong` · `heading-tracking` |
|
|
60
|
-
| h3 | card / group head | 18px / 1.4 | `font-weight-strong` · `heading-tracking` |
|
|
61
|
-
| body | UI + prose | 14px / 1.45 | `font-weight-normal` |
|
|
62
|
-
| small | labels, meta, dense table | 13px / 1.4 | `font-weight-normal` |
|
|
63
|
-
| caption | eyebrow, footer meta | 12px / 1.33 | `font-weight-normal` |
|
|
64
|
-
|
|
65
|
-
The brand tracks every step at 0 — the rounded face needs no tightening. Bump weight one step for
|
|
66
|
-
emphasis; never change size to emphasize.
|
|
67
|
-
|
|
68
|
-
## 4 Component Stylings
|
|
69
|
-
|
|
70
|
-
Every recurring operator component composes from the primitives — no literal values.
|
|
71
|
-
|
|
72
|
-
- **Button** — `primary`: filled black `primary` on `primary-foreground`, `radius` (soft, not a pill).
|
|
73
|
-
Secondary: `secondary` fill, 1px `border`, `foreground`. Ghost: transparent, `accent` on hover.
|
|
74
|
-
- **Input** — `background` fill, 1px `border` (`border-weight`), `radius`; focus draws the blue `ring`
|
|
75
|
-
at full 2px, no glow.
|
|
76
|
-
- **Card** — `card` surface, 1px `border`, `radius`, no shadow on the canvas (`shadow-intensity` lifts
|
|
77
|
-
only true overlays); inset by `density-inset`.
|
|
78
|
-
- **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; `accent` on
|
|
79
|
-
selection; `tabular-nums` on numeric columns; `font-mono` on IDs and codes.
|
|
80
|
-
- **Side panel** — detail and edit open in the side panel (`side-panel-width`, `side-panel-width-rich`
|
|
81
|
-
for content-heavy), beside the work, not over it.
|
|
82
|
-
- **Badge / chip** — hairline `border` with `muted` or status fill, and may keep the brand's full pill
|
|
83
|
-
radius (a monochrome nod); status badges take `success` / `warning` / `destructive`, never `primary`.
|
|
84
|
-
|
|
85
|
-
## 5 Layout
|
|
86
|
-
|
|
87
|
-
Framework base unit 4px (Tailwind `--spacing` 0.25rem); the on-scale ramp is `2 · 4 · 8 · 12 · 16 · 24 ·
|
|
88
|
-
32 · 48 · 64 · 88`, where 88px is the brand's signature section rhythm (used between major blocks, not
|
|
89
|
-
between rows). Shell dimensions map one-to-one to the layout primitives: sidebar `sidebar-width-expanded`
|
|
90
|
-
/ `sidebar-width-collapsed`, topbar `topbar-height`, side panel `side-panel-width` /
|
|
91
|
-
`side-panel-width-rich`, modal cap `modal-width-max`, forms `form-max-width`, tables full-width. Density
|
|
92
|
-
is `spacious` globally (rewriting the spacing scale through `density-gap`) and stepped per archetype by
|
|
93
|
-
the surface catalog — never by absolute overrides.
|
|
94
|
-
|
|
95
|
-
## 6 Depth
|
|
96
|
-
|
|
97
|
-
Flat. Hierarchy comes from the surface ladder, hairlines, and the one inverted dark surface — not shadow:
|
|
98
|
-
|
|
99
|
-
- **0 — canvas** `background`, no border.
|
|
100
|
-
- **1 — panel / card** `card` on a 1px `border`; no shadow on the canvas.
|
|
101
|
-
- **2 — overlay** `popover` / side panel / modal — the only place `shadow-intensity` earns a whisper of
|
|
102
|
-
`sm`/`md` shadow to separate the overlay from the sheet beneath.
|
|
103
|
-
|
|
104
|
-
The dark surface `#171717` is the brand's single non-shadow emphasis device — a dark banner or spotlight
|
|
105
|
-
panel, used once per view to draw the eye. Focus is a 2px blue `ring` outline (never a glow), visible on
|
|
106
|
-
every interactive element. Three z-levels: content, sticky chrome, overlay.
|
|
107
|
-
|
|
108
|
-
## 7 Do's & Don'ts
|
|
109
|
-
|
|
110
|
-
- **Do** stay monochrome: black `primary` on white, gray text, hairline borders. That is the identity.
|
|
111
|
-
- **Do** reserve black for the single most important action on a surface; keep it scarce per view.
|
|
112
|
-
- **Do** carry hierarchy with hairlines, weight, and whitespace — never shadow.
|
|
113
|
-
- **Do** keep the rounded sans voice; it is the brand's only "personality," and it must survive.
|
|
114
|
-
- **Do** apply `tabular-nums` to every numeric column and `font-mono` to IDs, codes, and timestamps.
|
|
115
|
-
- **Don't** introduce a second chromatic accent, a gradient, or an atmospheric background — status hues
|
|
116
|
-
are the only color besides the black accent and the functional blue ring.
|
|
117
|
-
- **Don't** full-pill every button; the marketing pill relaxes to the soft `radius` for dense scanning
|
|
118
|
-
(pills stay available for chips and a singular hero action only).
|
|
119
|
-
- **Don't** lift cards with shadow; use a hairline `border` or the one inverted dark surface.
|
|
120
|
-
- **Don't** swap in a second display font — one rounded sans carries headings and body alike.
|
|
121
|
-
|
|
122
|
-
## 8 Responsive
|
|
123
|
-
|
|
124
|
-
The operator sweep is 375 / 768 / 1024 / 1440.
|
|
125
|
-
|
|
126
|
-
| Breakpoint | What changes |
|
|
127
|
-
| --- | --- |
|
|
128
|
-
| 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; section air tightens |
|
|
129
|
-
| 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
|
|
130
|
-
| 1024 | sidebar expands; two-pane queue+detail holds side by side |
|
|
131
|
-
| 1440 | content caps at `form-max-width` for forms; tables and dashboards use the full width |
|
|
132
|
-
|
|
133
|
-
## 9 Agent Prompt Guide
|
|
134
|
-
|
|
135
|
-
Directives the emitting agent follows verbatim:
|
|
136
|
-
|
|
137
|
-
- Lead every list surface with its table; lead every entity with its primary read, not its chrome.
|
|
138
|
-
- Stay monochrome — black is the accent. If something wants color, it is either status or nothing.
|
|
139
|
-
- One black action per surface. If two things want black, one of them is not primary.
|
|
140
|
-
- Flat before shadow: hairline `border` and the surface ladder carry rank; reach for shadow only for a
|
|
141
|
-
real overlay. The one dark surface is the single emphasis device — use it once.
|
|
142
|
-
- Keep the rounded sans voice; it is what makes the UI read as Ollama, not a generic gray admin.
|
|
143
|
-
- Every numeric column is `tabular-nums`; every ID / code / timestamp / log line is `font-mono`.
|
|
144
|
-
- The focus `ring` is the blue — the brand's one functional non-monochrome element; keep it visible.
|
|
145
|
-
- Detail and edit go in the side panel; a modal is a confirmation, not a workspace.
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
schema: design-md/v1
|
|
3
|
-
product: OpenCode
|
|
4
|
-
provenance: library
|
|
5
|
-
sourced: 2026-07-04
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# OpenCode — the terminal-native monospace operator design
|
|
9
|
-
|
|
10
|
-
OpenCode's marketing site is a manpage rendered at modern resolution: every word sits in one monospaced
|
|
11
|
-
face on a warm cream canvas, ASCII `[+]`/`[-]` markers stand in for icons, and a single dark card mocks
|
|
12
|
-
up the OpenCode TUI. This entry is the *operator* reading of that brand — an internal tool (agent-ops
|
|
13
|
-
console, run queue, log stream, dashboard) in OpenCode's language. What carries: the warm cream canvas
|
|
14
|
-
(never pure white), near-black ink, the monospace-everywhere type voice, the sharp-container /
|
|
15
|
-
4px-interactive radius character, the single reserved Apple-Blue accent, and categorically-flat hairline
|
|
16
|
-
depth. What stays behind: the full-bleed dark hero TUI mockup, the 38px display headline, the 96px
|
|
17
|
-
section rhythm, the block-pixel ASCII wordmark, and the bracket markers used as bullets.
|
|
18
|
-
|
|
19
|
-
**Monochrome chrome, one held accent.** The chrome is ink-on-cream monochrome; the primary action is
|
|
20
|
-
a near-black ink button, not a colored one (the Vercel/Geist dialect), and Apple Blue (`#007aff`) is
|
|
21
|
-
the one chromatic accent — reserved, as the source reserves it, for interactive and data signal
|
|
22
|
-
only. It reads *light*, so the light-default floor holds.
|
|
23
|
-
|
|
24
|
-
## 1 Visual Theme
|
|
25
|
-
|
|
26
|
-
Light by default; dark is opt-in. The whole UI floats on OpenCode's warm cream `background` (`#fdfcfc`)
|
|
27
|
-
— a faintly-blushed off-white, never the cool gray the category defaults to. Emphatically flat:
|
|
28
|
-
hierarchy is carried by hairline `border`, type weight, and the near-black/cream contrast — never a drop
|
|
29
|
-
shadow (the source has none; nothing lifts, nothing floats). The type voice is the identity: one
|
|
30
|
-
monospaced face carries every role (Berkeley Mono in the source, proprietary; JetBrains Mono the shipped
|
|
31
|
-
substitute) — no sans anywhere. The primary action is a near-black ink button; Apple Blue is the single
|
|
32
|
-
chromatic accent, held scarce. Density is `dense` — the surface reads like a terminal. The anchor
|
|
33
|
-
surface is a cream canvas seated beside a barely-warmer `sidebar`, separated by a hairline, not a band.
|
|
34
|
-
|
|
35
|
-
## 2 Color Roles
|
|
36
|
-
|
|
37
|
-
Light values. One chromatic accent — Apple Blue is the only hue that carries interactive meaning;
|
|
38
|
-
the primary action is neutral ink; status speaks status.
|
|
39
|
-
|
|
40
|
-
| Role | Value | Allowed where |
|
|
41
|
-
| --- | --- | --- |
|
|
42
|
-
| `background` / `card` / `popover` | warm cream `#fdfcfc` | page, cards, and overlays — one warm off-white, no surface bands |
|
|
43
|
-
| `foreground` | near-black ink `#201d1d` | all primary ink; the primary button fill |
|
|
44
|
-
| `muted` / `secondary` | soft warm `#f8f7f7` | hover rows, subtle fills, secondary-button fill |
|
|
45
|
-
| `muted-foreground` | warm gray `#646262` | labels, captions, secondary text |
|
|
46
|
-
| `border` / `input` | warm hairline `#e0dddd` | every separator, grid line, field edge (solid form of the source's `rgba(15,0,0,0.12)`) |
|
|
47
|
-
| `primary` | near-black ink `#201d1d` | the one primary action — a dark button, never blue |
|
|
48
|
-
| `accent` | warm selection `#f1eeee` | selected / hovered rows and nav — a warm step, never blue |
|
|
49
|
-
| `ring` | `primary` ink `#201d1d` | the focus outline — an ink border, no glow (keyboard-first) |
|
|
50
|
-
| Apple Blue (the accent hue) | `#007aff` | interactive: active-nav, links, selected emphasis, `chart-1` — held scarce |
|
|
51
|
-
| `destructive` | Apple red `#ff3b30` | destructive actions and error state only |
|
|
52
|
-
| `success` / `warning` | Apple green `#30d158` / amber `#ff9f0a` | status signalling only, never chrome |
|
|
53
|
-
|
|
54
|
-
The Apple HIG semantic ramp is the brand's own; in the source it lives in the in-product TUI, and the operator surface *is* that context.
|
|
55
|
-
|
|
56
|
-
## 3 Typography
|
|
57
|
-
|
|
58
|
-
There is no sans/mono split — `font-sans` and `font-mono` are the same monospaced family (JetBrains
|
|
59
|
-
Mono, the corpus's substitute for the proprietary Berkeley Mono). One face carries body, headings,
|
|
60
|
-
labels, IDs, and every numeric column; numerals align natively (monospace figures are already tabular),
|
|
61
|
-
so `tabular-nums` is inherent. Weights are 400 / 500 / 700, and — the defining detail — tracking is `0`
|
|
62
|
-
on every role: monospace does not track. The 38px display headline stays behind; a page title tops at 24px.
|
|
63
|
-
|
|
64
|
-
| Step | Role | Size · line | Weight · tracking |
|
|
65
|
-
| --- | --- | --- | --- |
|
|
66
|
-
| h1 | page title | 24px / 1.4 | `font-weight-strong` (700) · `heading-tracking` (0) |
|
|
67
|
-
| h2 | section head | 18px / 1.4 | `font-weight-strong` (700) · 0 |
|
|
68
|
-
| h3 | card / group head | 16px / 1.4 | `font-weight-strong` (700) · 0 |
|
|
69
|
-
| body | UI + prose | 14px / 1.5 | `font-weight-normal` (400) |
|
|
70
|
-
| small | labels, meta, dense table | 13px / 1.4 | `font-weight-normal` |
|
|
71
|
-
| caption | footer, badge, eyebrow | 12px / 1.4 | 500 (medium) |
|
|
72
|
-
| code | IDs, logs, amounts | 13px / 1.5 | `font-weight-normal` |
|
|
73
|
-
|
|
74
|
-
Emphasise by stepping weight 400 → 500 → 700; never by tracking, and never by swapping the face — there
|
|
75
|
-
is no other face.
|
|
76
|
-
|
|
77
|
-
## 4 Component Stylings
|
|
78
|
-
|
|
79
|
-
Every recurring operator component composes from the primitives — no literal values.
|
|
80
|
-
|
|
81
|
-
- **Button** — primary: filled ink `primary` on cream `primary-foreground`, `radius` (4px), never a pill. Secondary: `secondary` fill, 1px `border`, `foreground`. Ghost: transparent, `accent` on hover.
|
|
82
|
-
- **Input** — `background` fill, 1px `border` (`border-weight`), `radius` (4px); focus draws the ink `ring` at 2px — a flat border, no glow.
|
|
83
|
-
- **Card** — `card` surface on a 1px `border`, **sharp corners** (containers are 0px); the hairline carries the lift, never a shadow; inset by `density-inset`.
|
|
84
|
-
- **Table row** — height `table-row-height`; `border` grid lines; `muted` on hover; numerics align natively in the mono face; selection tints `accent`, active rows mark with the blue accent.
|
|
85
|
-
- **Side panel** — detail and edit open in the side panel (`side-panel-width`, `side-panel-width-rich` for content-heavy), beside the work, not over it.
|
|
86
|
-
- **Badge** — 4px `radius`, `muted` / status fill, uppercase caption; status badges take `success` / `warning` / `destructive`, never `primary`.
|
|
87
|
-
|
|
88
|
-
## 5 Layout
|
|
89
|
-
|
|
90
|
-
Base spacing unit 8px with fine 1 / 4px steps (the source's own base); the on-scale ramp is `1 · 4 · 8 ·
|
|
91
|
-
12 · 16 · 24 · 32 · 48` — the marketing 96px section rhythm stays behind. Shell dimensions map to the
|
|
92
|
-
layout primitives: sidebar `sidebar-width-expanded` (248px) / `sidebar-width-collapsed` (56px), topbar
|
|
93
|
-
`topbar-height` (56px, the source's nav height), side panel `side-panel-width` (420px) /
|
|
94
|
-
`side-panel-width-rich` (640px), modal `modal-width-max`, forms `form-max-width`, tables full-width. The
|
|
95
|
-
grid runs tight — a terminal-native brand earns its density, governed globally by `density-tier`
|
|
96
|
-
(`dense`) and stepped per archetype by the surface catalog.
|
|
97
|
-
|
|
98
|
-
## 6 Depth
|
|
99
|
-
|
|
100
|
-
Categorically flat — the source has no drop shadows; hierarchy comes from hairlines, the surface ladder,
|
|
101
|
-
and one color inversion:
|
|
102
|
-
|
|
103
|
-
- **0 — canvas** `background`, no border.
|
|
104
|
-
- **1 — panel / card** `card` on a 1px `border`, sharp corners; the hairline alone carries the lift. Selected / hover rows warm to `accent`.
|
|
105
|
-
- **2 — overlay** `popover` / side panel / modal — a strong hairline and position carry rank; `shadow-intensity` earns only the faintest whisper to float a true overlay off the cream.
|
|
106
|
-
- **inlay — terminal / log / console** dark `#201d1d` with cream `on-dark` text, `#302c2c` elevated rows, and the mono face — the source's single dark moment (the hero TUI mockup) carried as the console inlay.
|
|
107
|
-
|
|
108
|
-
Focus is a 2px ink `ring` outline (never a glow), visible on every interactive element; three z-levels: content, sticky chrome, overlay.
|
|
109
|
-
|
|
110
|
-
## 7 Do's & Don'ts
|
|
111
|
-
|
|
112
|
-
- **Do** anchor every surface on the warm cream canvas — pure white reads as any-other-tool; the faint blush is OpenCode.
|
|
113
|
-
- **Do** render every role in the one monospaced face — body, headings, labels, and numerics alike; the single-face decision is the entire identity.
|
|
114
|
-
- **Do** keep the primary action a near-black ink button, and keep Apple Blue scarce — interactive, active-nav, links, and chart series only.
|
|
115
|
-
- **Do** keep containers sharp (0px) and interactive elements at 4px; that two-value split is the radius vocabulary.
|
|
116
|
-
- **Don't** introduce a sans-serif or a display face — there is one face, and it is monospaced.
|
|
117
|
-
- **Don't** fill the primary button blue, promote a second chromatic accent, or signal elevation with drop shadows.
|
|
118
|
-
- **Don't** open detail or edit in a modal when the side panel fits — a modal is a confirmation.
|
|
119
|
-
|
|
120
|
-
## 8 Responsive
|
|
121
|
-
|
|
122
|
-
The operator sweep is 375 / 768 / 1024 / 1440.
|
|
123
|
-
|
|
124
|
-
| Breakpoint | What changes |
|
|
125
|
-
| --- | --- |
|
|
126
|
-
| 375 | sidebar → off-canvas drawer; two-pane list+detail stacks; side panel → full sheet; density holds |
|
|
127
|
-
| 768 | sidebar collapses to the icon rail (`sidebar-width-collapsed`); tables scroll their overflow |
|
|
128
|
-
| 1024 | sidebar expands; two-pane queue+detail holds side by side |
|
|
129
|
-
| 1440 | forms cap at `form-max-width`; tables and dashboards use the full width |
|
|
130
|
-
|
|
131
|
-
Terminal, log, and console inlays keep mono legibility at every breakpoint by scrolling horizontally, never wrapping.
|
|
132
|
-
|
|
133
|
-
## 9 Agent Prompt Guide
|
|
134
|
-
|
|
135
|
-
Directives the emitting agent follows verbatim:
|
|
136
|
-
|
|
137
|
-
- Reach for the warm cream canvas first — never pure white; the faint blush is the brand. Cards are the same cream, seated by a hairline.
|
|
138
|
-
- Render every text role in the one monospaced face (JetBrains Mono) — there is no sans. Numerics align natively; no `tabular-nums` toggle is needed.
|
|
139
|
-
- Keep the primary action an ink button. Spend Apple Blue only on interactive and data signal: active-nav, links, selected emphasis, chart series. If two things want the blue, one is not primary.
|
|
140
|
-
- Keep containers sharp (0px) and interactive elements at 4px — that split is the brand's whole geometry.
|
|
141
|
-
- Depth is hairline, surface, and position — never shadow. Dress terminal, log, and console panels in the dark inlay (`#201d1d`, mono, cream text) — real console chrome, not a light mockup of it.
|
|
142
|
-
- Keyboard-first: the ink `ring` focus outline is always visible. Leave behind the dark hero TUI mockup, the 38px display, the 96px rhythm, the ASCII wordmark, and the bracket bullets — use real lucide icons.
|