@nurix/etna 0.19.49 → 0.19.51
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/apollo/harness.json +2 -2
- package/data/harnesses/apollo/hooks/hooks.json +3 -1
- package/data/harnesses/apollo/skills/design/SKILL.md +55 -29
- package/data/harnesses/apollo/skills/design/references/compose.md +8 -4
- package/data/harnesses/apollo/skills/design/references/content.md +5 -5
- package/data/harnesses/apollo/skills/design/references/existing-apps.md +1 -1
- package/data/harnesses/apollo/skills/design/references/intake.md +11 -7
- package/data/harnesses/apollo/skills/design/references/object-pass.md +1 -1
- package/data/harnesses/apollo/skills/design/references/ship-gate.md +3 -3
- package/data/harnesses/apollo/skills/design/scripts/select-chart.mjs +26 -6
- package/data/harnesses/code/harness.json +2 -2
- package/data/harnesses/code/hooks/hooks.json +3 -1
- package/data/harnesses/code/skills/design/SKILL.md +55 -29
- package/data/harnesses/code/skills/design/references/compose.md +8 -4
- package/data/harnesses/code/skills/design/references/content.md +5 -5
- package/data/harnesses/code/skills/design/references/existing-apps.md +1 -1
- package/data/harnesses/code/skills/design/references/intake.md +11 -7
- package/data/harnesses/code/skills/design/references/object-pass.md +1 -1
- package/data/harnesses/code/skills/design/references/ship-gate.md +3 -3
- package/data/harnesses/code/skills/design/scripts/select-chart.mjs +26 -6
- package/package.json +2 -2
- package/data/harnesses/apollo/skills/design/data/blueprints/browse.md +0 -38
- package/data/harnesses/apollo/skills/design/data/blueprints/creation-flow.md +0 -38
- package/data/harnesses/apollo/skills/design/data/blueprints/dashboard.md +0 -38
- package/data/harnesses/apollo/skills/design/data/blueprints/grid.md +0 -38
- package/data/harnesses/apollo/skills/design/data/blueprints/queue.md +0 -38
- package/data/harnesses/apollo/skills/design/data/blueprints/record-detail.md +0 -38
- package/data/harnesses/apollo/skills/design/data/blueprints/settings.md +0 -38
- package/data/harnesses/apollo/skills/design/data/chart-styling/Readme.md +0 -33
- package/data/harnesses/apollo/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/datadog-classic-six-aligned.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/econ-red-rule-horizontal.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/material-rounded-explicit-label.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/plot-currentcolor-inherit.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/saas-gradient-glow-area.md +0 -19
- package/data/harnesses/apollo/skills/design/data/chart-styling/shadcn-composable-css-vars.md +0 -19
- package/data/harnesses/apollo/skills/design/data/charts/census.csv +0 -58
- package/data/harnesses/apollo/skills/design/data/checklists/browse.md +0 -21
- package/data/harnesses/apollo/skills/design/data/checklists/creation-flow.md +0 -20
- package/data/harnesses/apollo/skills/design/data/checklists/dashboard.md +0 -21
- package/data/harnesses/apollo/skills/design/data/checklists/grid.md +0 -21
- package/data/harnesses/apollo/skills/design/data/checklists/queue.md +0 -21
- package/data/harnesses/apollo/skills/design/data/checklists/record-detail.md +0 -21
- package/data/harnesses/apollo/skills/design/data/checklists/settings.md +0 -21
- package/data/harnesses/apollo/skills/design/data/chrome/board-column.md +0 -68
- package/data/harnesses/apollo/skills/design/data/chrome/data-table.md +0 -63
- package/data/harnesses/apollo/skills/design/data/chrome/side-panel.md +0 -60
- package/data/harnesses/apollo/skills/design/data/chrome/sidebar.md +0 -78
- package/data/harnesses/apollo/skills/design/data/chrome/stat-cards.md +0 -62
- package/data/harnesses/apollo/skills/design/data/chrome/topbar.md +0 -65
- package/data/harnesses/apollo/skills/design/data/color/accent-presets.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/aesop-earth-mute.md +0 -91
- package/data/harnesses/apollo/skills/design/data/color/arc-peach-play.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/attio-hunter-teal.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/carbon-cyan-signal.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/clay-parchment.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/duolingo-feather.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/geist-mono-signal.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/linear-graphite-violet.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/mercury-onyx-cobalt.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/notion-paper-ink.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/radix-slate-iris.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/raycast-void-spectrum.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/spectrum-celery-fuchsia.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/stripe-blurple-ruby.md +0 -90
- package/data/harnesses/apollo/skills/design/data/color/superhuman-cod-picton.md +0 -89
- package/data/harnesses/apollo/skills/design/data/corpora/operations-review/companies.csv +0 -15
- package/data/harnesses/apollo/skills/design/data/corpora/operations-review/corpus.md +0 -87
- package/data/harnesses/apollo/skills/design/data/corpora/operations-review/people.csv +0 -25
- package/data/harnesses/apollo/skills/design/data/corpora/procurement-approvals/companies.csv +0 -15
- package/data/harnesses/apollo/skills/design/data/corpora/procurement-approvals/corpus.md +0 -83
- package/data/harnesses/apollo/skills/design/data/corpora/procurement-approvals/people.csv +0 -25
- package/data/harnesses/apollo/skills/design/data/corpora/revenue-analytics/companies.csv +0 -15
- package/data/harnesses/apollo/skills/design/data/corpora/revenue-analytics/corpus.md +0 -89
- package/data/harnesses/apollo/skills/design/data/corpora/revenue-analytics/people.csv +0 -25
- package/data/harnesses/apollo/skills/design/data/elevation/ant-design-directional-shadow.md +0 -19
- package/data/harnesses/apollo/skills/design/data/elevation/apple-liquid-glass-material.md +0 -18
- package/data/harnesses/apollo/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +0 -20
- package/data/harnesses/apollo/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +0 -20
- package/data/harnesses/apollo/skills/design/data/elevation/github-primer-sparing-shadow.md +0 -19
- package/data/harnesses/apollo/skills/design/data/elevation/ibm-carbon-layer-and-border.md +0 -19
- package/data/harnesses/apollo/skills/design/data/elevation/linear-dark-surface-ladder.md +0 -17
- package/data/harnesses/apollo/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +0 -19
- package/data/harnesses/apollo/skills/design/data/elevation/material-3-tonal-elevation.md +0 -21
- package/data/harnesses/apollo/skills/design/data/elevation/neobrutalist-hard-offset.md +0 -19
- package/data/harnesses/apollo/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +0 -18
- package/data/harnesses/apollo/skills/design/data/elevation/notion-warm-minimal-hairline.md +0 -17
- package/data/harnesses/apollo/skills/design/data/elevation/polaris-elevation-inset-bevel.md +0 -21
- package/data/harnesses/apollo/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +0 -19
- package/data/harnesses/apollo/skills/design/data/elevation/shadcn-neutral-derived-radius.md +0 -19
- package/data/harnesses/apollo/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +0 -18
- package/data/harnesses/apollo/skills/design/data/elevation/tailwind-default-utility-scale.md +0 -19
- package/data/harnesses/apollo/skills/design/data/elevation/vercel-geist-shadow-as-border.md +0 -20
- package/data/harnesses/apollo/skills/design/data/gradients/amber-attention-fill.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/cloud-shadow-wash.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/confident-lavender-wash.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/ember-ship-flare.md +0 -18
- package/data/harnesses/apollo/skills/design/data/gradients/full-metal-wash.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/indigo-ruby-cta-band.md +0 -18
- package/data/harnesses/apollo/skills/design/data/gradients/linear-graphite-wash.md +0 -18
- package/data/harnesses/apollo/skills/design/data/gradients/marble-quartz-wash.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/midnight-aurora-panel.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/neutral-volume-fill.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/revenue-uptrend-fill.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/risk-decline-fill.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/signal-blue-develop.md +0 -18
- package/data/harnesses/apollo/skills/design/data/gradients/slate-mist-wash.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/stripe-atmosphere-mesh.md +0 -18
- package/data/harnesses/apollo/skills/design/data/gradients/teal-signal-accent.md +0 -16
- package/data/harnesses/apollo/skills/design/data/gradients/violet-magenta-promo.md +0 -16
- package/data/harnesses/apollo/skills/design/data/iconography.md +0 -199
- package/data/harnesses/apollo/skills/design/data/motion/accordion-expand.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/destructive-hold-confirm.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/drag-dismiss-momentum.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/empty-state-arrive.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/hover-lift.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/modal-center-arrive.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/number-ticker-roll.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/onboarding-bounce.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/panel-slide.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/press-feedback.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/progress-linear-loop.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/route-crossfade.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/rubber-band-overscroll.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/skeleton-shimmer.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/stagger-arrive.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/toast-enter-stack.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/tooltip-chain-instant.md +0 -18
- package/data/harnesses/apollo/skills/design/data/motion/trigger-anchored-reveal.md +0 -18
- package/data/harnesses/apollo/skills/design/data/tells.csv +0 -34
- package/data/harnesses/apollo/skills/design/data/typography/anton-work-sans.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/archivo-black-archivo.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/bitter-karla.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/dm-serif-dm-sans.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/fraunces-inter.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/geist-geist-mono.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/hubot-sans-mona-sans.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/instrument-serif-instrument-sans.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/inter-operator-single-family.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/libre-baskerville-libre-franklin.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/newsreader-inter.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/playfair-display-source-sans.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/public-sans-operator-single-family.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/sohne-inter-fintech.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/source-serif-source-sans.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +0 -17
- package/data/harnesses/apollo/skills/design/data/typography/spectral-manrope.md +0 -17
- package/data/harnesses/apollo/skills/design/data/voices/bright-collaborator.md +0 -29
- package/data/harnesses/apollo/skills/design/data/voices/direct-operator.md +0 -29
- package/data/harnesses/apollo/skills/design/data/voices/earnest-helper.md +0 -29
- package/data/harnesses/apollo/skills/design/data/voices/editorial-composed.md +0 -29
- package/data/harnesses/apollo/skills/design/data/voices/quiet-concierge.md +0 -29
- package/data/harnesses/apollo/skills/design/data/voices/warm-guide.md +0 -29
- package/data/harnesses/apollo/skills/design/design-md/SCHEMA.md +0 -179
- package/data/harnesses/apollo/skills/design/design-md/index.csv +0 -67
- package/data/harnesses/apollo/skills/design/design-md/library/airbnb.md +0 -207
- package/data/harnesses/apollo/skills/design/design-md/library/airtable.md +0 -205
- package/data/harnesses/apollo/skills/design/design-md/library/anthropic-claude.md +0 -203
- package/data/harnesses/apollo/skills/design/design-md/library/apple.md +0 -206
- package/data/harnesses/apollo/skills/design/design-md/library/binance.md +0 -210
- package/data/harnesses/apollo/skills/design/design-md/library/bmw.md +0 -210
- package/data/harnesses/apollo/skills/design/design-md/library/cal.md +0 -209
- package/data/harnesses/apollo/skills/design/design-md/library/clay.md +0 -204
- package/data/harnesses/apollo/skills/design/design-md/library/clickhouse.md +0 -205
- package/data/harnesses/apollo/skills/design/design-md/library/cohere.md +0 -205
- package/data/harnesses/apollo/skills/design/design-md/library/coinbase.md +0 -198
- package/data/harnesses/apollo/skills/design/design-md/library/composio.md +0 -198
- package/data/harnesses/apollo/skills/design/design-md/library/cursor.md +0 -197
- package/data/harnesses/apollo/skills/design/design-md/library/elevenlabs.md +0 -199
- package/data/harnesses/apollo/skills/design/design-md/library/expo.md +0 -200
- package/data/harnesses/apollo/skills/design/design-md/library/figma.md +0 -199
- package/data/harnesses/apollo/skills/design/design-md/library/framer.md +0 -202
- package/data/harnesses/apollo/skills/design/design-md/library/hashicorp.md +0 -205
- package/data/harnesses/apollo/skills/design/design-md/library/ibm.md +0 -205
- package/data/harnesses/apollo/skills/design/design-md/library/intercom.md +0 -204
- package/data/harnesses/apollo/skills/design/design-md/library/kraken.md +0 -200
- package/data/harnesses/apollo/skills/design/design-md/library/linear-app.md +0 -198
- package/data/harnesses/apollo/skills/design/design-md/library/lovable.md +0 -199
- package/data/harnesses/apollo/skills/design/design-md/library/meta.md +0 -204
- package/data/harnesses/apollo/skills/design/design-md/library/minimax.md +0 -204
- package/data/harnesses/apollo/skills/design/design-md/library/mintlify.md +0 -210
- package/data/harnesses/apollo/skills/design/design-md/library/miro.md +0 -209
- package/data/harnesses/apollo/skills/design/design-md/library/mistral-ai.md +0 -201
- package/data/harnesses/apollo/skills/design/design-md/library/mongodb.md +0 -201
- package/data/harnesses/apollo/skills/design/design-md/library/notion.md +0 -204
- package/data/harnesses/apollo/skills/design/design-md/library/nvidia.md +0 -215
- package/data/harnesses/apollo/skills/design/design-md/library/ollama.md +0 -213
- package/data/harnesses/apollo/skills/design/design-md/library/opencode-ai.md +0 -216
- package/data/harnesses/apollo/skills/design/design-md/library/posthog.md +0 -218
- package/data/harnesses/apollo/skills/design/design-md/library/raycast.md +0 -214
- package/data/harnesses/apollo/skills/design/design-md/library/replicate.md +0 -202
- package/data/harnesses/apollo/skills/design/design-md/library/resend.md +0 -203
- package/data/harnesses/apollo/skills/design/design-md/library/revolut.md +0 -203
- package/data/harnesses/apollo/skills/design/design-md/library/runwayml.md +0 -203
- package/data/harnesses/apollo/skills/design/design-md/library/sanity.md +0 -200
- package/data/harnesses/apollo/skills/design/design-md/library/sentry.md +0 -201
- package/data/harnesses/apollo/skills/design/design-md/library/shopify.md +0 -202
- package/data/harnesses/apollo/skills/design/design-md/library/slack.md +0 -202
- package/data/harnesses/apollo/skills/design/design-md/library/spacex.md +0 -206
- package/data/harnesses/apollo/skills/design/design-md/library/spotify.md +0 -206
- package/data/harnesses/apollo/skills/design/design-md/library/stripe.md +0 -196
- package/data/harnesses/apollo/skills/design/design-md/library/supabase.md +0 -196
- package/data/harnesses/apollo/skills/design/design-md/library/superhuman.md +0 -194
- package/data/harnesses/apollo/skills/design/design-md/library/tesla.md +0 -198
- package/data/harnesses/apollo/skills/design/design-md/library/theverge.md +0 -199
- package/data/harnesses/apollo/skills/design/design-md/library/together-ai.md +0 -193
- package/data/harnesses/apollo/skills/design/design-md/library/uber.md +0 -195
- package/data/harnesses/apollo/skills/design/design-md/library/vercel.md +0 -195
- package/data/harnesses/apollo/skills/design/design-md/library/voltagent.md +0 -197
- package/data/harnesses/apollo/skills/design/design-md/library/warp.md +0 -196
- package/data/harnesses/apollo/skills/design/design-md/library/webflow.md +0 -197
- package/data/harnesses/apollo/skills/design/design-md/library/wired.md +0 -197
- package/data/harnesses/apollo/skills/design/design-md/library/wise.md +0 -198
- package/data/harnesses/apollo/skills/design/design-md/library/x-ai.md +0 -199
- package/data/harnesses/apollo/skills/design/design-md/library/zapier.md +0 -198
- package/data/harnesses/apollo/skills/design/design-md/nurix.md +0 -214
- package/data/harnesses/apollo/skills/design/design-md/variants/editorial-luxury.md +0 -184
- package/data/harnesses/apollo/skills/design/design-md/variants/expressive-saas.md +0 -216
- package/data/harnesses/apollo/skills/design/design-md/variants/quiet-premium.md +0 -211
- package/data/harnesses/apollo/skills/design/design-md/variants/terse-dense-operator.md +0 -212
- package/data/harnesses/apollo/skills/design/design-md/variants/warm-approachable.md +0 -216
- package/data/harnesses/code/skills/design/data/blueprints/browse.md +0 -38
- package/data/harnesses/code/skills/design/data/blueprints/creation-flow.md +0 -38
- package/data/harnesses/code/skills/design/data/blueprints/dashboard.md +0 -38
- package/data/harnesses/code/skills/design/data/blueprints/grid.md +0 -38
- package/data/harnesses/code/skills/design/data/blueprints/queue.md +0 -38
- package/data/harnesses/code/skills/design/data/blueprints/record-detail.md +0 -38
- package/data/harnesses/code/skills/design/data/blueprints/settings.md +0 -38
- package/data/harnesses/code/skills/design/data/chart-styling/Readme.md +0 -33
- package/data/harnesses/code/skills/design/data/chart-styling/carbon-accessible-alert-semantic.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/carbon-monochrome-sequential-trend.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/datadog-classic-six-aligned.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/datawrapper-tiered-gray-hierarchy.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/econ-red-rule-horizontal.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/financial-diverging-threshold-overlay.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/ft-vocabulary-ranked-muted.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/grafana-dark-threshold-bands.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/material-rounded-explicit-label.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/nyt-ghost-grid-direct-label.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/plot-currentcolor-inherit.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/saas-gradient-glow-area.md +0 -19
- package/data/harnesses/code/skills/design/data/chart-styling/shadcn-composable-css-vars.md +0 -19
- package/data/harnesses/code/skills/design/data/charts/census.csv +0 -58
- package/data/harnesses/code/skills/design/data/checklists/browse.md +0 -21
- package/data/harnesses/code/skills/design/data/checklists/creation-flow.md +0 -20
- package/data/harnesses/code/skills/design/data/checklists/dashboard.md +0 -21
- package/data/harnesses/code/skills/design/data/checklists/grid.md +0 -21
- package/data/harnesses/code/skills/design/data/checklists/queue.md +0 -21
- package/data/harnesses/code/skills/design/data/checklists/record-detail.md +0 -21
- package/data/harnesses/code/skills/design/data/checklists/settings.md +0 -21
- package/data/harnesses/code/skills/design/data/chrome/board-column.md +0 -68
- package/data/harnesses/code/skills/design/data/chrome/data-table.md +0 -63
- package/data/harnesses/code/skills/design/data/chrome/side-panel.md +0 -60
- package/data/harnesses/code/skills/design/data/chrome/sidebar.md +0 -78
- package/data/harnesses/code/skills/design/data/chrome/stat-cards.md +0 -62
- package/data/harnesses/code/skills/design/data/chrome/topbar.md +0 -65
- package/data/harnesses/code/skills/design/data/color/accent-presets.md +0 -90
- package/data/harnesses/code/skills/design/data/color/aesop-earth-mute.md +0 -91
- package/data/harnesses/code/skills/design/data/color/arc-peach-play.md +0 -90
- package/data/harnesses/code/skills/design/data/color/attio-hunter-teal.md +0 -90
- package/data/harnesses/code/skills/design/data/color/carbon-cyan-signal.md +0 -90
- package/data/harnesses/code/skills/design/data/color/clay-parchment.md +0 -90
- package/data/harnesses/code/skills/design/data/color/duolingo-feather.md +0 -90
- package/data/harnesses/code/skills/design/data/color/geist-mono-signal.md +0 -90
- package/data/harnesses/code/skills/design/data/color/linear-graphite-violet.md +0 -90
- package/data/harnesses/code/skills/design/data/color/mercury-onyx-cobalt.md +0 -90
- package/data/harnesses/code/skills/design/data/color/notion-paper-ink.md +0 -90
- package/data/harnesses/code/skills/design/data/color/radix-slate-iris.md +0 -90
- package/data/harnesses/code/skills/design/data/color/raycast-void-spectrum.md +0 -90
- package/data/harnesses/code/skills/design/data/color/spectrum-celery-fuchsia.md +0 -90
- package/data/harnesses/code/skills/design/data/color/stripe-blurple-ruby.md +0 -90
- package/data/harnesses/code/skills/design/data/color/superhuman-cod-picton.md +0 -89
- package/data/harnesses/code/skills/design/data/corpora/operations-review/companies.csv +0 -15
- package/data/harnesses/code/skills/design/data/corpora/operations-review/corpus.md +0 -87
- package/data/harnesses/code/skills/design/data/corpora/operations-review/people.csv +0 -25
- package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/companies.csv +0 -15
- package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/corpus.md +0 -83
- package/data/harnesses/code/skills/design/data/corpora/procurement-approvals/people.csv +0 -25
- package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/companies.csv +0 -15
- package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/corpus.md +0 -89
- package/data/harnesses/code/skills/design/data/corpora/revenue-analytics/people.csv +0 -25
- package/data/harnesses/code/skills/design/data/elevation/ant-design-directional-shadow.md +0 -19
- package/data/harnesses/code/skills/design/data/elevation/apple-liquid-glass-material.md +0 -18
- package/data/harnesses/code/skills/design/data/elevation/atlassian-surface-shadow-pairing.md +0 -20
- package/data/harnesses/code/skills/design/data/elevation/fluent-2-key-ambient-ramp.md +0 -20
- package/data/harnesses/code/skills/design/data/elevation/github-primer-sparing-shadow.md +0 -19
- package/data/harnesses/code/skills/design/data/elevation/ibm-carbon-layer-and-border.md +0 -19
- package/data/harnesses/code/skills/design/data/elevation/linear-dark-surface-ladder.md +0 -17
- package/data/harnesses/code/skills/design/data/elevation/material-2-key-ambient-dp-ramp.md +0 -19
- package/data/harnesses/code/skills/design/data/elevation/material-3-tonal-elevation.md +0 -21
- package/data/harnesses/code/skills/design/data/elevation/neobrutalist-hard-offset.md +0 -19
- package/data/harnesses/code/skills/design/data/elevation/neumorphic-soft-dual-shadow.md +0 -18
- package/data/harnesses/code/skills/design/data/elevation/notion-warm-minimal-hairline.md +0 -17
- package/data/harnesses/code/skills/design/data/elevation/polaris-elevation-inset-bevel.md +0 -21
- package/data/harnesses/code/skills/design/data/elevation/radix-themes-alpha-ring-scale.md +0 -19
- package/data/harnesses/code/skills/design/data/elevation/shadcn-neutral-derived-radius.md +0 -19
- package/data/harnesses/code/skills/design/data/elevation/stripe-brand-tinted-dual-shadow.md +0 -18
- package/data/harnesses/code/skills/design/data/elevation/tailwind-default-utility-scale.md +0 -19
- package/data/harnesses/code/skills/design/data/elevation/vercel-geist-shadow-as-border.md +0 -20
- package/data/harnesses/code/skills/design/data/gradients/amber-attention-fill.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/cloud-shadow-wash.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/confident-lavender-wash.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/ember-ship-flare.md +0 -18
- package/data/harnesses/code/skills/design/data/gradients/full-metal-wash.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/indigo-ruby-cta-band.md +0 -18
- package/data/harnesses/code/skills/design/data/gradients/linear-graphite-wash.md +0 -18
- package/data/harnesses/code/skills/design/data/gradients/marble-quartz-wash.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/midnight-aurora-panel.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/neutral-volume-fill.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/revenue-uptrend-fill.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/risk-decline-fill.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/signal-blue-develop.md +0 -18
- package/data/harnesses/code/skills/design/data/gradients/slate-mist-wash.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/stripe-atmosphere-mesh.md +0 -18
- package/data/harnesses/code/skills/design/data/gradients/teal-signal-accent.md +0 -16
- package/data/harnesses/code/skills/design/data/gradients/violet-magenta-promo.md +0 -16
- package/data/harnesses/code/skills/design/data/iconography.md +0 -199
- package/data/harnesses/code/skills/design/data/motion/accordion-expand.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/destructive-hold-confirm.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/drag-dismiss-momentum.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/empty-state-arrive.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/hover-lift.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/modal-center-arrive.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/number-ticker-roll.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/onboarding-bounce.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/panel-slide.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/press-feedback.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/progress-linear-loop.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/route-crossfade.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/rubber-band-overscroll.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/skeleton-shimmer.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/stagger-arrive.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/toast-enter-stack.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/tooltip-chain-instant.md +0 -18
- package/data/harnesses/code/skills/design/data/motion/trigger-anchored-reveal.md +0 -18
- package/data/harnesses/code/skills/design/data/tells.csv +0 -34
- package/data/harnesses/code/skills/design/data/typography/anton-work-sans.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/archivo-black-archivo.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/bitter-karla.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/dm-serif-dm-sans.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/fraunces-inter.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/geist-geist-mono.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/hubot-sans-mona-sans.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/ibm-plex-sans-operator-single-family.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/instrument-serif-instrument-sans.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/inter-operator-single-family.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/libre-baskerville-libre-franklin.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/newsreader-inter.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/playfair-display-source-sans.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/public-sans-operator-single-family.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/sohne-inter-fintech.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/source-serif-source-sans.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/space-grotesk-work-sans-space-mono.md +0 -17
- package/data/harnesses/code/skills/design/data/typography/spectral-manrope.md +0 -17
- package/data/harnesses/code/skills/design/data/voices/bright-collaborator.md +0 -29
- package/data/harnesses/code/skills/design/data/voices/direct-operator.md +0 -29
- package/data/harnesses/code/skills/design/data/voices/earnest-helper.md +0 -29
- package/data/harnesses/code/skills/design/data/voices/editorial-composed.md +0 -29
- package/data/harnesses/code/skills/design/data/voices/quiet-concierge.md +0 -29
- package/data/harnesses/code/skills/design/data/voices/warm-guide.md +0 -29
- package/data/harnesses/code/skills/design/design-md/SCHEMA.md +0 -179
- package/data/harnesses/code/skills/design/design-md/index.csv +0 -67
- package/data/harnesses/code/skills/design/design-md/library/airbnb.md +0 -207
- package/data/harnesses/code/skills/design/design-md/library/airtable.md +0 -205
- package/data/harnesses/code/skills/design/design-md/library/anthropic-claude.md +0 -203
- package/data/harnesses/code/skills/design/design-md/library/apple.md +0 -206
- package/data/harnesses/code/skills/design/design-md/library/binance.md +0 -210
- package/data/harnesses/code/skills/design/design-md/library/bmw.md +0 -210
- package/data/harnesses/code/skills/design/design-md/library/cal.md +0 -209
- package/data/harnesses/code/skills/design/design-md/library/clay.md +0 -204
- package/data/harnesses/code/skills/design/design-md/library/clickhouse.md +0 -205
- package/data/harnesses/code/skills/design/design-md/library/cohere.md +0 -205
- package/data/harnesses/code/skills/design/design-md/library/coinbase.md +0 -198
- package/data/harnesses/code/skills/design/design-md/library/composio.md +0 -198
- package/data/harnesses/code/skills/design/design-md/library/cursor.md +0 -197
- package/data/harnesses/code/skills/design/design-md/library/elevenlabs.md +0 -199
- package/data/harnesses/code/skills/design/design-md/library/expo.md +0 -200
- package/data/harnesses/code/skills/design/design-md/library/figma.md +0 -199
- package/data/harnesses/code/skills/design/design-md/library/framer.md +0 -202
- package/data/harnesses/code/skills/design/design-md/library/hashicorp.md +0 -205
- package/data/harnesses/code/skills/design/design-md/library/ibm.md +0 -205
- package/data/harnesses/code/skills/design/design-md/library/intercom.md +0 -204
- package/data/harnesses/code/skills/design/design-md/library/kraken.md +0 -200
- package/data/harnesses/code/skills/design/design-md/library/linear-app.md +0 -198
- package/data/harnesses/code/skills/design/design-md/library/lovable.md +0 -199
- package/data/harnesses/code/skills/design/design-md/library/meta.md +0 -204
- package/data/harnesses/code/skills/design/design-md/library/minimax.md +0 -204
- package/data/harnesses/code/skills/design/design-md/library/mintlify.md +0 -210
- package/data/harnesses/code/skills/design/design-md/library/miro.md +0 -209
- package/data/harnesses/code/skills/design/design-md/library/mistral-ai.md +0 -201
- package/data/harnesses/code/skills/design/design-md/library/mongodb.md +0 -201
- package/data/harnesses/code/skills/design/design-md/library/notion.md +0 -204
- package/data/harnesses/code/skills/design/design-md/library/nvidia.md +0 -215
- package/data/harnesses/code/skills/design/design-md/library/ollama.md +0 -213
- package/data/harnesses/code/skills/design/design-md/library/opencode-ai.md +0 -216
- package/data/harnesses/code/skills/design/design-md/library/posthog.md +0 -218
- package/data/harnesses/code/skills/design/design-md/library/raycast.md +0 -214
- package/data/harnesses/code/skills/design/design-md/library/replicate.md +0 -202
- package/data/harnesses/code/skills/design/design-md/library/resend.md +0 -203
- package/data/harnesses/code/skills/design/design-md/library/revolut.md +0 -203
- package/data/harnesses/code/skills/design/design-md/library/runwayml.md +0 -203
- package/data/harnesses/code/skills/design/design-md/library/sanity.md +0 -200
- package/data/harnesses/code/skills/design/design-md/library/sentry.md +0 -201
- package/data/harnesses/code/skills/design/design-md/library/shopify.md +0 -202
- package/data/harnesses/code/skills/design/design-md/library/slack.md +0 -202
- package/data/harnesses/code/skills/design/design-md/library/spacex.md +0 -206
- package/data/harnesses/code/skills/design/design-md/library/spotify.md +0 -206
- package/data/harnesses/code/skills/design/design-md/library/stripe.md +0 -196
- package/data/harnesses/code/skills/design/design-md/library/supabase.md +0 -196
- package/data/harnesses/code/skills/design/design-md/library/superhuman.md +0 -194
- package/data/harnesses/code/skills/design/design-md/library/tesla.md +0 -198
- package/data/harnesses/code/skills/design/design-md/library/theverge.md +0 -199
- package/data/harnesses/code/skills/design/design-md/library/together-ai.md +0 -193
- package/data/harnesses/code/skills/design/design-md/library/uber.md +0 -195
- package/data/harnesses/code/skills/design/design-md/library/vercel.md +0 -195
- package/data/harnesses/code/skills/design/design-md/library/voltagent.md +0 -197
- package/data/harnesses/code/skills/design/design-md/library/warp.md +0 -196
- package/data/harnesses/code/skills/design/design-md/library/webflow.md +0 -197
- package/data/harnesses/code/skills/design/design-md/library/wired.md +0 -197
- package/data/harnesses/code/skills/design/design-md/library/wise.md +0 -198
- package/data/harnesses/code/skills/design/design-md/library/x-ai.md +0 -199
- package/data/harnesses/code/skills/design/design-md/library/zapier.md +0 -198
- package/data/harnesses/code/skills/design/design-md/nurix.md +0 -214
- package/data/harnesses/code/skills/design/design-md/variants/editorial-luxury.md +0 -184
- package/data/harnesses/code/skills/design/design-md/variants/expressive-saas.md +0 -216
- package/data/harnesses/code/skills/design/design-md/variants/quiet-premium.md +0 -211
- package/data/harnesses/code/skills/design/design-md/variants/terse-dense-operator.md +0 -212
- package/data/harnesses/code/skills/design/design-md/variants/warm-approachable.md +0 -216
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
schema: design-md/v2
|
|
3
|
-
id: ollama
|
|
4
|
-
tier: brand
|
|
5
|
-
segments: [dev-tools, ai-infra]
|
|
6
|
-
keywords: [monochrome, minimal, rounded, white, flat, readme]
|
|
7
|
-
sourced: 2026-07-12
|
|
8
|
-
sources: "design-md/v1 ollama entry (2026-07-04) + token twin; 2026-07-12 re-audit of ollama.com; Nunito substitutes the proprietary SF Pro Rounded (the v1 corpus's named substitute)"
|
|
9
|
-
license: open
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# ollama — a README on an empty pine desk
|
|
13
|
-
|
|
14
|
-
## 1 Visual Theme
|
|
15
|
-
A README printed on bright paper and stapled at the corner, lying on an otherwise
|
|
16
|
-
empty pine desk; one line circled in black ink, a `curl` command in the margin.
|
|
17
|
-
Light default; aggressively flat — hierarchy is hairline `border`, type weight, and
|
|
18
|
-
pure-contrast ink, never shadow (the brand has no drop-shadow language at all). The
|
|
19
|
-
system is monochrome: `primary` is the ink itself, the only hue that carries
|
|
20
|
-
interactive meaning; the single non-neutral note is the functional blue focus
|
|
21
|
-
`ring`, a deliberate exception, not a second accent. The type voice is rounded and
|
|
22
|
-
approachable, the radius soft, the rhythm airy — whitespace is the brand's whole
|
|
23
|
-
layout. Dark is an authored terminal-at-night ladder, not inverted paper.
|
|
24
|
-
|
|
25
|
-
## 2 Color Roles
|
|
26
|
-
Ink `foreground` on the white `background`, one continuous sheet — `card` sits level
|
|
27
|
-
with the canvas, separated by hairline alone. `primary` is the ink action: one black
|
|
28
|
-
(light) or paper-bright (dark) button per surface. `accent` is the pale selection
|
|
29
|
-
step past `muted`, so selection reads distinct from hover. The blue `ring` is focus
|
|
30
|
-
only — never a fill, never a link color that competes. Status hues speak only
|
|
31
|
-
status: `destructive` red, `success` green, `warning` amber. The neutral ramp holds
|
|
32
|
-
a barely-cool paper tint at the perceptual floor so it never turns pure gray. The
|
|
33
|
-
`sidebar` is the faint off-white rail beside the sheet.
|
|
34
|
-
|
|
35
|
-
## 3 Typography
|
|
36
|
-
Nunito (display and UI — the open rounded face standing in for SF Pro Rounded; it is
|
|
37
|
-
the one thing that makes the surface read as Ollama) / JetBrains Mono (data, IDs,
|
|
38
|
-
install snippets). Headings and body share the rounded sans; tracking 0 on every
|
|
39
|
-
step — the rounded face needs no tightening. Register scope: the display step
|
|
40
|
-
touches page titles and empty states; mono owns every ID, code, timestamp, and log
|
|
41
|
-
line, with `tabular-nums` on numeric columns. Emphasis bumps weight one step, never
|
|
42
|
-
size.
|
|
43
|
-
|
|
44
|
-
## 4 Component Stylings
|
|
45
|
-
Buttons `radius-md`, ink `primary` fill on paper text, soft-cornered — never the
|
|
46
|
-
marketing full pill (pills stay on chips and one singular hero action). Secondary:
|
|
47
|
-
`secondary` fill, hairline `border`. Inputs `background` fill, hairline `border`;
|
|
48
|
-
focus draws the blue `ring` at 2px, no glow. Cards `card` on hairline, flat on the
|
|
49
|
-
canvas. Table rows `muted` hover, `accent` selection, mono IDs. Detail opens in the
|
|
50
|
-
side panel beside the work. Badges may keep the full pill — a monochrome nod —
|
|
51
|
-
status fills only.
|
|
52
|
-
|
|
53
|
-
## 5 Layout
|
|
54
|
-
4px base with the brand's 88px signature rhythm reserved for major section breaks;
|
|
55
|
-
sidebar 248/56px; topbar 56px; side panel 420/640px; content max 1200px — a reading
|
|
56
|
-
measure, not a cockpit. Density is spacious globally and steps denser only per
|
|
57
|
-
archetype; generous air between groups is the identity.
|
|
58
|
-
|
|
59
|
-
## 6 Depth
|
|
60
|
-
Flat. Hierarchy comes from hairlines, weight, and one inverted device — never
|
|
61
|
-
shadow. Light: `card` sits level with the sheet; only true overlays earn a whisper
|
|
62
|
-
of ink-tinted shadow. The dark spotlight surface (the brand's single "look here"
|
|
63
|
-
device) is earned once per view, never twice. Dark: the authored ladder does depth —
|
|
64
|
-
`background` 0.17 L, `surface-raised` +0.05, `surface-overlay` +0.09, hue held at
|
|
65
|
-
260. Focus is the 2px blue `ring` outline; three z-levels.
|
|
66
|
-
|
|
67
|
-
## 7 Motion
|
|
68
|
-
Gentle and unhurried, like the brand's voice. Named moments: `ink-press`
|
|
69
|
-
(primary-action press, 120ms), `sheet-fade` (page content arrival, 180ms),
|
|
70
|
-
`panel-slide` (side panel, 240ms, interruptible). Physicality is granted to auth and
|
|
71
|
-
the first-run empty state only. Lists, tables, and keyboard-driven actions never
|
|
72
|
-
animate; hover is instant.
|
|
73
|
-
|
|
74
|
-
## 8 Iconography & Charts
|
|
75
|
-
Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default — line icons only,
|
|
76
|
-
matching the rounded, friendly weight. Charts: hairline axes, no gridline fills; the
|
|
77
|
-
categorical ramp is monochrome-first — ink, the functional blue, a mid gray, then
|
|
78
|
-
the two status-adjacent hues (`chart-1..5`); tooltips on `surface-overlay` with mono
|
|
79
|
-
numerals. If a series wants color, it is either status or nothing.
|
|
80
|
-
|
|
81
|
-
## 9 Voice
|
|
82
|
-
Plainspoken and helpful, like a good README: short sentences, no exclamation, the
|
|
83
|
-
command shown rather than described. "Pull model" · "No models yet — run `ollama
|
|
84
|
-
pull llama3` to get started" · "Download failed: manifest not found for tag 8b-q4."
|
|
85
|
-
|
|
86
|
-
## 10 Do's & Don'ts
|
|
87
|
-
Do stay monochrome — ink is the accent; one ink action per surface. Do keep the
|
|
88
|
-
rounded sans voice; it is the brand's only personality. Do keep whitespace generous.
|
|
89
|
-
Don't introduce a second chromatic accent, a gradient, or an atmospheric background.
|
|
90
|
-
Don't full-pill working buttons. Don't lift cards with shadow — hairline or the one
|
|
91
|
-
dark spotlight surface. Don't swap in a display face.
|
|
92
|
-
|
|
93
|
-
## 11 Responsive
|
|
94
|
-
375: sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet; section
|
|
95
|
-
air tightens. 768: sidebar collapses to the icon rail; tables scroll their overflow.
|
|
96
|
-
1024: two-pane queue+detail holds. 1440: forms cap; reading surfaces center under
|
|
97
|
-
the 1200px measure.
|
|
98
|
-
|
|
99
|
-
## 12 Agent Prompt Guide
|
|
100
|
-
Lead every list surface with its table; lead every entity with its primary read.
|
|
101
|
-
Ink is the accent — if two things want ink, one is not primary. Flat before shadow;
|
|
102
|
-
spend the dark spotlight surface once per view. Keep the rounded sans; keep the blue
|
|
103
|
-
ring visible. Every numeric column is tabular mono. Dark is authored — consult the
|
|
104
|
-
block, never derive.
|
|
105
|
-
|
|
106
|
-
```yaml design-values
|
|
107
|
-
color:
|
|
108
|
-
light:
|
|
109
|
-
background: oklch(0.99 0.005 260)
|
|
110
|
-
foreground: oklch(0.13 0.006 260)
|
|
111
|
-
card: oklch(0.99 0.005 260)
|
|
112
|
-
card-foreground: oklch(0.13 0.006 260)
|
|
113
|
-
popover: oklch(0.995 0.005 260)
|
|
114
|
-
popover-foreground: oklch(0.13 0.006 260)
|
|
115
|
-
primary: oklch(0.13 0.006 260)
|
|
116
|
-
primary-foreground: oklch(0.99 0.005 260)
|
|
117
|
-
secondary: oklch(0.975 0.005 260)
|
|
118
|
-
secondary-foreground: oklch(0.18 0.006 260)
|
|
119
|
-
muted: oklch(0.975 0.005 260)
|
|
120
|
-
muted-foreground: oklch(0.47 0.008 260)
|
|
121
|
-
accent: oklch(0.965 0.005 260)
|
|
122
|
-
accent-foreground: oklch(0.13 0.006 260)
|
|
123
|
-
destructive: oklch(0.546 0.195 27)
|
|
124
|
-
destructive-foreground: oklch(0.98 0.008 27)
|
|
125
|
-
success: oklch(0.524 0.140 148)
|
|
126
|
-
warning: oklch(0.555 0.146 49)
|
|
127
|
-
border: oklch(0.925 0.005 260)
|
|
128
|
-
input: oklch(0.925 0.005 260)
|
|
129
|
-
ring: oklch(0.623 0.188 260)
|
|
130
|
-
surface-raised: oklch(0.995 0.005 260)
|
|
131
|
-
surface-overlay: oklch(0.995 0.005 260)
|
|
132
|
-
chart-1: oklch(0.35 0.006 260)
|
|
133
|
-
chart-2: oklch(0.623 0.188 260)
|
|
134
|
-
chart-3: oklch(0.62 0.008 260)
|
|
135
|
-
chart-4: oklch(0.524 0.140 148)
|
|
136
|
-
chart-5: oklch(0.555 0.146 49)
|
|
137
|
-
sidebar: oklch(0.975 0.005 260)
|
|
138
|
-
sidebar-foreground: oklch(0.25 0.006 260)
|
|
139
|
-
sidebar-primary: oklch(0.13 0.006 260)
|
|
140
|
-
sidebar-primary-foreground: oklch(0.99 0.005 260)
|
|
141
|
-
sidebar-accent: oklch(0.945 0.005 260)
|
|
142
|
-
sidebar-accent-foreground: oklch(0.13 0.006 260)
|
|
143
|
-
sidebar-border: oklch(0.92 0.005 260)
|
|
144
|
-
sidebar-ring: oklch(0.623 0.188 260)
|
|
145
|
-
dark:
|
|
146
|
-
background: oklch(0.17 0.005 260)
|
|
147
|
-
foreground: oklch(0.95 0.005 260)
|
|
148
|
-
card: oklch(0.22 0.006 260)
|
|
149
|
-
card-foreground: oklch(0.95 0.005 260)
|
|
150
|
-
popover: oklch(0.26 0.006 260)
|
|
151
|
-
popover-foreground: oklch(0.95 0.005 260)
|
|
152
|
-
primary: oklch(0.95 0.005 260)
|
|
153
|
-
primary-foreground: oklch(0.15 0.005 260)
|
|
154
|
-
secondary: oklch(0.24 0.006 260)
|
|
155
|
-
secondary-foreground: oklch(0.90 0.005 260)
|
|
156
|
-
muted: oklch(0.23 0.006 260)
|
|
157
|
-
muted-foreground: oklch(0.72 0.005 260)
|
|
158
|
-
accent: oklch(0.27 0.006 260)
|
|
159
|
-
accent-foreground: oklch(0.95 0.005 260)
|
|
160
|
-
destructive: oklch(0.62 0.19 27)
|
|
161
|
-
destructive-foreground: oklch(0.13 0.020 27)
|
|
162
|
-
success: oklch(0.66 0.14 148)
|
|
163
|
-
warning: oklch(0.70 0.14 55)
|
|
164
|
-
border: oklch(0.28 0.006 260)
|
|
165
|
-
input: oklch(0.28 0.006 260)
|
|
166
|
-
ring: oklch(0.68 0.17 260)
|
|
167
|
-
surface-raised: oklch(0.22 0.006 260)
|
|
168
|
-
surface-overlay: oklch(0.26 0.006 260)
|
|
169
|
-
chart-1: oklch(0.85 0.005 260)
|
|
170
|
-
chart-2: oklch(0.68 0.17 260)
|
|
171
|
-
chart-3: oklch(0.55 0.006 260)
|
|
172
|
-
chart-4: oklch(0.66 0.14 148)
|
|
173
|
-
chart-5: oklch(0.70 0.14 55)
|
|
174
|
-
sidebar: oklch(0.15 0.005 260)
|
|
175
|
-
sidebar-foreground: oklch(0.88 0.005 260)
|
|
176
|
-
sidebar-primary: oklch(0.95 0.005 260)
|
|
177
|
-
sidebar-primary-foreground: oklch(0.15 0.005 260)
|
|
178
|
-
sidebar-accent: oklch(0.22 0.006 260)
|
|
179
|
-
sidebar-accent-foreground: oklch(0.95 0.005 260)
|
|
180
|
-
sidebar-border: oklch(0.25 0.006 260)
|
|
181
|
-
sidebar-ring: oklch(0.68 0.17 260)
|
|
182
|
-
typography:
|
|
183
|
-
display: { family: "Nunito Variable", fallback: "system-ui, sans-serif", weights: [700] }
|
|
184
|
-
sans: { family: "Nunito Variable", fallback: "system-ui, sans-serif", weights: [400, 700] }
|
|
185
|
-
mono: { family: "JetBrains Mono Variable", fallback: "ui-monospace, monospace", weights: [400] }
|
|
186
|
-
ramp:
|
|
187
|
-
display: { size: 30px, line: 36px, weight: 700, family: display, tracking: 0 }
|
|
188
|
-
h1: { size: 24px, line: 32px, weight: 700, family: sans, tracking: 0 }
|
|
189
|
-
h2: { size: 18px, line: 25px, weight: 700, family: sans, tracking: 0 }
|
|
190
|
-
body: { size: 14px, line: 20px, weight: 400, family: sans }
|
|
191
|
-
small: { size: 13px, line: 18px, weight: 400, family: sans }
|
|
192
|
-
caption: { size: 12px, line: 16px, weight: 400, family: sans }
|
|
193
|
-
data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
|
|
194
|
-
register-scope: { display: [page-title, empty-state], sans: [chrome, controls, body, headings], mono: [data, ids, timestamps, snippets, logs] }
|
|
195
|
-
elevation:
|
|
196
|
-
radius: { sm: 6px, md: 8px, lg: 12px }
|
|
197
|
-
hairline: border
|
|
198
|
-
shadow:
|
|
199
|
-
overlay: "0 8px 24px oklch(0.20 0.01 260 / 0.10)"
|
|
200
|
-
popover: "0 4px 12px oklch(0.20 0.01 260 / 0.08)"
|
|
201
|
-
dark-ladder: { background: 0.17, raised: 0.22, overlay: 0.26, hue-held: 260 }
|
|
202
|
-
motion:
|
|
203
|
-
duration: { press: 120ms, fade: 180ms, panel: 240ms }
|
|
204
|
-
easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
|
|
205
|
-
entrance-never: ease-in
|
|
206
|
-
identity-moments: [auth, first-run-empty]
|
|
207
|
-
iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
|
|
208
|
-
charts:
|
|
209
|
-
categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
|
|
210
|
-
sequential: { from: background, to: chart-1 }
|
|
211
|
-
diverging: { negative: destructive, mid: muted, positive: success }
|
|
212
|
-
layout: { base: 4px, sidebar: [248px, 56px], topbar: 56px, side-panel: [420px, 640px], content-max: 1200px }
|
|
213
|
-
```
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
schema: design-md/v2
|
|
3
|
-
id: opencode-ai
|
|
4
|
-
tier: brand
|
|
5
|
-
segments: [dev-tools, ai-infra, terminal]
|
|
6
|
-
keywords: [monospace, terminal, cream, warm, dense, manpage]
|
|
7
|
-
sourced: 2026-07-12
|
|
8
|
-
sources: "design-md/v1 opencode-ai entry (2026-07-04) + token twin; 2026-07-12 re-audit of opencode.ai; JetBrains Mono substitutes the proprietary Berkeley Mono (the v1 corpus's shipped substitute)"
|
|
9
|
-
license: open
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# opencode-ai — tractor-feed paper in one monospace column
|
|
13
|
-
|
|
14
|
-
## 1 Visual Theme
|
|
15
|
-
A tidy workbench: a mechanical keyboard, a sheet of warm cream tractor-feed printer
|
|
16
|
-
paper with every character sitting in the same monospace column, and one blue LED on
|
|
17
|
-
the keyboard's mod key. Light default — the whole UI floats on the faintly-blushed
|
|
18
|
-
cream `background`, never the category's cool gray. Emphatically flat: hierarchy is
|
|
19
|
-
hairline `border`, weight, and near-black-on-cream contrast — nothing lifts, nothing
|
|
20
|
-
floats. The type voice IS the identity: one monospaced face carries every role, no
|
|
21
|
-
sans anywhere. The primary action is an ink button; Apple Blue is the single
|
|
22
|
-
chromatic accent, held scarce. Dense — the surface reads like a terminal. Dark is
|
|
23
|
-
the brand's own TUI, authored as a warm charcoal ladder.
|
|
24
|
-
|
|
25
|
-
## 2 Color Roles
|
|
26
|
-
Near-black ink `foreground` on the warm cream `background`; `card` is the same cream
|
|
27
|
-
seated by a hairline, no surface bands. `primary` is the ink button — dark in light,
|
|
28
|
-
cream in dark — never blue. `accent` is the warm selection step; the blue accent hue
|
|
29
|
-
lives in active-nav marks, links, and `chart-1`, held scarce. The focus `ring` is
|
|
30
|
-
ink — a flat border, keyboard-first, no glow. Status is the Apple HIG ramp:
|
|
31
|
-
`destructive` red, `success` green, `warning` amber — status only, never chrome. All
|
|
32
|
-
neutrals hold the warm blush (hue 17) at a whisper of chroma; pure white and pure
|
|
33
|
-
gray are both off-brand.
|
|
34
|
-
|
|
35
|
-
## 3 Typography
|
|
36
|
-
One face: JetBrains Mono (the open substitute for the proprietary Berkeley Mono)
|
|
37
|
-
carries display, body, headings, labels, IDs, and every numeric column — there is no
|
|
38
|
-
sans/mono split, and numerals align natively so tabular figures are inherent.
|
|
39
|
-
Weights 400 / 500 / 700; tracking 0 on every role — monospace does not track.
|
|
40
|
-
Register scope is trivially total: the display step touches page titles only, and
|
|
41
|
-
"mono" owns everything. Emphasis steps weight 400 → 500 → 700, never tracking, never
|
|
42
|
-
a second face. Page titles top out at 24px; the 38px marketing display stays behind.
|
|
43
|
-
|
|
44
|
-
## 4 Component Stylings
|
|
45
|
-
Buttons `radius-md` (4px), ink `primary` fill on cream text, never a pill.
|
|
46
|
-
Secondary: `secondary` fill, hairline `border`. Inputs `background` fill, hairline
|
|
47
|
-
`border`; focus draws the ink `ring` at 2px — a flat border. Cards `card` on a
|
|
48
|
-
hairline with **sharp corners** (`radius-sm` 0) — containers sharp, interactive
|
|
49
|
-
elements 4px: that two-value split is the whole geometry. Table rows `muted` hover,
|
|
50
|
-
`accent` selection, blue active-row marks. Terminal, log, and console panels wear
|
|
51
|
-
the dark inlay: `popover`-dark charcoal, cream mono text. Badges 4px, uppercase
|
|
52
|
-
caption, status fills only.
|
|
53
|
-
|
|
54
|
-
## 5 Layout
|
|
55
|
-
8px base with fine 1/4px steps (the source's own scale; the 96px marketing rhythm
|
|
56
|
-
stays behind); sidebar 248/56px; topbar 56px; side panel 420/640px; content max
|
|
57
|
-
1280px. The grid runs tight — a terminal-native brand earns its density; the cream
|
|
58
|
-
sidebar is barely warmer than the canvas, split by a hairline, not a band.
|
|
59
|
-
|
|
60
|
-
## 6 Depth
|
|
61
|
-
Categorically flat — the source has no drop shadows. Light: hairlines and one color
|
|
62
|
-
inversion (the dark console inlay) carry all hierarchy; true overlays earn only the
|
|
63
|
-
faintest warm-tinted whisper. Dark: the authored ladder does depth — `background`
|
|
64
|
-
0.20 L (the TUI charcoal), `surface-raised` +0.05, `surface-overlay` +0.10, hue held
|
|
65
|
-
at 17. Focus is the 2px ink `ring`; three z-levels: content, sticky chrome, overlay.
|
|
66
|
-
|
|
67
|
-
## 7 Motion
|
|
68
|
-
Terminal-instant: state changes snap, transitions only smooth what would otherwise
|
|
69
|
-
flicker. Named moments: `caret-press` (primary-action press, 80ms), `column-fade`
|
|
70
|
-
(page content arrival, 120ms), `panel-slide` (side panel, 180ms, interruptible).
|
|
71
|
-
Physicality is granted to auth only. Tables, logs, and every keyboard-initiated
|
|
72
|
-
action render instantly — a terminal does not tween.
|
|
73
|
-
|
|
74
|
-
## 8 Iconography & Charts
|
|
75
|
-
Lucide, 1.5px stroke, 16/20px grid — real icons, not the source's ASCII `[+]`
|
|
76
|
-
bracket markers, which stay behind. Charts: hairline axes, no gridline fills;
|
|
77
|
-
categorical ramp leads with the Apple Blue (`chart-1`), then warm ink, green, amber,
|
|
78
|
-
and a muted slate (`chart-2..5`); tooltips on `surface-overlay`, numerals aligned
|
|
79
|
-
natively in the mono face.
|
|
80
|
-
|
|
81
|
-
## 9 Voice
|
|
82
|
-
Manpage terse: lowercase-leaning commands, flags spelled out, no cheer. "run agent"
|
|
83
|
-
· "no sessions — `opencode run` starts one" · "exit 1: config not found at
|
|
84
|
-
~/.opencode/config.json."
|
|
85
|
-
|
|
86
|
-
## 10 Do's & Don'ts
|
|
87
|
-
Do anchor every surface on the warm cream — pure white reads as any-other-tool. Do
|
|
88
|
-
render every role in the one monospaced face. Do keep the primary an ink button and
|
|
89
|
-
Apple Blue scarce: interactive signal, links, `chart-1` only. Do keep containers
|
|
90
|
-
sharp (0) and controls at 4px. Don't introduce a sans or display face. Don't fill
|
|
91
|
-
the primary blue. Don't signal elevation with shadow. Don't wrap log lines — they
|
|
92
|
-
scroll.
|
|
93
|
-
|
|
94
|
-
## 11 Responsive
|
|
95
|
-
375: sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet; density
|
|
96
|
-
holds. 768: sidebar collapses to the icon rail; tables scroll their overflow. 1024:
|
|
97
|
-
two-pane queue+detail holds. 1440: forms cap; tables and dashboards use the full
|
|
98
|
-
width. Terminal and log inlays keep mono legibility at every breakpoint by
|
|
99
|
-
scrolling horizontally, never wrapping.
|
|
100
|
-
|
|
101
|
-
## 12 Agent Prompt Guide
|
|
102
|
-
Reach for the warm cream first — never pure white; the faint blush is the brand.
|
|
103
|
-
One monospaced face for every text role; numerals align natively. The primary action
|
|
104
|
-
is an ink button; spend the blue only on interactive and data signal — if two things
|
|
105
|
-
want the blue, one is not primary. Containers sharp, controls 4px. Dress terminal
|
|
106
|
-
and log panels in the dark inlay — real console chrome. Dark is authored — consult
|
|
107
|
-
the block, never derive.
|
|
108
|
-
|
|
109
|
-
```yaml design-values
|
|
110
|
-
color:
|
|
111
|
-
light:
|
|
112
|
-
background: oklch(0.99 0.005 17)
|
|
113
|
-
foreground: oklch(0.23 0.006 17)
|
|
114
|
-
card: oklch(0.99 0.005 17)
|
|
115
|
-
card-foreground: oklch(0.23 0.006 17)
|
|
116
|
-
popover: oklch(0.995 0.005 17)
|
|
117
|
-
popover-foreground: oklch(0.23 0.006 17)
|
|
118
|
-
primary: oklch(0.23 0.006 17)
|
|
119
|
-
primary-foreground: oklch(0.99 0.005 17)
|
|
120
|
-
secondary: oklch(0.975 0.005 17)
|
|
121
|
-
secondary-foreground: oklch(0.28 0.006 17)
|
|
122
|
-
muted: oklch(0.975 0.005 17)
|
|
123
|
-
muted-foreground: oklch(0.47 0.006 17)
|
|
124
|
-
accent: oklch(0.95 0.006 17)
|
|
125
|
-
accent-foreground: oklch(0.23 0.006 17)
|
|
126
|
-
destructive: oklch(0.55 0.22 29)
|
|
127
|
-
destructive-foreground: oklch(0.98 0.010 29)
|
|
128
|
-
success: oklch(0.60 0.17 147)
|
|
129
|
-
warning: oklch(0.70 0.16 67)
|
|
130
|
-
border: oklch(0.90 0.005 17)
|
|
131
|
-
input: oklch(0.90 0.005 17)
|
|
132
|
-
ring: oklch(0.23 0.006 17)
|
|
133
|
-
surface-raised: oklch(0.995 0.005 17)
|
|
134
|
-
surface-overlay: oklch(0.995 0.005 17)
|
|
135
|
-
chart-1: oklch(0.603 0.218 257)
|
|
136
|
-
chart-2: oklch(0.35 0.006 17)
|
|
137
|
-
chart-3: oklch(0.60 0.17 147)
|
|
138
|
-
chart-4: oklch(0.70 0.16 67)
|
|
139
|
-
chart-5: oklch(0.55 0.070 257)
|
|
140
|
-
sidebar: oklch(0.975 0.005 17)
|
|
141
|
-
sidebar-foreground: oklch(0.28 0.006 17)
|
|
142
|
-
sidebar-primary: oklch(0.23 0.006 17)
|
|
143
|
-
sidebar-primary-foreground: oklch(0.99 0.005 17)
|
|
144
|
-
sidebar-accent: oklch(0.945 0.006 17)
|
|
145
|
-
sidebar-accent-foreground: oklch(0.23 0.006 17)
|
|
146
|
-
sidebar-border: oklch(0.90 0.005 17)
|
|
147
|
-
sidebar-ring: oklch(0.23 0.006 17)
|
|
148
|
-
dark:
|
|
149
|
-
background: oklch(0.20 0.006 17)
|
|
150
|
-
foreground: oklch(0.96 0.005 17)
|
|
151
|
-
card: oklch(0.245 0.007 17)
|
|
152
|
-
card-foreground: oklch(0.96 0.005 17)
|
|
153
|
-
popover: oklch(0.30 0.008 17)
|
|
154
|
-
popover-foreground: oklch(0.96 0.005 17)
|
|
155
|
-
primary: oklch(0.96 0.005 17)
|
|
156
|
-
primary-foreground: oklch(0.20 0.006 17)
|
|
157
|
-
secondary: oklch(0.27 0.007 17)
|
|
158
|
-
secondary-foreground: oklch(0.92 0.005 17)
|
|
159
|
-
muted: oklch(0.26 0.007 17)
|
|
160
|
-
muted-foreground: oklch(0.72 0.006 17)
|
|
161
|
-
accent: oklch(0.31 0.008 17)
|
|
162
|
-
accent-foreground: oklch(0.96 0.005 17)
|
|
163
|
-
destructive: oklch(0.654 0.232 29)
|
|
164
|
-
destructive-foreground: oklch(0.13 0.030 29)
|
|
165
|
-
success: oklch(0.756 0.208 147)
|
|
166
|
-
warning: oklch(0.782 0.171 67)
|
|
167
|
-
border: oklch(0.31 0.008 17)
|
|
168
|
-
input: oklch(0.31 0.008 17)
|
|
169
|
-
ring: oklch(0.96 0.005 17)
|
|
170
|
-
surface-raised: oklch(0.25 0.007 17)
|
|
171
|
-
surface-overlay: oklch(0.30 0.008 17)
|
|
172
|
-
chart-1: oklch(0.65 0.190 257)
|
|
173
|
-
chart-2: oklch(0.80 0.006 17)
|
|
174
|
-
chart-3: oklch(0.756 0.208 147)
|
|
175
|
-
chart-4: oklch(0.782 0.171 67)
|
|
176
|
-
chart-5: oklch(0.65 0.070 257)
|
|
177
|
-
sidebar: oklch(0.18 0.006 17)
|
|
178
|
-
sidebar-foreground: oklch(0.92 0.005 17)
|
|
179
|
-
sidebar-primary: oklch(0.96 0.005 17)
|
|
180
|
-
sidebar-primary-foreground: oklch(0.20 0.006 17)
|
|
181
|
-
sidebar-accent: oklch(0.24 0.007 17)
|
|
182
|
-
sidebar-accent-foreground: oklch(0.96 0.005 17)
|
|
183
|
-
sidebar-border: oklch(0.28 0.007 17)
|
|
184
|
-
sidebar-ring: oklch(0.96 0.005 17)
|
|
185
|
-
typography:
|
|
186
|
-
display: { family: "JetBrains Mono Variable", fallback: "ui-monospace, SFMono-Regular, monospace", weights: [700] }
|
|
187
|
-
sans: { family: "JetBrains Mono Variable", fallback: "ui-monospace, SFMono-Regular, monospace", weights: [400, 500, 700] }
|
|
188
|
-
mono: { family: "JetBrains Mono Variable", fallback: "ui-monospace, SFMono-Regular, monospace", weights: [400, 500] }
|
|
189
|
-
ramp:
|
|
190
|
-
display: { size: 24px, line: 34px, weight: 700, family: display, tracking: 0 }
|
|
191
|
-
h1: { size: 24px, line: 34px, weight: 700, family: sans, tracking: 0 }
|
|
192
|
-
h2: { size: 18px, line: 25px, weight: 700, family: sans, tracking: 0 }
|
|
193
|
-
body: { size: 14px, line: 21px, weight: 400, family: sans }
|
|
194
|
-
small: { size: 13px, line: 18px, weight: 400, family: sans }
|
|
195
|
-
caption: { size: 12px, line: 17px, weight: 500, family: sans }
|
|
196
|
-
data: { size: 13px, line: 20px, weight: 400, family: mono }
|
|
197
|
-
register-scope: { display: [page-title], sans: [chrome, controls, body, headings], mono: [data, ids, timestamps, logs, everything] }
|
|
198
|
-
elevation:
|
|
199
|
-
radius: { sm: 0px, md: 4px, lg: 4px }
|
|
200
|
-
hairline: border
|
|
201
|
-
shadow:
|
|
202
|
-
overlay: "0 6px 20px oklch(0.20 0.010 17 / 0.08)"
|
|
203
|
-
popover: "0 3px 10px oklch(0.20 0.010 17 / 0.06)"
|
|
204
|
-
dark-ladder: { background: 0.20, raised: 0.25, overlay: 0.30, hue-held: 17 }
|
|
205
|
-
motion:
|
|
206
|
-
duration: { press: 80ms, fade: 120ms, panel: 180ms }
|
|
207
|
-
easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
|
|
208
|
-
entrance-never: ease-in
|
|
209
|
-
identity-moments: [auth]
|
|
210
|
-
iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
|
|
211
|
-
charts:
|
|
212
|
-
categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
|
|
213
|
-
sequential: { from: background, to: chart-1 }
|
|
214
|
-
diverging: { negative: destructive, mid: muted, positive: success }
|
|
215
|
-
layout: { base: 8px, sidebar: [248px, 56px], topbar: 56px, side-panel: [420px, 640px], content-max: 1280px }
|
|
216
|
-
```
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
schema: design-md/v2
|
|
3
|
-
id: posthog
|
|
4
|
-
tier: brand
|
|
5
|
-
segments: [analytics, dev-tools, product]
|
|
6
|
-
keywords: [warm, cream, yellow, olive, friendly, flat]
|
|
7
|
-
sourced: 2026-07-12
|
|
8
|
-
sources: "design-md/v1 posthog entry (2026-07-04) + token twin; 2026-07-12 re-audit of posthog.com; IBM Plex Sans and Source Code Pro are the brand's own open faces"
|
|
9
|
-
license: open
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# posthog — an engineering sketchbook with one yellow highlighter
|
|
13
|
-
|
|
14
|
-
## 1 Visual Theme
|
|
15
|
-
An engineer's sketchbook open on a warm cream desk pad: pencil grid lines, an
|
|
16
|
-
olive-ink fountain pen, white index cards taped flat to the page, and one yellow
|
|
17
|
-
highlighter that marks exactly one thing per spread. Light default — the warm cream
|
|
18
|
-
`background` is the signature, never plain white, with true-white-reading cards
|
|
19
|
-
floating on it. Flat: hierarchy is hairline olive `border`, weight, and color,
|
|
20
|
-
never shadow. One loud accent — PostHog yellow `primary` — carries the one action
|
|
21
|
-
that matters, always wearing dark olive ink, never white. The whole neutral ramp is
|
|
22
|
-
warm olive-gray: a friendly engineering blog, not cold gray tooling. Dark is an
|
|
23
|
-
authored olive-charcoal ladder grown from the brand's dark code island.
|
|
24
|
-
|
|
25
|
-
## 2 Color Roles
|
|
26
|
-
Deep olive-charcoal `foreground` on the cream `background`; `card` is the white
|
|
27
|
-
step that floats on it. `primary` yellow is the only saturated hue that carries a
|
|
28
|
-
call to action — dark ink on the fill, one element per surface. `accent` is the
|
|
29
|
-
pale-yellow selection wash. The focus `ring` is the quiet functional blue — the
|
|
30
|
-
brand focuses in blue, not yellow — and blue otherwise stays a link-and-focus
|
|
31
|
-
signal, never chrome. Status hues speak only status: `destructive` red, `success`
|
|
32
|
-
green, `warning` a gold-amber deliberately deeper than the CTA yellow so caution
|
|
33
|
-
never impersonates the accent. The pastel callout family and the hedgehogs are
|
|
34
|
-
marketing decoration with no role here.
|
|
35
|
-
|
|
36
|
-
## 3 Typography
|
|
37
|
-
IBM Plex Sans (UI, body, headings) / Source Code Pro (data) — the brand's own open
|
|
38
|
-
pair. The signature is hierarchy built from weight (400/600), never a second
|
|
39
|
-
family and never size jumps; the 36px/800 hero tier stays behind. Register scope:
|
|
40
|
-
the display step touches page titles and empty states only; mono owns IDs, codes,
|
|
41
|
-
timestamps, and log lines, with `tabular-nums` on every numeric column. The caption
|
|
42
|
-
step is the uppercase eyebrow with +0.02em tracking.
|
|
43
|
-
|
|
44
|
-
## 4 Component Stylings
|
|
45
|
-
Buttons `radius-md`, `primary` yellow fill with dark ink, no pill — the pill is the
|
|
46
|
-
marketing nav CTA only. Secondary: greige `secondary` fill, hairline `border`.
|
|
47
|
-
Inputs `card` fill, hairline `border`; focus draws the blue `ring` at 2px, no glow.
|
|
48
|
-
Cards white `card` on hairline, flat — flat cards on cream is the brand. Table rows
|
|
49
|
-
`muted` hover, `accent` selection, mono IDs. Detail opens in the side panel. Badges
|
|
50
|
-
hairline border, uppercase caption, status fills never `primary`. Code and log
|
|
51
|
-
surfaces invert to the dark olive-charcoal fill with mono text — the one dark
|
|
52
|
-
moment on the light UI.
|
|
53
|
-
|
|
54
|
-
## 5 Layout
|
|
55
|
-
4px base with the brand's rhythm centered on the 8px step (the 80px marketing
|
|
56
|
-
rhythm stays behind); sidebar 248/56px; topbar 56px; side panel 420/640px; content
|
|
57
|
-
max 1320px. Density is standard — dense-capable, warm, never cramped; the cream
|
|
58
|
-
sidebar sits a shade deeper than the canvas.
|
|
59
|
-
|
|
60
|
-
## 6 Depth
|
|
61
|
-
Flat — the brand and operator restraint agree completely. Light: cream canvas,
|
|
62
|
-
white cards on hairlines, no shadow; only true overlays earn a soft olive-tinted
|
|
63
|
-
lift, and the dark code surface "elevates" with color, not shadow. Dark: the
|
|
64
|
-
authored ladder does depth — `background` 0.19 L, `surface-raised` +0.04,
|
|
65
|
-
`surface-overlay` +0.09, hue held at 119. Focus is the 2px blue `ring`; three
|
|
66
|
-
z-levels.
|
|
67
|
-
|
|
68
|
-
## 7 Motion
|
|
69
|
-
Friendly but working: motion warms transitions without ever delaying data. Named
|
|
70
|
-
moments: `highlight-press` (primary-action press, 120ms), `card-fade` (page
|
|
71
|
-
content arrival, 160ms), `panel-slide` (side panel, 220ms, interruptible).
|
|
72
|
-
Physicality is granted to auth and the first-run empty state — the one place the
|
|
73
|
-
brand's playfulness may surface. Tables, charts, and keyboard actions never
|
|
74
|
-
animate.
|
|
75
|
-
|
|
76
|
-
## 8 Iconography & Charts
|
|
77
|
-
Lucide, 1.5px stroke, 16/20px grid, `muted-foreground` default; no mascots, no
|
|
78
|
-
hand-drawn ornament. Charts: hairline axes on the cream, no gridline fills;
|
|
79
|
-
categorical ramp leads blue then yellow, green, red, purple (`chart-1..5`) — the
|
|
80
|
-
insight palette, kept off chrome; tooltips on `surface-overlay` with mono numerals;
|
|
81
|
-
`warning` gold stays deeper than the CTA yellow even in charts.
|
|
82
|
-
|
|
83
|
-
## 9 Voice
|
|
84
|
-
A helpful engineer who writes docs for fun: plain verbs, concrete numbers, dry
|
|
85
|
-
warmth without exclamation. "Create insight" · "No events yet — install the
|
|
86
|
-
snippet and refresh" · "Query timed out at 30s; narrow the date range or sample
|
|
87
|
-
the events."
|
|
88
|
-
|
|
89
|
-
## 10 Do's & Don'ts
|
|
90
|
-
Do keep the cream canvas — never flatten it to plain white; the warmth is the
|
|
91
|
-
identity once the mascots are gone. Do reserve yellow for the single most
|
|
92
|
-
important action, always with dark ink. Do render code and log surfaces on the
|
|
93
|
-
dark olive fill. Don't pill operator buttons. Don't promote blue past links and
|
|
94
|
-
focus. Don't bring the 800-weight hero tier or pastel callout bands into chrome.
|
|
95
|
-
Don't shadow cards.
|
|
96
|
-
|
|
97
|
-
## 11 Responsive
|
|
98
|
-
375: sidebar → off-canvas drawer; two-pane stacks; side panel → full sheet;
|
|
99
|
-
density holds. 768: sidebar collapses to the icon rail; tables scroll their
|
|
100
|
-
overflow. 1024: two-pane queue+detail holds. 1440: forms cap; tables and
|
|
101
|
-
dashboards use the full width under the 1320px cap.
|
|
102
|
-
|
|
103
|
-
## 12 Agent Prompt Guide
|
|
104
|
-
The cream is the app canvas; white cards float on it. Spend the yellow once per
|
|
105
|
-
surface, always with dark ink — if two things want it, one is not primary. Build
|
|
106
|
-
hierarchy from weight 400/600 on Plex Sans; every numeric column is tabular mono.
|
|
107
|
-
Blue is links and focus only; one loud color. Stay flat — the dark code surface is
|
|
108
|
-
the only "elevated" thing and it lifts with color. Dark is authored — consult the
|
|
109
|
-
block, never derive.
|
|
110
|
-
|
|
111
|
-
```yaml design-values
|
|
112
|
-
color:
|
|
113
|
-
light:
|
|
114
|
-
background: oklch(0.95 0.008 114)
|
|
115
|
-
foreground: oklch(0.26 0.015 119)
|
|
116
|
-
card: oklch(0.99 0.005 114)
|
|
117
|
-
card-foreground: oklch(0.26 0.015 119)
|
|
118
|
-
popover: oklch(0.995 0.005 114)
|
|
119
|
-
popover-foreground: oklch(0.26 0.015 119)
|
|
120
|
-
primary: oklch(0.783 0.166 73.5)
|
|
121
|
-
primary-foreground: oklch(0.26 0.015 119)
|
|
122
|
-
secondary: oklch(0.924 0.010 119)
|
|
123
|
-
secondary-foreground: oklch(0.30 0.015 119)
|
|
124
|
-
muted: oklch(0.924 0.010 119)
|
|
125
|
-
muted-foreground: oklch(0.45 0.015 115)
|
|
126
|
-
accent: oklch(0.944 0.040 90)
|
|
127
|
-
accent-foreground: oklch(0.28 0.015 119)
|
|
128
|
-
destructive: oklch(0.55 0.180 28)
|
|
129
|
-
destructive-foreground: oklch(0.98 0.010 28)
|
|
130
|
-
success: oklch(0.574 0.107 163)
|
|
131
|
-
warning: oklch(0.617 0.124 74)
|
|
132
|
-
border: oklch(0.806 0.014 116)
|
|
133
|
-
input: oklch(0.806 0.014 116)
|
|
134
|
-
ring: oklch(0.609 0.162 253)
|
|
135
|
-
surface-raised: oklch(0.99 0.005 114)
|
|
136
|
-
surface-overlay: oklch(0.995 0.005 114)
|
|
137
|
-
chart-1: oklch(0.609 0.162 253)
|
|
138
|
-
chart-2: oklch(0.783 0.166 73.5)
|
|
139
|
-
chart-3: oklch(0.574 0.107 163)
|
|
140
|
-
chart-4: oklch(0.55 0.180 28)
|
|
141
|
-
chart-5: oklch(0.55 0.180 300)
|
|
142
|
-
sidebar: oklch(0.93 0.010 114)
|
|
143
|
-
sidebar-foreground: oklch(0.28 0.015 119)
|
|
144
|
-
sidebar-primary: oklch(0.783 0.166 73.5)
|
|
145
|
-
sidebar-primary-foreground: oklch(0.26 0.015 119)
|
|
146
|
-
sidebar-accent: oklch(0.885 0.012 114)
|
|
147
|
-
sidebar-accent-foreground: oklch(0.26 0.015 119)
|
|
148
|
-
sidebar-border: oklch(0.83 0.012 114)
|
|
149
|
-
sidebar-ring: oklch(0.609 0.162 253)
|
|
150
|
-
dark:
|
|
151
|
-
background: oklch(0.19 0.010 119)
|
|
152
|
-
foreground: oklch(0.93 0.010 105)
|
|
153
|
-
card: oklch(0.23 0.012 119)
|
|
154
|
-
card-foreground: oklch(0.93 0.010 105)
|
|
155
|
-
popover: oklch(0.28 0.012 119)
|
|
156
|
-
popover-foreground: oklch(0.93 0.010 105)
|
|
157
|
-
primary: oklch(0.783 0.166 73.5)
|
|
158
|
-
primary-foreground: oklch(0.22 0.020 119)
|
|
159
|
-
secondary: oklch(0.26 0.012 119)
|
|
160
|
-
secondary-foreground: oklch(0.90 0.010 105)
|
|
161
|
-
muted: oklch(0.25 0.012 119)
|
|
162
|
-
muted-foreground: oklch(0.72 0.012 115)
|
|
163
|
-
accent: oklch(0.32 0.045 95)
|
|
164
|
-
accent-foreground: oklch(0.95 0.020 95)
|
|
165
|
-
destructive: oklch(0.64 0.170 28)
|
|
166
|
-
destructive-foreground: oklch(0.13 0.020 28)
|
|
167
|
-
success: oklch(0.68 0.120 163)
|
|
168
|
-
warning: oklch(0.72 0.130 74)
|
|
169
|
-
border: oklch(0.30 0.012 119)
|
|
170
|
-
input: oklch(0.30 0.012 119)
|
|
171
|
-
ring: oklch(0.68 0.150 253)
|
|
172
|
-
surface-raised: oklch(0.23 0.012 119)
|
|
173
|
-
surface-overlay: oklch(0.28 0.012 119)
|
|
174
|
-
chart-1: oklch(0.68 0.150 253)
|
|
175
|
-
chart-2: oklch(0.80 0.160 78)
|
|
176
|
-
chart-3: oklch(0.68 0.120 163)
|
|
177
|
-
chart-4: oklch(0.64 0.170 28)
|
|
178
|
-
chart-5: oklch(0.65 0.170 300)
|
|
179
|
-
sidebar: oklch(0.17 0.010 119)
|
|
180
|
-
sidebar-foreground: oklch(0.90 0.010 105)
|
|
181
|
-
sidebar-primary: oklch(0.783 0.166 73.5)
|
|
182
|
-
sidebar-primary-foreground: oklch(0.22 0.020 119)
|
|
183
|
-
sidebar-accent: oklch(0.24 0.012 119)
|
|
184
|
-
sidebar-accent-foreground: oklch(0.93 0.010 105)
|
|
185
|
-
sidebar-border: oklch(0.27 0.012 119)
|
|
186
|
-
sidebar-ring: oklch(0.68 0.150 253)
|
|
187
|
-
typography:
|
|
188
|
-
display: { family: "IBM Plex Sans Variable", fallback: "system-ui, sans-serif", weights: [600] }
|
|
189
|
-
sans: { family: "IBM Plex Sans Variable", fallback: "system-ui, sans-serif", weights: [400, 600] }
|
|
190
|
-
mono: { family: "Source Code Pro Variable", fallback: "ui-monospace, monospace", weights: [400] }
|
|
191
|
-
ramp:
|
|
192
|
-
display: { size: 28px, line: 36px, weight: 600, family: display, tracking: -0.01em }
|
|
193
|
-
h1: { size: 24px, line: 31px, weight: 600, family: sans }
|
|
194
|
-
h2: { size: 20px, line: 28px, weight: 600, family: sans }
|
|
195
|
-
body: { size: 14px, line: 20px, weight: 400, family: sans }
|
|
196
|
-
small: { size: 13px, line: 18px, weight: 400, family: sans }
|
|
197
|
-
caption: { size: 12px, line: 16px, weight: 600, family: sans, tracking: 0.02em, transform: uppercase }
|
|
198
|
-
data: { size: 13px, line: 20px, weight: 400, family: mono, features: [tnum] }
|
|
199
|
-
register-scope: { display: [page-title, empty-state], sans: [chrome, controls, body, headings], mono: [data, ids, timestamps, code, logs] }
|
|
200
|
-
elevation:
|
|
201
|
-
radius: { sm: 4px, md: 6px, lg: 8px }
|
|
202
|
-
hairline: border
|
|
203
|
-
shadow:
|
|
204
|
-
overlay: "0 8px 24px oklch(0.26 0.020 119 / 0.12)"
|
|
205
|
-
popover: "0 4px 12px oklch(0.26 0.020 119 / 0.09)"
|
|
206
|
-
dark-ladder: { background: 0.19, raised: 0.23, overlay: 0.28, hue-held: 119 }
|
|
207
|
-
motion:
|
|
208
|
-
duration: { press: 120ms, fade: 160ms, panel: 220ms }
|
|
209
|
-
easing: { standard: "cubic-bezier(0.2, 0, 0, 1)", exit: "cubic-bezier(0.4, 0, 1, 1)" }
|
|
210
|
-
entrance-never: ease-in
|
|
211
|
-
identity-moments: [auth, first-run-empty]
|
|
212
|
-
iconography: { set: lucide, stroke: 1.5px, grid: [16px, 20px] }
|
|
213
|
-
charts:
|
|
214
|
-
categorical: [chart-1, chart-2, chart-3, chart-4, chart-5]
|
|
215
|
-
sequential: { from: background, to: chart-1 }
|
|
216
|
-
diverging: { negative: destructive, mid: muted, positive: success }
|
|
217
|
-
layout: { base: 4px, sidebar: [248px, 56px], topbar: 56px, side-panel: [420px, 640px], content-max: 1320px }
|
|
218
|
-
```
|