zugzbot 1.3.0 → 1.5.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/.opencode/agents/sdd-coder.md +5 -4
- package/.opencode/agents/sdd-orchestrator.md +9 -8
- package/.opencode/agents/sdd-spec-writer.md +3 -4
- package/.opencode/commands/loop.md +1 -1
- package/.opencode/plugins/loop-enforcer.ts +0 -1
- package/.opencode/plugins/sdd-bridge.ts +1 -1
- package/.opencode/rules/sdd-global.md +9 -5
- package/.opencode/scripts/lint-charts.js +1 -2
- package/.opencode/skills/sdd-foundation-overview/SKILL.md +3 -4
- package/.opencode/skills/sdd-methodology/SKILL.md +8 -10
- package/.opencode/skills/sdd-quickstart/SKILL.md +5 -9
- package/.opencode/skills/shadcn-templates/SKILL.md +71 -15
- package/.opencode/templates/nextjs-shadcn/components.json +2 -1
- package/.opencode/tools/sdd_catalog.ts +335 -20
- package/.opencode/tools/sdd_core.ts +8 -6
- package/.opencode/tools/sdd_lucide.ts +112 -0
- package/README.md +1 -7
- package/opencode.json +0 -10
- package/package.json +1 -3
- package/.opencode/oh-my-design/design-md/11st/.verification.md +0 -37
- package/.opencode/oh-my-design/design-md/11st/DESIGN.md +0 -400
- package/.opencode/oh-my-design/design-md/17live/DESIGN.md +0 -467
- package/.opencode/oh-my-design/design-md/29cm/DESIGN.md +0 -495
- package/.opencode/oh-my-design/design-md/29cm/_promo.json +0 -23
- package/.opencode/oh-my-design/design-md/29cm/_research.md +0 -103
- package/.opencode/oh-my-design/design-md/3o3/.verification.md +0 -73
- package/.opencode/oh-my-design/design-md/3o3/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/91app/.verification.md +0 -25
- package/.opencode/oh-my-design/design-md/91app/DESIGN.md +0 -182
- package/.opencode/oh-my-design/design-md/abema/.verification.md +0 -64
- package/.opencode/oh-my-design/design-md/abema/DESIGN.md +0 -535
- package/.opencode/oh-my-design/design-md/ably/DESIGN.md +0 -646
- package/.opencode/oh-my-design/design-md/ably/_promo.json +0 -18
- package/.opencode/oh-my-design/design-md/ably/_research.md +0 -120
- package/.opencode/oh-my-design/design-md/accupass/.verification.md +0 -66
- package/.opencode/oh-my-design/design-md/accupass/DESIGN.md +0 -494
- package/.opencode/oh-my-design/design-md/adobe/.verification.md +0 -63
- package/.opencode/oh-my-design/design-md/adobe/DESIGN.md +0 -458
- package/.opencode/oh-my-design/design-md/airbnb/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/airbnb/DESIGN.md +0 -639
- package/.opencode/oh-my-design/design-md/airbnb/README.md +0 -23
- package/.opencode/oh-my-design/design-md/airbnb/preview-dark.html +0 -234
- package/.opencode/oh-my-design/design-md/airbnb/preview.html +0 -233
- package/.opencode/oh-my-design/design-md/airtable/.verification.md +0 -136
- package/.opencode/oh-my-design/design-md/airtable/DESIGN.md +0 -314
- package/.opencode/oh-my-design/design-md/airtable/README.md +0 -23
- package/.opencode/oh-my-design/design-md/airtable/preview-dark.html +0 -165
- package/.opencode/oh-my-design/design-md/airtable/preview.html +0 -164
- package/.opencode/oh-my-design/design-md/alipay/DESIGN.md +0 -506
- package/.opencode/oh-my-design/design-md/amazingtalker/.verification.md +0 -38
- package/.opencode/oh-my-design/design-md/amazingtalker/DESIGN.md +0 -434
- package/.opencode/oh-my-design/design-md/appier/DESIGN.md +0 -465
- package/.opencode/oh-my-design/design-md/apple/.verification.md +0 -162
- package/.opencode/oh-my-design/design-md/apple/DESIGN.md +0 -613
- package/.opencode/oh-my-design/design-md/apple/README.md +0 -24
- package/.opencode/oh-my-design/design-md/apple/preview-dark.html +0 -420
- package/.opencode/oh-my-design/design-md/apple/preview.html +0 -414
- package/.opencode/oh-my-design/design-md/baemin/.verification.md +0 -132
- package/.opencode/oh-my-design/design-md/baemin/DESIGN.md +0 -578
- package/.opencode/oh-my-design/design-md/baemin/README.md +0 -19
- package/.opencode/oh-my-design/design-md/baemin/_research.md +0 -84
- package/.opencode/oh-my-design/design-md/banksalad/DESIGN.md +0 -688
- package/.opencode/oh-my-design/design-md/banksalad/_promo.json +0 -29
- package/.opencode/oh-my-design/design-md/banksalad/_research.md +0 -190
- package/.opencode/oh-my-design/design-md/bilibili/DESIGN.md +0 -471
- package/.opencode/oh-my-design/design-md/bithumb/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/bithumb/DESIGN.md +0 -208
- package/.opencode/oh-my-design/design-md/bmw/.verification.md +0 -114
- package/.opencode/oh-my-design/design-md/bmw/DESIGN.md +0 -360
- package/.opencode/oh-my-design/design-md/bmw/README.md +0 -23
- package/.opencode/oh-my-design/design-md/bmw/preview-dark.html +0 -211
- package/.opencode/oh-my-design/design-md/bmw/preview.html +0 -210
- package/.opencode/oh-my-design/design-md/brandi/.verification.md +0 -29
- package/.opencode/oh-my-design/design-md/brandi/DESIGN.md +0 -414
- package/.opencode/oh-my-design/design-md/bunjang/DESIGN.md +0 -374
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/.live-inspect-proof.json +0 -260
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/fonts.json +0 -33
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/logo-icon.svg +0 -10
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/structure.json +0 -131
- package/.opencode/oh-my-design/design-md/bunjang/assets/_reference/tokens.json +0 -147
- package/.opencode/oh-my-design/design-md/cakeresume/.verification.md +0 -25
- package/.opencode/oh-my-design/design-md/cakeresume/DESIGN.md +0 -191
- package/.opencode/oh-my-design/design-md/cal/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/cal/DESIGN.md +0 -481
- package/.opencode/oh-my-design/design-md/cal/README.md +0 -23
- package/.opencode/oh-my-design/design-md/cal/preview-dark.html +0 -449
- package/.opencode/oh-my-design/design-md/cal/preview.html +0 -575
- package/.opencode/oh-my-design/design-md/catchtable/DESIGN.md +0 -341
- package/.opencode/oh-my-design/design-md/catchtable/_research.md +0 -54
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/.live-inspect-proof.json +0 -204
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/.live-inspect-raw.json +0 -22
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/fonts.json +0 -21
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/structure.json +0 -42
- package/.opencode/oh-my-design/design-md/catchtable/assets/_reference/tokens.json +0 -95
- package/.opencode/oh-my-design/design-md/cathay/.verification.md +0 -44
- package/.opencode/oh-my-design/design-md/cathay/DESIGN.md +0 -432
- package/.opencode/oh-my-design/design-md/channeltalk/DESIGN.md +0 -422
- package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/.live-inspect-proof.json +0 -320
- package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/fonts.json +0 -53
- package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/structure.json +0 -47
- package/.opencode/oh-my-design/design-md/channeltalk/assets/_reference/tokens.json +0 -78
- package/.opencode/oh-my-design/design-md/class101/DESIGN.md +0 -484
- package/.opencode/oh-my-design/design-md/classting/.verification.md +0 -32
- package/.opencode/oh-my-design/design-md/classting/DESIGN.md +0 -292
- package/.opencode/oh-my-design/design-md/classum/DESIGN.md +0 -279
- package/.opencode/oh-my-design/design-md/classum/assets/_reference/.live-inspect-proof.json +0 -72
- package/.opencode/oh-my-design/design-md/classum/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/design-md/classum/assets/_reference/structure.json +0 -21
- package/.opencode/oh-my-design/design-md/classum/assets/_reference/tokens.json +0 -56
- package/.opencode/oh-my-design/design-md/claude/.verification.md +0 -106
- package/.opencode/oh-my-design/design-md/claude/DESIGN.md +0 -561
- package/.opencode/oh-my-design/design-md/claude/README.md +0 -24
- package/.opencode/oh-my-design/design-md/claude/preview-dark.html +0 -803
- package/.opencode/oh-my-design/design-md/claude/preview.html +0 -826
- package/.opencode/oh-my-design/design-md/clay/.verification.md +0 -129
- package/.opencode/oh-my-design/design-md/clay/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/clay/README.md +0 -23
- package/.opencode/oh-my-design/design-md/clay/preview-dark.html +0 -316
- package/.opencode/oh-my-design/design-md/clay/preview.html +0 -315
- package/.opencode/oh-my-design/design-md/clickhouse/.verification.md +0 -132
- package/.opencode/oh-my-design/design-md/clickhouse/DESIGN.md +0 -424
- package/.opencode/oh-my-design/design-md/clickhouse/README.md +0 -24
- package/.opencode/oh-my-design/design-md/clickhouse/preview-dark.html +0 -834
- package/.opencode/oh-my-design/design-md/clickhouse/preview.html +0 -786
- package/.opencode/oh-my-design/design-md/cloudflare/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/cloudflare/DESIGN.md +0 -637
- package/.opencode/oh-my-design/design-md/cohere/.verification.md +0 -136
- package/.opencode/oh-my-design/design-md/cohere/DESIGN.md +0 -409
- package/.opencode/oh-my-design/design-md/cohere/README.md +0 -24
- package/.opencode/oh-my-design/design-md/cohere/preview-dark.html +0 -803
- package/.opencode/oh-my-design/design-md/cohere/preview.html +0 -807
- package/.opencode/oh-my-design/design-md/coinbase/.verification.md +0 -116
- package/.opencode/oh-my-design/design-md/coinbase/DESIGN.md +0 -353
- package/.opencode/oh-my-design/design-md/coinbase/README.md +0 -23
- package/.opencode/oh-my-design/design-md/coinbase/preview-dark.html +0 -164
- package/.opencode/oh-my-design/design-md/coinbase/preview.html +0 -163
- package/.opencode/oh-my-design/design-md/coinone/.verification.md +0 -38
- package/.opencode/oh-my-design/design-md/coinone/DESIGN.md +0 -257
- package/.opencode/oh-my-design/design-md/composio/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/composio/DESIGN.md +0 -441
- package/.opencode/oh-my-design/design-md/composio/README.md +0 -24
- package/.opencode/oh-my-design/design-md/composio/preview-dark.html +0 -958
- package/.opencode/oh-my-design/design-md/composio/preview.html +0 -933
- package/.opencode/oh-my-design/design-md/cookpad/DESIGN.md +0 -394
- package/.opencode/oh-my-design/design-md/coupang/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/coupang/DESIGN.md +0 -557
- package/.opencode/oh-my-design/design-md/cursor/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/cursor/DESIGN.md +0 -460
- package/.opencode/oh-my-design/design-md/cursor/README.md +0 -24
- package/.opencode/oh-my-design/design-md/cursor/preview-dark.html +0 -393
- package/.opencode/oh-my-design/design-md/cursor/preview.html +0 -383
- package/.opencode/oh-my-design/design-md/dabang/DESIGN.md +0 -267
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/.live-inspect-proof.json +0 -145
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/fonts.json +0 -22
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/raw-capture-map.json +0 -718
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/raw-capture.json +0 -1125
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/structure.json +0 -53
- package/.opencode/oh-my-design/design-md/dabang/assets/_reference/tokens.json +0 -130
- package/.opencode/oh-my-design/design-md/danawa/.verification.md +0 -60
- package/.opencode/oh-my-design/design-md/danawa/DESIGN.md +0 -477
- package/.opencode/oh-my-design/design-md/dcard/.verification.md +0 -118
- package/.opencode/oh-my-design/design-md/dcard/DESIGN.md +0 -633
- package/.opencode/oh-my-design/design-md/dcard/README.md +0 -12
- package/.opencode/oh-my-design/design-md/dcard/_research/forum-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/dcard/_research.md +0 -133
- package/.opencode/oh-my-design/design-md/dell/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/dell/DESIGN.md +0 -636
- package/.opencode/oh-my-design/design-md/devsisters/.verification.md +0 -32
- package/.opencode/oh-my-design/design-md/devsisters/DESIGN.md +0 -282
- package/.opencode/oh-my-design/design-md/discord/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/discord/DESIGN.md +0 -604
- package/.opencode/oh-my-design/design-md/dji/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/drnow/.verification.md +0 -41
- package/.opencode/oh-my-design/design-md/drnow/DESIGN.md +0 -383
- package/.opencode/oh-my-design/design-md/dropbox/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/dropbox/DESIGN.md +0 -445
- package/.opencode/oh-my-design/design-md/duolingo/.verification.md +0 -20
- package/.opencode/oh-my-design/design-md/duolingo/DESIGN.md +0 -563
- package/.opencode/oh-my-design/design-md/elevenlabs/.verification.md +0 -128
- package/.opencode/oh-my-design/design-md/elevenlabs/DESIGN.md +0 -415
- package/.opencode/oh-my-design/design-md/elevenlabs/README.md +0 -23
- package/.opencode/oh-my-design/design-md/elevenlabs/preview-dark.html +0 -252
- package/.opencode/oh-my-design/design-md/elevenlabs/preview.html +0 -251
- package/.opencode/oh-my-design/design-md/expo/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/expo/DESIGN.md +0 -412
- package/.opencode/oh-my-design/design-md/expo/README.md +0 -24
- package/.opencode/oh-my-design/design-md/expo/preview-dark.html +0 -533
- package/.opencode/oh-my-design/design-md/expo/preview.html +0 -533
- package/.opencode/oh-my-design/design-md/fastcampus/DESIGN.md +0 -529
- package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/.live-inspect-proof.json +0 -950
- package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/fonts.json +0 -14
- package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/structure.json +0 -30
- package/.opencode/oh-my-design/design-md/fastcampus/assets/_reference/tokens.json +0 -109
- package/.opencode/oh-my-design/design-md/ferrari/.verification.md +0 -119
- package/.opencode/oh-my-design/design-md/ferrari/DESIGN.md +0 -447
- package/.opencode/oh-my-design/design-md/ferrari/README.md +0 -23
- package/.opencode/oh-my-design/design-md/ferrari/preview-dark.html +0 -1162
- package/.opencode/oh-my-design/design-md/ferrari/preview.html +0 -1122
- package/.opencode/oh-my-design/design-md/figma/.verification.md +0 -206
- package/.opencode/oh-my-design/design-md/figma/DESIGN.md +0 -534
- package/.opencode/oh-my-design/design-md/figma/README.md +0 -24
- package/.opencode/oh-my-design/design-md/figma/preview-dark.html +0 -822
- package/.opencode/oh-my-design/design-md/figma/preview.html +0 -832
- package/.opencode/oh-my-design/design-md/finda/.verification.md +0 -33
- package/.opencode/oh-my-design/design-md/finda/DESIGN.md +0 -413
- package/.opencode/oh-my-design/design-md/firstory/.verification.md +0 -70
- package/.opencode/oh-my-design/design-md/firstory/DESIGN.md +0 -487
- package/.opencode/oh-my-design/design-md/flex/DESIGN.md +0 -356
- package/.opencode/oh-my-design/design-md/flex/_research.md +0 -49
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/.live-inspect-proof.json +0 -192
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/.raw-inspect.json +0 -873
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/fonts.json +0 -17
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/structure.json +0 -58
- package/.opencode/oh-my-design/design-md/flex/assets/_reference/tokens.json +0 -75
- package/.opencode/oh-my-design/design-md/flo/.verification.md +0 -33
- package/.opencode/oh-my-design/design-md/flo/DESIGN.md +0 -349
- package/.opencode/oh-my-design/design-md/framer/.verification.md +0 -147
- package/.opencode/oh-my-design/design-md/framer/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/framer/README.md +0 -23
- package/.opencode/oh-my-design/design-md/framer/preview-dark.html +0 -902
- package/.opencode/oh-my-design/design-md/framer/preview.html +0 -883
- package/.opencode/oh-my-design/design-md/freee/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/freee/DESIGN.md +0 -620
- package/.opencode/oh-my-design/design-md/freee/README.md +0 -12
- package/.opencode/oh-my-design/design-md/freee/_research/vibes-storybook-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/freee/_research.md +0 -116
- package/.opencode/oh-my-design/design-md/fugle/.verification.md +0 -40
- package/.opencode/oh-my-design/design-md/fugle/DESIGN.md +0 -290
- package/.opencode/oh-my-design/design-md/funnow/.verification.md +0 -62
- package/.opencode/oh-my-design/design-md/funnow/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/gangnamunni/DESIGN.md +0 -677
- package/.opencode/oh-my-design/design-md/gangnamunni/_promo.json +0 -26
- package/.opencode/oh-my-design/design-md/gangnamunni/_research.md +0 -113
- package/.opencode/oh-my-design/design-md/genie/.verification.md +0 -29
- package/.opencode/oh-my-design/design-md/genie/DESIGN.md +0 -415
- package/.opencode/oh-my-design/design-md/github/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/github/DESIGN.md +0 -727
- package/.opencode/oh-my-design/design-md/gmarket/DESIGN.md +0 -534
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/.live-inspect-proof.json +0 -217
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/fonts.json +0 -41
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/raw-capture-bestsellers.json +0 -1929
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/raw-capture-home.json +0 -3675
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/structure.json +0 -65
- package/.opencode/oh-my-design/design-md/gmarket/assets/_reference/tokens.json +0 -210
- package/.opencode/oh-my-design/design-md/gogolook/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/gogolook/DESIGN.md +0 -155
- package/.opencode/oh-my-design/design-md/gogoro/DESIGN.md +0 -441
- package/.opencode/oh-my-design/design-md/google/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/google/DESIGN.md +0 -499
- package/.opencode/oh-my-design/design-md/greenvines/.verification.md +0 -72
- package/.opencode/oh-my-design/design-md/greenvines/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/greeting/.verification.md +0 -64
- package/.opencode/oh-my-design/design-md/greeting/DESIGN.md +0 -462
- package/.opencode/oh-my-design/design-md/grip/.verification.md +0 -36
- package/.opencode/oh-my-design/design-md/grip/DESIGN.md +0 -289
- package/.opencode/oh-my-design/design-md/hahow/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/hahow/DESIGN.md +0 -184
- package/.opencode/oh-my-design/design-md/hashicorp/.verification.md +0 -142
- package/.opencode/oh-my-design/design-md/hashicorp/DESIGN.md +0 -411
- package/.opencode/oh-my-design/design-md/hashicorp/README.md +0 -24
- package/.opencode/oh-my-design/design-md/hashicorp/preview-dark.html +0 -1202
- package/.opencode/oh-my-design/design-md/hashicorp/preview.html +0 -1193
- package/.opencode/oh-my-design/design-md/hogangnono/.verification.md +0 -33
- package/.opencode/oh-my-design/design-md/hogangnono/DESIGN.md +0 -349
- package/.opencode/oh-my-design/design-md/hp/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/hp/DESIGN.md +0 -563
- package/.opencode/oh-my-design/design-md/hyperconnect/.verification.md +0 -40
- package/.opencode/oh-my-design/design-md/hyperconnect/DESIGN.md +0 -393
- package/.opencode/oh-my-design/design-md/hyundaicard/.verification.md +0 -25
- package/.opencode/oh-my-design/design-md/hyundaicard/DESIGN.md +0 -201
- package/.opencode/oh-my-design/design-md/ibm/.verification.md +0 -102
- package/.opencode/oh-my-design/design-md/ibm/DESIGN.md +0 -464
- package/.opencode/oh-my-design/design-md/ibm/README.md +0 -24
- package/.opencode/oh-my-design/design-md/ibm/preview-dark.html +0 -443
- package/.opencode/oh-my-design/design-md/ibm/preview.html +0 -428
- package/.opencode/oh-my-design/design-md/ichef/DESIGN.md +0 -455
- package/.opencode/oh-my-design/design-md/ikala/.verification.md +0 -35
- package/.opencode/oh-my-design/design-md/ikala/DESIGN.md +0 -400
- package/.opencode/oh-my-design/design-md/imweb/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/imweb/DESIGN.md +0 -460
- package/.opencode/oh-my-design/design-md/inflearn/DESIGN.md +0 -453
- package/.opencode/oh-my-design/design-md/inflearn/_promo.json +0 -29
- package/.opencode/oh-my-design/design-md/inflearn/_research.md +0 -85
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/.live-inspect-proof-courses.json +0 -679
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/.live-inspect-proof.json +0 -448
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/fonts.json +0 -41
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/structure.json +0 -110
- package/.opencode/oh-my-design/design-md/inflearn/assets/_reference/tokens.json +0 -54
- package/.opencode/oh-my-design/design-md/intercom/.verification.md +0 -144
- package/.opencode/oh-my-design/design-md/intercom/DESIGN.md +0 -271
- package/.opencode/oh-my-design/design-md/intercom/README.md +0 -23
- package/.opencode/oh-my-design/design-md/intercom/preview-dark.html +0 -185
- package/.opencode/oh-my-design/design-md/intercom/preview.html +0 -184
- package/.opencode/oh-my-design/design-md/jandi/.verification.md +0 -26
- package/.opencode/oh-my-design/design-md/jandi/DESIGN.md +0 -382
- package/.opencode/oh-my-design/design-md/jkopay/.verification.md +0 -32
- package/.opencode/oh-my-design/design-md/jkopay/DESIGN.md +0 -283
- package/.opencode/oh-my-design/design-md/jobkorea/.verification.md +0 -30
- package/.opencode/oh-my-design/design-md/jobkorea/DESIGN.md +0 -349
- package/.opencode/oh-my-design/design-md/jumpit/DESIGN.md +0 -403
- package/.opencode/oh-my-design/design-md/jumpit/_research.md +0 -119
- package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/.live-inspect-proof.json +0 -182
- package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/structure.json +0 -66
- package/.opencode/oh-my-design/design-md/jumpit/assets/_reference/tokens.json +0 -108
- package/.opencode/oh-my-design/design-md/kakao/.verification.md +0 -137
- package/.opencode/oh-my-design/design-md/kakao/DESIGN.md +0 -568
- package/.opencode/oh-my-design/design-md/kakao/README.md +0 -18
- package/.opencode/oh-my-design/design-md/kakao/_research.md +0 -98
- package/.opencode/oh-my-design/design-md/kakaobank/.verification.md +0 -133
- package/.opencode/oh-my-design/design-md/kakaobank/DESIGN.md +0 -602
- package/.opencode/oh-my-design/design-md/kakaopay/DESIGN.md +0 -603
- package/.opencode/oh-my-design/design-md/kakaopay/_promo.json +0 -22
- package/.opencode/oh-my-design/design-md/kakaopay/_research.md +0 -84
- package/.opencode/oh-my-design/design-md/kakaot/DESIGN.md +0 -507
- package/.opencode/oh-my-design/design-md/karrot/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/karrot/DESIGN.md +0 -494
- package/.opencode/oh-my-design/design-md/karrot/README.md +0 -18
- package/.opencode/oh-my-design/design-md/karrot/_research.md +0 -57
- package/.opencode/oh-my-design/design-md/kbank/DESIGN.md +0 -252
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/.live-inspect-proof.json +0 -215
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/.live-inspect-raw.json +0 -1
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/structure.json +0 -151
- package/.opencode/oh-my-design/design-md/kbank/assets/_reference/tokens.json +0 -101
- package/.opencode/oh-my-design/design-md/kdan/.verification.md +0 -30
- package/.opencode/oh-my-design/design-md/kdan/DESIGN.md +0 -193
- package/.opencode/oh-my-design/design-md/kintone/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/kintone/DESIGN.md +0 -586
- package/.opencode/oh-my-design/design-md/kkbox/.verification.md +0 -27
- package/.opencode/oh-my-design/design-md/kkbox/DESIGN.md +0 -136
- package/.opencode/oh-my-design/design-md/kkday/DESIGN.md +0 -470
- package/.opencode/oh-my-design/design-md/kmong/.verification.md +0 -30
- package/.opencode/oh-my-design/design-md/kmong/DESIGN.md +0 -427
- package/.opencode/oh-my-design/design-md/krafton/.verification.md +0 -38
- package/.opencode/oh-my-design/design-md/krafton/DESIGN.md +0 -267
- package/.opencode/oh-my-design/design-md/kraken/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/kraken/DESIGN.md +0 -277
- package/.opencode/oh-my-design/design-md/kraken/README.md +0 -23
- package/.opencode/oh-my-design/design-md/kraken/preview-dark.html +0 -169
- package/.opencode/oh-my-design/design-md/kraken/preview.html +0 -168
- package/.opencode/oh-my-design/design-md/krds/.verification.md +0 -373
- package/.opencode/oh-my-design/design-md/krds/DESIGN.md +0 -1060
- package/.opencode/oh-my-design/design-md/kream/DESIGN.md +0 -432
- package/.opencode/oh-my-design/design-md/kream/assets/_reference/.live-inspect-proof.json +0 -289
- package/.opencode/oh-my-design/design-md/kream/assets/_reference/fonts.json +0 -26
- package/.opencode/oh-my-design/design-md/kream/assets/_reference/structure.json +0 -56
- package/.opencode/oh-my-design/design-md/kream/assets/_reference/tokens.json +0 -154
- package/.opencode/oh-my-design/design-md/kurly/.verification.md +0 -126
- package/.opencode/oh-my-design/design-md/kurly/DESIGN.md +0 -620
- package/.opencode/oh-my-design/design-md/laftel/.verification.md +0 -39
- package/.opencode/oh-my-design/design-md/laftel/DESIGN.md +0 -293
- package/.opencode/oh-my-design/design-md/lamborghini/.verification.md +0 -127
- package/.opencode/oh-my-design/design-md/lamborghini/DESIGN.md +0 -430
- package/.opencode/oh-my-design/design-md/lamborghini/README.md +0 -23
- package/.opencode/oh-my-design/design-md/lamborghini/preview-dark.html +0 -303
- package/.opencode/oh-my-design/design-md/lamborghini/preview.html +0 -381
- package/.opencode/oh-my-design/design-md/laundrygo/.verification.md +0 -60
- package/.opencode/oh-my-design/design-md/laundrygo/DESIGN.md +0 -434
- package/.opencode/oh-my-design/design-md/layerx/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/layerx/DESIGN.md +0 -615
- package/.opencode/oh-my-design/design-md/lezhin/.verification.md +0 -47
- package/.opencode/oh-my-design/design-md/lezhin/DESIGN.md +0 -348
- package/.opencode/oh-my-design/design-md/line/.verification.md +0 -137
- package/.opencode/oh-my-design/design-md/line/DESIGN.md +0 -467
- package/.opencode/oh-my-design/design-md/line/README.md +0 -12
- package/.opencode/oh-my-design/design-md/line/_research/home-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/line/_research.md +0 -65
- package/.opencode/oh-my-design/design-md/linear.app/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/linear.app/DESIGN.md +0 -642
- package/.opencode/oh-my-design/design-md/linear.app/README.md +0 -24
- package/.opencode/oh-my-design/design-md/linear.app/preview-dark.html +0 -383
- package/.opencode/oh-my-design/design-md/linear.app/preview.html +0 -373
- package/.opencode/oh-my-design/design-md/loom/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/loom/DESIGN.md +0 -396
- package/.opencode/oh-my-design/design-md/lovable/.verification.md +0 -154
- package/.opencode/oh-my-design/design-md/lovable/DESIGN.md +0 -423
- package/.opencode/oh-my-design/design-md/lovable/README.md +0 -24
- package/.opencode/oh-my-design/design-md/lovable/preview-dark.html +0 -349
- package/.opencode/oh-my-design/design-md/lovable/preview.html +0 -348
- package/.opencode/oh-my-design/design-md/lunit/DESIGN.md +0 -296
- package/.opencode/oh-my-design/design-md/lunit/assets/_reference/.live-inspect-proof.json +0 -249
- package/.opencode/oh-my-design/design-md/lunit/assets/_reference/fonts.json +0 -24
- package/.opencode/oh-my-design/design-md/lunit/assets/_reference/structure.json +0 -162
- package/.opencode/oh-my-design/design-md/lunit/assets/_reference/tokens.json +0 -115
- package/.opencode/oh-my-design/design-md/mastercard/.verification.md +0 -19
- package/.opencode/oh-my-design/design-md/mastercard/DESIGN.md +0 -587
- package/.opencode/oh-my-design/design-md/meituan/DESIGN.md +0 -466
- package/.opencode/oh-my-design/design-md/melon/.verification.md +0 -27
- package/.opencode/oh-my-design/design-md/melon/DESIGN.md +0 -179
- package/.opencode/oh-my-design/design-md/mercari/.verification.md +0 -155
- package/.opencode/oh-my-design/design-md/mercari/DESIGN.md +0 -514
- package/.opencode/oh-my-design/design-md/mercari/README.md +0 -12
- package/.opencode/oh-my-design/design-md/mercari/_research/home-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/mercari/_research.md +0 -137
- package/.opencode/oh-my-design/design-md/mercury/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/mercury/DESIGN.md +0 -589
- package/.opencode/oh-my-design/design-md/meta/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/meta/DESIGN.md +0 -615
- package/.opencode/oh-my-design/design-md/microsoft/.verification.md +0 -62
- package/.opencode/oh-my-design/design-md/microsoft/DESIGN.md +0 -508
- package/.opencode/oh-my-design/design-md/millie/DESIGN.md +0 -584
- package/.opencode/oh-my-design/design-md/minimax/.verification.md +0 -135
- package/.opencode/oh-my-design/design-md/minimax/DESIGN.md +0 -396
- package/.opencode/oh-my-design/design-md/minimax/README.md +0 -24
- package/.opencode/oh-my-design/design-md/minimax/preview-dark.html +0 -1262
- package/.opencode/oh-my-design/design-md/minimax/preview.html +0 -1248
- package/.opencode/oh-my-design/design-md/mintlify/.verification.md +0 -160
- package/.opencode/oh-my-design/design-md/mintlify/DESIGN.md +0 -472
- package/.opencode/oh-my-design/design-md/mintlify/README.md +0 -24
- package/.opencode/oh-my-design/design-md/mintlify/preview-dark.html +0 -409
- package/.opencode/oh-my-design/design-md/mintlify/preview.html +0 -398
- package/.opencode/oh-my-design/design-md/miricanvas/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/miricanvas/DESIGN.md +0 -464
- package/.opencode/oh-my-design/design-md/miro/.verification.md +0 -138
- package/.opencode/oh-my-design/design-md/miro/DESIGN.md +0 -319
- package/.opencode/oh-my-design/design-md/miro/README.md +0 -23
- package/.opencode/oh-my-design/design-md/miro/preview-dark.html +0 -174
- package/.opencode/oh-my-design/design-md/miro/preview.html +0 -173
- package/.opencode/oh-my-design/design-md/mistral.ai/.verification.md +0 -146
- package/.opencode/oh-my-design/design-md/mistral.ai/DESIGN.md +0 -390
- package/.opencode/oh-my-design/design-md/mistral.ai/README.md +0 -24
- package/.opencode/oh-my-design/design-md/mistral.ai/preview-dark.html +0 -806
- package/.opencode/oh-my-design/design-md/mistral.ai/preview.html +0 -805
- package/.opencode/oh-my-design/design-md/modusign/.verification.md +0 -58
- package/.opencode/oh-my-design/design-md/modusign/DESIGN.md +0 -524
- package/.opencode/oh-my-design/design-md/momoshop/.verification.md +0 -36
- package/.opencode/oh-my-design/design-md/momoshop/DESIGN.md +0 -322
- package/.opencode/oh-my-design/design-md/money-forward/DESIGN.md +0 -443
- package/.opencode/oh-my-design/design-md/mongodb/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/mongodb/DESIGN.md +0 -401
- package/.opencode/oh-my-design/design-md/mongodb/README.md +0 -23
- package/.opencode/oh-my-design/design-md/mongodb/preview-dark.html +0 -260
- package/.opencode/oh-my-design/design-md/mongodb/preview.html +0 -259
- package/.opencode/oh-my-design/design-md/muji/.verification.md +0 -20
- package/.opencode/oh-my-design/design-md/muji/DESIGN.md +0 -605
- package/.opencode/oh-my-design/design-md/musinsa/.verification.md +0 -59
- package/.opencode/oh-my-design/design-md/musinsa/DESIGN.md +0 -593
- package/.opencode/oh-my-design/design-md/mustit/.verification.md +0 -37
- package/.opencode/oh-my-design/design-md/mustit/DESIGN.md +0 -328
- package/.opencode/oh-my-design/design-md/myrealtrip/DESIGN.md +0 -494
- package/.opencode/oh-my-design/design-md/naver/.verification.md +0 -134
- package/.opencode/oh-my-design/design-md/naver/DESIGN.md +0 -582
- package/.opencode/oh-my-design/design-md/naverwebtoon/DESIGN.md +0 -477
- package/.opencode/oh-my-design/design-md/netflix/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/netflix/DESIGN.md +0 -572
- package/.opencode/oh-my-design/design-md/nexon/.verification.md +0 -27
- package/.opencode/oh-my-design/design-md/nexon/DESIGN.md +0 -389
- package/.opencode/oh-my-design/design-md/nhncloud/.verification.md +0 -23
- package/.opencode/oh-my-design/design-md/nhncloud/DESIGN.md +0 -207
- package/.opencode/oh-my-design/design-md/nike/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/nike/DESIGN.md +0 -588
- package/.opencode/oh-my-design/design-md/note/DESIGN.md +0 -346
- package/.opencode/oh-my-design/design-md/notion/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/notion/DESIGN.md +0 -557
- package/.opencode/oh-my-design/design-md/notion/README.md +0 -24
- package/.opencode/oh-my-design/design-md/notion/preview-dark.html +0 -372
- package/.opencode/oh-my-design/design-md/notion/preview.html +0 -364
- package/.opencode/oh-my-design/design-md/nvidia/.verification.md +0 -127
- package/.opencode/oh-my-design/design-md/nvidia/DESIGN.md +0 -550
- package/.opencode/oh-my-design/design-md/nvidia/README.md +0 -24
- package/.opencode/oh-my-design/design-md/nvidia/_research.md +0 -68
- package/.opencode/oh-my-design/design-md/nvidia/preview-dark.html +0 -374
- package/.opencode/oh-my-design/design-md/nvidia/preview.html +0 -366
- package/.opencode/oh-my-design/design-md/ohouse/.verification.md +0 -87
- package/.opencode/oh-my-design/design-md/ohouse/DESIGN.md +0 -635
- package/.opencode/oh-my-design/design-md/oliveyoung/DESIGN.md +0 -407
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/.live-inspect-proof.json +0 -158
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_best_capture.json +0 -644
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_detail_capture.json +0 -447
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_main.html +0 -419
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_main_capture.json +0 -1126
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/_search_capture.json +0 -912
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/structure.json +0 -91
- package/.opencode/oh-my-design/design-md/oliveyoung/assets/_reference/tokens.json +0 -79
- package/.opencode/oh-my-design/design-md/ollama/.verification.md +0 -138
- package/.opencode/oh-my-design/design-md/ollama/DESIGN.md +0 -393
- package/.opencode/oh-my-design/design-md/ollama/README.md +0 -24
- package/.opencode/oh-my-design/design-md/ollama/preview-dark.html +0 -678
- package/.opencode/oh-my-design/design-md/ollama/preview.html +0 -678
- package/.opencode/oh-my-design/design-md/omnichat/.verification.md +0 -74
- package/.opencode/oh-my-design/design-md/omnichat/DESIGN.md +0 -499
- package/.opencode/oh-my-design/design-md/openai/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/openai/DESIGN.md +0 -641
- package/.opencode/oh-my-design/design-md/opencode.ai/.verification.md +0 -136
- package/.opencode/oh-my-design/design-md/opencode.ai/DESIGN.md +0 -425
- package/.opencode/oh-my-design/design-md/opencode.ai/README.md +0 -24
- package/.opencode/oh-my-design/design-md/opencode.ai/preview-dark.html +0 -366
- package/.opencode/oh-my-design/design-md/opencode.ai/preview.html +0 -357
- package/.opencode/oh-my-design/design-md/payco/.verification.md +0 -28
- package/.opencode/oh-my-design/design-md/payco/DESIGN.md +0 -267
- package/.opencode/oh-my-design/design-md/paypay/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/paypay/DESIGN.md +0 -656
- package/.opencode/oh-my-design/design-md/pchome/.verification.md +0 -38
- package/.opencode/oh-my-design/design-md/pchome/DESIGN.md +0 -439
- package/.opencode/oh-my-design/design-md/perplexity/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/perplexity/DESIGN.md +0 -546
- package/.opencode/oh-my-design/design-md/piccollage/.verification.md +0 -34
- package/.opencode/oh-my-design/design-md/piccollage/DESIGN.md +0 -320
- package/.opencode/oh-my-design/design-md/pinkoi/.verification.md +0 -147
- package/.opencode/oh-my-design/design-md/pinkoi/DESIGN.md +0 -639
- package/.opencode/oh-my-design/design-md/pinkoi/README.md +0 -12
- package/.opencode/oh-my-design/design-md/pinkoi/_research/browse-1440px.png +0 -0
- package/.opencode/oh-my-design/design-md/pinkoi/_research.md +0 -167
- package/.opencode/oh-my-design/design-md/pinterest/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/pinterest/DESIGN.md +0 -366
- package/.opencode/oh-my-design/design-md/pinterest/README.md +0 -23
- package/.opencode/oh-my-design/design-md/pinterest/preview-dark.html +0 -233
- package/.opencode/oh-my-design/design-md/pinterest/preview.html +0 -232
- package/.opencode/oh-my-design/design-md/pixiv/.verification.md +0 -20
- package/.opencode/oh-my-design/design-md/pixiv/DESIGN.md +0 -613
- package/.opencode/oh-my-design/design-md/pixnet/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/pixnet/DESIGN.md +0 -430
- package/.opencode/oh-my-design/design-md/posthog/.verification.md +0 -159
- package/.opencode/oh-my-design/design-md/posthog/DESIGN.md +0 -480
- package/.opencode/oh-my-design/design-md/posthog/README.md +0 -23
- package/.opencode/oh-my-design/design-md/posthog/preview-dark.html +0 -699
- package/.opencode/oh-my-design/design-md/posthog/preview.html +0 -749
- package/.opencode/oh-my-design/design-md/postype/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/postype/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/publy/DESIGN.md +0 -563
- package/.opencode/oh-my-design/design-md/qanda/.verification.md +0 -121
- package/.opencode/oh-my-design/design-md/qanda/DESIGN.md +0 -516
- package/.opencode/oh-my-design/design-md/ragic/.verification.md +0 -37
- package/.opencode/oh-my-design/design-md/ragic/DESIGN.md +0 -444
- package/.opencode/oh-my-design/design-md/rakuten/.verification.md +0 -60
- package/.opencode/oh-my-design/design-md/rakuten/DESIGN.md +0 -440
- package/.opencode/oh-my-design/design-md/ramp/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/ramp/DESIGN.md +0 -634
- package/.opencode/oh-my-design/design-md/rayark/.verification.md +0 -22
- package/.opencode/oh-my-design/design-md/rayark/DESIGN.md +0 -154
- package/.opencode/oh-my-design/design-md/raycast/.verification.md +0 -138
- package/.opencode/oh-my-design/design-md/raycast/DESIGN.md +0 -467
- package/.opencode/oh-my-design/design-md/raycast/README.md +0 -23
- package/.opencode/oh-my-design/design-md/raycast/preview-dark.html +0 -606
- package/.opencode/oh-my-design/design-md/raycast/preview.html +0 -688
- package/.opencode/oh-my-design/design-md/remember/.verification.md +0 -135
- package/.opencode/oh-my-design/design-md/remember/DESIGN.md +0 -504
- package/.opencode/oh-my-design/design-md/remember/_promo.json +0 -27
- package/.opencode/oh-my-design/design-md/remember/_research.md +0 -90
- package/.opencode/oh-my-design/design-md/renault/.verification.md +0 -139
- package/.opencode/oh-my-design/design-md/renault/DESIGN.md +0 -439
- package/.opencode/oh-my-design/design-md/renault/README.md +0 -23
- package/.opencode/oh-my-design/design-md/renault/preview-dark.html +0 -406
- package/.opencode/oh-my-design/design-md/renault/preview.html +0 -606
- package/.opencode/oh-my-design/design-md/replicate/.verification.md +0 -154
- package/.opencode/oh-my-design/design-md/replicate/DESIGN.md +0 -387
- package/.opencode/oh-my-design/design-md/replicate/README.md +0 -24
- package/.opencode/oh-my-design/design-md/replicate/preview-dark.html +0 -828
- package/.opencode/oh-my-design/design-md/replicate/preview.html +0 -831
- package/.opencode/oh-my-design/design-md/resend/.verification.md +0 -143
- package/.opencode/oh-my-design/design-md/resend/DESIGN.md +0 -440
- package/.opencode/oh-my-design/design-md/resend/README.md +0 -23
- package/.opencode/oh-my-design/design-md/resend/preview-dark.html +0 -355
- package/.opencode/oh-my-design/design-md/resend/preview.html +0 -354
- package/.opencode/oh-my-design/design-md/retool/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/retool/DESIGN.md +0 -645
- package/.opencode/oh-my-design/design-md/revolut/.verification.md +0 -140
- package/.opencode/oh-my-design/design-md/revolut/DESIGN.md +0 -319
- package/.opencode/oh-my-design/design-md/revolut/README.md +0 -23
- package/.opencode/oh-my-design/design-md/revolut/preview-dark.html +0 -234
- package/.opencode/oh-my-design/design-md/revolut/preview.html +0 -233
- package/.opencode/oh-my-design/design-md/richart/.verification.md +0 -41
- package/.opencode/oh-my-design/design-md/richart/DESIGN.md +0 -465
- package/.opencode/oh-my-design/design-md/ridi/.verification.md +0 -108
- package/.opencode/oh-my-design/design-md/ridi/DESIGN.md +0 -573
- package/.opencode/oh-my-design/design-md/riiid/.verification.md +0 -33
- package/.opencode/oh-my-design/design-md/riiid/DESIGN.md +0 -260
- package/.opencode/oh-my-design/design-md/ringle/.verification.md +0 -53
- package/.opencode/oh-my-design/design-md/ringle/DESIGN.md +0 -444
- package/.opencode/oh-my-design/design-md/robinhood/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/robinhood/DESIGN.md +0 -604
- package/.opencode/oh-my-design/design-md/runwayml/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/runwayml/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/runwayml/README.md +0 -24
- package/.opencode/oh-my-design/design-md/runwayml/preview-dark.html +0 -664
- package/.opencode/oh-my-design/design-md/runwayml/preview.html +0 -665
- package/.opencode/oh-my-design/design-md/salesforce/.verification.md +0 -66
- package/.opencode/oh-my-design/design-md/salesforce/DESIGN.md +0 -473
- package/.opencode/oh-my-design/design-md/sanity/.verification.md +0 -174
- package/.opencode/oh-my-design/design-md/sanity/DESIGN.md +0 -499
- package/.opencode/oh-my-design/design-md/sanity/README.md +0 -24
- package/.opencode/oh-my-design/design-md/sanity/preview-dark.html +0 -990
- package/.opencode/oh-my-design/design-md/sanity/preview.html +0 -1135
- package/.opencode/oh-my-design/design-md/sansan/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/sansan/DESIGN.md +0 -631
- package/.opencode/oh-my-design/design-md/sendbird/.verification.md +0 -67
- package/.opencode/oh-my-design/design-md/sendbird/DESIGN.md +0 -331
- package/.opencode/oh-my-design/design-md/sentry/.verification.md +0 -157
- package/.opencode/oh-my-design/design-md/sentry/DESIGN.md +0 -397
- package/.opencode/oh-my-design/design-md/sentry/README.md +0 -24
- package/.opencode/oh-my-design/design-md/sentry/preview-dark.html +0 -626
- package/.opencode/oh-my-design/design-md/sentry/preview.html +0 -951
- package/.opencode/oh-my-design/design-md/shinhancard/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/shinhancard/DESIGN.md +0 -421
- package/.opencode/oh-my-design/design-md/shopline/.verification.md +0 -34
- package/.opencode/oh-my-design/design-md/shopline/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/slack/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/slack/DESIGN.md +0 -635
- package/.opencode/oh-my-design/design-md/smarthr/DESIGN.md +0 -452
- package/.opencode/oh-my-design/design-md/smartnews/DESIGN.md +0 -360
- package/.opencode/oh-my-design/design-md/socar/DESIGN.md +0 -438
- package/.opencode/oh-my-design/design-md/socar/_promo.json +0 -28
- package/.opencode/oh-my-design/design-md/socar/_research.md +0 -55
- package/.opencode/oh-my-design/design-md/soomgo/.verification.md +0 -27
- package/.opencode/oh-my-design/design-md/soomgo/DESIGN.md +0 -326
- package/.opencode/oh-my-design/design-md/spacex/.verification.md +0 -132
- package/.opencode/oh-my-design/design-md/spacex/DESIGN.md +0 -415
- package/.opencode/oh-my-design/design-md/spacex/README.md +0 -23
- package/.opencode/oh-my-design/design-md/spacex/_research.md +0 -69
- package/.opencode/oh-my-design/design-md/spacex/preview-dark.html +0 -221
- package/.opencode/oh-my-design/design-md/spacex/preview.html +0 -220
- package/.opencode/oh-my-design/design-md/spoon/DESIGN.md +0 -492
- package/.opencode/oh-my-design/design-md/spotify/.verification.md +0 -128
- package/.opencode/oh-my-design/design-md/spotify/DESIGN.md +0 -489
- package/.opencode/oh-my-design/design-md/spotify/README.md +0 -23
- package/.opencode/oh-my-design/design-md/spotify/preview-dark.html +0 -231
- package/.opencode/oh-my-design/design-md/spotify/preview.html +0 -230
- package/.opencode/oh-my-design/design-md/starbucks/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/starbucks/DESIGN.md +0 -597
- package/.opencode/oh-my-design/design-md/stores/.verification.md +0 -61
- package/.opencode/oh-my-design/design-md/stores/DESIGN.md +0 -447
- package/.opencode/oh-my-design/design-md/stripe/.verification.md +0 -140
- package/.opencode/oh-my-design/design-md/stripe/DESIGN.md +0 -571
- package/.opencode/oh-my-design/design-md/stripe/README.md +0 -24
- package/.opencode/oh-my-design/design-md/stripe/preview-dark.html +0 -428
- package/.opencode/oh-my-design/design-md/stripe/preview.html +0 -419
- package/.opencode/oh-my-design/design-md/studio/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/studio/DESIGN.md +0 -602
- package/.opencode/oh-my-design/design-md/supabase/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/supabase/DESIGN.md +0 -389
- package/.opencode/oh-my-design/design-md/supabase/README.md +0 -24
- package/.opencode/oh-my-design/design-md/supabase/preview-dark.html +0 -977
- package/.opencode/oh-my-design/design-md/supabase/preview.html +0 -955
- package/.opencode/oh-my-design/design-md/superhuman/.verification.md +0 -184
- package/.opencode/oh-my-design/design-md/superhuman/DESIGN.md +0 -453
- package/.opencode/oh-my-design/design-md/superhuman/README.md +0 -23
- package/.opencode/oh-my-design/design-md/superhuman/preview-dark.html +0 -973
- package/.opencode/oh-my-design/design-md/superhuman/preview.html +0 -951
- package/.opencode/oh-my-design/design-md/surveycake/.verification.md +0 -31
- package/.opencode/oh-my-design/design-md/surveycake/DESIGN.md +0 -442
- package/.opencode/oh-my-design/design-md/tada/DESIGN.md +0 -579
- package/.opencode/oh-my-design/design-md/teamblind/.verification.md +0 -76
- package/.opencode/oh-my-design/design-md/teamblind/DESIGN.md +0 -497
- package/.opencode/oh-my-design/design-md/tesla/.verification.md +0 -149
- package/.opencode/oh-my-design/design-md/tesla/DESIGN.md +0 -501
- package/.opencode/oh-my-design/design-md/tesla/README.md +0 -23
- package/.opencode/oh-my-design/design-md/tesla/_research.md +0 -70
- package/.opencode/oh-my-design/design-md/tesla/preview-dark.html +0 -947
- package/.opencode/oh-my-design/design-md/tesla/preview.html +0 -925
- package/.opencode/oh-my-design/design-md/theverge/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/theverge/DESIGN.md +0 -500
- package/.opencode/oh-my-design/design-md/timee/.verification.md +0 -67
- package/.opencode/oh-my-design/design-md/timee/DESIGN.md +0 -444
- package/.opencode/oh-my-design/design-md/together.ai/.verification.md +0 -145
- package/.opencode/oh-my-design/design-md/together.ai/DESIGN.md +0 -389
- package/.opencode/oh-my-design/design-md/together.ai/README.md +0 -24
- package/.opencode/oh-my-design/design-md/together.ai/preview-dark.html +0 -892
- package/.opencode/oh-my-design/design-md/together.ai/preview.html +0 -897
- package/.opencode/oh-my-design/design-md/toss/.verification.md +0 -120
- package/.opencode/oh-my-design/design-md/toss/DESIGN.md +0 -698
- package/.opencode/oh-my-design/design-md/toss/README.md +0 -19
- package/.opencode/oh-my-design/design-md/toss-securities/DESIGN.md +0 -247
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-proof.json +0 -126
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-raw.json +0 -619
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/.live-inspect-stock.json +0 -525
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/fonts.json +0 -24
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/structure.json +0 -35
- package/.opencode/oh-my-design/design-md/toss-securities/assets/_reference/tokens.json +0 -87
- package/.opencode/oh-my-design/design-md/tossbank/DESIGN.md +0 -576
- package/.opencode/oh-my-design/design-md/trenbe/.verification.md +0 -32
- package/.opencode/oh-my-design/design-md/trenbe/DESIGN.md +0 -293
- package/.opencode/oh-my-design/design-md/triple/DESIGN.md +0 -481
- package/.opencode/oh-my-design/design-md/tumblbug/DESIGN.md +0 -578
- package/.opencode/oh-my-design/design-md/tving/DESIGN.md +0 -317
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/.live-inspect-proof.json +0 -131
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/LICENSE-NOTE.md +0 -37
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/attribution.md +0 -52
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/fonts.json +0 -31
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/screenshots/hero-desktop.png +0 -0
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/structure.json +0 -55
- package/.opencode/oh-my-design/design-md/tving/assets/_reference/tokens.json +0 -115
- package/.opencode/oh-my-design/design-md/uber/.verification.md +0 -128
- package/.opencode/oh-my-design/design-md/uber/DESIGN.md +0 -423
- package/.opencode/oh-my-design/design-md/uber/README.md +0 -24
- package/.opencode/oh-my-design/design-md/uber/preview-dark.html +0 -1120
- package/.opencode/oh-my-design/design-md/uber/preview.html +0 -1119
- package/.opencode/oh-my-design/design-md/ubie/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/ubie/DESIGN.md +0 -615
- package/.opencode/oh-my-design/design-md/uniqlo/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/uniqlo/DESIGN.md +0 -575
- package/.opencode/oh-my-design/design-md/upbit/DESIGN.md +0 -337
- package/.opencode/oh-my-design/design-md/upbit/_research.md +0 -83
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/.live-inspect-proof.json +0 -263
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/fonts.json +0 -18
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/raw-capture-exchange.json +0 -1901
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/raw-capture.json +0 -1121
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/structure.json +0 -52
- package/.opencode/oh-my-design/design-md/upbit/assets/_reference/tokens.json +0 -169
- package/.opencode/oh-my-design/design-md/upstage/DESIGN.md +0 -270
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/.live-inspect-proof.json +0 -157
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_brand-resource-center.json +0 -44
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_curated-samples.json +0 -310
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_raw-capture.json +0 -1560
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_root-vars.json +0 -76
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/_structure-raw.json +0 -298
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/fonts.json +0 -35
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/structure.json +0 -72
- package/.opencode/oh-my-design/design-md/upstage/assets/_reference/tokens.json +0 -183
- package/.opencode/oh-my-design/design-md/velog/.verification.md +0 -26
- package/.opencode/oh-my-design/design-md/velog/DESIGN.md +0 -196
- package/.opencode/oh-my-design/design-md/vercel/.verification.md +0 -134
- package/.opencode/oh-my-design/design-md/vercel/DESIGN.md +0 -523
- package/.opencode/oh-my-design/design-md/vercel/README.md +0 -24
- package/.opencode/oh-my-design/design-md/vercel/preview-dark.html +0 -368
- package/.opencode/oh-my-design/design-md/vercel/preview.html +0 -367
- package/.opencode/oh-my-design/design-md/voicetube/.verification.md +0 -34
- package/.opencode/oh-my-design/design-md/voicetube/DESIGN.md +0 -266
- package/.opencode/oh-my-design/design-md/voltagent/.verification.md +0 -159
- package/.opencode/oh-my-design/design-md/voltagent/DESIGN.md +0 -454
- package/.opencode/oh-my-design/design-md/voltagent/README.md +0 -24
- package/.opencode/oh-my-design/design-md/voltagent/preview-dark.html +0 -487
- package/.opencode/oh-my-design/design-md/voltagent/preview.html +0 -766
- package/.opencode/oh-my-design/design-md/wadiz/DESIGN.md +0 -415
- package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/.live-inspect-proof.json +0 -137
- package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/fonts.json +0 -17
- package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/structure.json +0 -35
- package/.opencode/oh-my-design/design-md/wadiz/assets/_reference/tokens.json +0 -80
- package/.opencode/oh-my-design/design-md/wanted/DESIGN.md +0 -575
- package/.opencode/oh-my-design/design-md/wanted/_promo.json +0 -31
- package/.opencode/oh-my-design/design-md/wanted/_research.md +0 -119
- package/.opencode/oh-my-design/design-md/wantedly/.verification.md +0 -53
- package/.opencode/oh-my-design/design-md/wantedly/DESIGN.md +0 -437
- package/.opencode/oh-my-design/design-md/warp/.verification.md +0 -156
- package/.opencode/oh-my-design/design-md/warp/DESIGN.md +0 -431
- package/.opencode/oh-my-design/design-md/warp/README.md +0 -23
- package/.opencode/oh-my-design/design-md/warp/preview-dark.html +0 -500
- package/.opencode/oh-my-design/design-md/warp/preview.html +0 -533
- package/.opencode/oh-my-design/design-md/watcha/DESIGN.md +0 -465
- package/.opencode/oh-my-design/design-md/wavve/DESIGN.md +0 -480
- package/.opencode/oh-my-design/design-md/wconcept/DESIGN.md +0 -556
- package/.opencode/oh-my-design/design-md/webflow/.verification.md +0 -151
- package/.opencode/oh-my-design/design-md/webflow/DESIGN.md +0 -330
- package/.opencode/oh-my-design/design-md/webflow/README.md +0 -23
- package/.opencode/oh-my-design/design-md/webflow/preview-dark.html +0 -147
- package/.opencode/oh-my-design/design-md/webflow/preview.html +0 -146
- package/.opencode/oh-my-design/design-md/wired/.verification.md +0 -21
- package/.opencode/oh-my-design/design-md/wired/DESIGN.md +0 -572
- package/.opencode/oh-my-design/design-md/wise/.verification.md +0 -141
- package/.opencode/oh-my-design/design-md/wise/DESIGN.md +0 -317
- package/.opencode/oh-my-design/design-md/wise/README.md +0 -23
- package/.opencode/oh-my-design/design-md/wise/preview-dark.html +0 -230
- package/.opencode/oh-my-design/design-md/wise/preview.html +0 -229
- package/.opencode/oh-my-design/design-md/x.ai/.verification.md +0 -140
- package/.opencode/oh-my-design/design-md/x.ai/DESIGN.md +0 -397
- package/.opencode/oh-my-design/design-md/x.ai/README.md +0 -24
- package/.opencode/oh-my-design/design-md/x.ai/preview-dark.html +0 -356
- package/.opencode/oh-my-design/design-md/x.ai/preview.html +0 -407
- package/.opencode/oh-my-design/design-md/xiaohongshu/DESIGN.md +0 -462
- package/.opencode/oh-my-design/design-md/yanolja/.verification.md +0 -83
- package/.opencode/oh-my-design/design-md/yanolja/DESIGN.md +0 -508
- package/.opencode/oh-my-design/design-md/yeogiotte/.verification.md +0 -210
- package/.opencode/oh-my-design/design-md/yeogiotte/DESIGN.md +0 -500
- package/.opencode/oh-my-design/design-md/yogiyo/DESIGN.md +0 -515
- package/.opencode/oh-my-design/design-md/yourator/.verification.md +0 -39
- package/.opencode/oh-my-design/design-md/yourator/DESIGN.md +0 -453
- package/.opencode/oh-my-design/design-md/zapier/.verification.md +0 -156
- package/.opencode/oh-my-design/design-md/zapier/DESIGN.md +0 -474
- package/.opencode/oh-my-design/design-md/zapier/README.md +0 -24
- package/.opencode/oh-my-design/design-md/zapier/preview-dark.html +0 -380
- package/.opencode/oh-my-design/design-md/zapier/preview.html +0 -372
- package/.opencode/oh-my-design/design-md/zigbang/DESIGN.md +0 -500
- package/.opencode/oh-my-design/design-md/zigbang/_promo.json +0 -16
- package/.opencode/oh-my-design/design-md/zigbang/_research.md +0 -101
- package/.opencode/oh-my-design/design-md/zigzag/DESIGN.md +0 -695
- package/.opencode/oh-my-design/design-md/zigzag/_promo.json +0 -23
- package/.opencode/oh-my-design/design-md/zigzag/_research.md +0 -64
- package/.opencode/oh-my-design/design-md/zozotown/.verification.md +0 -20
- package/.opencode/oh-my-design/design-md/zozotown/DESIGN.md +0 -578
- package/.opencode/oh-my-design/packages/mcp/dist/index.mjs +0 -21685
- package/.opencode/oh-my-design/packages/mcp/dist/index.mjs.map +0 -1
- package/.opencode/tools/extract-design-pattern.py +0 -182
- package/.opencode/tools/sdd_design.ts +0 -303
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: grip
|
|
3
|
-
name: "Grip"
|
|
4
|
-
country: KR
|
|
5
|
-
category: ecommerce
|
|
6
|
-
homepage: "https://www.grip.show"
|
|
7
|
-
primary_color: "#eb2b51"
|
|
8
|
-
logo:
|
|
9
|
-
type: favicon
|
|
10
|
-
slug: "https://www.google.com/s2/favicons?domain=grip.show&sz=256"
|
|
11
|
-
verified: "2026-06-03"
|
|
12
|
-
omd: "0.1"
|
|
13
|
-
tokens:
|
|
14
|
-
source: prose-derived
|
|
15
|
-
extracted: "2026-06-09"
|
|
16
|
-
colors:
|
|
17
|
-
primary: "#eb2b51"
|
|
18
|
-
hot-pink: "#ff3c78"
|
|
19
|
-
purple: "#6456dc"
|
|
20
|
-
canvas: "#0e1011"
|
|
21
|
-
surface-1: "#17181a"
|
|
22
|
-
surface-2: "#222327"
|
|
23
|
-
surface-3: "#404149"
|
|
24
|
-
surface-light: "#ffffff"
|
|
25
|
-
surface-subtle: "#f3f3f3"
|
|
26
|
-
text-primary: "#eff0f4"
|
|
27
|
-
text-body: "#323232"
|
|
28
|
-
text-muted: "#999999"
|
|
29
|
-
text-subdued: "#666666"
|
|
30
|
-
border: "#e5e5e5"
|
|
31
|
-
border-subtle: "#d5d5d5"
|
|
32
|
-
error: "#ef4343"
|
|
33
|
-
typography:
|
|
34
|
-
family: { sans: "Pretendard", mono: "Pretendard" }
|
|
35
|
-
discount: { size: 27, weight: 700, lineHeight: 1.35, use: "Discount price, coupon amount" }
|
|
36
|
-
confirm: { size: 18, weight: 500, lineHeight: 1.4, use: "Full-width confirm button" }
|
|
37
|
-
button: { size: 16, weight: 600, lineHeight: 1.4, use: "Primary button label" }
|
|
38
|
-
body: { size: 15, weight: 400, lineHeight: 1.4, use: "Body, product name" }
|
|
39
|
-
caption: { size: 13, weight: 400, lineHeight: 1.4, use: "Caption, meta" }
|
|
40
|
-
badge: { size: 12, weight: 500, lineHeight: 1.4, use: "Badge, tag" }
|
|
41
|
-
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, section: 56 }
|
|
42
|
-
rounded: { sm: 4, md: 6, lg: 8, full: 9999 }
|
|
43
|
-
components:
|
|
44
|
-
button-primary: { type: button, bg: "#eb2b51", fg: "#ffffff", radius: "8px", font: "16px / 600", use: "Primary CTA / cart checkout, 50px height" }
|
|
45
|
-
button-confirm: { type: button, bg: "#eb2b51", fg: "#ffffff", radius: "8px", font: "18px / 500", use: "Full-width drawer-bottom confirm, 56px height" }
|
|
46
|
-
button-secondary: { type: button, bg: "#323232", fg: "#ffffff", radius: "4px", font: "14px / 500", use: "Dark secondary buy-now inline, 34px height" }
|
|
47
|
-
button-outline: { type: button, bg: "#ffffff", fg: "#323232", radius: "4px", font: "14px / 500", use: "Outline delete / cancel, 1px #e5e5e5 border, 34px height" }
|
|
48
|
-
button-discovery: { type: button, bg: "#17181a", fg: "#ffffff", radius: "6px", font: "15px / 600", use: "Shorts / discovery CTA, 40px height" }
|
|
49
|
-
card-coupon: { type: card, bg: "#fff5f8", fg: "#eb2b51", font: "27px / 700", use: "Active coupon card, rose-red amount" }
|
|
50
|
-
nudge-urgency: { type: toast, bg: "rgba(47,23,253,0.05)", fg: "#6456dc", radius: "4px", font: "14px / 500", use: "Urgency countdown nudge bar, 38px height" }
|
|
51
|
-
components_harvested: true
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
# Grip
|
|
55
|
-
|
|
56
|
-
Korea's first live commerce platform — a mobile-first video shopping app where sellers and buyers connect in real time through livestreams, chat, and exclusive in-broadcast deals.
|
|
57
|
-
|
|
58
|
-
## 1. Visual Theme & Atmosphere
|
|
59
|
-
|
|
60
|
-
Grip presents a dark-first, energy-charged visual world tuned for live video commerce. The primary canvas is near-black (#0e1011) — a deliberate cinema-mode choice that keeps product thumbnails and live video feeds visually dominant. Against this dark ground, the brand's signature rose-red (#eb2b51) fires as a call-to-action signal: checkout buttons, coupon highlights, discount badges, and active selection states all pulse in the same hue, creating an unambiguous buy-now urgency. A secondary hot-pink (#ff3c78) appears in borders and icon fills for interactive affordances just below the critical-action tier. The live-streaming avatar ring introduces a vivid gradient (hot-pink to coral #fe0189→#ff583c) that animates with a pulse or ripple when a seller is live — the single most kinetically distinctive element in the UI. A deep purple (#6456dc) serves as a secondary accent for purchase nudges, urgency countdowns, and seller badges, adding a premium-yet-playful counter-note to the red-dominant palette. Typography is set entirely in Pretendard, a Korean variable typeface that reads cleanly at 13–18 px in both dark and light contexts. Component radii cluster at 4–8 px — tight enough to feel structured, not clinical.
|
|
61
|
-
|
|
62
|
-
## 2. Color Palette & Roles
|
|
63
|
-
|
|
64
|
-
- **Primary Rose-Red:** `#eb2b51` — primary CTA buttons, checkout actions, coupon card accents, checkbox fill, discount rate text
|
|
65
|
-
- **Primary Hot-Pink:** `#ff3c78` — lighter interactive affordance, border accents, icon fills, secondary interactive states
|
|
66
|
-
- **Secondary Purple:** `#6456dc` — purchase nudge bar background, timer text, seller badge accent
|
|
67
|
-
- **App Background:** `#0e1011` — root app canvas (dark mode default)
|
|
68
|
-
- **Surface Dark-1:** `#17181a` — bottom navigation bar background
|
|
69
|
-
- **Surface Dark-2:** `#222327` — elevated card surfaces in dark context
|
|
70
|
-
- **Surface Dark-3:** `#404149` — tertiary panel fills
|
|
71
|
-
- **Surface Light:** `#ffffff` — light-mode cart, coupon, and checkout pages
|
|
72
|
-
- **Surface Subtle:** `#f3f3f3` — empty state icon containers, light dividers
|
|
73
|
-
- **Text Primary (dark):** `#eff0f4` — body copy on dark backgrounds
|
|
74
|
-
- **Text Body (light):** `#323232` — product name, price, UI text on white
|
|
75
|
-
- **Text Muted:** `#999999` — secondary labels, conditions, disabled states
|
|
76
|
-
- **Text Subdued:** `#666666` — meta info, timestamps
|
|
77
|
-
- **Border Default:** `#e5e5e5` — card outlines, dividers
|
|
78
|
-
- **Border Subtle:** `#d5d5d5` — light separators, outline button strokes
|
|
79
|
-
- **Error / Danger:** `#ef4343` — toast error, out-of-stock labels
|
|
80
|
-
- **Live avatar ring:** `conic-gradient(from -68deg, #ff2b51, #ffae8e)` — broadcaster live ring
|
|
81
|
-
- **Creator avatar ring:** `conic-gradient(from -68deg, #1ec7be, #1dc3ff)` — creator/seller avatar ring
|
|
82
|
-
|
|
83
|
-
## 3. Typography Rules
|
|
84
|
-
|
|
85
|
-
- **Typeface:** Pretendard (woff2, variable weight 45–920), with Pretendard Fallback (Arial-based) for system fallback
|
|
86
|
-
- **Body / Product name:** 15px / weight 400–500
|
|
87
|
-
- **Price / Emphasis:** 15px / weight 700; discount price 27px / weight 700
|
|
88
|
-
- **Button primary:** 16px / weight 600
|
|
89
|
-
- **Button confirm full-width:** 18px / weight 500
|
|
90
|
-
- **Caption / Meta:** 13px / weight 400–500
|
|
91
|
-
- **Badge / Tag:** 11–12px / weight 500
|
|
92
|
-
- **Page header height:** 56px (CSS export constant)
|
|
93
|
-
- **Letter spacing:** −0.2 px to −0.5 px on headings and price figures; Korean text benefits from tight negative tracking
|
|
94
|
-
- **Line height:** 135–145% for readable body, tabular-nums variant for prices and timers
|
|
95
|
-
|
|
96
|
-
## 4. Component Stylings
|
|
97
|
-
|
|
98
|
-
### Purchase Buttons
|
|
99
|
-
|
|
100
|
-
**Primary CTA (cart checkout)**
|
|
101
|
-
- Background: `#eb2b51`
|
|
102
|
-
- Text: `#ffffff`
|
|
103
|
-
- Radius: 8px
|
|
104
|
-
- Height: 50px
|
|
105
|
-
- Font: 16px / 600
|
|
106
|
-
|
|
107
|
-
**Full-Width Confirm (drawer bottom)**
|
|
108
|
-
- Background: `#eb2b51`
|
|
109
|
-
- Text: `#ffffff`
|
|
110
|
-
- Height: 56px
|
|
111
|
-
- Font: 18px / 500
|
|
112
|
-
|
|
113
|
-
**Dark Secondary (buy now inline)**
|
|
114
|
-
- Background: `#323232`
|
|
115
|
-
- Text: `#ffffff`
|
|
116
|
-
- Radius: 4px
|
|
117
|
-
- Height: 34px
|
|
118
|
-
- Font: 14px / 500
|
|
119
|
-
|
|
120
|
-
**Outline Delete / Cancel**
|
|
121
|
-
- Background: `#ffffff`
|
|
122
|
-
- Text: `#323232`
|
|
123
|
-
- Border: 1px solid `#e5e5e5`
|
|
124
|
-
- Radius: 4px
|
|
125
|
-
- Height: 34px
|
|
126
|
-
- Font: 14px / 500
|
|
127
|
-
|
|
128
|
-
**Shorts / Discovery CTA**
|
|
129
|
-
- Background: `#17181a`
|
|
130
|
-
- Text: `#ffffff`
|
|
131
|
-
- Radius: 6px
|
|
132
|
-
- Height: 40px
|
|
133
|
-
- Font: 15px / 600
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
### Coupon Card
|
|
138
|
-
|
|
139
|
-
**Active Coupon**
|
|
140
|
-
- Background: `#ffffff`
|
|
141
|
-
- Background: `#fff5f8`
|
|
142
|
-
- Text (price): `#eb2b51`
|
|
143
|
-
- Font: 27px / 700
|
|
144
|
-
|
|
145
|
-
**Claimed / Used Coupon**
|
|
146
|
-
- Background: `#ffffff`
|
|
147
|
-
- Border: 5px solid `#f3f3f3`
|
|
148
|
-
- Text: `#999999`
|
|
149
|
-
- Font: 13px / 500
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
### Purchase Nudge Bar
|
|
154
|
-
|
|
155
|
-
**Urgency Countdown**
|
|
156
|
-
- Background: `rgba(47, 23, 253, 0.05)`
|
|
157
|
-
- Text: `#6456dc`
|
|
158
|
-
- Radius: 4px
|
|
159
|
-
- Height: 38px
|
|
160
|
-
- Font: 14px / 500–600
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
**Verified:** 2026-06-03
|
|
164
|
-
**Tier 1 sources:** https://www.grip.show (homepage HTML + CSS bundles via webapp-resource.grip.show/202606020502/_next/static/css/), https://webapp-resource.grip.show/202606020502/_next/static/css/2caceb3098ae7b02.css (main Tailwind utility CSS, 86 KB), https://webapp-resource.grip.show/202606020502/_next/static/css/1f9e9658ee2b291a.css (cart page CSS with button tokens), https://webapp-resource.grip.show/202606020502/_next/static/css/c2bfe78c6e53a384.css (coupon drawer CSS with full-width confirm button), https://gripcorp.co (brand/corp homepage with gradient slogan and propose-button), https://webapp-resource.grip.show/202606020502/_next/static/css/4299887bf9e53336.css (avatar + live ring CSS)
|
|
165
|
-
**Tier 2 sources:** getdesign.md/grip — 0 DESIGN.md files (NOT LISTED). refero — no result found for Grip KR.
|
|
166
|
-
**Conflicts unresolved:** none
|
|
167
|
-
|
|
168
|
-
## 5. Layout Principles
|
|
169
|
-
|
|
170
|
-
Grip is a single-column, mobile-only app (max-width 420px on desktop, 100% on mobile). The root `.main` container is fixed to 420px wide on desktop and stacks vertically: page header (56px fixed top), scrollable content, bottom nav (52px + safe-area bottom). The live video view occupies full viewport height (100dvh) with content layered via absolute positioning. Card grids use gap-based flex rows; product thumbnail grids use 109px fixed-width scroll containers. Horizontal scroll (Indiana Scroll) is used for curation rows, avoiding pagination friction.
|
|
171
|
-
|
|
172
|
-
## 6. Depth & Elevation
|
|
173
|
-
|
|
174
|
-
The UI relies on background-color contrast rather than drop shadows for layering. Bottom nav (`#17181a`) sits above the dark app canvas (`#0e1011`). Drawers and modals emerge from below (vaul-drawer, bottom-sheet pattern) using the Radix animation system. An `rgba(0,0,0,0.1)` scrim is applied to floating overlays. The live avatar ring uses `z-index:-1` on the after-pseudo for the gradient ring to sit behind the avatar circle, giving a halo effect without a shadow. Product thumbnail borders use `outline: 1px solid rgba(0,0,0,0.05)` with `outline-offset:-1px` to avoid layout shift at 8px radius.
|
|
175
|
-
|
|
176
|
-
## 7. Do's and Don'ts
|
|
177
|
-
|
|
178
|
-
### Do
|
|
179
|
-
- Use `#eb2b51` for every primary purchase action — checkout, confirm, coupon claim
|
|
180
|
-
- Present live status with the `#fe0189→#ff583c` animated ring gradient, not a static badge
|
|
181
|
-
- Set prices in 700 weight with tabular-nums to prevent width jitter during countdowns
|
|
182
|
-
- Keep body copy at 15px / 400 on light surfaces for readability at arm's length
|
|
183
|
-
- Use `#6456dc` exclusively for urgency/countdown nudges; don't repurpose it as a general brand color
|
|
184
|
-
- Maintain the 420px max-width constraint in desktop contexts to preserve mobile layout fidelity
|
|
185
|
-
|
|
186
|
-
### Don't
|
|
187
|
-
- Don't use `#ff3c78` as the primary CTA color — it is the lighter interactive affordance, not the checkout signal
|
|
188
|
-
- Don't add shadows to buttons; elevation is communicated through background contrast alone
|
|
189
|
-
- Don't place live-ring gradients on non-live seller avatars — the animation signals active broadcast
|
|
190
|
-
- Don't exceed 8px border-radius on purchase buttons; 24–31px is reserved for pill tags and avatar-adjacent elements
|
|
191
|
-
- Don't use font weight below 500 for interactive UI text; 400 is reserved for body copy and meta descriptions
|
|
192
|
-
|
|
193
|
-
## 8. Responsive Behavior
|
|
194
|
-
|
|
195
|
-
Grip is deliberately non-responsive in the traditional sense — it is a mobile web app. The root `.main` container is fixed at 420px wide and centered on desktop, with `max-width:100%` applied only on actual mobile viewports. At ≤460px the container becomes fluid. The bottom nav respects `env(safe-area-inset-bottom)` for notched devices. The video view layout enforces `min-width:360px` and `min-height:568px` to support older small-screen devices. Desktop visitors receive the 420px centered column; there is no tablet breakpoint.
|
|
196
|
-
|
|
197
|
-
## 9. Agent Prompt Guide
|
|
198
|
-
|
|
199
|
-
To produce Grip-consistent UI:
|
|
200
|
-
- Dark canvas: `background #0e1011`, body text `#eff0f4`, Pretendard 15px/400
|
|
201
|
-
- Primary CTA: `background #eb2b51`, white text, 8px radius, 50px height, 16px/600
|
|
202
|
-
- Secondary action: `background #323232`, white text, 4px radius, 34px height, 14px/500
|
|
203
|
-
- Live indicator: animated gradient ring `#fe0189→#ff583c` on circular avatars, 0.81s cubic-bezier(0.167, 0.166, 1, 1)
|
|
204
|
-
- Price display: 700 weight, tabular-nums, discount rate in `#eb2b51`
|
|
205
|
-
- Urgency nudge bar: `rgba(47,23,253,0.05)` background, `#6456dc` text, 4px radius, 38px height
|
|
206
|
-
- Coupon card: `#fff5f8` tint interior, primary amount in `#eb2b51` 27px/700
|
|
207
|
-
- Section dividers: 1px solid `#f3f3f3` (light) or background-color switch on dark
|
|
208
|
-
- No box-shadow on action elements; rely on background contrast for layering
|
|
209
|
-
|
|
210
|
-
## 10. Voice & Tone
|
|
211
|
-
|
|
212
|
-
**Tone adjectives:** energetic, direct, community-warm
|
|
213
|
-
|
|
214
|
-
| Do | Don't |
|
|
215
|
-
|----|-------|
|
|
216
|
-
| Use short imperative phrases ("지금 바로", "한정 특가") | Write formal or legalistic copy |
|
|
217
|
-
| Address the viewer as a participant in a live event | Address them as a faceless online shopper |
|
|
218
|
-
| Create urgency around the live moment ("지금 방송 중") | Use generic marketing hyperbole unrelated to real-time |
|
|
219
|
-
| Celebrate the seller-buyer relationship by name (Gripper) | Depersonalize the seller as "vendor" or "merchant" |
|
|
220
|
-
|
|
221
|
-
**Voice samples (illustrative):**
|
|
222
|
-
- *"지금 라이브 중! 방송에서만 만나는 특가를 놓치지 마세요."* — live broadcast nudge copy
|
|
223
|
-
- *"그리퍼가 직접 쓰고 추천하는 아이템, 지금 채팅으로 물어보세요."* — seller trust prompt
|
|
224
|
-
- *"1,000만이 선택한 영상 쇼핑, 그립."* — official slogan from og:title meta tag
|
|
225
|
-
|
|
226
|
-
## 11. Brand Narrative
|
|
227
|
-
|
|
228
|
-
Grip was founded in July 2018 by Kim Han-na, a former Naver marketer who had worked on video products including Jam Live and Snow. Along with six co-founders also from Naver and Kakao, she set out to build Korea's first mobile live commerce platform with a single animating belief: anyone with a smartphone should be able to sell anything, anytime, to anyone. The company (GripCompany, 주식회사 그립컴퍼니) is headquartered in Pangyo, Seongnam — the heart of Korea's tech ecosystem. In December 2021 Kakao became Grip’s largest shareholder (~50% stake, ₩180B), anchoring its live-commerce expansion.
|
|
229
|
-
|
|
230
|
-
Rather than replicating home shopping television or social media, Grip defined a third category: personal media commerce. Sellers — called Grippers — broadcast from wherever they are, answer questions live via chat, run in-stream auctions and games, and build loyal fan communities around their product expertise. The platform's patent portfolio reflects this: interactive mechanics like rolling dice, quiz games, and flash-sale countdowns are proprietary differentiators, not commodities.
|
|
231
|
-
|
|
232
|
-
By 2024 the app had surpassed 10 million downloads and runs approximately 1,300 live shows daily. Grip has expanded internationally (US via gripcorp.co, Japan in planning), and operates a B2B arm — Grip Cloud — that powers branded live commerce for third-party retailers. The mission remains unchanged: collapse the distance between the person who made or curated a product and the person who wants it.
|
|
233
|
-
|
|
234
|
-
## 12. Principles
|
|
235
|
-
|
|
236
|
-
1. **Anyone can sell.** The platform is designed so that a single creator with a smartphone has the same surface area as a large retailer. UI implication: seller onboarding, stream tooling, and product listing all default to zero-equipment, zero-staff flows.
|
|
237
|
-
|
|
238
|
-
2. **The live moment is the product.** Urgency is honest, not manufactured — it comes from the real-time nature of the broadcast. UI implication: live badges, countdown timers, and flash prices must always reflect actual live status; never show live signals on recorded or inactive streams.
|
|
239
|
-
|
|
240
|
-
3. **Community over catalogue.** Grip's retention mechanism is the seller-fan relationship, not a product recommendation algorithm. UI implication: seller avatars, follow states, and chat surfaces are given equal or greater prominence than product grids.
|
|
241
|
-
|
|
242
|
-
4. **Mobile-first, always.** The app was born on smartphone screens; desktop is a secondary, framed experience. UI implication: the 420px max-width is a design constraint, not a limitation — all interaction models (swipe, scroll, tap) are thumb-native.
|
|
243
|
-
|
|
244
|
-
5. **Trust through transparency.** Buyers can ask questions live and see the product in real context. UI implication: product info, seller credentials, and review surfaces should never be buried; the chat overlay must remain accessible throughout a broadcast.
|
|
245
|
-
|
|
246
|
-
## 13. Personas
|
|
247
|
-
|
|
248
|
-
*Illustrative Gripper (Seller) — "Minjung, 34, Busan"*
|
|
249
|
-
Runs a small handmade cosmetics business. She goes live three times a week from her kitchen studio, always engaging with regulars by name. She values the chat widget above everything else — it is her storefront window and her customer service desk simultaneously.
|
|
250
|
-
|
|
251
|
-
*Illustrative Buyer / Fan — "Soyeon, 28, Seoul"*
|
|
252
|
-
Follows 12 Grippers in beauty and fashion. She watches live shows on her commute and keeps the app's push notifications on for her favourite sellers. Price is secondary to trust — she buys because she knows the person selling.
|
|
253
|
-
|
|
254
|
-
*Illustrative Discovery Shopper — "Junho, 41, Daejeon"*
|
|
255
|
-
Opens Grip from a search ad for a specific product category. He swipes the home feed without following anyone, attracted by the HOT ranking and the real-time viewer count as a social-proof signal. He rarely revisits without a compelling deal.
|
|
256
|
-
|
|
257
|
-
*Illustrative B2B Brand Manager — "Hyeji, 30, Seoul"*
|
|
258
|
-
Uses Grip Cloud to run branded live events for an apparel label. She cares about the OBS integration, analytics dashboard, and the coupon issuance system — the consumer-facing design language is largely transparent to her.
|
|
259
|
-
|
|
260
|
-
## 14. States
|
|
261
|
-
|
|
262
|
-
- **Empty (Cart):** `#f3f3f3` circle container (64px) with a cart icon in `#c2c2c2`; text "담긴 상품이 없어요" in `#999` 15px/400; CTA to browse shorts in `#17181a` background
|
|
263
|
-
- **Loading (Live video):** full-viewport dark canvas `#111` with centered spinner; video cover div with `background-size:contain` for thumbnail placeholder
|
|
264
|
-
- **Error (Video stream):** gradient fallback `linear-gradient(180deg, #111 49.95%, #29235e)`; error text surfaced in white on the gradient
|
|
265
|
-
- **Error (Cart item — sold out / ended):** text label "품절" in `#e83c3b` 15px/700; product thumbnail at 50% opacity via `.disabled`
|
|
266
|
-
- **Success (Coupon claimed):** action panel switches to `#f8f8f8`; icon color moves from `#eb2b51` to `#999`; label reads "사용 완료"
|
|
267
|
-
- **Skeleton (Product thumbnail):** `border-radius:8px; outline:1px solid rgba(0,0,0,0.05)` on the wrapper; image `aspect-ratio:1/1` prevents layout shift
|
|
268
|
-
- **Disabled (Coupon card):** `opacity:0.5` applied to all child elements inside `.coupon > *`
|
|
269
|
-
- **Timer / Urgency:** `font-variant-numeric:tabular-nums; font-feature-settings:"tnum"` on all countdown displays; color `#6456dc`
|
|
270
|
-
|
|
271
|
-
## 15. Motion & Easing
|
|
272
|
-
|
|
273
|
-
**Duration scale:**
|
|
274
|
-
- Micro (state feedback): 80ms — bottom nav slide (`transition: all 0.08s linear`)
|
|
275
|
-
- Short (UI transitions): 150ms — Tailwind default (`cubic-bezier(0.4, 0, 0.2, 1)`)
|
|
276
|
-
- Medium (drawer open/close): 200–300ms — Radix accordion/drawer (`ease-out`)
|
|
277
|
-
- Long (avatar live animation): 810ms — pulse-border, ripple-border (`cubic-bezier(0.167, 0.166, 1, 1)`)
|
|
278
|
-
|
|
279
|
-
**Easing tokens:**
|
|
280
|
-
- Standard: `cubic-bezier(0.4, 0, 0.2, 1)` (ease-in-out, Material-derived)
|
|
281
|
-
- Decelerate (drawer enter): `ease-out`
|
|
282
|
-
- Live avatar: `cubic-bezier(0.167, 0.167, 0.833, 0.833)` for ripple ring
|
|
283
|
-
- Pulse entry: `cubic-bezier(0.167, 0.166, 1, 1)` for avatar scale pulse (4 iterations then infinite on live)
|
|
284
|
-
|
|
285
|
-
**Rules:**
|
|
286
|
-
- The live-ring animation (ripple-sm: scale 1.02→1.2, opacity 1→0) runs 4× then loops only when `repeat-live-animation` class is applied — indicating an active live session
|
|
287
|
-
- Bottom nav slides out (`translateY(100%)`) with 80ms linear — fast enough to feel native, not abrupt
|
|
288
|
-
- Drawer content uses Vaul/Radix `data-[state=open]` animate-in at 150ms; `data-[state=closed]` at 300ms (asymmetric: opens fast, closes deliberately)
|
|
289
|
-
- No spring physics; all motion is CSS cubic-bezier
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Hahow — Verification Notes (2026-06-01)
|
|
2
|
-
|
|
3
|
-
## Proof — Tier 1 live inspect
|
|
4
|
-
**Inspected:** 2026-06-01
|
|
5
|
-
**Method:** playwright getComputedStyle (live DOM) + raw source-file fetch
|
|
6
|
-
**Sources:**
|
|
7
|
-
- https://raw.githubusercontent.com/hahow/hahow-design/master/src/theme.js
|
|
8
|
-
- https://hahow.in
|
|
9
|
-
- https://business.hahow.in
|
|
10
|
-
- https://github.com/hahow
|
|
11
|
-
|
|
12
|
-
### Raw samples
|
|
13
|
-
- Token Primary 500 = #00ccb4 (brand teal) — source: https://raw.githubusercontent.com/hahow/hahow-design/master/src/theme.js
|
|
14
|
-
- Token Primary 100 = #a3ffe8 — source: https://raw.githubusercontent.com/hahow/hahow-design/master/src/theme.js
|
|
15
|
-
- Token Primary 400 = #23d9bd — source: https://raw.githubusercontent.com/hahow/hahow-design/master/src/theme.js
|
|
16
|
-
- Token Primary 800 = #006166 — source: https://raw.githubusercontent.com/hahow/hahow-design/master/src/theme.js
|
|
17
|
-
- Token Primary 900 = #00444d — source: https://raw.githubusercontent.com/hahow/hahow-design/master/src/theme.js
|
|
18
|
-
- Token Secondary 500 = #ffb940 — source: https://raw.githubusercontent.com/hahow/hahow-design/master/src/theme.js
|
|
19
|
-
- Live page background rgb(245,247,249) = #F5F7F9 — source: https://hahow.in
|
|
20
|
-
- Live brand teal text rgb(0,204,180) = #00CCB4 — source: https://hahow.in
|
|
21
|
-
- Live teal outline button: 2px #DCF9F3 border, border-radius 8px, height 42px, font 16px/600 — source: https://hahow.in
|
|
22
|
-
- Live tag chip: border-radius 20px, height 33px, font 14px/400 — source: https://hahow.in
|
|
23
|
-
- Live typeface PingFang TC; body 16px; heading 24px/600; primary text #262626 (secondary rgba(0,0,0,0.65)) — source: https://hahow.in
|
|
24
|
-
- Live white card-button: bg #FFFFFF, text #595959, border-radius 8px — source: https://hahow.in
|
|
25
|
-
- Live promotional accents: orange #FA8C16, coral #F65F55 — source: https://hahow.in
|
|
26
|
-
|
|
27
|
-
## Tier 2 — cross-check
|
|
28
|
-
- getdesign.md/hahow — NOT LISTED. refero — not listed. No Tier 2 corroboration available; all values rest on Tier 1 live inspect + open-source token file.
|
|
29
|
-
|
|
30
|
-
## Country + regional sources
|
|
31
|
-
- country TW; brand-owned regional sources (≥2 non-Western): https://hahow.in (primary Traditional-Chinese marketplace), https://business.hahow.in (brand-owned business surface), https://github.com/hahow (brand-owned org hosting the hahow-design open-source tokens). These satisfy the TW ≥2 non-Western regional-source requirement.
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: hahow
|
|
3
|
-
name: "Hahow"
|
|
4
|
-
country: TW
|
|
5
|
-
category: education
|
|
6
|
-
homepage: "https://hahow.in"
|
|
7
|
-
primary_color: "#00CCB4"
|
|
8
|
-
logo:
|
|
9
|
-
type: favicon
|
|
10
|
-
slug: "https://www.google.com/s2/favicons?domain=hahow.in&sz=128"
|
|
11
|
-
verified: "2026-06-01"
|
|
12
|
-
omd: "0.1"
|
|
13
|
-
ds:
|
|
14
|
-
name: "hahow-design"
|
|
15
|
-
url: "https://github.com/hahow/hahow-design"
|
|
16
|
-
type: system
|
|
17
|
-
description: "Hahow's open-source design-system theme — Primary/Secondary token scales (Primary 500 #00ccb4)."
|
|
18
|
-
tokens:
|
|
19
|
-
source: prose-derived
|
|
20
|
-
extracted: "2026-06-09"
|
|
21
|
-
colors:
|
|
22
|
-
primary: "#00ccb4"
|
|
23
|
-
primary-100: "#a3ffe8"
|
|
24
|
-
primary-400: "#23d9bd"
|
|
25
|
-
primary-800: "#006166"
|
|
26
|
-
primary-900: "#00444d"
|
|
27
|
-
secondary: "#ffb940"
|
|
28
|
-
canvas: "#f5f7f9"
|
|
29
|
-
text: "#262626"
|
|
30
|
-
promo-orange: "#fa8c16"
|
|
31
|
-
coral: "#f65f55"
|
|
32
|
-
typography:
|
|
33
|
-
family: { sans: "PingFang TC", mono: "PingFang TC" }
|
|
34
|
-
heading: { size: 24, weight: 600, lineHeight: 1.3, use: "Section headings" }
|
|
35
|
-
body: { size: 16, weight: 400, lineHeight: 1.5, use: "Primary body text" }
|
|
36
|
-
chip: { size: 14, weight: 400, lineHeight: 1.4, use: "Tag / chip labels" }
|
|
37
|
-
spacing: { xs: 4, sm: 8, base: 16, lg: 24, xl: 32, section: 48 }
|
|
38
|
-
rounded: { sm: 8, md: 8, lg: 20, full: 9999 }
|
|
39
|
-
components:
|
|
40
|
-
button-primary: { type: button, bg: "transparent", fg: "#00ccb4", radius: "8px", font: "16px / 600", use: "Teal outline primary CTA, 2px #dcf9f3 border, 42px height" }
|
|
41
|
-
button-card: { type: button, bg: "#ffffff", fg: "#595959", radius: "8px", use: "Neutral white card-level action" }
|
|
42
|
-
chip-tag: { type: badge, bg: "rgba(0,0,0,0.04)", fg: "rgba(0,0,0,0.65)", radius: "20px", font: "14px / 400", use: "Metadata, category, filter tags, 33px height" }
|
|
43
|
-
components_harvested: true
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
# Design System Inspiration of Hahow
|
|
47
|
-
|
|
48
|
-
## 1. Visual Theme & Atmosphere
|
|
49
|
-
|
|
50
|
-
Hahow (好學校) is Taiwan's leading EdTech course marketplace, and its interface carries the warmth of a place that wants you to keep learning rather than the polish of a place that wants to close a sale. The atmosphere is friendly, approachable, and unmistakably human: a soft gray-blue page canvas of #F5F7F9 lets bright content breathe, while a vivid brand teal of #00CCB4 — drawn directly from Hahow's own open-source design tokens — signals interactivity and energy without ever shouting. Cards and buttons settle on a gentle 8px radius that rounds every hard edge into something inviting, and text sits in calm near-black #262626 for comfortable, sustained reading. Warm promotional accents in orange #FA8C16 and coral #F65F55 punctuate the surface where excitement is earned — a sale, a featured course, a moment worth noticing. Set throughout in PingFang TC, the typography feels native and legible to a Traditional-Chinese audience. The overall effect is encouraging and personable, the opposite of corporate sterility — a learning surface that feels like a good teacher: clear, warm, and on your side.
|
|
51
|
-
|
|
52
|
-
## 2. Color Palette & Roles
|
|
53
|
-
|
|
54
|
-
Hahow's color system is anchored by a teal Primary scale published in its open-source `hahow-design` theme, layered over a quiet neutral canvas and lifted by warm promotional accents.
|
|
55
|
-
|
|
56
|
-
- **Brand / Primary 500** — #00CCB4. The signature teal; interactive emphasis, brand identity, primary action text.
|
|
57
|
-
- **Primary 100** — #A3FFE8. Lightest teal tint for subtle fills and soft backgrounds.
|
|
58
|
-
- **Primary 400** — #23D9BD. A slightly deeper teal step for hover and gradient transitions.
|
|
59
|
-
- **Primary 800** — #006166. Deep teal for high-contrast text or pressed states on teal surfaces.
|
|
60
|
-
- **Primary 900** — #00444D. Darkest teal anchor for the scale.
|
|
61
|
-
- **Secondary 500** — #FFB940. Warm amber accent; complementary highlight to the teal.
|
|
62
|
-
- **Page background** — #F5F7F9. Soft gray-blue canvas behind all content.
|
|
63
|
-
- **Body text** — #262626 (near-black), with secondary text at rgba(0,0,0,0.65).
|
|
64
|
-
- **Promotional orange** — #FA8C16. Energetic accent for sales and featured callouts.
|
|
65
|
-
- **Coral** — #F65F55. Warm secondary promotional accent.
|
|
66
|
-
- **Chip fill** — rgba(0,0,0,0.04). Faint neutral wash for tags and metadata chips.
|
|
67
|
-
|
|
68
|
-
## 3. Typography Rules
|
|
69
|
-
|
|
70
|
-
- **Typeface:** PingFang TC across the interface — native, legible Traditional-Chinese rendering.
|
|
71
|
-
- **Body:** 16px, primary text color #262626.
|
|
72
|
-
- **Heading:** 24px at weight 600.
|
|
73
|
-
- **Secondary text:** rgba(0,0,0,0.65) for de-emphasized labels and metadata.
|
|
74
|
-
- **Hierarchy principle:** lean on size and the near-black body color for contrast; reserve teal #00CCB4 for interactive text rather than headings, keeping reading surfaces calm.
|
|
75
|
-
|
|
76
|
-
## 4. Component Stylings
|
|
77
|
-
|
|
78
|
-
### Button
|
|
79
|
-
|
|
80
|
-
**Teal Outline (primary action)**
|
|
81
|
-
- Background: transparent
|
|
82
|
-
- Text: #00CCB4
|
|
83
|
-
- Border: 2px solid #DCF9F3
|
|
84
|
-
- Radius: 8px
|
|
85
|
-
- Padding: not separately verified
|
|
86
|
-
- Height: 42px
|
|
87
|
-
- Font: 16px / 600
|
|
88
|
-
- Use: primary call-to-action on the live hahow.in surface
|
|
89
|
-
|
|
90
|
-
**White Card Button**
|
|
91
|
-
- Background: #FFFFFF
|
|
92
|
-
- Text: #595959
|
|
93
|
-
- Border: not separately verified
|
|
94
|
-
- Radius: 8px
|
|
95
|
-
- Padding: not separately verified
|
|
96
|
-
- Height: not separately verified
|
|
97
|
-
- Font: not separately verified
|
|
98
|
-
- Use: neutral card-level action sitting on the gray-blue canvas
|
|
99
|
-
|
|
100
|
-
### Tag Chip
|
|
101
|
-
|
|
102
|
-
**Default**
|
|
103
|
-
- Background: rgba(0,0,0,0.04)
|
|
104
|
-
- Text: rgba(0,0,0,0.65)
|
|
105
|
-
- Border: none
|
|
106
|
-
- Radius: 20px
|
|
107
|
-
- Padding: not separately verified
|
|
108
|
-
- Height: 33px
|
|
109
|
-
- Font: 14px / 400
|
|
110
|
-
- Use: metadata, category, and filter tags
|
|
111
|
-
|
|
112
|
-
## 5. Layout Principles
|
|
113
|
-
|
|
114
|
-
- Content sits on a soft gray-blue #F5F7F9 canvas, letting white cards and bright accents read as the foreground.
|
|
115
|
-
- Rounded geometry is consistent: 8px on cards and buttons, 20px (fully rounded) on tag chips.
|
|
116
|
-
- Generous, calm spacing keeps the marketplace browsable rather than dense — the surface invites scanning across many courses.
|
|
117
|
-
- Teal is used sparingly as an interactive signal, never as a flood, preserving the quiet neutral base.
|
|
118
|
-
|
|
119
|
-
## 6. Depth & Elevation
|
|
120
|
-
|
|
121
|
-
Hahow's elevation language is restrained and soft rather than dramatic. White cards (#FFFFFF) lift off the gray-blue #F5F7F9 canvas largely through tonal contrast and rounded 8px corners rather than heavy shadow. The teal outline button uses a 2px solid #DCF9F3 border — a pale teal ring — to define its edge instead of a drop shadow, reinforcing a flat, friendly aesthetic. Depth here is implied by layering light surfaces over the muted background, keeping the interface airy and approachable. (Exact shadow values were not captured in the blob and are intentionally not specified.)
|
|
122
|
-
|
|
123
|
-
## 7. Do's and Don'ts
|
|
124
|
-
|
|
125
|
-
### Do
|
|
126
|
-
- Anchor interactive emphasis in the brand teal #00CCB4 from the official tokens.
|
|
127
|
-
- Keep body text in near-black #262626 and secondary text in rgba(0,0,0,0.65) for calm, readable hierarchy.
|
|
128
|
-
- Use the soft #F5F7F9 canvas to let white cards and bright accents stand out.
|
|
129
|
-
- Reserve warm orange #FA8C16 and coral #F65F55 for genuinely promotional moments.
|
|
130
|
-
|
|
131
|
-
### Don't
|
|
132
|
-
- Flood surfaces with teal — it is a signal, not a background.
|
|
133
|
-
- Sharpen the corners; the 8px (and 20px chip) radii are core to the friendly feel.
|
|
134
|
-
- Introduce a heavy, corporate shadow language that contradicts the flat, warm aesthetic.
|
|
135
|
-
- Substitute a non-native typeface for PingFang TC in Traditional-Chinese contexts.
|
|
136
|
-
|
|
137
|
-
## 8. Responsive Behavior
|
|
138
|
-
|
|
139
|
-
The live hahow.in marketplace is a course-browsing surface built to scale from desktop grids to mobile stacks. Cards keep their 8px radius and white #FFFFFF fill across breakpoints, and tag chips stay fully rounded at 20px so metadata remains legible when reflowed. Touch targets hold comfortable heights — the teal outline button at 42px and tag chips at 33px — that translate naturally to mobile tapping. (Specific breakpoint widths were not captured in the blob and are not specified here; the verified pattern is consistent rounding, consistent color roles, and generous tap-friendly sizing across viewports.)
|
|
140
|
-
|
|
141
|
-
## 9. Agent Prompt Guide
|
|
142
|
-
|
|
143
|
-
When generating UI in Hahow's style, instruct the agent: "Use a soft gray-blue page background (#F5F7F9) with white (#FFFFFF) content cards at 8px radius. Make the primary action a teal outline button — transparent background, #00CCB4 text, 2px solid #DCF9F3 border, 8px radius, 42px height, 16px/600 PingFang TC. Render tags as fully-rounded chips (20px radius, 33px height) with a rgba(0,0,0,0.04) fill and rgba(0,0,0,0.65) text at 14px/400. Keep body text near-black (#262626) at 16px and headings at 24px/600. Use teal #00CCB4 only for interactive emphasis. Reserve orange #FA8C16 and coral #F65F55 strictly for promotional callouts. Aim for a warm, encouraging, human EdTech tone — friendly, never corporate."
|
|
144
|
-
|
|
145
|
-
## 10. Voice & Tone
|
|
146
|
-
|
|
147
|
-
Hahow's voice is encouraging and human — the tone of a supportive teacher and a welcoming community of learners (好學校 literally means "good school"). It is warm and approachable rather than corporate or transactional, celebrating curiosity and the act of learning itself. Microcopy should feel like gentle encouragement: inviting people to start, to keep going, to share what they know. Even promotional moments, signaled by the warm orange and coral accents, carry friendliness over hard-sell urgency.
|
|
148
|
-
|
|
149
|
-
## 11. Brand Narrative
|
|
150
|
-
|
|
151
|
-
Hahow built Taiwan's leading EdTech course marketplace on a simple, human premise: everyone has something to learn and something to teach. As 好學校 — "the good school" — it positions itself as an open, encouraging place where knowledge moves between people rather than being handed down from an institution. The visual identity reinforces that story: a bright, friendly teal pulled from its own open-source design system, a soft and unintimidating canvas, rounded approachable shapes, and native Traditional-Chinese typography. Every choice tells the same narrative — learning here is warm, accessible, and on your side.
|
|
152
|
-
|
|
153
|
-
## 12. Principles
|
|
154
|
-
|
|
155
|
-
- **Warmth over polish** — feel like a good teacher, not a sales funnel.
|
|
156
|
-
- **Calm canvas, bright signals** — let the soft #F5F7F9 base carry quiet content while teal and warm accents earn attention.
|
|
157
|
-
- **Rounded and approachable** — consistent 8px / 20px radii keep every surface inviting.
|
|
158
|
-
- **Native and legible** — PingFang TC and near-black #262626 text serve a Traditional-Chinese audience comfortably.
|
|
159
|
-
- **Restraint with the brand color** — teal #00CCB4 marks interaction; it is never wallpaper.
|
|
160
|
-
|
|
161
|
-
## 13. Personas
|
|
162
|
-
|
|
163
|
-
- **The Curious Learner** — browsing the marketplace for a new skill; needs a calm, scannable surface where featured courses (orange/coral accents) stand out and primary actions (teal outline button) are obvious and inviting.
|
|
164
|
-
- **The Knowledge-Sharing Instructor** — creating and publishing courses; needs the platform to feel encouraging and credible, with friendly rounded components and warm tone that lower the barrier to teaching.
|
|
165
|
-
- **The Returning Member** — coming back to continue learning; relies on consistent color roles and tap-friendly components across devices to pick up quickly.
|
|
166
|
-
|
|
167
|
-
## 14. States
|
|
168
|
-
|
|
169
|
-
- **Default action:** teal outline button — transparent background, #00CCB4 text, 2px solid #DCF9F3 border, 8px radius, 42px height.
|
|
170
|
-
- **Neutral / card action:** white card button — #FFFFFF background, #595959 text, 8px radius.
|
|
171
|
-
- **Metadata / tag:** chip — rgba(0,0,0,0.04) fill, rgba(0,0,0,0.65) text, 20px radius, 33px height, 14px/400.
|
|
172
|
-
- **Promotional emphasis:** warm orange #FA8C16 and coral #F65F55 accents for sales and featured callouts.
|
|
173
|
-
- (Hover, pressed, focus, and disabled state values were not captured in the blob and are intentionally not specified; the teal token scale — Primary 400 #23D9BD, Primary 800 #006166 — provides the natural darker steps for any hover/pressed treatment.)
|
|
174
|
-
|
|
175
|
-
## 15. Motion & Easing
|
|
176
|
-
|
|
177
|
-
Hahow's motion language was not captured with specific values in the blob, so no durations or easing curves are specified here. In keeping with the brand's warm, approachable, flat aesthetic, transitions should read as gentle and encouraging rather than abrupt — soft enough to match the rounded geometry and calm canvas, with the teal token scale (Primary 400 #23D9BD into Primary 500 #00CCB4) available for smooth interactive color transitions.
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
**Verified:** 2026-06-01
|
|
181
|
-
**Tier 1 sources:** https://hahow.in (live homepage live-DOM inspect), https://business.hahow.in (brand-owned regional business surface), https://github.com/hahow (brand-owned org hosting the open-source design tokens)
|
|
182
|
-
**Tier 2 sources:** getdesign.md/hahow — NOT LISTED. refero — not listed.
|
|
183
|
-
**Conflicts unresolved:** none
|
|
184
|
-
**Proof:** see .verification.md (## Proof block)
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
# HashiCorp — Verification Notes (2026-05-08)
|
|
2
|
-
|
|
3
|
-
Pipeline: `spec/verification-pipeline.md` · Skill: `omd:migrate`
|
|
4
|
-
|
|
5
|
-
## Tier 1 — live DOM (playwright getComputedStyle)
|
|
6
|
-
|
|
7
|
-
### Surfaces inspected (G3 ≥2)
|
|
8
|
-
- `hashicorp.com/en` (corporate home — IBM Company chrome, Infrastructure Cloud positioning)
|
|
9
|
-
- `hashicorp.com/en/products/terraform` (Terraform product page — product-specific accent)
|
|
10
|
-
|
|
11
|
-
### Raw observations
|
|
12
|
-
|
|
13
|
-
**Get started — Hero/Header Primary (HC Blue)**
|
|
14
|
-
- bg `rgb(16, 96, 255)` = **`#1060ff`** (HashiCorp Blue)
|
|
15
|
-
- color `#ffffff`
|
|
16
|
-
- radius **5px**
|
|
17
|
-
- padding 9×15
|
|
18
|
-
- 36px / 16px·500
|
|
19
|
-
- Use: shared Primary CTA across home + Terraform
|
|
20
|
-
|
|
21
|
-
**Sign up / Sign up for free — Terraform Page Primary (Terraform Purple)**
|
|
22
|
-
- bg `rgb(123, 66, 188)` = **`#7b42bc`** (Terraform Purple — product-specific accent)
|
|
23
|
-
- color `#fff`
|
|
24
|
-
- radius 5px
|
|
25
|
-
- padding 11×19
|
|
26
|
-
- 48px / 16px·500
|
|
27
|
-
- Use: hero Primary on Terraform product page; **Each HashiCorp product has its own accent color**
|
|
28
|
-
|
|
29
|
-
**Contact us / Talk to us / Meet The Infrastructure Cloud / Learn more — Light Secondary**
|
|
30
|
-
- bg `rgb(250, 250, 250)` = `#fafafa` (Near-White Surface)
|
|
31
|
-
- color `rgb(59, 61, 69)` = `#3b3d45` (HC Charcoal)
|
|
32
|
-
- radius 5px
|
|
33
|
-
- padding 9×15 (compact) / 11×19 (hero)
|
|
34
|
-
- 36px / 48px / 16px·500
|
|
35
|
-
- Use: Secondary CTAs across all surfaces
|
|
36
|
-
|
|
37
|
-
**Nav Items — Solutions/Products/Pricing/Developers/Resources/Company**
|
|
38
|
-
- bg `#ffffff`
|
|
39
|
-
- color `#3b3d45` (HC Charcoal)
|
|
40
|
-
- radius **4px**
|
|
41
|
-
- padding 8×12
|
|
42
|
-
- 40px / 15.008px·500
|
|
43
|
-
- Use: top-level nav (note 4px vs 5px CTAs — intentional sub-nav distinction)
|
|
44
|
-
|
|
45
|
-
**Log in — Header Ghost (HC Blue Text)**
|
|
46
|
-
- bg transparent
|
|
47
|
-
- color `rgb(16, 96, 255)` = `#1060ff`
|
|
48
|
-
- radius 0px
|
|
49
|
-
- padding 4×0
|
|
50
|
-
- 34px / 16px·500
|
|
51
|
-
- Use: header utility ghost
|
|
52
|
-
|
|
53
|
-
### Single-system: 5px CTA / 4px nav + per-product accent
|
|
54
|
-
|
|
55
|
-
HashiCorp uses **one button geometry with per-product accent**:
|
|
56
|
-
- Shared chrome: `#1060ff` HC Blue Primary, `#fafafa`/`#3b3d45` Light Secondary, all **5px** radius / **500** weight
|
|
57
|
-
- Product-page Primary swaps to product-specific accent: **Terraform `#7b42bc` Purple** (others to verify per product)
|
|
58
|
-
- Two height tiers: 36px (header/inline) / 48px (hero/page-CTA)
|
|
59
|
-
- Nav items use **4px** (1px less than CTAs) for intentional sub-hierarchy distinction
|
|
60
|
-
- Padding: 9×15 (compact) / 11×19 (hero) — proportional
|
|
61
|
-
|
|
62
|
-
This is a sophisticated multi-product DS pattern — shared chrome with per-product accents, all rooted in the same 5px / 500-weight / Charcoal-text discipline.
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Tier 2a — getdesign.md
|
|
67
|
-
- `getdesign.md/hashicorp` — directory only
|
|
68
|
-
|
|
69
|
-
## Tier 2b — styles.refero.design
|
|
70
|
-
- `?q=HashiCorp` — no record
|
|
71
|
-
|
|
72
|
-
**Tier 2 status: unavailable.** Tier 1 (hashicorp.com home + terraform) treated as authoritative.
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Conflict Matrix
|
|
77
|
-
|
|
78
|
-
| Field | Tier 1 home | Tier 1 terraform | refero/getdesign | Resolution |
|
|
79
|
-
|---|---|---|---|---|
|
|
80
|
-
| Shared Primary bg | `#1060ff` HC Blue | `#1060ff` ✓ | n/a | ✓ canonical |
|
|
81
|
-
| Product Primary bg | n/a | `#7b42bc` Terraform Purple | n/a | ✓ per-product accent |
|
|
82
|
-
| Primary radius | 5px | 5px ✓ | n/a | ✓ |
|
|
83
|
-
| Primary padding | 9×15 / 11×19 | 11×19 ✓ | n/a | ✓ contextual |
|
|
84
|
-
| Primary height | 36 / 48 | 48 ✓ | n/a | ✓ |
|
|
85
|
-
| Primary font | 16px·500 | 16px·500 ✓ | n/a | ✓ |
|
|
86
|
-
| Light Secondary | `#fafafa` w/ `#3b3d45` text | `#fafafa` w/ `#3b3d45` ✓ | n/a | ✓ |
|
|
87
|
-
| Nav radius | 4px | 4px ✓ | n/a | ✓ sub-nav distinction |
|
|
88
|
-
|
|
89
|
-
### Unresolved
|
|
90
|
-
- **None.** Single-system canonical with documented per-product accent system.
|
|
91
|
-
|
|
92
|
-
### Earlier mistakes reverted
|
|
93
|
-
- Prior footer claimed only "nav `#3b3d45` 4-5px / 15px·500" — captured the navigation chrome but missed the canonical Primary CTA `#1060ff` HC Blue and the per-product accent pattern (Terraform Purple `#7b42bc`). §4 should document both shared CTA + per-product accent system.
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## Components in §4
|
|
98
|
-
|
|
99
|
-
§4 (prior B3 batch) — needs:
|
|
100
|
-
1. Shared Primary `#1060ff` HC Blue 5px / 36-48px / 500
|
|
101
|
-
2. Light Secondary `#fafafa` / `#3b3d45` text
|
|
102
|
-
3. Per-product accent variants (Terraform Purple `#7b42bc` confirmed; Vault Yellow / Consul Pink / Nomad Green / Boundary Salmon / Packer Blue per HC brand history — to be verified per product surface)
|
|
103
|
-
4. Nav 4px sub-distinction
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Philosophy sources (G6)
|
|
108
|
-
|
|
109
|
-
### Founder/founding facts
|
|
110
|
-
- **HashiCorp founded 2012** in San Francisco
|
|
111
|
-
- Source: [HashiCorp — Wikipedia](https://en.wikipedia.org/wiki/HashiCorp)
|
|
112
|
-
- Source: [HashiCorp — Origin Story](https://www.hashicorp.com/en/about/origin-story)
|
|
113
|
-
- Founders: **Mitchell Hashimoto** + **Armon Dadgar**
|
|
114
|
-
- **Met 2008 at University of Washington Paul G. Allen School of CS** working on a research project bringing AWS/Azure cloud tech to scientific computing
|
|
115
|
-
- Source: [Mayfield — HashiCorp Journey](https://www.mayfield.com/founder-stories/the-hashicorp-journey-the-rise-of-a-cloud-powerhouse/)
|
|
116
|
-
- **Hashimoto created Vagrant + Terraform** before/during HashiCorp founding
|
|
117
|
-
- **NASDAQ IPO December 9 2021** ticker **HCP** at **$80/share** (above $68-72 range), **~$13B valuation**
|
|
118
|
-
- **IBM acquisition announced April 24 2024 for $6.4B**; **closed February 27 2025** after regulatory clearance
|
|
119
|
-
- Source: [HashiCorp — Officially joins IBM family](https://www.hashicorp.com/en/blog/hashicorp-officially-joins-the-ibm-family)
|
|
120
|
-
- **Hashimoto resigned December 2023** ahead of IBM deal
|
|
121
|
-
- Post-HashiCorp: **Ghostty** GPU-accelerated terminal (Dec 2024) + **Vercel board** (March 2026)
|
|
122
|
-
- Source: [BusinessWire — Vercel + Hashimoto board](https://www.businesswire.com/news/home/20260318957008/en/Vercel-Appoints-Mitchell-Hashimoto-Co-Founder-of-HashiCorp-and-Creator-of-Terraform-to-Board-of-Directors)
|
|
123
|
-
- **Dadgar interview 48hrs after IBM sale** — Logan Bartlett Show ep 102
|
|
124
|
-
|
|
125
|
-
### Voice samples (live-verified)
|
|
126
|
-
- *"Get started"* — shared Primary <!-- verified: hashicorp.com/en 2026-05 -->
|
|
127
|
-
- *"Sign up"* / *"Sign up for free"* — Terraform Primary (Purple) <!-- verified: hashicorp.com/en/products/terraform -->
|
|
128
|
-
- *"Contact us"* / *"Talk to us"* — Light Secondary <!-- verified: hashicorp.com/en -->
|
|
129
|
-
- *"Meet The Infrastructure Cloud"* — hero secondary <!-- verified: hashicorp.com/en -->
|
|
130
|
-
- *"Learn more"* — feature card CTA <!-- verified: hashicorp.com/en -->
|
|
131
|
-
|
|
132
|
-
### Existing §10-15 retained from prior augmentation (B3 batch)
|
|
133
|
-
- Voice & Tone — open-source-first / platform-engineering register
|
|
134
|
-
- §11 narrative — UW Allen School origin / IBM acquisition
|
|
135
|
-
- §15 Standard cubic-bezier; focus rings never animate (a11y)
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
**Verified-against:**
|
|
140
|
-
- Tier 1: hashicorp.com/en, hashicorp.com/en/products/terraform (live DOM via playwright)
|
|
141
|
-
- Tier 2: refero/getdesign — no record
|
|
142
|
-
- Founders/IPO/IBM: Wikipedia (HashiCorp), HashiCorp Origin Story, Mayfield, BusinessWire, Logan Bartlett Show, HashiCorp blog
|