oh-my-design-cli 1.8.6 → 1.9.0
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/.claude/hooks/lib/preferences-parser.cjs +1 -0
- package/.claude/hooks/lib/preferences-writer.cjs +1 -0
- package/.claude/hooks/post-edit-watch.cjs +1 -0
- package/.claude/hooks/session-end-foldin.cjs +1 -0
- package/.claude/hooks/session-state-loader.cjs +1 -0
- package/.claude/hooks/skill-activation.cjs +1 -0
- package/.claude/settings.json +10 -1
- package/.github/assets/logo-bg.png +0 -0
- package/AGENTS.md +20 -1
- package/CHANGELOG.md +482 -0
- package/MIGRATION.md +103 -0
- package/README.ja.md +56 -19
- package/README.ko.md +47 -30
- package/README.md +48 -30
- package/README.zh-TW.md +59 -22
- package/agents/AGENT.md +8 -7
- package/agents/omd-codex-image.md +1 -1
- package/agents/omd-critic.md +6 -7
- package/agents/omd-designer-review.md +1 -1
- package/agents/omd-final-qa.md +1 -1
- package/agents/omd-humanizer.md +38 -0
- package/agents/omd-kr-writer.md +3 -4
- package/agents/omd-locale-adapter.md +12 -16
- package/agents/omd-master.md +24 -19
- package/agents/omd-microcopy.md +1 -1
- package/agents/omd-orchestrator.md +7 -8
- package/agents/omd-slop-auditor.md +31 -0
- package/agents/omd-ux-researcher.md +1 -1
- package/data/reference-fingerprints.json +2761 -85
- package/dist/bin/oh-my-design.js +16 -8
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/chunk-UJIHCEYF.js +99 -0
- package/dist/chunk-UJIHCEYF.js.map +1 -0
- package/dist/doctor-LDWSFM3I.js +763 -0
- package/dist/doctor-LDWSFM3I.js.map +1 -0
- package/dist/install-skills-ZZFNJ2II.js +1120 -0
- package/dist/install-skills-ZZFNJ2II.js.map +1 -0
- package/docs/CLI_QUICKSTART.md +157 -0
- package/package.json +25 -4
- package/scripts/postinstall.cjs +5 -4
- package/skills/claude-design/SKILL.md +38 -14
- package/skills/claude-design/references/claude-design-flow.md +11 -11
- package/skills/claude-design/references/codebase-analysis.md +5 -4
- package/skills/omd-final-qa/SKILL.md +1 -1
- package/skills/omd-harness/SKILL.md +51 -50
- package/skills/omd-humanize/SKILL.md +116 -0
- package/skills/omd-humanize/agents/openai.yaml +4 -0
- package/skills/omd-humanize/references/locale-playbooks.md +102 -0
- package/skills/omd-humanize/references/sources.md +11 -0
- package/skills/omd-init/SKILL.md +18 -12
- package/skills/omd-locale-adapter/SKILL.md +58 -91
- package/skills/omd-orchestrator/SKILL.md +11 -5
- package/skills/omd-reference-capture/SKILL.md +80 -26
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
- package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
- package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
- package/skills/omd-slop-audit/SKILL.md +110 -0
- package/skills/omd-slop-audit/agents/openai.yaml +4 -0
- package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
- package/skills/omd-slop-audit/references/sources.md +24 -0
- package/web/references/104/DESIGN.md +354 -0
- package/web/references/11st/DESIGN.md +197 -316
- package/web/references/29cm/DESIGN.md +297 -393
- package/web/references/42dot/DESIGN.md +390 -0
- package/web/references/8percent/DESIGN.md +438 -0
- package/web/references/ably/DESIGN.md +267 -572
- package/web/references/acer/DESIGN.md +329 -0
- package/web/references/airbnb/DESIGN.md +219 -557
- package/web/references/airbridge/DESIGN.md +451 -0
- package/web/references/alipay/DESIGN.md +179 -420
- package/web/references/apple/DESIGN.md +224 -498
- package/web/references/asleep/DESIGN.md +402 -0
- package/web/references/au/DESIGN.md +334 -0
- package/web/references/autopedia/DESIGN.md +382 -0
- package/web/references/aws-cloudscape/DESIGN.md +241 -0
- package/web/references/baemin/DESIGN.md +332 -491
- package/web/references/banksalad/DESIGN.md +269 -180
- package/web/references/barogo/DESIGN.md +416 -0
- package/web/references/beusable/DESIGN.md +464 -0
- package/web/references/bigin/DESIGN.md +454 -0
- package/web/references/bilibili/DESIGN.md +206 -374
- package/web/references/bmw/DESIGN.md +162 -276
- package/web/references/brandi/DESIGN.md +184 -325
- package/web/references/buzzvil/DESIGN.md +457 -0
- package/web/references/cafe24/DESIGN.md +472 -0
- package/web/references/catchtable/DESIGN.md +219 -264
- package/web/references/cgv/DESIGN.md +317 -0
- package/web/references/channeltalk/DESIGN.md +210 -336
- package/web/references/china-airlines/DESIGN.md +291 -0
- package/web/references/cjonstyle/DESIGN.md +453 -0
- package/web/references/class101/DESIGN.md +168 -387
- package/web/references/classum/DESIGN.md +228 -203
- package/web/references/claude/DESIGN.md +242 -479
- package/web/references/clay/DESIGN.md +179 -377
- package/web/references/clickhouse/DESIGN.md +254 -343
- package/web/references/codeit/DESIGN.md +470 -0
- package/web/references/cohere/DESIGN.md +214 -324
- package/web/references/coinone/DESIGN.md +199 -179
- package/web/references/corca/DESIGN.md +414 -0
- package/web/references/coupang/DESIGN.md +205 -475
- package/web/references/cursor/DESIGN.md +240 -381
- package/web/references/dabang/DESIGN.md +248 -213
- package/web/references/dable/DESIGN.md +431 -0
- package/web/references/datarize/DESIGN.md +338 -0
- package/web/references/dealicious/DESIGN.md +402 -0
- package/web/references/drdiary/DESIGN.md +404 -0
- package/web/references/elastic/DESIGN.md +238 -0
- package/web/references/elevenlabs/DESIGN.md +183 -321
- package/web/references/elice/DESIGN.md +445 -0
- package/web/references/eslite/DESIGN.md +257 -0
- package/web/references/evaair/DESIGN.md +338 -0
- package/web/references/expo/DESIGN.md +238 -331
- package/web/references/familymart-tw/DESIGN.md +254 -0
- package/web/references/ferrari/DESIGN.md +160 -377
- package/web/references/figma/DESIGN.md +197 -451
- package/web/references/fitpet/DESIGN.md +445 -0
- package/web/references/flex/DESIGN.md +170 -253
- package/web/references/framer/DESIGN.md +197 -340
- package/web/references/freee/DESIGN.md +211 -533
- package/web/references/friendliai/DESIGN.md +431 -0
- package/web/references/frip/DESIGN.md +440 -0
- package/web/references/furiosaai/DESIGN.md +450 -0
- package/web/references/gangnamunni/DESIGN.md +154 -591
- package/web/references/gaudiolab/DESIGN.md +414 -0
- package/web/references/google/DESIGN.md +290 -398
- package/web/references/goorm/DESIGN.md +470 -0
- package/web/references/greencar/DESIGN.md +420 -0
- package/web/references/hackle/DESIGN.md +472 -0
- package/web/references/hashicorp/DESIGN.md +273 -318
- package/web/references/heydealer/DESIGN.md +429 -0
- package/web/references/humanscape/DESIGN.md +433 -0
- package/web/references/hwahae/DESIGN.md +453 -0
- package/web/references/hyundai/DESIGN.md +158 -368
- package/web/references/hyundaicard/DESIGN.md +171 -121
- package/web/references/ibm/DESIGN.md +227 -378
- package/web/references/idus/DESIGN.md +450 -0
- package/web/references/igaworks/DESIGN.md +437 -0
- package/web/references/inflearn/DESIGN.md +221 -366
- package/web/references/intuit/DESIGN.md +244 -0
- package/web/references/jandi/DESIGN.md +191 -291
- package/web/references/jobplanet/DESIGN.md +415 -0
- package/web/references/kakao/DESIGN.md +287 -475
- package/web/references/kakaobank/DESIGN.md +220 -521
- package/web/references/kakaogames/DESIGN.md +220 -0
- package/web/references/kakaopay/DESIGN.md +207 -526
- package/web/references/karrot/DESIGN.md +227 -251
- package/web/references/kb-kookmin/DESIGN.md +308 -0
- package/web/references/kbank/DESIGN.md +220 -175
- package/web/references/kcd/DESIGN.md +432 -0
- package/web/references/kmong/DESIGN.md +281 -356
- package/web/references/krds/DESIGN.md +245 -19
- package/web/references/kream/DESIGN.md +224 -359
- package/web/references/kurly/DESIGN.md +211 -533
- package/web/references/kyobobook/DESIGN.md +445 -0
- package/web/references/lablup/DESIGN.md +474 -0
- package/web/references/lamborghini/DESIGN.md +198 -360
- package/web/references/lemonbase/DESIGN.md +452 -0
- package/web/references/lguplus/DESIGN.md +259 -0
- package/web/references/likelion/DESIGN.md +283 -0
- package/web/references/line/DESIGN.md +396 -355
- package/web/references/linear.app/DESIGN.md +209 -562
- package/web/references/lotteon/DESIGN.md +386 -0
- package/web/references/lovable/DESIGN.md +255 -349
- package/web/references/makinarocks/DESIGN.md +242 -0
- package/web/references/maum-ai/DESIGN.md +423 -0
- package/web/references/medibloc/DESIGN.md +425 -0
- package/web/references/megabox/DESIGN.md +232 -0
- package/web/references/mercari/DESIGN.md +217 -434
- package/web/references/microsoft/DESIGN.md +234 -388
- package/web/references/mildang/DESIGN.md +411 -0
- package/web/references/millie/DESIGN.md +183 -504
- package/web/references/minimax/DESIGN.md +264 -322
- package/web/references/miricanvas/DESIGN.md +182 -355
- package/web/references/miro/DESIGN.md +234 -232
- package/web/references/mistral.ai/DESIGN.md +231 -314
- package/web/references/mixi/DESIGN.md +234 -0
- package/web/references/moin/DESIGN.md +445 -0
- package/web/references/mongodb/DESIGN.md +219 -316
- package/web/references/moreh/DESIGN.md +437 -0
- package/web/references/musinsa/DESIGN.md +184 -510
- package/web/references/mynavi/DESIGN.md +242 -0
- package/web/references/myrealtrip/DESIGN.md +169 -406
- package/web/references/naver/DESIGN.md +328 -499
- package/web/references/naverwebtoon/DESIGN.md +172 -395
- package/web/references/neosapience/DESIGN.md +441 -0
- package/web/references/nhn/DESIGN.md +169 -346
- package/web/references/nhncloud/DESIGN.md +185 -123
- package/web/references/nota/DESIGN.md +451 -0
- package/web/references/notion/DESIGN.md +271 -475
- package/web/references/nrise/DESIGN.md +417 -0
- package/web/references/ohouse/DESIGN.md +210 -549
- package/web/references/oliveyoung/DESIGN.md +217 -326
- package/web/references/ollama/DESIGN.md +241 -308
- package/web/references/onestore/DESIGN.md +248 -0
- package/web/references/palantir/DESIGN.md +256 -0
- package/web/references/panasonic/DESIGN.md +276 -0
- package/web/references/patternfly/DESIGN.md +259 -0
- package/web/references/payhere/DESIGN.md +438 -0
- package/web/references/pega/DESIGN.md +262 -0
- package/web/references/peoplefund/DESIGN.md +431 -0
- package/web/references/petfriends/DESIGN.md +428 -0
- package/web/references/pinkfong/DESIGN.md +199 -367
- package/web/references/pinterest/DESIGN.md +258 -308
- package/web/references/portone/DESIGN.md +446 -0
- package/web/references/poya/DESIGN.md +286 -0
- package/web/references/pozalabs/DESIGN.md +438 -0
- package/web/references/protopie/DESIGN.md +419 -0
- package/web/references/qraft/DESIGN.md +448 -0
- package/web/references/queenit/DESIGN.md +432 -0
- package/web/references/quotabook/DESIGN.md +449 -0
- package/web/references/rebellions/DESIGN.md +449 -0
- package/web/references/recruit/DESIGN.md +247 -0
- package/web/references/remember/DESIGN.md +202 -396
- package/web/references/resend/DESIGN.md +274 -348
- package/web/references/returnzero/DESIGN.md +460 -0
- package/web/references/sakura-internet/DESIGN.md +269 -0
- package/web/references/samsung/DESIGN.md +157 -359
- package/web/references/sandoll/DESIGN.md +445 -0
- package/web/references/sanity/DESIGN.md +241 -375
- package/web/references/saramin/DESIGN.md +465 -0
- package/web/references/scatterlab/DESIGN.md +412 -0
- package/web/references/selectstar/DESIGN.md +439 -0
- package/web/references/servicenow/DESIGN.md +289 -0
- package/web/references/shiftee/DESIGN.md +468 -0
- package/web/references/shinhanbank/DESIGN.md +161 -341
- package/web/references/shinhancard/DESIGN.md +208 -319
- package/web/references/sionic/DESIGN.md +454 -0
- package/web/references/sktelecom/DESIGN.md +310 -0
- package/web/references/socar/DESIGN.md +125 -32
- package/web/references/softbank/DESIGN.md +231 -0
- package/web/references/solapi/DESIGN.md +483 -0
- package/web/references/sony/DESIGN.md +234 -0
- package/web/references/soop/DESIGN.md +261 -0
- package/web/references/spacex/DESIGN.md +184 -323
- package/web/references/spotify/DESIGN.md +253 -394
- package/web/references/squeezebits/DESIGN.md +441 -0
- package/web/references/stayfolio/DESIGN.md +422 -0
- package/web/references/stripe/DESIGN.md +212 -491
- package/web/references/supabase/DESIGN.md +244 -316
- package/web/references/supertone/DESIGN.md +413 -0
- package/web/references/tabling/DESIGN.md +415 -0
- package/web/references/taishinbank/DESIGN.md +243 -0
- package/web/references/teamlab/DESIGN.md +240 -0
- package/web/references/teamsparta/DESIGN.md +472 -0
- package/web/references/tellingme/DESIGN.md +392 -0
- package/web/references/tesla/DESIGN.md +244 -427
- package/web/references/thsr/DESIGN.md +284 -0
- package/web/references/thumbtack/DESIGN.md +302 -0
- package/web/references/together.ai/DESIGN.md +257 -304
- package/web/references/toss/DESIGN.md +251 -593
- package/web/references/toss-securities/DESIGN.md +255 -178
- package/web/references/tossbank/DESIGN.md +195 -491
- package/web/references/toyota/DESIGN.md +238 -0
- package/web/references/tving/DESIGN.md +197 -245
- package/web/references/typed/DESIGN.md +413 -0
- package/web/references/uber/DESIGN.md +256 -333
- package/web/references/udn/DESIGN.md +250 -0
- package/web/references/upbit/DESIGN.md +145 -256
- package/web/references/upstage/DESIGN.md +211 -204
- package/web/references/uswds/DESIGN.md +287 -0
- package/web/references/vercel/DESIGN.md +236 -440
- package/web/references/vuno/DESIGN.md +413 -0
- package/web/references/wanted/DESIGN.md +215 -487
- package/web/references/weverse/DESIGN.md +437 -0
- package/web/references/wise/DESIGN.md +223 -231
- package/web/references/wisetracker/DESIGN.md +462 -0
- package/web/references/wooribank/DESIGN.md +245 -0
- package/web/references/yanolja/DESIGN.md +250 -419
- package/web/references/yeogiotte/DESIGN.md +235 -418
- package/web/references/zapier/DESIGN.md +256 -377
- package/web/references/zendesk/DESIGN.md +288 -0
- package/web/references/zigzag/DESIGN.md +200 -621
- package/dist/install-skills-7UUDOLG2.js +0 -734
- package/dist/install-skills-7UUDOLG2.js.map +0 -1
|
@@ -4,421 +4,332 @@ name: ClickHouse
|
|
|
4
4
|
country: US
|
|
5
5
|
category: backend-devops
|
|
6
6
|
homepage: "https://clickhouse.com"
|
|
7
|
-
primary_color: "#
|
|
7
|
+
primary_color: "#faff69"
|
|
8
8
|
logo:
|
|
9
9
|
type: simpleicons
|
|
10
10
|
slug: clickhouse
|
|
11
|
-
verified: "2026-
|
|
11
|
+
verified: "2026-07-13"
|
|
12
12
|
omd: "0.1"
|
|
13
13
|
ds:
|
|
14
14
|
name: ClickHouse Design
|
|
15
15
|
url: "https://clickhouse.design"
|
|
16
16
|
type: system
|
|
17
|
-
description:
|
|
17
|
+
description: Official brand foundations plus the separate Click UI design system and component library.
|
|
18
|
+
verification_v2:
|
|
19
|
+
schema: 2
|
|
20
|
+
checked: "2026-07-13"
|
|
21
|
+
surfaces:
|
|
22
|
+
- { id: home, kind: marketing, url: "https://clickhouse.com/", inspected: "2026-07-13" }
|
|
23
|
+
- { id: pricing, kind: public-calculator, url: "https://clickhouse.com/pricing", inspected: "2026-07-13" }
|
|
24
|
+
- { id: story, kind: editorial, url: "https://clickhouse.com/blog/corsearch-replaces-mysql-with-clickhouse-for-content-and-brand-protection", inspected: "2026-07-13" }
|
|
25
|
+
sources:
|
|
26
|
+
- { id: home-live, kind: product-surface, url: "https://clickhouse.com/", captured: "2026-07-13" }
|
|
27
|
+
- { id: pricing-live, kind: product-surface, url: "https://clickhouse.com/pricing", captured: "2026-07-13" }
|
|
28
|
+
- { id: story-live, kind: product-surface, url: "https://clickhouse.com/blog/corsearch-replaces-mysql-with-clickhouse-for-content-and-brand-protection", captured: "2026-07-13" }
|
|
29
|
+
- { id: brand-guide, kind: official-doc, url: "https://clickhouse.design/brand", captured: "2026-07-13" }
|
|
30
|
+
- { id: click-ui, kind: official-doc, url: "https://clickhouse.design/click-ui", captured: "2026-07-13" }
|
|
31
|
+
conflicts: []
|
|
32
|
+
claims:
|
|
33
|
+
"tokens.colors.primary": &home { surface_id: home, source_id: home-live, method: live-inspect, captured: "2026-07-13" }
|
|
34
|
+
"tokens.colors.canvas": *home
|
|
35
|
+
"tokens.colors.overlay": *home
|
|
36
|
+
"tokens.colors.on-primary": *home
|
|
37
|
+
"tokens.colors.surface": &pricing { surface_id: pricing, source_id: pricing-live, method: live-inspect, captured: "2026-07-13" }
|
|
38
|
+
"tokens.colors.foreground": *pricing
|
|
39
|
+
"tokens.colors.foreground-strong": *pricing
|
|
40
|
+
"tokens.colors.hairline": *pricing
|
|
41
|
+
"tokens.colors.accent-border": *pricing
|
|
42
|
+
"tokens.typography.family.ui": *home
|
|
43
|
+
"tokens.typography.family.display": &story { surface_id: story, source_id: story-live, method: live-inspect, captured: "2026-07-13" }
|
|
44
|
+
"tokens.typography.family.mono": *story
|
|
45
|
+
"tokens.typography.display.size": *story
|
|
46
|
+
"tokens.typography.display.weight": *story
|
|
47
|
+
"tokens.typography.display.lineHeight": *story
|
|
48
|
+
"tokens.typography.display.use": *story
|
|
49
|
+
"tokens.typography.heading.size": *story
|
|
50
|
+
"tokens.typography.heading.weight": *story
|
|
51
|
+
"tokens.typography.heading.lineHeight": *story
|
|
52
|
+
"tokens.typography.heading.use": *story
|
|
53
|
+
"tokens.typography.body.size": *home
|
|
54
|
+
"tokens.typography.body.weight": *home
|
|
55
|
+
"tokens.typography.body.lineHeight": *home
|
|
56
|
+
"tokens.typography.body.use": *home
|
|
57
|
+
"tokens.typography.control.size": *home
|
|
58
|
+
"tokens.typography.control.weight": *home
|
|
59
|
+
"tokens.typography.control.lineHeight": *home
|
|
60
|
+
"tokens.typography.control.use": *home
|
|
61
|
+
"tokens.typography.code.size": *story
|
|
62
|
+
"tokens.typography.code.weight": *story
|
|
63
|
+
"tokens.typography.code.lineHeight": *story
|
|
64
|
+
"tokens.typography.code.use": *story
|
|
65
|
+
"tokens.spacing.xs": *pricing
|
|
66
|
+
"tokens.spacing.sm": *pricing
|
|
67
|
+
"tokens.spacing.md": *pricing
|
|
68
|
+
"tokens.spacing.control": *pricing
|
|
69
|
+
"tokens.spacing.lg": *pricing
|
|
70
|
+
"tokens.spacing.xl": *pricing
|
|
71
|
+
"tokens.spacing.xxl": *pricing
|
|
72
|
+
"tokens.spacing.section": *pricing
|
|
73
|
+
"tokens.rounded.sm": *home
|
|
74
|
+
"tokens.rounded.md": *pricing
|
|
75
|
+
"tokens.rounded.lg": *home
|
|
76
|
+
"tokens.rounded.dialog": *home
|
|
77
|
+
"tokens.rounded.full": *pricing
|
|
78
|
+
"tokens.components.public-list-item.type": *home
|
|
79
|
+
"tokens.components.public-list-item.fg": *home
|
|
80
|
+
"tokens.components.public-list-item.radius": *home
|
|
81
|
+
"tokens.components.public-list-item.padding": *home
|
|
82
|
+
"tokens.components.public-list-item.font": *home
|
|
83
|
+
"tokens.components.public-list-item.use": *home
|
|
18
84
|
tokens:
|
|
19
|
-
source:
|
|
20
|
-
extracted: "2026-
|
|
21
|
-
note: "
|
|
85
|
+
source: reconciled
|
|
86
|
+
extracted: "2026-07-13"
|
|
87
|
+
note: "Public marketing, pricing-calculator, editorial, Click UI documentation, and declared font assets remain separate evidence domains. Values below are selector-backed public-surface observations only."
|
|
22
88
|
colors:
|
|
23
89
|
primary: "#faff69"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
foreground: "#
|
|
28
|
-
|
|
29
|
-
on-primary: "#151515"
|
|
30
|
-
surface: "#141414"
|
|
31
|
-
surface-hover: "#3a3a3a"
|
|
90
|
+
canvas: "#131312"
|
|
91
|
+
surface: "#282828"
|
|
92
|
+
overlay: "#141414"
|
|
93
|
+
foreground: "#dfdfdf"
|
|
94
|
+
foreground-strong: "#ffffff"
|
|
32
95
|
hairline: "#414141"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
cta-green-dark: "#14572f"
|
|
36
|
-
active: "#f4f692"
|
|
37
|
-
border-olive: "#4f5100"
|
|
38
|
-
olive-dark: "#161600"
|
|
96
|
+
accent-border: "#4f5101"
|
|
97
|
+
on-primary: "#151515"
|
|
39
98
|
typography:
|
|
40
|
-
family: {
|
|
41
|
-
display
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
caption: { size: 14, weight: 400, lineHeight: 1.43, use: "Metadata, descriptions, links" }
|
|
49
|
-
uppercase-label: { size: 14, weight: 600, lineHeight: 1.43, tracking: 1.4, use: "Section overlines, wide-tracked uppercase" }
|
|
50
|
-
code: { size: 16, weight: 600, lineHeight: 1.50, use: "Code blocks, commands (Inconsolata)" }
|
|
51
|
-
small: { size: 12, weight: 500, lineHeight: 1.33, use: "Smallest text" }
|
|
52
|
-
micro: { size: 11.2, weight: 500, lineHeight: 1.79, use: "Tags, tiny labels" }
|
|
53
|
-
spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
|
|
54
|
-
rounded: { sm: 4, md: 8, full: 9999 }
|
|
55
|
-
shadow:
|
|
56
|
-
subtle: "rgba(0,0,0,0.1) 0px 1px 3px, rgba(0,0,0,0.1) 0px 1px 2px -1px"
|
|
57
|
-
elevated: "rgba(0,0,0,0.1) 0px 10px 15px -3px, rgba(0,0,0,0.1) 0px 4px 6px -4px"
|
|
58
|
-
inset: "rgba(0,0,0,0.06) 0px 4px 4px, rgba(0,0,0,0.14) 0px 4px 25px inset"
|
|
59
|
-
components_harvested: true
|
|
99
|
+
family: { ui: "Inter", display: "Basier", mono: "Inconsolata" }
|
|
100
|
+
display: { size: 36, weight: 600, lineHeight: 1.25, use: "Basier h2 observed on public routes" }
|
|
101
|
+
heading: { size: 20, weight: 600, lineHeight: 1.25, use: "Basier h3 observed on public routes" }
|
|
102
|
+
body: { size: 16, weight: 400, lineHeight: 1.50, use: "Inter public-route body and list items" }
|
|
103
|
+
control: { size: 14, weight: 500, lineHeight: 1.43, use: "Inter primary-action controls" }
|
|
104
|
+
code: { size: 18, weight: 400, lineHeight: 1.50, use: "Single observed Inconsolata body sample; not a general code-scale claim" }
|
|
105
|
+
spacing: { xs: 4, sm: 6, md: 8, control: 10, lg: 12, xl: 16, xxl: 24, section: 32 }
|
|
106
|
+
rounded: { sm: 4, md: 6, lg: 8, dialog: 10, full: 9999 }
|
|
60
107
|
components:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
button-forest-green: { type: button, bg: "#166534", fg: "#ffffff", use: "Forest green fill — primary conversion CTA" }
|
|
64
|
-
button-ghost: { type: button, fg: "#ffffff", radius: 4, use: "Transparent fill, 1px solid #4f5100 olive border" }
|
|
65
|
-
card: { type: card, bg: "#141414", radius: 4, use: "Near-black surface, 1px charcoal border" }
|
|
66
|
-
card-neon-highlight: { type: card, bg: "#141414", radius: 4, use: "Dark card with 1px solid #faff69 neon border for featured/selected treatment" }
|
|
67
|
-
performance-stat: { type: card, fg: "#faff69", use: "Oversized number 72px+ weight 700-900, neon accents, brief description beneath" }
|
|
108
|
+
public-list-item: { type: listItem, fg: "#dfdfdf", radius: 0, padding: "0px", font: "16px/400 Inter", use: "Repeated public-route list item; 155 observed occurrences" }
|
|
109
|
+
components_harvested: true
|
|
68
110
|
---
|
|
69
111
|
|
|
70
112
|
# Design System Inspiration of ClickHouse
|
|
71
113
|
|
|
72
114
|
## 1. Visual Theme & Atmosphere
|
|
73
115
|
|
|
74
|
-
ClickHouse
|
|
116
|
+
ClickHouse is a column-oriented analytics database built for real-time SQL reporting, and its public expression treats speed as something users should see as well as measure. The official brand guidelines describe a direct, technically confident character: yellow leads the brand while dark neutrals, hard rules, and compact controls keep the message legible. The supplied public surfaces—marketing home, pricing calculator, and an editorial customer story—pair the live `#faff69` action yellow with a near-black field of `#131312`/`#282828`, Inter for the repeated UI rhythm, and Basier for larger headings. That high-contrast treatment belongs to public communication and the calculator, not proof of an authenticated product console. ClickHouse’s separate Click UI documentation confirms a themeable product system whose yellow is intentionally used more selectively in product UI.
|
|
75
117
|
|
|
76
|
-
|
|
118
|
+
**Key characteristics:**
|
|
119
|
+
- Yellow-led public action treatment: `#faff69` on `#151515`.
|
|
120
|
+
- Dark public surfaces: `#131312` canvas and `#282828` calculator/menu surfaces.
|
|
121
|
+
- Compact Inter controls; Basier headings on the captured public routes.
|
|
122
|
+
- 4px, 6px, 8px, and 10px radii each have selector-backed uses; none is universal.
|
|
123
|
+
- Product, marketing, editorial, privacy-dialog, and Click UI documentation evidence are separate.
|
|
77
124
|
|
|
78
|
-
|
|
125
|
+
## 2. Color Palette & Roles
|
|
79
126
|
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
127
|
+
### Selector-backed public surfaces
|
|
128
|
+
- **Action Yellow** (`#faff69`): primary public action background and selected/expanded border on the home and pricing calculator.
|
|
129
|
+
- **Canvas** (`#131312`): observed public page background; do not generalize it to every ClickHouse product surface.
|
|
130
|
+
- **Control Surface** (`#282828`): public pricing input and expanded select-menu background.
|
|
131
|
+
- **Overlay Surface** (`#141414`): observed cookie-dialog surface only; not promoted as a general product surface token.
|
|
132
|
+
- **Primary Public Text** (`#dfdfdf`): computed neutral text on repeated public controls and lists.
|
|
133
|
+
- **Strong/Modal Text** (`#ffffff`): observed in public secondary actions and the cookie dialog.
|
|
134
|
+
- **Hairline** (`#414141`): pricing number-field border.
|
|
135
|
+
- **Accent Border** (`#4f5101`): public secondary-action border.
|
|
136
|
+
- **On Action Yellow** (`#151515`): primary-action text.
|
|
90
137
|
|
|
91
|
-
|
|
138
|
+
### Official brand and product boundary
|
|
92
139
|
|
|
93
|
-
|
|
94
|
-
- **Neon Volt** (`#faff69`): The signature brand color — a vivid acid yellow-green that's the sole chromatic accent on the black canvas. Used for primary CTAs, accent borders, link hovers, and highlighted moments.
|
|
95
|
-
- **Forest Green** (`#166534`): Secondary CTA color — a deep, saturated green for "Get Started" and primary action buttons that need distinction from the neon.
|
|
96
|
-
- **Dark Forest** (`#14572f`): A darker green variant for borders and secondary accents.
|
|
140
|
+
The official brand guidelines say yellow is primary in brand work and a more selective accent in product work; they name neutral dark-theme chrome and slate light-theme chrome, but this packet does not turn undocumented scale steps into hex tokens. Cookie-consent green (`#166534`) and its hover value were observed in a privacy dialog, so they are intentionally excluded from the ClickHouse action palette.
|
|
97
141
|
|
|
98
|
-
|
|
99
|
-
- **Pale Yellow** (`#f4f692`): Active/pressed state text color — a softer, more muted version of Neon Volt for state feedback.
|
|
100
|
-
- **Border Olive** (`#4f5100`): A dark olive-yellow for ghost button borders — the neon's muted sibling.
|
|
101
|
-
- **Olive Dark** (`#161600`): The darkest neon-tinted color for subtle brand text.
|
|
142
|
+
## 3. Typography Rules
|
|
102
143
|
|
|
103
|
-
###
|
|
104
|
-
- **Pure Black** (`#000000`): The primary page background — absolute black for maximum contrast.
|
|
105
|
-
- **Near Black** (`#141414`): Button backgrounds and slightly elevated dark surfaces.
|
|
106
|
-
- **Charcoal** (`#414141`): The primary border color at 80% opacity — the workhorse for card and container containment.
|
|
107
|
-
- **Deep Charcoal** (`#343434`): Darker border variant for subtle division lines.
|
|
108
|
-
- **Hover Gray** (`#3a3a3a`): Button hover state background — slightly lighter than Near Black.
|
|
144
|
+
### Evidence classes
|
|
109
145
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
- **
|
|
113
|
-
- **
|
|
114
|
-
|
|
146
|
+
| Evidence class | Family and boundary |
|
|
147
|
+
|---|---|
|
|
148
|
+
| Official product-use | ClickHouse Design says **Inter** can serve as both title and body copy in the product. |
|
|
149
|
+
| Live computed surface-use | **Inter** is loaded/high with 1,215 observed uses across the three public routes; **Basier** is loaded/high with 66 uses, including 36px/600 h2 and 20px/600 h3 samples; **Inconsolata** is loaded/medium with one 18px/400 sample. Each has a FontFaceSet/source-URL match in the supplied artifact. |
|
|
150
|
+
| Official distributed brand asset | ClickHouse names **Söhne** as its display voice for marketing and calls it marketing-only; the Klim Type Foundry source identifies WOFF2 web formats and commercial availability. This is brand/font context, not a product-UI token. |
|
|
151
|
+
| Declared-only | `fontSohne`, `fontSohneBreit`, their fallback faces, and `basier Fallback` are declared in captured CSS but had no visible computed use in this packet. |
|
|
152
|
+
| System / unresolved | `ui-sans-serif` is an operating-system stack, not a ClickHouse-family substitute. `ui-monospace` had one unresolved computed occurrence and is not promoted. |
|
|
115
153
|
|
|
116
|
-
###
|
|
117
|
-
- **None in the traditional sense.** ClickHouse uses flat color blocks and high-contrast borders. The "gradient" is the contrast itself — neon yellow-green against pure black creates a visual intensity that gradients would dilute.
|
|
154
|
+
### Captured hierarchy
|
|
118
155
|
|
|
119
|
-
|
|
156
|
+
| Role | Family | Size | Weight | Line Height | Evidence boundary |
|
|
157
|
+
|---|---|---:|---:|---:|---|
|
|
158
|
+
| Public h1 | Basier | 48px (also one 96px sample) | 600 | 60px (96px sample: 96px) | public routes; not a complete display scale |
|
|
159
|
+
| Public h2 | Basier | 36px | 600 | 45px | 18 observed samples |
|
|
160
|
+
| Public h3 | Basier | 20px | 600 | 25px | 20 observed samples |
|
|
161
|
+
| Body / list | Inter | 16px | 400 | 24px | repeated public-route body/list samples |
|
|
162
|
+
| Control | Inter | 14px | 500 | 20px or 17.5px | action/control samples; preserve route value |
|
|
163
|
+
| Code-adjacent body | Inconsolata | 18px | 400 | 27px | one observed sample only |
|
|
120
164
|
|
|
121
|
-
|
|
122
|
-
- **Primary**: `Inter` (Next.js optimized variant `__Inter_d1b8ee`)
|
|
123
|
-
- **Secondary Display**: `Basier` (`__basier_a58b65`), with fallbacks: `Arial, Helvetica`
|
|
124
|
-
- **Code**: `Inconsolata` (`__Inconsolata_a25f62`)
|
|
125
|
-
|
|
126
|
-
### Hierarchy
|
|
127
|
-
|
|
128
|
-
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
129
|
-
|------|------|------|--------|-------------|----------------|-------|
|
|
130
|
-
| Display Mega | Inter | 96px (6rem) | 900 | 1.00 (tight) | normal | Maximum impact, extra-heavy |
|
|
131
|
-
| Display / Hero | Inter | 72px (4.5rem) | 700 | 1.00 (tight) | normal | Section hero titles |
|
|
132
|
-
| Feature Heading | Basier | 36px (2.25rem) | 600 | 1.30 (tight) | normal | Feature section anchors |
|
|
133
|
-
| Sub-heading | Inter / Basier | 24px (1.5rem) | 600–700 | 1.17–1.38 | normal | Card headings |
|
|
134
|
-
| Feature Title | Inter / Basier | 20px (1.25rem) | 600–700 | 1.40 | normal | Small feature titles |
|
|
135
|
-
| Body Large | Inter | 18px (1.13rem) | 400–700 | 1.56 | normal | Intro paragraphs, button text |
|
|
136
|
-
| Body / Button | Inter | 16px (1rem) | 400–700 | 1.50 | normal | Standard body, nav, buttons |
|
|
137
|
-
| Caption | Inter | 14px (0.88rem) | 400–700 | 1.43 | normal | Metadata, descriptions, links |
|
|
138
|
-
| Uppercase Label | Inter | 14px (0.88rem) | 600 | 1.43 | 1.4px | Section overlines, wide-tracked |
|
|
139
|
-
| Code | Inconsolata | 16px (1rem) | 600 | 1.50 | normal | Code blocks, commands |
|
|
140
|
-
| Small | Inter | 12px (0.75rem) | 500 | 1.33 | normal | Smallest text |
|
|
141
|
-
| Micro | Inter | 11.2px (0.7rem) | 500 | 1.79 (relaxed) | normal | Tags, tiny labels |
|
|
142
|
-
|
|
143
|
-
### Principles
|
|
144
|
-
- **Weight 900 is the weapon**: The display headline uses Inter Black (900) — a weight most sites never touch. Combined with 96px size, this creates text with a physical, almost architectural presence.
|
|
145
|
-
- **Full weight spectrum**: The system uses 400, 500, 600, 700, and 900 — covering the full gamut. Weight IS hierarchy.
|
|
146
|
-
- **Uppercase with maximum tracking**: Section overlines use 1.4px letter-spacing — wider than most systems — creating bold structural labels that stand out against the dense dark background.
|
|
147
|
-
- **Dual sans-serif**: Inter handles display and body; Basier handles feature section headings at 600 weight. This creates a subtle personality shift between "data/performance" (Inter) and "product/feature" (Basier) contexts.
|
|
165
|
+
Do not render a system fallback as Söhne, Basier, or Inconsolata. Söhne remains useful official marketing-font context but is excluded from `tokens.typography.family` because the packet records no visible computed Söhne use.
|
|
148
166
|
|
|
149
167
|
## 4. Component Stylings
|
|
150
168
|
|
|
151
|
-
###
|
|
152
|
-
|
|
153
|
-
**
|
|
154
|
-
- Background:
|
|
155
|
-
- Text:
|
|
156
|
-
-
|
|
157
|
-
- Radius:
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
- Padding: 12px 16px
|
|
167
|
-
- Radius: 4px or 8px
|
|
168
|
-
- Border: `1px solid #141414`
|
|
169
|
-
- Hover: bg shifts to Hover Gray (`#3a3a3a`), text to 80% opacity
|
|
170
|
-
- Active: text to Pale Yellow
|
|
171
|
-
- The standard action button
|
|
172
|
-
|
|
173
|
-
**Forest Green**
|
|
174
|
-
- Background: Forest Green (`#166534`)
|
|
175
|
-
- Text: Pure White (`#ffffff`)
|
|
176
|
-
- Padding: 12px 16px
|
|
177
|
-
- Border: `1px solid #141414`
|
|
178
|
-
- Hover: same dark shift
|
|
179
|
-
- Active: Pale Yellow text
|
|
180
|
-
- The "Get Started" / primary conversion button
|
|
181
|
-
|
|
182
|
-
**Ghost / Outlined**
|
|
183
|
-
- Background: transparent
|
|
184
|
-
- Text: Pure White (`#ffffff`)
|
|
185
|
-
- Padding: 0px 32px
|
|
169
|
+
### Public Actions
|
|
170
|
+
|
|
171
|
+
**Primary Action — home and pricing calculator**
|
|
172
|
+
- Background: `#faff69`
|
|
173
|
+
- Text: `#151515`
|
|
174
|
+
- Border: 1px solid `#faff69`
|
|
175
|
+
- Radius: 4px
|
|
176
|
+
- Padding: 10px 16px on `home::[data-omd-capture="55"]`; 12px 24px on pricing `surface-2::[data-omd-capture="102"]`
|
|
177
|
+
- Font: 14px / 500 / Inter
|
|
178
|
+
- Use: Public action controls captured on the home and pricing calculator.
|
|
179
|
+
|
|
180
|
+
**Secondary Action — pricing calculator**
|
|
181
|
+
- Background: `oklab(0.1957 -0.0000019595 0.00000458956 / 0.00999999)`
|
|
182
|
+
- Text: `#ffffff`
|
|
183
|
+
- Border: 1px solid `#4f5101`
|
|
186
184
|
- Radius: 4px
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
-
|
|
194
|
-
-
|
|
195
|
-
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
-
|
|
223
|
-
-
|
|
224
|
-
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
-
|
|
228
|
-
-
|
|
229
|
-
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
185
|
+
- Padding: 12px 24px
|
|
186
|
+
- Font: 14px / 500 / Inter
|
|
187
|
+
- Use: `surface-2::[data-omd-capture="103"]`; route-local secondary action.
|
|
188
|
+
|
|
189
|
+
**Navigation Item — public home**
|
|
190
|
+
- Radius: 8px
|
|
191
|
+
- Padding: 10px 12px
|
|
192
|
+
- Font: 14px / 500 / Inter
|
|
193
|
+
- Hover: collector recorded a public home focus/hover/pressed state; raw state styling is retained in the verification record rather than promoted as a global rule.
|
|
194
|
+
- Use: `home::[data-omd-capture="1"]`; public navigation/menu item.
|
|
195
|
+
|
|
196
|
+
### Pricing Calculator Form Chrome
|
|
197
|
+
|
|
198
|
+
**Number Field**
|
|
199
|
+
- Background: `#282828`
|
|
200
|
+
- Text: `#dfdfdf`
|
|
201
|
+
- Border: 1px solid `#414141`
|
|
202
|
+
- Radius: 4px
|
|
203
|
+
- Padding: 0px 12px
|
|
204
|
+
- Font: 14px / 400 / Inter
|
|
205
|
+
- Use: `surface-2::[data-omd-capture="93"]`; public pricing-calculator number input.
|
|
206
|
+
|
|
207
|
+
**Select Trigger — expanded**
|
|
208
|
+
- Background: `#282828`
|
|
209
|
+
- Text: `#dfdfdf`
|
|
210
|
+
- Border: 1px solid `#414141`
|
|
211
|
+
- Radius: 4px
|
|
212
|
+
- Padding: 0px 28px 0px 12px
|
|
213
|
+
- Font: 14px / 400 / Inter
|
|
214
|
+
- Use: `surface-2::[data-omd-capture="63"]`; trigger for an observed open pricing select.
|
|
215
|
+
|
|
216
|
+
**Select Menu — expanded**
|
|
217
|
+
- Background: `#282828`
|
|
218
|
+
- Text: `#dfdfdf`
|
|
219
|
+
- Border: 0px 1px 1px solid `#faff69`
|
|
220
|
+
- Radius: 0px 0px 6px 6px
|
|
221
|
+
- Padding: 4px 0px
|
|
222
|
+
- Font: 14px / 400 / Inter
|
|
223
|
+
- Use: `surface-2::[data-omd-interaction-capture="menu-0-0"]`; three pricing menus exposed the same expanded/menu-open treatment.
|
|
224
|
+
|
|
225
|
+
**Radio-like Toggle**
|
|
226
|
+
- Background: `#1f1f1c`
|
|
227
|
+
- Border: 1px solid `#414141`
|
|
228
|
+
- Radius: 9999px
|
|
229
|
+
- Use: `surface-2::[data-omd-capture="96"]`; checked and unchecked states were recorded, but no different checked value is asserted.
|
|
230
|
+
|
|
231
|
+
### Separate Public Privacy Dialog
|
|
232
|
+
|
|
233
|
+
**Cookie Dialog**
|
|
234
|
+
- Background: `#141414`
|
|
235
|
+
- Text: `#ffffff`
|
|
236
|
+
- Border: 1px solid `#393939`
|
|
237
|
+
- Radius: 10px
|
|
238
|
+
- Use: `home::[data-omd-interaction-capture="dialog-0-0"]`; consent chrome, excluded from product/calculator components.
|
|
239
|
+
|
|
240
|
+
Click UI documents broader Button, IconButton, SplitButton, Text Field, and Select APIs separately. Its documented variants are not copied here unless the supplied public capture exposed their visual values.
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
**Verified:** 2026-07-13
|
|
244
|
+
**Tier 1 sources:** [ClickHouse home](https://clickhouse.com/), [public pricing calculator](https://clickhouse.com/pricing?service=clickhouse&pg.plan=scale&pg.provider=aws&pg.profile=memory&pg.architecture=arm&pg.standby=0&pg.region=us-east-1&plan=scale&provider=aws®ion=us-east-1&hours=8&storageCompressed=false), [public customer story](https://clickhouse.com/blog/corsearch-replaces-mysql-with-clickhouse-for-content-and-brand-protection?loc=carousel), [official Click UI](https://clickhouse.design/click-ui), [official brand guidelines](https://clickhouse.design/brand)
|
|
245
|
+
**Tier 2 sources:** [getdesign ClickHouse directory](https://getdesign.md/clickhouse/design-md); Refero query attempted at `https://styles.refero.design/?q=ClickHouse`, but returned an internal error and is not treated as a positive or negative result.
|
|
246
|
+
**Resolution note:** Earlier claims of universal forest-green conversion CTAs, 4px/8px card rules, and a universal neon-on-black product system were rolled back. The fresh packet ties green to cookie consent, gives each component a route/selector boundary, and keeps official Click UI documentation separate from public-surface measurements.
|
|
247
|
+
**Conflicts unresolved:** none
|
|
235
248
|
|
|
236
249
|
## 5. Layout Principles
|
|
237
250
|
|
|
238
|
-
|
|
239
|
-
- Base unit: 8px
|
|
240
|
-
- Scale: 2px, 6px, 7px, 8px, 10px, 12px, 16px, 20px, 24px, 25px, 32px, 40px, 44px, 48px, 64px
|
|
241
|
-
- Button padding: 12px 16px (standard), 0px 16px (compact), 0px 32px (wide ghost)
|
|
242
|
-
- Section vertical spacing: generous (48–64px)
|
|
243
|
-
|
|
244
|
-
### Grid & Container
|
|
245
|
-
- Max container width: up to 2200px (extra-wide) with responsive scaling
|
|
246
|
-
- Hero: full-width dark with massive typography
|
|
247
|
-
- Feature sections: multi-column card grids with dark borders
|
|
248
|
-
- Stats: horizontal metric bar
|
|
249
|
-
- Full-dark page — no light sections
|
|
250
|
-
|
|
251
|
-
### Whitespace Philosophy
|
|
252
|
-
- **Dark void as canvas**: The pure black background provides infinite depth — elements float in darkness.
|
|
253
|
-
- **Dense information**: Feature cards and stats are packed with data, reflecting the database product's performance focus.
|
|
254
|
-
- **Neon highlights as wayfinding**: Yellow-green accents guide the eye through the dark interface like runway lights.
|
|
255
|
-
|
|
256
|
-
### Border Radius Scale
|
|
257
|
-
- Sharp (4px): Buttons, badges, small elements, code blocks
|
|
258
|
-
- Comfortable (8px): Cards, containers, dividers
|
|
259
|
-
- Pill (9999px): Toggle buttons, status indicators
|
|
251
|
+
The supplied 1440×900 captures repeat 4, 6, 8, 10, 12, 16, 20, 24, and 32px spacing values. They support a compact public-control rhythm, but do not establish a complete grid or responsive layout specification. The public home body measures a dark `#131312` canvas; the calculator puts fields and menus on `#282828`; editorial content keeps its own article layout. Do not infer authenticated-console density, dashboard grids, or mobile collapse behavior from these routes.
|
|
260
252
|
|
|
261
253
|
## 6. Depth & Elevation
|
|
262
254
|
|
|
263
|
-
|
|
264
|
-
|-------|-----------|-----|
|
|
265
|
-
| Flat (Level 0) | No shadow | Black background, text blocks |
|
|
266
|
-
| Bordered (Level 1) | `1px solid rgba(65,65,65,0.8)` | Standard cards, containers |
|
|
267
|
-
| Subtle (Level 2) | `0px 1px 3px rgba(0,0,0,0.1)` | Subtle card lift |
|
|
268
|
-
| Elevated (Level 3) | `0px 10px 15px -3px rgba(0,0,0,0.1)` | Feature cards, hover states |
|
|
269
|
-
| Pressed/Inset (Level 4) | `0px 4px 25px rgba(0,0,0,0.14) inset` | Active/pressed elements — "sunk into the surface" |
|
|
270
|
-
| Neon Highlight (Level 5) | Neon Volt border (`#faff69`) | Featured/selected cards, maximum emphasis |
|
|
271
|
-
|
|
272
|
-
**Shadow Philosophy**: ClickHouse uses shadows on a black canvas, where they're barely visible — they exist more for subtle dimensionality than obvious elevation. The most distinctive depth mechanism is the **inset shadow** (Level 4), which creates a "pressed into the surface" effect unique to ClickHouse. The neon border highlight (Level 5) is the primary attention-getting depth mechanism.
|
|
255
|
+
Most observed public controls report `box-shadow: none`; hierarchy comes from dark-surface changes, thin rules, and the yellow action/border. The expanded pricing select is the recorded exception: it includes `rgba(0,0,0,0.1) 0px 10px 15px -3px` and `rgba(0,0,0,0.1) 0px 4px 6px -4px`. The cookie dialog and public menus are not evidence for a universal application-overlay scale.
|
|
273
256
|
|
|
274
257
|
## 7. Do's and Don'ts
|
|
275
258
|
|
|
276
259
|
### Do
|
|
277
|
-
- Use
|
|
278
|
-
-
|
|
279
|
-
-
|
|
280
|
-
- Use
|
|
281
|
-
-
|
|
282
|
-
- Show performance stats as oversized display numbers — it's the core visual argument
|
|
283
|
-
- Use uppercase with wide letter-spacing (1.4px) for section labels
|
|
284
|
-
- Apply Pale Yellow (#f4f692) for active/pressed text states
|
|
285
|
-
- Link hovers should ALWAYS shift to Neon Volt — unified interactive feedback
|
|
260
|
+
- Use yellow as a decisive public action or attention signal, while keeping it selective on product-oriented UI.
|
|
261
|
+
- Write direct, technically specific labels and support performance claims with a number, benchmark, or concrete example.
|
|
262
|
+
- Preserve the captured selector/surface boundary when using primary actions, calculator fields, or expanded menus.
|
|
263
|
+
- Use Inter for the observed public UI patterns; reserve Söhne for its official marketing-only role.
|
|
264
|
+
- Treat Click UI’s system documentation as component-intent guidance, not a substitute for unmeasured public CSS values.
|
|
286
265
|
|
|
287
266
|
### Don't
|
|
288
|
-
-
|
|
289
|
-
-
|
|
290
|
-
-
|
|
291
|
-
-
|
|
292
|
-
-
|
|
293
|
-
- Don't use soft/diffused shadows on black — they're invisible. Use border-based depth instead
|
|
294
|
-
- Don't skip the inset shadow on active states — the "pressed" effect is distinctive
|
|
295
|
-
- Don't use warm neutrals — all grays are perfectly neutral
|
|
267
|
+
- Do not promote cookie-consent green, its hover state, or privacy-dialog layout into the ClickHouse product palette.
|
|
268
|
+
- Do not present Söhne, `fontSohneBreit`, a fallback face, or a system stack as a verified live product family.
|
|
269
|
+
- Do not convert the yellow public marketing treatment into a claim that all product UI is neon-on-black.
|
|
270
|
+
- Do not invent calculator error, loading, disabled, success, mobile, or authenticated-console states.
|
|
271
|
+
- Do not copy Click UI API variants as if they were observed on the three supplied public routes.
|
|
296
272
|
|
|
297
273
|
## 8. Responsive Behavior
|
|
298
274
|
|
|
299
|
-
|
|
300
|
-
| Name | Width | Key Changes |
|
|
301
|
-
|------|-------|-------------|
|
|
302
|
-
| Mobile | <640px | Single column, stacked cards |
|
|
303
|
-
| Small Tablet | 640–768px | Minor adjustments |
|
|
304
|
-
| Tablet | 768–1024px | 2-column grids |
|
|
305
|
-
| Desktop | 1024–1280px | Standard layout |
|
|
306
|
-
| Large Desktop | 1280–1536px | Expanded content |
|
|
307
|
-
| Ultra-wide | 1536–2200px | Maximum container width |
|
|
308
|
-
|
|
309
|
-
### Touch Targets
|
|
310
|
-
- Buttons with 12px 16px padding minimum
|
|
311
|
-
- Card surfaces as touch targets
|
|
312
|
-
- Adequate nav link spacing
|
|
313
|
-
|
|
314
|
-
### Collapsing Strategy
|
|
315
|
-
- **Hero text**: 96px → 72px → 48px → 36px
|
|
316
|
-
- **Feature grids**: Multi-column → 2 → 1 column
|
|
317
|
-
- **Stats**: Horizontal → stacked
|
|
318
|
-
- **Navigation**: Full → hamburger
|
|
319
|
-
|
|
320
|
-
### Image Behavior
|
|
321
|
-
- Product screenshots maintain aspect ratio
|
|
322
|
-
- Code blocks use horizontal scroll on narrow screens
|
|
323
|
-
- All images on dark backgrounds
|
|
275
|
+
No viewport comparison is available in this packet. All three supplied surfaces were captured at 1440×900. Preserve accessibility and responsive implementation requirements, but do not claim ClickHouse-specific mobile menu behavior, breakpoints, touch targets, or grid columns without another direct observation.
|
|
324
276
|
|
|
325
277
|
## 9. Agent Prompt Guide
|
|
326
278
|
|
|
327
|
-
### Quick
|
|
328
|
-
-
|
|
329
|
-
-
|
|
330
|
-
-
|
|
331
|
-
-
|
|
332
|
-
- Primary Text: "Pure White (#ffffff)"
|
|
333
|
-
- Secondary Text: "Silver (#a0a0a0)"
|
|
334
|
-
- Active State: "Pale Yellow (#f4f692)"
|
|
335
|
-
- Button Surface: "Near Black (#141414)"
|
|
336
|
-
|
|
337
|
-
### Example Component Prompts
|
|
338
|
-
- "Create a hero section on Pure Black (#000000) with a massive headline at 96px Inter weight 900, line-height 1.0. Pure White text. Add a Neon Volt (#faff69) CTA button (dark text, 4px radius, 0px 16px padding) and a ghost button (transparent, 1px solid #4f5100 border)."
|
|
339
|
-
- "Design a feature card on black with 1px solid rgba(65,65,65,0.8) border and 8px radius. Title at 24px Inter weight 700, body at 16px in Silver (#a0a0a0). Add a neon-highlighted variant with 1px solid #faff69 border."
|
|
340
|
-
- "Build a performance stats bar: large numbers at 72px Inter weight 700 in Pure White. Brief descriptions at 14px in Silver. On black background."
|
|
341
|
-
- "Create a Forest Green (#166534) CTA button: white text, 12px 16px padding, 4px radius, 1px solid #141414 border. Hover: bg shifts to #3a3a3a, text to 80% opacity."
|
|
342
|
-
- "Design an uppercase section label: 14px Inter weight 600, letter-spacing 1.4px, uppercase. Silver (#a0a0a0) text on black background."
|
|
343
|
-
|
|
344
|
-
### Iteration Guide
|
|
345
|
-
1. Keep everything on pure black — no dark gray alternatives
|
|
346
|
-
2. Neon Volt (#faff69) is for accents and CTAs only — never large backgrounds
|
|
347
|
-
3. Weight 900 for hero, 700 for headings, 600 for labels, 400-500 for body
|
|
348
|
-
4. Active states use Pale Yellow (#f4f692) — not just opacity changes
|
|
349
|
-
5. All links hover to Neon Volt — consistent interactive feedback
|
|
350
|
-
6. Charcoal borders (rgba(65,65,65,0.8)) are the primary depth mechanism
|
|
279
|
+
### Quick reference
|
|
280
|
+
- Public primary action: `#faff69` / `#151515`, 1px yellow border, 4px radius; 10px 16px on the home sample or 12px 24px on the pricing sample.
|
|
281
|
+
- Pricing number field: `#282828`, `#dfdfdf`, 1px `#414141`, 4px radius, 0px 12px padding.
|
|
282
|
+
- Pricing select menu when expanded: `#282828`, `#dfdfdf`, lower 6px corners, 0px/1px/1px yellow border, 4px 0px padding.
|
|
283
|
+
- Public body/list: Inter 16px / 400 / 24px; observed Basier headings include 36px / 600 / 45px.
|
|
351
284
|
|
|
352
|
-
|
|
285
|
+
### Boundary-aware prompt
|
|
353
286
|
|
|
354
|
-
|
|
287
|
+
“Create a public pricing-calculator action using only the captured ClickHouse pattern: `#faff69` background, `#151515` text, 1px matching border, 4px radius, 12px 24px padding, and Inter 14px/500. Pair it only with the selector-backed `#282828` number field; do not invent product-console status, error, or mobile behavior.”
|
|
355
288
|
|
|
356
|
-
|
|
357
|
-
|---|---|
|
|
358
|
-
| CTA | Verb. "Sign up", "Get a demo", "Start building" |
|
|
359
|
-
| Marketing | Numeric. Always lead with benchmark |
|
|
360
|
-
| Documentation | SQL-first, code-heavy, terse |
|
|
361
|
-
| Error (query) | SQL error + line number, never wrapped friendly |
|
|
362
|
-
| Onboarding | Choose: managed cloud / self-host / try in browser |
|
|
289
|
+
## 10. Voice & Tone
|
|
363
290
|
|
|
364
|
-
|
|
365
|
-
- *"Sign up"* / *"Get a demo"* <!-- verified: clickhouse.com homepage 2026-05 -->
|
|
291
|
+
ClickHouse’s official guidance calls the voice raw, confident, exacting, technical, and direct. Its stated aim is to empower developers and data teams with speed, performance, and control; the writing guidance asks teams to get to the point, avoid generic marketing language, and prove claims with numbers, benchmarks, or examples. Use active, short sentences and practical error language. [Brand guidelines](https://clickhouse.design/brand) · [Voice and tone](https://clickhouse.design/brand/guidelines/voice-and-tone)
|
|
366
292
|
|
|
367
|
-
|
|
293
|
+
| Context | Treatment |
|
|
294
|
+
|---|---|
|
|
295
|
+
| Action | Use a direct verb and name the outcome. |
|
|
296
|
+
| Performance claim | State the measured result, then link the benchmark or example. |
|
|
297
|
+
| Technical explanation | Lead with the practical consequence before implementation detail. |
|
|
298
|
+
| Error or warning | State what happened and what to try next; do not blame the user or use cutesy copy. |
|
|
368
299
|
|
|
369
300
|
## 11. Brand Narrative
|
|
370
301
|
|
|
371
|
-
ClickHouse
|
|
302
|
+
ClickHouse began in 2009 as an experiment to generate analytical reports in real time from non-aggregated data. The company’s official history records a 2012 production launch, the 2016 Apache 2 release, and the 2021 incorporation of ClickHouse, Inc.; its current story also frames ClickHouse as a distributed company serving data work that must stay fast as it grows. [Our story](https://clickhouse.com/company/our-story)
|
|
303
|
+
|
|
304
|
+
That engineering origin gives the present brand its useful tension: a public identity that is intentionally bold and yellow-led, paired with a product system that uses yellow more selectively. The official brand guidelines call this “direct minimalism”—clarity and purpose before decoration—and describe the company as built for engineers and trusted by leaders. [Official brand guidelines](https://clickhouse.design/brand) The 2026 open-source history reinforces the operating principle behind the tone: modular, well-documented work and an open contribution culture rather than performance theater. [Ten years of ClickHouse in open source](https://clickhouse.com/blog/open-source-10)
|
|
372
305
|
|
|
373
306
|
## 12. Principles
|
|
374
307
|
|
|
375
|
-
1. **
|
|
376
|
-
2. **
|
|
377
|
-
3. **
|
|
378
|
-
4. **
|
|
379
|
-
5. **
|
|
308
|
+
1. **Prove speed rather than decorate it.** The official voice guidance asks for numbers, benchmarks, and examples. *UI implication:* pair a performance claim with a concrete result or source.
|
|
309
|
+
2. **Function over frills.** ClickHouse’s brand values favor what works over what trends. *UI implication:* keep controls compact and purposeful; avoid decorative component states not established by the surface.
|
|
310
|
+
3. **Be technical, not generic.** The guidelines ask teams to speak to builders with precise language. *UI implication:* use direct action labels and explain technical consequences plainly.
|
|
311
|
+
4. **Keep brand and product roles distinct.** Official color guidance says yellow is primary for brand and selective for product. *UI implication:* do not blanket an application in yellow just because a public campaign uses it prominently.
|
|
312
|
+
5. **Design for an open engineering community.** The official open-source history emphasizes code, documentation, review, and contributors. *UI implication:* expose meaningful technical context and avoid claims the interface cannot substantiate.
|
|
380
313
|
|
|
381
314
|
## 13. Personas
|
|
382
315
|
|
|
383
|
-
|
|
316
|
+
The reviewed first-party material identifies developers and data teams as the intended audience, but it does not provide validated demographic or task-research personas suitable for named archetypes. Do not invent them.
|
|
384
317
|
|
|
385
|
-
**
|
|
386
|
-
|
|
387
|
-
**Aisha Patel, 31, San Francisco.** Founding engineer at observability startup using ClickHouse Cloud.
|
|
388
|
-
|
|
389
|
-
**Rui Chen, 45, Singapore.** Data platform lead at regional bank. Evaluating vs Snowflake.
|
|
318
|
+
- **[FILL IN: validated developer workflow audience]** — add only with a first-party product-research or workflow source.
|
|
319
|
+
- **[FILL IN: validated data-team decision audience]** — add only with a first-party product-research or workflow source.
|
|
390
320
|
|
|
391
321
|
## 14. States
|
|
392
322
|
|
|
393
|
-
| State |
|
|
323
|
+
| State | Evidence boundary |
|
|
394
324
|
|---|---|
|
|
395
|
-
|
|
|
396
|
-
|
|
|
397
|
-
|
|
|
398
|
-
|
|
|
399
|
-
|
|
|
400
|
-
|
|
|
401
|
-
|
|
|
402
|
-
| **Success (cluster created)** | Connection string visible, copy-button |
|
|
403
|
-
| **Skeleton (cluster list)** | Charcoal-border placeholder rows |
|
|
404
|
-
| **Disabled (read-only role)** | 0.5 opacity + lock icon |
|
|
405
|
-
| **Loading (long query)** | Pause/cancel after 5s; partial results stream |
|
|
325
|
+
| Public primary action — default | Home/pricing actions: `#faff69`, `#151515`, 4px radius; exact padding varies by selector. |
|
|
326
|
+
| Public navigation item — focus/hover/pressed | Home `data-omd-capture="4"` recorded all three states; the raw style is retained in verification notes because no one global state color was established. |
|
|
327
|
+
| Pricing select — expanded/menu-open | Three captured menus: `#282828`, `#dfdfdf`, lower 6px corners, yellow lower/side border. |
|
|
328
|
+
| Pricing menu option — selected | Collector recorded selected targets within the expanded menu; no unobserved selected fill is claimed. |
|
|
329
|
+
| Pricing toggle — checked/unchecked | Both state labels were captured on one radio-like control; no different checked visual value is asserted. |
|
|
330
|
+
| Cookie dialog — open | Separate consent dialog: `#141414`, `#ffffff`, 1px `#393939`, 10px radius. |
|
|
331
|
+
| Loading, error, empty, disabled, success, skeleton | Not captured on these public routes; intentionally unspecified. |
|
|
406
332
|
|
|
407
333
|
## 15. Motion & Easing
|
|
408
334
|
|
|
409
|
-
|
|
410
|
-
|---|---|---|
|
|
411
|
-
| `motion-instant` | 0ms | Result row select |
|
|
412
|
-
| `motion-fast` | 150ms | Hover, link to Neon Volt |
|
|
413
|
-
| `motion-standard` | 250ms | Modal |
|
|
414
|
-
| `motion-active-pulse` | 300ms | Pale yellow active appearance |
|
|
415
|
-
|
|
416
|
-
Standard cubic-bezier; no bounce. Charcoal borders never animate. `prefers-reduced-motion: reduce` makes link hover instant.
|
|
417
|
-
|
|
418
|
-
---
|
|
419
|
-
|
|
420
|
-
**Verified:** 2026-05-08 (B1 loop)
|
|
421
|
-
**Tier 1 sources:** clickhouse.com (live DOM via playwright — dark `#141414` ghost; cookie banner `#166534` Allow / `#141414` Dismiss; nav 8px / 14px·500)
|
|
422
|
-
**Tier 2 sources:** styles.refero.design / getdesign.md — no record.
|
|
423
|
-
**Tier 1 (Philosophy):** clickhouse.com homepage benchmarks; ClickHouse, Inc. corporate history; Aaron Katz public talks.
|
|
424
|
-
**Style ref:** `stripe`. **Conflicts unresolved:** none.
|
|
335
|
+
The supplied evidence records interaction outcomes (public navigation focus/hover/pressed, pricing-menu expansion, toggle state labels, and dialogs) but no duration, easing, transition-property, or reduced-motion measurement. Do not infer a ClickHouse motion scale from static public states or Click UI documentation. **[FILL IN: motion tokens only after direct surface or official token evidence.]**
|