zugzbot 1.0.21 → 1.0.22
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 +1 -0
- package/.opencode/agents/sdd-orchestrator.md +1 -0
- package/.opencode/skills/sdd-methodology/SKILL.md +8 -0
- package/.opencode/skills/sdd-tester-quickstart/SKILL.md +6 -0
- package/.opencode/tools/sdd_testing.ts +93 -0
- package/opencode.json +8 -0
- package/package.json +14 -4
- package/.opencode/active-brief.md +0 -38
- package/.opencode/docs/shadcn/agents/openai.yml +0 -5
- package/.opencode/docs/shadcn/assets/shadcn-small.png +0 -0
- package/.opencode/docs/shadcn/assets/shadcn.png +0 -0
- package/.opencode/docs/shadcn/cli.md +0 -290
- package/.opencode/docs/shadcn/customization.md +0 -209
- package/.opencode/docs/shadcn/evals/evals.json +0 -47
- package/.opencode/docs/shadcn/mcp.md +0 -105
- package/.opencode/docs/shadcn/registry.md +0 -277
- package/.opencode/docs/shadcn/rules/base-vs-radix.md +0 -306
- package/.opencode/docs/shadcn/rules/composition.md +0 -195
- package/.opencode/docs/shadcn/rules/forms.md +0 -192
- package/.opencode/docs/shadcn/rules/icons.md +0 -101
- package/.opencode/docs/shadcn/rules/styling.md +0 -162
- package/.opencode/oh-my-design/.agents/skills/google-analytics/EXAMPLES.md +0 -441
- package/.opencode/oh-my-design/.agents/skills/google-analytics/REFERENCE.md +0 -342
- package/.opencode/oh-my-design/.agents/skills/google-analytics/SKILL.md +0 -153
- package/.opencode/oh-my-design/.agents/skills/google-analytics/requirements.txt +0 -6
- package/.opencode/oh-my-design/.agents/skills/google-analytics/scripts/analyze.py +0 -459
- package/.opencode/oh-my-design/.agents/skills/google-analytics/scripts/ga_client.py +0 -345
- package/.opencode/oh-my-design/.claude/agents/omd-a11y-auditor.md +0 -98
- package/.opencode/oh-my-design/.claude/agents/omd-asset-curator.md +0 -99
- package/.opencode/oh-my-design/.claude/agents/omd-codex-image.md +0 -49
- package/.opencode/oh-my-design/.claude/agents/omd-critic.md +0 -142
- package/.opencode/oh-my-design/.claude/agents/omd-designer-review.md +0 -38
- package/.opencode/oh-my-design/.claude/agents/omd-final-qa.md +0 -40
- package/.opencode/oh-my-design/.claude/agents/omd-kr-writer.md +0 -35
- package/.opencode/oh-my-design/.claude/agents/omd-locale-adapter.md +0 -32
- package/.opencode/oh-my-design/.claude/agents/omd-master.md +0 -317
- package/.opencode/oh-my-design/.claude/agents/omd-microcopy.md +0 -64
- package/.opencode/oh-my-design/.claude/agents/omd-orchestrator.md +0 -34
- package/.opencode/oh-my-design/.claude/agents/omd-persona-tester.md +0 -119
- package/.opencode/oh-my-design/.claude/agents/omd-ui-junior.md +0 -130
- package/.opencode/oh-my-design/.claude/agents/omd-ux-researcher.md +0 -63
- package/.opencode/oh-my-design/.claude/data/opt-out-corpus.json +0 -141
- package/.opencode/oh-my-design/.claude/data/reference-fingerprints.json +0 -6142
- package/.opencode/oh-my-design/.claude/data/reference-tags.md +0 -104
- package/.opencode/oh-my-design/.claude/data/synonyms.json +0 -79
- package/.opencode/oh-my-design/.claude/data/vocabulary.json +0 -516
- package/.opencode/oh-my-design/.claude/hooks/lib/preferences-parser.cjs +0 -91
- package/.opencode/oh-my-design/.claude/hooks/lib/preferences-writer.cjs +0 -118
- package/.opencode/oh-my-design/.claude/hooks/post-edit-watch.cjs +0 -295
- package/.opencode/oh-my-design/.claude/hooks/session-end-foldin.cjs +0 -149
- package/.opencode/oh-my-design/.claude/hooks/session-state-loader.cjs +0 -113
- package/.opencode/oh-my-design/.claude/hooks/skill-activation.cjs +0 -108
- package/.opencode/oh-my-design/.claude/settings.json +0 -55
- package/.opencode/oh-my-design/.claude/skills/omd/SKILL.md +0 -133
- package/.opencode/oh-my-design/.claude/skills/omd-add-reference/SKILL.md +0 -381
- package/.opencode/oh-my-design/.claude/skills/omd-add-reference/batch-instructions.md +0 -111
- package/.opencode/oh-my-design/.claude/skills/omd-apply/SKILL.md +0 -87
- package/.opencode/oh-my-design/.claude/skills/omd-batch-launch/SKILL.md +0 -270
- package/.opencode/oh-my-design/.claude/skills/omd-codex-image/SKILL.md +0 -162
- package/.opencode/oh-my-design/.claude/skills/omd-component-harvest/SKILL.md +0 -59
- package/.opencode/oh-my-design/.claude/skills/omd-designer-review/SKILL.md +0 -146
- package/.opencode/oh-my-design/.claude/skills/omd-final-qa/SKILL.md +0 -153
- package/.opencode/oh-my-design/.claude/skills/omd-harness/SKILL.md +0 -234
- package/.opencode/oh-my-design/.claude/skills/omd-init/SKILL.md +0 -169
- package/.opencode/oh-my-design/.claude/skills/omd-kr-writer/SKILL.md +0 -229
- package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/SKILL.md +0 -53
- package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/compare.md +0 -30
- package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v1.md +0 -42
- package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v2.md +0 -34
- package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v3.md +0 -33
- package/.opencode/oh-my-design/.claude/skills/omd-lab-01-designmd-impact/playbooks/v4.md +0 -37
- package/.opencode/oh-my-design/.claude/skills/omd-lab-02-design-harness/SKILL.md +0 -131
- package/.opencode/oh-my-design/.claude/skills/omd-learn/SKILL.md +0 -83
- package/.opencode/oh-my-design/.claude/skills/omd-locale-adapter/SKILL.md +0 -124
- package/.opencode/oh-my-design/.claude/skills/omd-migrate/SKILL.md +0 -307
- package/.opencode/oh-my-design/.claude/skills/omd-orchestrator/SKILL.md +0 -124
- package/.opencode/oh-my-design/.claude/skills/omd-release-hygiene/SKILL.md +0 -113
- package/.opencode/oh-my-design/.claude/skills/omd-remember/SKILL.md +0 -46
- package/.opencode/oh-my-design/.claude/skills/omd-sync/SKILL.md +0 -40
- package/.opencode/oh-my-design/.claude/skills/omd-token-backfill/SKILL.md +0 -57
- package/.opencode/oh-my-design/.claude/skills/skill-rules.json +0 -84
- package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/agent-fidelity.md +0 -59
- package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/bug-report.md +0 -36
- package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/config.yml +0 -8
- package/.opencode/oh-my-design/.github/ISSUE_TEMPLATE/feature-request.md +0 -26
- package/.opencode/oh-my-design/.github/PULL_REQUEST_TEMPLATE.md +0 -134
- package/.opencode/oh-my-design/.github/assets/logo-bg.png +0 -0
- package/.opencode/oh-my-design/.github/workflows/release.yml +0 -55
- package/.opencode/oh-my-design/.husky/pre-commit +0 -23
- package/.opencode/oh-my-design/.mcp.json +0 -12
- package/.opencode/oh-my-design/AGENTS.md +0 -112
- package/.opencode/oh-my-design/CHANGELOG.md +0 -385
- package/.opencode/oh-my-design/LICENSE +0 -21
- package/.opencode/oh-my-design/README.ja.md +0 -74
- package/.opencode/oh-my-design/README.ko.md +0 -112
- package/.opencode/oh-my-design/README.md +0 -112
- package/.opencode/oh-my-design/README.zh-TW.md +0 -74
- package/.opencode/oh-my-design/agents/AGENT.md +0 -53
- package/.opencode/oh-my-design/agents/omd-a11y-auditor.md +0 -97
- package/.opencode/oh-my-design/agents/omd-asset-curator.md +0 -255
- package/.opencode/oh-my-design/agents/omd-codex-image.md +0 -49
- package/.opencode/oh-my-design/agents/omd-critic.md +0 -181
- package/.opencode/oh-my-design/agents/omd-designer-review.md +0 -38
- package/.opencode/oh-my-design/agents/omd-final-qa.md +0 -40
- package/.opencode/oh-my-design/agents/omd-kr-writer.md +0 -35
- package/.opencode/oh-my-design/agents/omd-locale-adapter.md +0 -32
- package/.opencode/oh-my-design/agents/omd-master.md +0 -559
- package/.opencode/oh-my-design/agents/omd-microcopy.md +0 -63
- package/.opencode/oh-my-design/agents/omd-orchestrator.md +0 -34
- package/.opencode/oh-my-design/agents/omd-persona-tester.md +0 -118
- package/.opencode/oh-my-design/agents/omd-ui-junior.md +0 -129
- package/.opencode/oh-my-design/agents/omd-ux-engineer.md +0 -267
- package/.opencode/oh-my-design/agents/omd-ux-researcher.md +0 -62
- package/.opencode/oh-my-design/agents/omd-ux-writer.md +0 -181
- package/.opencode/oh-my-design/bin/oh-my-design.ts +0 -77
- package/.opencode/oh-my-design/data/architecture-proposals/1.7.2-recommend-install-feedback.md +0 -614
- package/.opencode/oh-my-design/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +0 -189
- package/.opencode/oh-my-design/data/issues/2026-05-13-multi-surface-schema-rfc.md +0 -67
- package/.opencode/oh-my-design/data/opt-out-corpus.json +0 -141
- package/.opencode/oh-my-design/data/reference-audits/2026-05-13-kr10.md +0 -132
- package/.opencode/oh-my-design/data/reference-audits/2026-05-14-kr10.md +0 -72
- package/.opencode/oh-my-design/data/reference-audits/2026-05-15-kr10.md +0 -124
- package/.opencode/oh-my-design/data/reference-fingerprints.json +0 -6142
- package/.opencode/oh-my-design/data/reference-tags.md +0 -118
- package/.opencode/oh-my-design/data/synonyms.json +0 -79
- package/.opencode/oh-my-design/data/vocabulary.json +0 -516
- package/.opencode/oh-my-design/packages/mcp/README.md +0 -172
- package/.opencode/oh-my-design/packages/mcp/__tests__/smoke.test.ts +0 -64
- package/.opencode/oh-my-design/packages/mcp/data/.gitkeep +0 -0
- package/.opencode/oh-my-design/packages/mcp/scripts/sync-data.mjs +0 -38
- package/.opencode/oh-my-design/packages/mcp/src/data.ts +0 -178
- package/.opencode/oh-my-design/packages/mcp/src/index.ts +0 -58
- package/.opencode/oh-my-design/packages/mcp/src/prompts/design-from-ref.ts +0 -87
- package/.opencode/oh-my-design/packages/mcp/src/server.ts +0 -223
- package/.opencode/oh-my-design/packages/mcp/src/tools/get-design-md.ts +0 -44
- package/.opencode/oh-my-design/packages/mcp/src/tools/list-references.ts +0 -58
- package/.opencode/oh-my-design/packages/mcp/src/tools/search-by-vibe.ts +0 -114
- package/.opencode/oh-my-design/packages/mcp/tsconfig.json +0 -21
- package/.opencode/oh-my-design/packages/mcp/tsup.config.ts +0 -17
- package/.opencode/oh-my-design/packages/mcp/vitest.config.ts +0 -8
- package/.opencode/oh-my-design/scripts/bench/README.md +0 -72
- package/.opencode/oh-my-design/scripts/bench/score-init.mjs +0 -97
- package/.opencode/oh-my-design/scripts/bench/score-taste.mjs +0 -189
- package/.opencode/oh-my-design/scripts/check-release-hygiene.sh +0 -83
- package/.opencode/oh-my-design/scripts/context.cjs +0 -91
- package/.opencode/oh-my-design/scripts/ctx-prime.cjs +0 -266
- package/.opencode/oh-my-design/scripts/gen-llms-full.cjs +0 -143
- package/.opencode/oh-my-design/scripts/growth-snapshot.mjs +0 -59
- package/.opencode/oh-my-design/scripts/postinstall.cjs +0 -54
- package/.opencode/oh-my-design/scripts/smoke-md-twins.mjs +0 -98
- package/.opencode/oh-my-design/skills/claude-design/SKILL.md +0 -390
- package/.opencode/oh-my-design/skills/claude-design/references/claude-design-flow.md +0 -425
- package/.opencode/oh-my-design/skills/claude-design/references/codebase-analysis.md +0 -373
- package/.opencode/oh-my-design/skills/claude-design/scripts/analyze_codebase.py +0 -1369
- package/.opencode/oh-my-design/skills/claude-design/scripts/clickable_link.sh +0 -48
- package/.opencode/oh-my-design/skills/claude-design/scripts/collect_source.py +0 -178
- package/.opencode/oh-my-design/skills/claude-design/scripts/drive_claude_design.cjs +0 -378
- package/.opencode/oh-my-design/skills/claude-design/scripts/gather_references.py +0 -437
- package/.opencode/oh-my-design/skills/omd-apply/SKILL.md +0 -107
- package/.opencode/oh-my-design/skills/omd-asset-fetch/SKILL.md +0 -213
- package/.opencode/oh-my-design/skills/omd-codex-image/SKILL.md +0 -162
- package/.opencode/oh-my-design/skills/omd-designer-review/SKILL.md +0 -180
- package/.opencode/oh-my-design/skills/omd-experiment-gallery/SKILL.md +0 -164
- package/.opencode/oh-my-design/skills/omd-final-qa/SKILL.md +0 -182
- package/.opencode/oh-my-design/skills/omd-harness/SKILL.md +0 -726
- package/.opencode/oh-my-design/skills/omd-init/SKILL.md +0 -314
- package/.opencode/oh-my-design/skills/omd-kr-writer/SKILL.md +0 -299
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/SKILL.md +0 -129
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/playbooks/v1.md +0 -105
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/live-2026-04-27-water-app/feedback-log.md +0 -230
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/README.md +0 -46
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/founder/README.md +0 -7
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/junior-designer/src/components/Hero.tsx +0 -1
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/junior-designer/src/components/Project.tsx +0 -1
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Accordion.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Alert.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Avatar.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Badge.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Breadcrumb.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Button.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Card.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Combobox.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/DataTable.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Dialog.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Drawer.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Field.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Form.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Input.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Menu.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Modal.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Pagination.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Popover.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Select.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Sheet.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Spinner.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Tabs.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Toast.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/Tooltip.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/senior-dev/src/components/VirtualList.tsx +0 -4
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Alert.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Avatar.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Badge.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Button.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Card.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Input.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Modal.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Spinner.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Tabs.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/components/Toast.tsx +0 -3
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/src/styles/globals.css +0 -25
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/fixtures/vibe-coder/tailwind.config.ts +0 -28
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i1-findings.md +0 -51
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-F.md +0 -133
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-J.md +0 -171
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-S.md +0 -232
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-audit-V.md +0 -73
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/iterations/i2-consolidated.md +0 -69
- package/.opencode/oh-my-design/skills/omd-lab-02-design-harness/runs/v4-self-test/postmortem.md +0 -128
- package/.opencode/oh-my-design/skills/omd-learn/SKILL.md +0 -121
- package/.opencode/oh-my-design/skills/omd-locale-adapter/SKILL.md +0 -124
- package/.opencode/oh-my-design/skills/omd-orchestrator/SKILL.md +0 -124
- package/.opencode/oh-my-design/skills/omd-reference-capture/SKILL.md +0 -722
- package/.opencode/oh-my-design/skills/omd-remember/SKILL.md +0 -122
- package/.opencode/oh-my-design/skills/omd-sync/SKILL.md +0 -162
- package/.opencode/oh-my-design/skills/omd-taste/SKILL.md +0 -79
- package/.opencode/oh-my-design/skills-lock.json +0 -10
- package/.opencode/oh-my-design/spec/components-schema.md +0 -179
- package/.opencode/oh-my-design/spec/migration-checklist.md +0 -148
- package/.opencode/oh-my-design/spec/migration-plan.md +0 -124
- package/.opencode/oh-my-design/spec/omd-v0.1.md +0 -382
- package/.opencode/oh-my-design/spec/regional-sources.yaml +0 -77
- package/.opencode/oh-my-design/spec/verification-pipeline.md +0 -154
- package/.opencode/oh-my-design/src/cli/install-skills.ts +0 -1116
- package/.opencode/oh-my-design/src/core/agent-detect.ts +0 -49
- package/.opencode/oh-my-design/test/README.md +0 -89
- package/.opencode/oh-my-design/test/scripts/check-backgrounds.ts +0 -10
- package/.opencode/oh-my-design/test/scripts/generate-preview.ts +0 -42
- package/.opencode/oh-my-design/test/unit/cli/install-skills.test.ts +0 -227
- package/.opencode/oh-my-design/test/unit/core/agent-detect.test.ts +0 -97
- package/.opencode/oh-my-design/test/unit/core/catalog-resolution-order.test.ts +0 -73
- package/.opencode/oh-my-design/test/unit/hooks/hooks.test.ts +0 -499
- package/.opencode/oh-my-design/tsconfig.json +0 -20
- package/.opencode/oh-my-design/tsup.config.ts +0 -12
- package/.opencode/oh-my-design/vitest.config.ts +0 -13
- package/.opencode/oh-my-design/web/.env.example +0 -21
- package/.opencode/oh-my-design/web/AGENTS.md +0 -5
- package/.opencode/oh-my-design/web/CLAUDE.md +0 -1
- package/.opencode/oh-my-design/web/README.md +0 -45
- package/.opencode/oh-my-design/web/__tests__/catalog-integrity.test.ts +0 -333
- package/.opencode/oh-my-design/web/components.json +0 -25
- package/.opencode/oh-my-design/web/docs/font-playground-analytics.md +0 -110
- package/.opencode/oh-my-design/web/eslint.config.mjs +0 -18
- package/.opencode/oh-my-design/web/next.config.ts +0 -31
- package/.opencode/oh-my-design/web/postcss.config.mjs +0 -7
- package/.opencode/oh-my-design/web/public/file.svg +0 -1
- package/.opencode/oh-my-design/web/public/globe.svg +0 -1
- package/.opencode/oh-my-design/web/public/llms-full.txt +0 -3149
- package/.opencode/oh-my-design/web/public/llms.ko.txt +0 -130
- package/.opencode/oh-my-design/web/public/llms.txt +0 -377
- package/.opencode/oh-my-design/web/public/logo-white.png +0 -0
- package/.opencode/oh-my-design/web/public/logo.png +0 -0
- package/.opencode/oh-my-design/web/public/next.svg +0 -1
- package/.opencode/oh-my-design/web/public/og-image.png +0 -0
- package/.opencode/oh-my-design/web/public/twitter-image.png +0 -0
- package/.opencode/oh-my-design/web/public/vercel.svg +0 -1
- package/.opencode/oh-my-design/web/public/window.svg +0 -1
- package/.opencode/oh-my-design/web/references/11st/.verification.md +0 -37
- package/.opencode/oh-my-design/web/references/11st/DESIGN.md +0 -400
- package/.opencode/oh-my-design/web/references/17live/DESIGN.md +0 -467
- package/.opencode/oh-my-design/web/references/29cm/DESIGN.md +0 -495
- package/.opencode/oh-my-design/web/references/29cm/_promo.json +0 -23
- package/.opencode/oh-my-design/web/references/29cm/_research.md +0 -103
- package/.opencode/oh-my-design/web/references/3o3/.verification.md +0 -73
- package/.opencode/oh-my-design/web/references/3o3/DESIGN.md +0 -454
- package/.opencode/oh-my-design/web/references/91app/.verification.md +0 -25
- package/.opencode/oh-my-design/web/references/91app/DESIGN.md +0 -182
- package/.opencode/oh-my-design/web/references/abema/.verification.md +0 -64
- package/.opencode/oh-my-design/web/references/abema/DESIGN.md +0 -535
- package/.opencode/oh-my-design/web/references/ably/DESIGN.md +0 -646
- package/.opencode/oh-my-design/web/references/ably/_promo.json +0 -18
- package/.opencode/oh-my-design/web/references/ably/_research.md +0 -120
- package/.opencode/oh-my-design/web/references/accupass/.verification.md +0 -66
- package/.opencode/oh-my-design/web/references/accupass/DESIGN.md +0 -494
- package/.opencode/oh-my-design/web/references/adobe/.verification.md +0 -63
- package/.opencode/oh-my-design/web/references/adobe/DESIGN.md +0 -458
- package/.opencode/oh-my-design/web/references/airbnb/.verification.md +0 -143
- package/.opencode/oh-my-design/web/references/airbnb/DESIGN.md +0 -639
- package/.opencode/oh-my-design/web/references/airbnb/README.md +0 -23
- package/.opencode/oh-my-design/web/references/airbnb/preview-dark.html +0 -234
- package/.opencode/oh-my-design/web/references/airbnb/preview.html +0 -233
- package/.opencode/oh-my-design/web/references/airtable/.verification.md +0 -136
- package/.opencode/oh-my-design/web/references/airtable/DESIGN.md +0 -314
- package/.opencode/oh-my-design/web/references/airtable/README.md +0 -23
- package/.opencode/oh-my-design/web/references/airtable/preview-dark.html +0 -165
- package/.opencode/oh-my-design/web/references/airtable/preview.html +0 -164
- package/.opencode/oh-my-design/web/references/alipay/DESIGN.md +0 -506
- package/.opencode/oh-my-design/web/references/amazingtalker/.verification.md +0 -38
- package/.opencode/oh-my-design/web/references/amazingtalker/DESIGN.md +0 -434
- package/.opencode/oh-my-design/web/references/appier/DESIGN.md +0 -465
- package/.opencode/oh-my-design/web/references/apple/.verification.md +0 -162
- package/.opencode/oh-my-design/web/references/apple/DESIGN.md +0 -613
- package/.opencode/oh-my-design/web/references/apple/README.md +0 -24
- package/.opencode/oh-my-design/web/references/apple/preview-dark.html +0 -420
- package/.opencode/oh-my-design/web/references/apple/preview.html +0 -414
- package/.opencode/oh-my-design/web/references/baemin/.verification.md +0 -132
- package/.opencode/oh-my-design/web/references/baemin/DESIGN.md +0 -578
- package/.opencode/oh-my-design/web/references/baemin/README.md +0 -19
- package/.opencode/oh-my-design/web/references/baemin/_research.md +0 -84
- package/.opencode/oh-my-design/web/references/banksalad/DESIGN.md +0 -688
- package/.opencode/oh-my-design/web/references/banksalad/_promo.json +0 -29
- package/.opencode/oh-my-design/web/references/banksalad/_research.md +0 -190
- package/.opencode/oh-my-design/web/references/bilibili/DESIGN.md +0 -471
- package/.opencode/oh-my-design/web/references/bithumb/.verification.md +0 -31
- package/.opencode/oh-my-design/web/references/bithumb/DESIGN.md +0 -208
- package/.opencode/oh-my-design/web/references/bmw/.verification.md +0 -114
- package/.opencode/oh-my-design/web/references/bmw/DESIGN.md +0 -360
- package/.opencode/oh-my-design/web/references/bmw/README.md +0 -23
- package/.opencode/oh-my-design/web/references/bmw/preview-dark.html +0 -211
- package/.opencode/oh-my-design/web/references/bmw/preview.html +0 -210
- package/.opencode/oh-my-design/web/references/brandi/.verification.md +0 -29
- package/.opencode/oh-my-design/web/references/brandi/DESIGN.md +0 -414
- package/.opencode/oh-my-design/web/references/bunjang/DESIGN.md +0 -374
- package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/.live-inspect-proof.json +0 -260
- package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/fonts.json +0 -33
- package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/logo-icon.svg +0 -10
- package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/structure.json +0 -131
- package/.opencode/oh-my-design/web/references/bunjang/assets/_reference/tokens.json +0 -147
- package/.opencode/oh-my-design/web/references/cakeresume/.verification.md +0 -25
- package/.opencode/oh-my-design/web/references/cakeresume/DESIGN.md +0 -191
- package/.opencode/oh-my-design/web/references/cal/.verification.md +0 -145
- package/.opencode/oh-my-design/web/references/cal/DESIGN.md +0 -481
- package/.opencode/oh-my-design/web/references/cal/README.md +0 -23
- package/.opencode/oh-my-design/web/references/cal/preview-dark.html +0 -449
- package/.opencode/oh-my-design/web/references/cal/preview.html +0 -575
- package/.opencode/oh-my-design/web/references/catchtable/DESIGN.md +0 -341
- package/.opencode/oh-my-design/web/references/catchtable/_research.md +0 -54
- package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/.live-inspect-proof.json +0 -204
- package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/.live-inspect-raw.json +0 -22
- package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/fonts.json +0 -21
- package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/structure.json +0 -42
- package/.opencode/oh-my-design/web/references/catchtable/assets/_reference/tokens.json +0 -95
- package/.opencode/oh-my-design/web/references/cathay/.verification.md +0 -44
- package/.opencode/oh-my-design/web/references/cathay/DESIGN.md +0 -432
- package/.opencode/oh-my-design/web/references/channeltalk/DESIGN.md +0 -422
- package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/.live-inspect-proof.json +0 -320
- package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/fonts.json +0 -53
- package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/structure.json +0 -47
- package/.opencode/oh-my-design/web/references/channeltalk/assets/_reference/tokens.json +0 -78
- package/.opencode/oh-my-design/web/references/class101/DESIGN.md +0 -484
- package/.opencode/oh-my-design/web/references/classting/.verification.md +0 -32
- package/.opencode/oh-my-design/web/references/classting/DESIGN.md +0 -292
- package/.opencode/oh-my-design/web/references/classum/DESIGN.md +0 -279
- package/.opencode/oh-my-design/web/references/classum/assets/_reference/.live-inspect-proof.json +0 -72
- package/.opencode/oh-my-design/web/references/classum/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/web/references/classum/assets/_reference/structure.json +0 -21
- package/.opencode/oh-my-design/web/references/classum/assets/_reference/tokens.json +0 -56
- package/.opencode/oh-my-design/web/references/claude/.verification.md +0 -106
- package/.opencode/oh-my-design/web/references/claude/DESIGN.md +0 -561
- package/.opencode/oh-my-design/web/references/claude/README.md +0 -24
- package/.opencode/oh-my-design/web/references/claude/preview-dark.html +0 -803
- package/.opencode/oh-my-design/web/references/claude/preview.html +0 -826
- package/.opencode/oh-my-design/web/references/clay/.verification.md +0 -129
- package/.opencode/oh-my-design/web/references/clay/DESIGN.md +0 -454
- package/.opencode/oh-my-design/web/references/clay/README.md +0 -23
- package/.opencode/oh-my-design/web/references/clay/preview-dark.html +0 -316
- package/.opencode/oh-my-design/web/references/clay/preview.html +0 -315
- package/.opencode/oh-my-design/web/references/clickhouse/.verification.md +0 -132
- package/.opencode/oh-my-design/web/references/clickhouse/DESIGN.md +0 -424
- package/.opencode/oh-my-design/web/references/clickhouse/README.md +0 -24
- package/.opencode/oh-my-design/web/references/clickhouse/preview-dark.html +0 -834
- package/.opencode/oh-my-design/web/references/clickhouse/preview.html +0 -786
- package/.opencode/oh-my-design/web/references/cloudflare/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/cloudflare/DESIGN.md +0 -637
- package/.opencode/oh-my-design/web/references/cohere/.verification.md +0 -136
- package/.opencode/oh-my-design/web/references/cohere/DESIGN.md +0 -409
- package/.opencode/oh-my-design/web/references/cohere/README.md +0 -24
- package/.opencode/oh-my-design/web/references/cohere/preview-dark.html +0 -803
- package/.opencode/oh-my-design/web/references/cohere/preview.html +0 -807
- package/.opencode/oh-my-design/web/references/coinbase/.verification.md +0 -116
- package/.opencode/oh-my-design/web/references/coinbase/DESIGN.md +0 -353
- package/.opencode/oh-my-design/web/references/coinbase/README.md +0 -23
- package/.opencode/oh-my-design/web/references/coinbase/preview-dark.html +0 -164
- package/.opencode/oh-my-design/web/references/coinbase/preview.html +0 -163
- package/.opencode/oh-my-design/web/references/coinone/.verification.md +0 -38
- package/.opencode/oh-my-design/web/references/coinone/DESIGN.md +0 -257
- package/.opencode/oh-my-design/web/references/composio/.verification.md +0 -143
- package/.opencode/oh-my-design/web/references/composio/DESIGN.md +0 -441
- package/.opencode/oh-my-design/web/references/composio/README.md +0 -24
- package/.opencode/oh-my-design/web/references/composio/preview-dark.html +0 -958
- package/.opencode/oh-my-design/web/references/composio/preview.html +0 -933
- package/.opencode/oh-my-design/web/references/cookpad/DESIGN.md +0 -394
- package/.opencode/oh-my-design/web/references/coupang/.verification.md +0 -141
- package/.opencode/oh-my-design/web/references/coupang/DESIGN.md +0 -557
- package/.opencode/oh-my-design/web/references/cursor/.verification.md +0 -141
- package/.opencode/oh-my-design/web/references/cursor/DESIGN.md +0 -460
- package/.opencode/oh-my-design/web/references/cursor/README.md +0 -24
- package/.opencode/oh-my-design/web/references/cursor/preview-dark.html +0 -393
- package/.opencode/oh-my-design/web/references/cursor/preview.html +0 -383
- package/.opencode/oh-my-design/web/references/dabang/DESIGN.md +0 -267
- package/.opencode/oh-my-design/web/references/dabang/assets/_reference/.live-inspect-proof.json +0 -145
- package/.opencode/oh-my-design/web/references/dabang/assets/_reference/fonts.json +0 -22
- package/.opencode/oh-my-design/web/references/dabang/assets/_reference/raw-capture-map.json +0 -718
- package/.opencode/oh-my-design/web/references/dabang/assets/_reference/raw-capture.json +0 -1125
- package/.opencode/oh-my-design/web/references/dabang/assets/_reference/structure.json +0 -53
- package/.opencode/oh-my-design/web/references/dabang/assets/_reference/tokens.json +0 -130
- package/.opencode/oh-my-design/web/references/danawa/.verification.md +0 -60
- package/.opencode/oh-my-design/web/references/danawa/DESIGN.md +0 -477
- package/.opencode/oh-my-design/web/references/dcard/.verification.md +0 -118
- package/.opencode/oh-my-design/web/references/dcard/DESIGN.md +0 -633
- package/.opencode/oh-my-design/web/references/dcard/README.md +0 -12
- package/.opencode/oh-my-design/web/references/dcard/_research/forum-1440px.png +0 -0
- package/.opencode/oh-my-design/web/references/dcard/_research.md +0 -133
- package/.opencode/oh-my-design/web/references/dell/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/dell/DESIGN.md +0 -636
- package/.opencode/oh-my-design/web/references/devsisters/.verification.md +0 -32
- package/.opencode/oh-my-design/web/references/devsisters/DESIGN.md +0 -282
- package/.opencode/oh-my-design/web/references/discord/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/discord/DESIGN.md +0 -604
- package/.opencode/oh-my-design/web/references/dji/DESIGN.md +0 -454
- package/.opencode/oh-my-design/web/references/drnow/.verification.md +0 -41
- package/.opencode/oh-my-design/web/references/drnow/DESIGN.md +0 -383
- package/.opencode/oh-my-design/web/references/dropbox/.verification.md +0 -61
- package/.opencode/oh-my-design/web/references/dropbox/DESIGN.md +0 -445
- package/.opencode/oh-my-design/web/references/duolingo/.verification.md +0 -20
- package/.opencode/oh-my-design/web/references/duolingo/DESIGN.md +0 -563
- package/.opencode/oh-my-design/web/references/elevenlabs/.verification.md +0 -128
- package/.opencode/oh-my-design/web/references/elevenlabs/DESIGN.md +0 -415
- package/.opencode/oh-my-design/web/references/elevenlabs/README.md +0 -23
- package/.opencode/oh-my-design/web/references/elevenlabs/preview-dark.html +0 -252
- package/.opencode/oh-my-design/web/references/elevenlabs/preview.html +0 -251
- package/.opencode/oh-my-design/web/references/expo/.verification.md +0 -141
- package/.opencode/oh-my-design/web/references/expo/DESIGN.md +0 -412
- package/.opencode/oh-my-design/web/references/expo/README.md +0 -24
- package/.opencode/oh-my-design/web/references/expo/preview-dark.html +0 -533
- package/.opencode/oh-my-design/web/references/expo/preview.html +0 -533
- package/.opencode/oh-my-design/web/references/fastcampus/DESIGN.md +0 -529
- package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/.live-inspect-proof.json +0 -950
- package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/fonts.json +0 -14
- package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/structure.json +0 -30
- package/.opencode/oh-my-design/web/references/fastcampus/assets/_reference/tokens.json +0 -109
- package/.opencode/oh-my-design/web/references/ferrari/.verification.md +0 -119
- package/.opencode/oh-my-design/web/references/ferrari/DESIGN.md +0 -447
- package/.opencode/oh-my-design/web/references/ferrari/README.md +0 -23
- package/.opencode/oh-my-design/web/references/ferrari/preview-dark.html +0 -1162
- package/.opencode/oh-my-design/web/references/ferrari/preview.html +0 -1122
- package/.opencode/oh-my-design/web/references/figma/.verification.md +0 -206
- package/.opencode/oh-my-design/web/references/figma/DESIGN.md +0 -534
- package/.opencode/oh-my-design/web/references/figma/README.md +0 -24
- package/.opencode/oh-my-design/web/references/figma/preview-dark.html +0 -822
- package/.opencode/oh-my-design/web/references/figma/preview.html +0 -832
- package/.opencode/oh-my-design/web/references/finda/.verification.md +0 -33
- package/.opencode/oh-my-design/web/references/finda/DESIGN.md +0 -413
- package/.opencode/oh-my-design/web/references/firstory/.verification.md +0 -70
- package/.opencode/oh-my-design/web/references/firstory/DESIGN.md +0 -487
- package/.opencode/oh-my-design/web/references/flex/DESIGN.md +0 -356
- package/.opencode/oh-my-design/web/references/flex/_research.md +0 -49
- package/.opencode/oh-my-design/web/references/flex/assets/_reference/.live-inspect-proof.json +0 -192
- package/.opencode/oh-my-design/web/references/flex/assets/_reference/.raw-inspect.json +0 -873
- package/.opencode/oh-my-design/web/references/flex/assets/_reference/fonts.json +0 -17
- package/.opencode/oh-my-design/web/references/flex/assets/_reference/structure.json +0 -58
- package/.opencode/oh-my-design/web/references/flex/assets/_reference/tokens.json +0 -75
- package/.opencode/oh-my-design/web/references/flo/.verification.md +0 -33
- package/.opencode/oh-my-design/web/references/flo/DESIGN.md +0 -349
- package/.opencode/oh-my-design/web/references/framer/.verification.md +0 -147
- package/.opencode/oh-my-design/web/references/framer/DESIGN.md +0 -431
- package/.opencode/oh-my-design/web/references/framer/README.md +0 -23
- package/.opencode/oh-my-design/web/references/framer/preview-dark.html +0 -902
- package/.opencode/oh-my-design/web/references/framer/preview.html +0 -883
- package/.opencode/oh-my-design/web/references/freee/.verification.md +0 -145
- package/.opencode/oh-my-design/web/references/freee/DESIGN.md +0 -620
- package/.opencode/oh-my-design/web/references/freee/README.md +0 -12
- package/.opencode/oh-my-design/web/references/freee/_research/vibes-storybook-1440px.png +0 -0
- package/.opencode/oh-my-design/web/references/freee/_research.md +0 -116
- package/.opencode/oh-my-design/web/references/fugle/.verification.md +0 -40
- package/.opencode/oh-my-design/web/references/fugle/DESIGN.md +0 -290
- package/.opencode/oh-my-design/web/references/funnow/.verification.md +0 -62
- package/.opencode/oh-my-design/web/references/funnow/DESIGN.md +0 -431
- package/.opencode/oh-my-design/web/references/gangnamunni/DESIGN.md +0 -677
- package/.opencode/oh-my-design/web/references/gangnamunni/_promo.json +0 -26
- package/.opencode/oh-my-design/web/references/gangnamunni/_research.md +0 -113
- package/.opencode/oh-my-design/web/references/genie/.verification.md +0 -29
- package/.opencode/oh-my-design/web/references/genie/DESIGN.md +0 -415
- package/.opencode/oh-my-design/web/references/github/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/github/DESIGN.md +0 -727
- package/.opencode/oh-my-design/web/references/gmarket/DESIGN.md +0 -534
- package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/.live-inspect-proof.json +0 -217
- package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/fonts.json +0 -41
- package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/raw-capture-bestsellers.json +0 -1929
- package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/raw-capture-home.json +0 -3675
- package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/structure.json +0 -65
- package/.opencode/oh-my-design/web/references/gmarket/assets/_reference/tokens.json +0 -210
- package/.opencode/oh-my-design/web/references/gogolook/.verification.md +0 -31
- package/.opencode/oh-my-design/web/references/gogolook/DESIGN.md +0 -155
- package/.opencode/oh-my-design/web/references/gogoro/DESIGN.md +0 -441
- package/.opencode/oh-my-design/web/references/google/.verification.md +0 -61
- package/.opencode/oh-my-design/web/references/google/DESIGN.md +0 -499
- package/.opencode/oh-my-design/web/references/greenvines/.verification.md +0 -72
- package/.opencode/oh-my-design/web/references/greenvines/DESIGN.md +0 -454
- package/.opencode/oh-my-design/web/references/greeting/.verification.md +0 -64
- package/.opencode/oh-my-design/web/references/greeting/DESIGN.md +0 -462
- package/.opencode/oh-my-design/web/references/grip/.verification.md +0 -36
- package/.opencode/oh-my-design/web/references/grip/DESIGN.md +0 -289
- package/.opencode/oh-my-design/web/references/hahow/.verification.md +0 -31
- package/.opencode/oh-my-design/web/references/hahow/DESIGN.md +0 -184
- package/.opencode/oh-my-design/web/references/hashicorp/.verification.md +0 -142
- package/.opencode/oh-my-design/web/references/hashicorp/DESIGN.md +0 -411
- package/.opencode/oh-my-design/web/references/hashicorp/README.md +0 -24
- package/.opencode/oh-my-design/web/references/hashicorp/preview-dark.html +0 -1202
- package/.opencode/oh-my-design/web/references/hashicorp/preview.html +0 -1193
- package/.opencode/oh-my-design/web/references/hogangnono/.verification.md +0 -33
- package/.opencode/oh-my-design/web/references/hogangnono/DESIGN.md +0 -349
- package/.opencode/oh-my-design/web/references/hp/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/hp/DESIGN.md +0 -563
- package/.opencode/oh-my-design/web/references/hyperconnect/.verification.md +0 -40
- package/.opencode/oh-my-design/web/references/hyperconnect/DESIGN.md +0 -393
- package/.opencode/oh-my-design/web/references/hyundaicard/.verification.md +0 -25
- package/.opencode/oh-my-design/web/references/hyundaicard/DESIGN.md +0 -201
- package/.opencode/oh-my-design/web/references/ibm/.verification.md +0 -102
- package/.opencode/oh-my-design/web/references/ibm/DESIGN.md +0 -464
- package/.opencode/oh-my-design/web/references/ibm/README.md +0 -24
- package/.opencode/oh-my-design/web/references/ibm/preview-dark.html +0 -443
- package/.opencode/oh-my-design/web/references/ibm/preview.html +0 -428
- package/.opencode/oh-my-design/web/references/ichef/DESIGN.md +0 -455
- package/.opencode/oh-my-design/web/references/ikala/.verification.md +0 -35
- package/.opencode/oh-my-design/web/references/ikala/DESIGN.md +0 -400
- package/.opencode/oh-my-design/web/references/imweb/.verification.md +0 -61
- package/.opencode/oh-my-design/web/references/imweb/DESIGN.md +0 -460
- package/.opencode/oh-my-design/web/references/inflearn/DESIGN.md +0 -453
- package/.opencode/oh-my-design/web/references/inflearn/_promo.json +0 -29
- package/.opencode/oh-my-design/web/references/inflearn/_research.md +0 -85
- package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/.live-inspect-proof-courses.json +0 -679
- package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/.live-inspect-proof.json +0 -448
- package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/fonts.json +0 -41
- package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/structure.json +0 -110
- package/.opencode/oh-my-design/web/references/inflearn/assets/_reference/tokens.json +0 -54
- package/.opencode/oh-my-design/web/references/intercom/.verification.md +0 -144
- package/.opencode/oh-my-design/web/references/intercom/DESIGN.md +0 -271
- package/.opencode/oh-my-design/web/references/intercom/README.md +0 -23
- package/.opencode/oh-my-design/web/references/intercom/preview-dark.html +0 -185
- package/.opencode/oh-my-design/web/references/intercom/preview.html +0 -184
- package/.opencode/oh-my-design/web/references/jandi/.verification.md +0 -26
- package/.opencode/oh-my-design/web/references/jandi/DESIGN.md +0 -382
- package/.opencode/oh-my-design/web/references/jkopay/.verification.md +0 -32
- package/.opencode/oh-my-design/web/references/jkopay/DESIGN.md +0 -283
- package/.opencode/oh-my-design/web/references/jobkorea/.verification.md +0 -30
- package/.opencode/oh-my-design/web/references/jobkorea/DESIGN.md +0 -349
- package/.opencode/oh-my-design/web/references/jumpit/DESIGN.md +0 -403
- package/.opencode/oh-my-design/web/references/jumpit/_research.md +0 -119
- package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/.live-inspect-proof.json +0 -182
- package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/structure.json +0 -66
- package/.opencode/oh-my-design/web/references/jumpit/assets/_reference/tokens.json +0 -108
- package/.opencode/oh-my-design/web/references/kakao/.verification.md +0 -137
- package/.opencode/oh-my-design/web/references/kakao/DESIGN.md +0 -568
- package/.opencode/oh-my-design/web/references/kakao/README.md +0 -18
- package/.opencode/oh-my-design/web/references/kakao/_research.md +0 -98
- package/.opencode/oh-my-design/web/references/kakaobank/.verification.md +0 -133
- package/.opencode/oh-my-design/web/references/kakaobank/DESIGN.md +0 -602
- package/.opencode/oh-my-design/web/references/kakaopay/DESIGN.md +0 -603
- package/.opencode/oh-my-design/web/references/kakaopay/_promo.json +0 -22
- package/.opencode/oh-my-design/web/references/kakaopay/_research.md +0 -84
- package/.opencode/oh-my-design/web/references/kakaot/DESIGN.md +0 -507
- package/.opencode/oh-my-design/web/references/karrot/.verification.md +0 -143
- package/.opencode/oh-my-design/web/references/karrot/DESIGN.md +0 -494
- package/.opencode/oh-my-design/web/references/karrot/README.md +0 -18
- package/.opencode/oh-my-design/web/references/karrot/_research.md +0 -57
- package/.opencode/oh-my-design/web/references/kbank/DESIGN.md +0 -252
- package/.opencode/oh-my-design/web/references/kbank/assets/_reference/.live-inspect-proof.json +0 -215
- package/.opencode/oh-my-design/web/references/kbank/assets/_reference/.live-inspect-raw.json +0 -1
- package/.opencode/oh-my-design/web/references/kbank/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/web/references/kbank/assets/_reference/structure.json +0 -151
- package/.opencode/oh-my-design/web/references/kbank/assets/_reference/tokens.json +0 -101
- package/.opencode/oh-my-design/web/references/kdan/.verification.md +0 -30
- package/.opencode/oh-my-design/web/references/kdan/DESIGN.md +0 -193
- package/.opencode/oh-my-design/web/references/kintone/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/kintone/DESIGN.md +0 -586
- package/.opencode/oh-my-design/web/references/kkbox/.verification.md +0 -27
- package/.opencode/oh-my-design/web/references/kkbox/DESIGN.md +0 -136
- package/.opencode/oh-my-design/web/references/kkday/DESIGN.md +0 -470
- package/.opencode/oh-my-design/web/references/kmong/.verification.md +0 -30
- package/.opencode/oh-my-design/web/references/kmong/DESIGN.md +0 -427
- package/.opencode/oh-my-design/web/references/krafton/.verification.md +0 -38
- package/.opencode/oh-my-design/web/references/krafton/DESIGN.md +0 -267
- package/.opencode/oh-my-design/web/references/kraken/.verification.md +0 -143
- package/.opencode/oh-my-design/web/references/kraken/DESIGN.md +0 -277
- package/.opencode/oh-my-design/web/references/kraken/README.md +0 -23
- package/.opencode/oh-my-design/web/references/kraken/preview-dark.html +0 -169
- package/.opencode/oh-my-design/web/references/kraken/preview.html +0 -168
- package/.opencode/oh-my-design/web/references/krds/.verification.md +0 -373
- package/.opencode/oh-my-design/web/references/krds/DESIGN.md +0 -1060
- package/.opencode/oh-my-design/web/references/kream/DESIGN.md +0 -432
- package/.opencode/oh-my-design/web/references/kream/assets/_reference/.live-inspect-proof.json +0 -289
- package/.opencode/oh-my-design/web/references/kream/assets/_reference/fonts.json +0 -26
- package/.opencode/oh-my-design/web/references/kream/assets/_reference/structure.json +0 -56
- package/.opencode/oh-my-design/web/references/kream/assets/_reference/tokens.json +0 -154
- package/.opencode/oh-my-design/web/references/kurly/.verification.md +0 -126
- package/.opencode/oh-my-design/web/references/kurly/DESIGN.md +0 -620
- package/.opencode/oh-my-design/web/references/laftel/.verification.md +0 -39
- package/.opencode/oh-my-design/web/references/laftel/DESIGN.md +0 -293
- package/.opencode/oh-my-design/web/references/lamborghini/.verification.md +0 -127
- package/.opencode/oh-my-design/web/references/lamborghini/DESIGN.md +0 -430
- package/.opencode/oh-my-design/web/references/lamborghini/README.md +0 -23
- package/.opencode/oh-my-design/web/references/lamborghini/preview-dark.html +0 -303
- package/.opencode/oh-my-design/web/references/lamborghini/preview.html +0 -381
- package/.opencode/oh-my-design/web/references/laundrygo/.verification.md +0 -60
- package/.opencode/oh-my-design/web/references/laundrygo/DESIGN.md +0 -434
- package/.opencode/oh-my-design/web/references/layerx/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/layerx/DESIGN.md +0 -615
- package/.opencode/oh-my-design/web/references/lezhin/.verification.md +0 -47
- package/.opencode/oh-my-design/web/references/lezhin/DESIGN.md +0 -348
- package/.opencode/oh-my-design/web/references/line/.verification.md +0 -137
- package/.opencode/oh-my-design/web/references/line/DESIGN.md +0 -467
- package/.opencode/oh-my-design/web/references/line/README.md +0 -12
- package/.opencode/oh-my-design/web/references/line/_research/home-1440px.png +0 -0
- package/.opencode/oh-my-design/web/references/line/_research.md +0 -65
- package/.opencode/oh-my-design/web/references/linear.app/.verification.md +0 -143
- package/.opencode/oh-my-design/web/references/linear.app/DESIGN.md +0 -642
- package/.opencode/oh-my-design/web/references/linear.app/README.md +0 -24
- package/.opencode/oh-my-design/web/references/linear.app/preview-dark.html +0 -383
- package/.opencode/oh-my-design/web/references/linear.app/preview.html +0 -373
- package/.opencode/oh-my-design/web/references/loom/.verification.md +0 -31
- package/.opencode/oh-my-design/web/references/loom/DESIGN.md +0 -396
- package/.opencode/oh-my-design/web/references/lovable/.verification.md +0 -154
- package/.opencode/oh-my-design/web/references/lovable/DESIGN.md +0 -423
- package/.opencode/oh-my-design/web/references/lovable/README.md +0 -24
- package/.opencode/oh-my-design/web/references/lovable/preview-dark.html +0 -349
- package/.opencode/oh-my-design/web/references/lovable/preview.html +0 -348
- package/.opencode/oh-my-design/web/references/lunit/DESIGN.md +0 -296
- package/.opencode/oh-my-design/web/references/lunit/assets/_reference/.live-inspect-proof.json +0 -249
- package/.opencode/oh-my-design/web/references/lunit/assets/_reference/fonts.json +0 -24
- package/.opencode/oh-my-design/web/references/lunit/assets/_reference/structure.json +0 -162
- package/.opencode/oh-my-design/web/references/lunit/assets/_reference/tokens.json +0 -115
- package/.opencode/oh-my-design/web/references/mastercard/.verification.md +0 -19
- package/.opencode/oh-my-design/web/references/mastercard/DESIGN.md +0 -587
- package/.opencode/oh-my-design/web/references/meituan/DESIGN.md +0 -466
- package/.opencode/oh-my-design/web/references/melon/.verification.md +0 -27
- package/.opencode/oh-my-design/web/references/melon/DESIGN.md +0 -179
- package/.opencode/oh-my-design/web/references/mercari/.verification.md +0 -155
- package/.opencode/oh-my-design/web/references/mercari/DESIGN.md +0 -514
- package/.opencode/oh-my-design/web/references/mercari/README.md +0 -12
- package/.opencode/oh-my-design/web/references/mercari/_research/home-1440px.png +0 -0
- package/.opencode/oh-my-design/web/references/mercari/_research.md +0 -137
- package/.opencode/oh-my-design/web/references/mercury/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/mercury/DESIGN.md +0 -589
- package/.opencode/oh-my-design/web/references/meta/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/meta/DESIGN.md +0 -615
- package/.opencode/oh-my-design/web/references/microsoft/.verification.md +0 -62
- package/.opencode/oh-my-design/web/references/microsoft/DESIGN.md +0 -508
- package/.opencode/oh-my-design/web/references/millie/DESIGN.md +0 -584
- package/.opencode/oh-my-design/web/references/minimax/.verification.md +0 -135
- package/.opencode/oh-my-design/web/references/minimax/DESIGN.md +0 -396
- package/.opencode/oh-my-design/web/references/minimax/README.md +0 -24
- package/.opencode/oh-my-design/web/references/minimax/preview-dark.html +0 -1262
- package/.opencode/oh-my-design/web/references/minimax/preview.html +0 -1248
- package/.opencode/oh-my-design/web/references/mintlify/.verification.md +0 -160
- package/.opencode/oh-my-design/web/references/mintlify/DESIGN.md +0 -472
- package/.opencode/oh-my-design/web/references/mintlify/README.md +0 -24
- package/.opencode/oh-my-design/web/references/mintlify/preview-dark.html +0 -409
- package/.opencode/oh-my-design/web/references/mintlify/preview.html +0 -398
- package/.opencode/oh-my-design/web/references/miricanvas/.verification.md +0 -61
- package/.opencode/oh-my-design/web/references/miricanvas/DESIGN.md +0 -464
- package/.opencode/oh-my-design/web/references/miro/.verification.md +0 -138
- package/.opencode/oh-my-design/web/references/miro/DESIGN.md +0 -319
- package/.opencode/oh-my-design/web/references/miro/README.md +0 -23
- package/.opencode/oh-my-design/web/references/miro/preview-dark.html +0 -174
- package/.opencode/oh-my-design/web/references/miro/preview.html +0 -173
- package/.opencode/oh-my-design/web/references/mistral.ai/.verification.md +0 -146
- package/.opencode/oh-my-design/web/references/mistral.ai/DESIGN.md +0 -390
- package/.opencode/oh-my-design/web/references/mistral.ai/README.md +0 -24
- package/.opencode/oh-my-design/web/references/mistral.ai/preview-dark.html +0 -806
- package/.opencode/oh-my-design/web/references/mistral.ai/preview.html +0 -805
- package/.opencode/oh-my-design/web/references/modusign/.verification.md +0 -58
- package/.opencode/oh-my-design/web/references/modusign/DESIGN.md +0 -524
- package/.opencode/oh-my-design/web/references/momoshop/.verification.md +0 -36
- package/.opencode/oh-my-design/web/references/momoshop/DESIGN.md +0 -322
- package/.opencode/oh-my-design/web/references/money-forward/DESIGN.md +0 -443
- package/.opencode/oh-my-design/web/references/mongodb/.verification.md +0 -145
- package/.opencode/oh-my-design/web/references/mongodb/DESIGN.md +0 -401
- package/.opencode/oh-my-design/web/references/mongodb/README.md +0 -23
- package/.opencode/oh-my-design/web/references/mongodb/preview-dark.html +0 -260
- package/.opencode/oh-my-design/web/references/mongodb/preview.html +0 -259
- package/.opencode/oh-my-design/web/references/muji/.verification.md +0 -20
- package/.opencode/oh-my-design/web/references/muji/DESIGN.md +0 -605
- package/.opencode/oh-my-design/web/references/musinsa/.verification.md +0 -59
- package/.opencode/oh-my-design/web/references/musinsa/DESIGN.md +0 -593
- package/.opencode/oh-my-design/web/references/mustit/.verification.md +0 -37
- package/.opencode/oh-my-design/web/references/mustit/DESIGN.md +0 -328
- package/.opencode/oh-my-design/web/references/myrealtrip/DESIGN.md +0 -494
- package/.opencode/oh-my-design/web/references/naver/.verification.md +0 -134
- package/.opencode/oh-my-design/web/references/naver/DESIGN.md +0 -582
- package/.opencode/oh-my-design/web/references/naverwebtoon/DESIGN.md +0 -477
- package/.opencode/oh-my-design/web/references/netflix/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/netflix/DESIGN.md +0 -572
- package/.opencode/oh-my-design/web/references/nexon/.verification.md +0 -27
- package/.opencode/oh-my-design/web/references/nexon/DESIGN.md +0 -389
- package/.opencode/oh-my-design/web/references/nhncloud/.verification.md +0 -23
- package/.opencode/oh-my-design/web/references/nhncloud/DESIGN.md +0 -207
- package/.opencode/oh-my-design/web/references/nike/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/nike/DESIGN.md +0 -588
- package/.opencode/oh-my-design/web/references/note/DESIGN.md +0 -346
- package/.opencode/oh-my-design/web/references/notion/.verification.md +0 -141
- package/.opencode/oh-my-design/web/references/notion/DESIGN.md +0 -557
- package/.opencode/oh-my-design/web/references/notion/README.md +0 -24
- package/.opencode/oh-my-design/web/references/notion/preview-dark.html +0 -372
- package/.opencode/oh-my-design/web/references/notion/preview.html +0 -364
- package/.opencode/oh-my-design/web/references/nvidia/.verification.md +0 -127
- package/.opencode/oh-my-design/web/references/nvidia/DESIGN.md +0 -550
- package/.opencode/oh-my-design/web/references/nvidia/README.md +0 -24
- package/.opencode/oh-my-design/web/references/nvidia/_research.md +0 -68
- package/.opencode/oh-my-design/web/references/nvidia/preview-dark.html +0 -374
- package/.opencode/oh-my-design/web/references/nvidia/preview.html +0 -366
- package/.opencode/oh-my-design/web/references/ohouse/.verification.md +0 -87
- package/.opencode/oh-my-design/web/references/ohouse/DESIGN.md +0 -635
- package/.opencode/oh-my-design/web/references/oliveyoung/DESIGN.md +0 -407
- package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/.live-inspect-proof.json +0 -158
- package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_best_capture.json +0 -644
- package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_detail_capture.json +0 -447
- package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_main.html +0 -419
- package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_main_capture.json +0 -1126
- package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/_search_capture.json +0 -912
- package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/fonts.json +0 -20
- package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/structure.json +0 -91
- package/.opencode/oh-my-design/web/references/oliveyoung/assets/_reference/tokens.json +0 -79
- package/.opencode/oh-my-design/web/references/ollama/.verification.md +0 -138
- package/.opencode/oh-my-design/web/references/ollama/DESIGN.md +0 -393
- package/.opencode/oh-my-design/web/references/ollama/README.md +0 -24
- package/.opencode/oh-my-design/web/references/ollama/preview-dark.html +0 -678
- package/.opencode/oh-my-design/web/references/ollama/preview.html +0 -678
- package/.opencode/oh-my-design/web/references/omnichat/.verification.md +0 -74
- package/.opencode/oh-my-design/web/references/omnichat/DESIGN.md +0 -499
- package/.opencode/oh-my-design/web/references/openai/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/openai/DESIGN.md +0 -641
- package/.opencode/oh-my-design/web/references/opencode.ai/.verification.md +0 -136
- package/.opencode/oh-my-design/web/references/opencode.ai/DESIGN.md +0 -425
- package/.opencode/oh-my-design/web/references/opencode.ai/README.md +0 -24
- package/.opencode/oh-my-design/web/references/opencode.ai/preview-dark.html +0 -366
- package/.opencode/oh-my-design/web/references/opencode.ai/preview.html +0 -357
- package/.opencode/oh-my-design/web/references/payco/.verification.md +0 -28
- package/.opencode/oh-my-design/web/references/payco/DESIGN.md +0 -267
- package/.opencode/oh-my-design/web/references/paypay/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/paypay/DESIGN.md +0 -656
- package/.opencode/oh-my-design/web/references/pchome/.verification.md +0 -38
- package/.opencode/oh-my-design/web/references/pchome/DESIGN.md +0 -439
- package/.opencode/oh-my-design/web/references/perplexity/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/perplexity/DESIGN.md +0 -546
- package/.opencode/oh-my-design/web/references/piccollage/.verification.md +0 -34
- package/.opencode/oh-my-design/web/references/piccollage/DESIGN.md +0 -320
- package/.opencode/oh-my-design/web/references/pinkoi/.verification.md +0 -147
- package/.opencode/oh-my-design/web/references/pinkoi/DESIGN.md +0 -639
- package/.opencode/oh-my-design/web/references/pinkoi/README.md +0 -12
- package/.opencode/oh-my-design/web/references/pinkoi/_research/browse-1440px.png +0 -0
- package/.opencode/oh-my-design/web/references/pinkoi/_research.md +0 -167
- package/.opencode/oh-my-design/web/references/pinterest/.verification.md +0 -141
- package/.opencode/oh-my-design/web/references/pinterest/DESIGN.md +0 -366
- package/.opencode/oh-my-design/web/references/pinterest/README.md +0 -23
- package/.opencode/oh-my-design/web/references/pinterest/preview-dark.html +0 -233
- package/.opencode/oh-my-design/web/references/pinterest/preview.html +0 -232
- package/.opencode/oh-my-design/web/references/pixiv/.verification.md +0 -20
- package/.opencode/oh-my-design/web/references/pixiv/DESIGN.md +0 -613
- package/.opencode/oh-my-design/web/references/pixnet/.verification.md +0 -31
- package/.opencode/oh-my-design/web/references/pixnet/DESIGN.md +0 -430
- package/.opencode/oh-my-design/web/references/posthog/.verification.md +0 -159
- package/.opencode/oh-my-design/web/references/posthog/DESIGN.md +0 -480
- package/.opencode/oh-my-design/web/references/posthog/README.md +0 -23
- package/.opencode/oh-my-design/web/references/posthog/preview-dark.html +0 -699
- package/.opencode/oh-my-design/web/references/posthog/preview.html +0 -749
- package/.opencode/oh-my-design/web/references/postype/.verification.md +0 -61
- package/.opencode/oh-my-design/web/references/postype/DESIGN.md +0 -431
- package/.opencode/oh-my-design/web/references/publy/DESIGN.md +0 -563
- package/.opencode/oh-my-design/web/references/qanda/.verification.md +0 -121
- package/.opencode/oh-my-design/web/references/qanda/DESIGN.md +0 -516
- package/.opencode/oh-my-design/web/references/ragic/.verification.md +0 -37
- package/.opencode/oh-my-design/web/references/ragic/DESIGN.md +0 -444
- package/.opencode/oh-my-design/web/references/rakuten/.verification.md +0 -60
- package/.opencode/oh-my-design/web/references/rakuten/DESIGN.md +0 -440
- package/.opencode/oh-my-design/web/references/ramp/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/ramp/DESIGN.md +0 -634
- package/.opencode/oh-my-design/web/references/rayark/.verification.md +0 -22
- package/.opencode/oh-my-design/web/references/rayark/DESIGN.md +0 -154
- package/.opencode/oh-my-design/web/references/raycast/.verification.md +0 -138
- package/.opencode/oh-my-design/web/references/raycast/DESIGN.md +0 -467
- package/.opencode/oh-my-design/web/references/raycast/README.md +0 -23
- package/.opencode/oh-my-design/web/references/raycast/preview-dark.html +0 -606
- package/.opencode/oh-my-design/web/references/raycast/preview.html +0 -688
- package/.opencode/oh-my-design/web/references/remember/.verification.md +0 -135
- package/.opencode/oh-my-design/web/references/remember/DESIGN.md +0 -504
- package/.opencode/oh-my-design/web/references/remember/_promo.json +0 -27
- package/.opencode/oh-my-design/web/references/remember/_research.md +0 -90
- package/.opencode/oh-my-design/web/references/renault/.verification.md +0 -139
- package/.opencode/oh-my-design/web/references/renault/DESIGN.md +0 -439
- package/.opencode/oh-my-design/web/references/renault/README.md +0 -23
- package/.opencode/oh-my-design/web/references/renault/preview-dark.html +0 -406
- package/.opencode/oh-my-design/web/references/renault/preview.html +0 -606
- package/.opencode/oh-my-design/web/references/replicate/.verification.md +0 -154
- package/.opencode/oh-my-design/web/references/replicate/DESIGN.md +0 -387
- package/.opencode/oh-my-design/web/references/replicate/README.md +0 -24
- package/.opencode/oh-my-design/web/references/replicate/preview-dark.html +0 -828
- package/.opencode/oh-my-design/web/references/replicate/preview.html +0 -831
- package/.opencode/oh-my-design/web/references/resend/.verification.md +0 -143
- package/.opencode/oh-my-design/web/references/resend/DESIGN.md +0 -440
- package/.opencode/oh-my-design/web/references/resend/README.md +0 -23
- package/.opencode/oh-my-design/web/references/resend/preview-dark.html +0 -355
- package/.opencode/oh-my-design/web/references/resend/preview.html +0 -354
- package/.opencode/oh-my-design/web/references/retool/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/retool/DESIGN.md +0 -645
- package/.opencode/oh-my-design/web/references/revolut/.verification.md +0 -140
- package/.opencode/oh-my-design/web/references/revolut/DESIGN.md +0 -319
- package/.opencode/oh-my-design/web/references/revolut/README.md +0 -23
- package/.opencode/oh-my-design/web/references/revolut/preview-dark.html +0 -234
- package/.opencode/oh-my-design/web/references/revolut/preview.html +0 -233
- package/.opencode/oh-my-design/web/references/richart/.verification.md +0 -41
- package/.opencode/oh-my-design/web/references/richart/DESIGN.md +0 -465
- package/.opencode/oh-my-design/web/references/ridi/.verification.md +0 -108
- package/.opencode/oh-my-design/web/references/ridi/DESIGN.md +0 -573
- package/.opencode/oh-my-design/web/references/riiid/.verification.md +0 -33
- package/.opencode/oh-my-design/web/references/riiid/DESIGN.md +0 -260
- package/.opencode/oh-my-design/web/references/ringle/.verification.md +0 -53
- package/.opencode/oh-my-design/web/references/ringle/DESIGN.md +0 -444
- package/.opencode/oh-my-design/web/references/robinhood/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/robinhood/DESIGN.md +0 -604
- package/.opencode/oh-my-design/web/references/runwayml/.verification.md +0 -141
- package/.opencode/oh-my-design/web/references/runwayml/DESIGN.md +0 -431
- package/.opencode/oh-my-design/web/references/runwayml/README.md +0 -24
- package/.opencode/oh-my-design/web/references/runwayml/preview-dark.html +0 -664
- package/.opencode/oh-my-design/web/references/runwayml/preview.html +0 -665
- package/.opencode/oh-my-design/web/references/salesforce/.verification.md +0 -66
- package/.opencode/oh-my-design/web/references/salesforce/DESIGN.md +0 -473
- package/.opencode/oh-my-design/web/references/sanity/.verification.md +0 -174
- package/.opencode/oh-my-design/web/references/sanity/DESIGN.md +0 -499
- package/.opencode/oh-my-design/web/references/sanity/README.md +0 -24
- package/.opencode/oh-my-design/web/references/sanity/preview-dark.html +0 -990
- package/.opencode/oh-my-design/web/references/sanity/preview.html +0 -1135
- package/.opencode/oh-my-design/web/references/sansan/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/sansan/DESIGN.md +0 -631
- package/.opencode/oh-my-design/web/references/sendbird/.verification.md +0 -67
- package/.opencode/oh-my-design/web/references/sendbird/DESIGN.md +0 -331
- package/.opencode/oh-my-design/web/references/sentry/.verification.md +0 -157
- package/.opencode/oh-my-design/web/references/sentry/DESIGN.md +0 -397
- package/.opencode/oh-my-design/web/references/sentry/README.md +0 -24
- package/.opencode/oh-my-design/web/references/sentry/preview-dark.html +0 -626
- package/.opencode/oh-my-design/web/references/sentry/preview.html +0 -951
- package/.opencode/oh-my-design/web/references/shinhancard/.verification.md +0 -31
- package/.opencode/oh-my-design/web/references/shinhancard/DESIGN.md +0 -421
- package/.opencode/oh-my-design/web/references/shopline/.verification.md +0 -34
- package/.opencode/oh-my-design/web/references/shopline/DESIGN.md +0 -431
- package/.opencode/oh-my-design/web/references/slack/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/slack/DESIGN.md +0 -635
- package/.opencode/oh-my-design/web/references/smarthr/DESIGN.md +0 -452
- package/.opencode/oh-my-design/web/references/smartnews/DESIGN.md +0 -360
- package/.opencode/oh-my-design/web/references/socar/DESIGN.md +0 -438
- package/.opencode/oh-my-design/web/references/socar/_promo.json +0 -28
- package/.opencode/oh-my-design/web/references/socar/_research.md +0 -55
- package/.opencode/oh-my-design/web/references/soomgo/.verification.md +0 -27
- package/.opencode/oh-my-design/web/references/soomgo/DESIGN.md +0 -326
- package/.opencode/oh-my-design/web/references/spacex/.verification.md +0 -132
- package/.opencode/oh-my-design/web/references/spacex/DESIGN.md +0 -415
- package/.opencode/oh-my-design/web/references/spacex/README.md +0 -23
- package/.opencode/oh-my-design/web/references/spacex/_research.md +0 -69
- package/.opencode/oh-my-design/web/references/spacex/preview-dark.html +0 -221
- package/.opencode/oh-my-design/web/references/spacex/preview.html +0 -220
- package/.opencode/oh-my-design/web/references/spoon/DESIGN.md +0 -492
- package/.opencode/oh-my-design/web/references/spotify/.verification.md +0 -128
- package/.opencode/oh-my-design/web/references/spotify/DESIGN.md +0 -489
- package/.opencode/oh-my-design/web/references/spotify/README.md +0 -23
- package/.opencode/oh-my-design/web/references/spotify/preview-dark.html +0 -231
- package/.opencode/oh-my-design/web/references/spotify/preview.html +0 -230
- package/.opencode/oh-my-design/web/references/starbucks/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/starbucks/DESIGN.md +0 -597
- package/.opencode/oh-my-design/web/references/stores/.verification.md +0 -61
- package/.opencode/oh-my-design/web/references/stores/DESIGN.md +0 -447
- package/.opencode/oh-my-design/web/references/stripe/.verification.md +0 -140
- package/.opencode/oh-my-design/web/references/stripe/DESIGN.md +0 -571
- package/.opencode/oh-my-design/web/references/stripe/README.md +0 -24
- package/.opencode/oh-my-design/web/references/stripe/preview-dark.html +0 -428
- package/.opencode/oh-my-design/web/references/stripe/preview.html +0 -419
- package/.opencode/oh-my-design/web/references/studio/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/studio/DESIGN.md +0 -602
- package/.opencode/oh-my-design/web/references/supabase/.verification.md +0 -145
- package/.opencode/oh-my-design/web/references/supabase/DESIGN.md +0 -389
- package/.opencode/oh-my-design/web/references/supabase/README.md +0 -24
- package/.opencode/oh-my-design/web/references/supabase/preview-dark.html +0 -977
- package/.opencode/oh-my-design/web/references/supabase/preview.html +0 -955
- package/.opencode/oh-my-design/web/references/superhuman/.verification.md +0 -184
- package/.opencode/oh-my-design/web/references/superhuman/DESIGN.md +0 -453
- package/.opencode/oh-my-design/web/references/superhuman/README.md +0 -23
- package/.opencode/oh-my-design/web/references/superhuman/preview-dark.html +0 -973
- package/.opencode/oh-my-design/web/references/superhuman/preview.html +0 -951
- package/.opencode/oh-my-design/web/references/surveycake/.verification.md +0 -31
- package/.opencode/oh-my-design/web/references/surveycake/DESIGN.md +0 -442
- package/.opencode/oh-my-design/web/references/tada/DESIGN.md +0 -579
- package/.opencode/oh-my-design/web/references/teamblind/.verification.md +0 -76
- package/.opencode/oh-my-design/web/references/teamblind/DESIGN.md +0 -497
- package/.opencode/oh-my-design/web/references/tesla/.verification.md +0 -149
- package/.opencode/oh-my-design/web/references/tesla/DESIGN.md +0 -501
- package/.opencode/oh-my-design/web/references/tesla/README.md +0 -23
- package/.opencode/oh-my-design/web/references/tesla/_research.md +0 -70
- package/.opencode/oh-my-design/web/references/tesla/preview-dark.html +0 -947
- package/.opencode/oh-my-design/web/references/tesla/preview.html +0 -925
- package/.opencode/oh-my-design/web/references/theverge/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/theverge/DESIGN.md +0 -500
- package/.opencode/oh-my-design/web/references/timee/.verification.md +0 -67
- package/.opencode/oh-my-design/web/references/timee/DESIGN.md +0 -444
- package/.opencode/oh-my-design/web/references/together.ai/.verification.md +0 -145
- package/.opencode/oh-my-design/web/references/together.ai/DESIGN.md +0 -389
- package/.opencode/oh-my-design/web/references/together.ai/README.md +0 -24
- package/.opencode/oh-my-design/web/references/together.ai/preview-dark.html +0 -892
- package/.opencode/oh-my-design/web/references/together.ai/preview.html +0 -897
- package/.opencode/oh-my-design/web/references/toss/.verification.md +0 -120
- package/.opencode/oh-my-design/web/references/toss/DESIGN.md +0 -698
- package/.opencode/oh-my-design/web/references/toss/README.md +0 -19
- package/.opencode/oh-my-design/web/references/toss-securities/DESIGN.md +0 -247
- package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/.live-inspect-proof.json +0 -126
- package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/.live-inspect-raw.json +0 -619
- package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/.live-inspect-stock.json +0 -525
- package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/fonts.json +0 -24
- package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/structure.json +0 -35
- package/.opencode/oh-my-design/web/references/toss-securities/assets/_reference/tokens.json +0 -87
- package/.opencode/oh-my-design/web/references/tossbank/DESIGN.md +0 -576
- package/.opencode/oh-my-design/web/references/trenbe/.verification.md +0 -32
- package/.opencode/oh-my-design/web/references/trenbe/DESIGN.md +0 -293
- package/.opencode/oh-my-design/web/references/triple/DESIGN.md +0 -481
- package/.opencode/oh-my-design/web/references/tumblbug/DESIGN.md +0 -578
- package/.opencode/oh-my-design/web/references/tving/DESIGN.md +0 -317
- package/.opencode/oh-my-design/web/references/tving/assets/_reference/.live-inspect-proof.json +0 -131
- package/.opencode/oh-my-design/web/references/tving/assets/_reference/LICENSE-NOTE.md +0 -37
- package/.opencode/oh-my-design/web/references/tving/assets/_reference/attribution.md +0 -52
- package/.opencode/oh-my-design/web/references/tving/assets/_reference/fonts.json +0 -31
- package/.opencode/oh-my-design/web/references/tving/assets/_reference/screenshots/hero-desktop.png +0 -0
- package/.opencode/oh-my-design/web/references/tving/assets/_reference/structure.json +0 -55
- package/.opencode/oh-my-design/web/references/tving/assets/_reference/tokens.json +0 -115
- package/.opencode/oh-my-design/web/references/uber/.verification.md +0 -128
- package/.opencode/oh-my-design/web/references/uber/DESIGN.md +0 -423
- package/.opencode/oh-my-design/web/references/uber/README.md +0 -24
- package/.opencode/oh-my-design/web/references/uber/preview-dark.html +0 -1120
- package/.opencode/oh-my-design/web/references/uber/preview.html +0 -1119
- package/.opencode/oh-my-design/web/references/ubie/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/ubie/DESIGN.md +0 -615
- package/.opencode/oh-my-design/web/references/uniqlo/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/uniqlo/DESIGN.md +0 -575
- package/.opencode/oh-my-design/web/references/upbit/DESIGN.md +0 -337
- package/.opencode/oh-my-design/web/references/upbit/_research.md +0 -83
- package/.opencode/oh-my-design/web/references/upbit/assets/_reference/.live-inspect-proof.json +0 -263
- package/.opencode/oh-my-design/web/references/upbit/assets/_reference/fonts.json +0 -18
- package/.opencode/oh-my-design/web/references/upbit/assets/_reference/raw-capture-exchange.json +0 -1901
- package/.opencode/oh-my-design/web/references/upbit/assets/_reference/raw-capture.json +0 -1121
- package/.opencode/oh-my-design/web/references/upbit/assets/_reference/structure.json +0 -52
- package/.opencode/oh-my-design/web/references/upbit/assets/_reference/tokens.json +0 -169
- package/.opencode/oh-my-design/web/references/upstage/DESIGN.md +0 -270
- package/.opencode/oh-my-design/web/references/upstage/assets/_reference/.live-inspect-proof.json +0 -157
- package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_brand-resource-center.json +0 -44
- package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_curated-samples.json +0 -310
- package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_raw-capture.json +0 -1560
- package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_root-vars.json +0 -76
- package/.opencode/oh-my-design/web/references/upstage/assets/_reference/_structure-raw.json +0 -298
- package/.opencode/oh-my-design/web/references/upstage/assets/_reference/fonts.json +0 -35
- package/.opencode/oh-my-design/web/references/upstage/assets/_reference/structure.json +0 -72
- package/.opencode/oh-my-design/web/references/upstage/assets/_reference/tokens.json +0 -183
- package/.opencode/oh-my-design/web/references/velog/.verification.md +0 -26
- package/.opencode/oh-my-design/web/references/velog/DESIGN.md +0 -196
- package/.opencode/oh-my-design/web/references/vercel/.verification.md +0 -134
- package/.opencode/oh-my-design/web/references/vercel/DESIGN.md +0 -523
- package/.opencode/oh-my-design/web/references/vercel/README.md +0 -24
- package/.opencode/oh-my-design/web/references/vercel/preview-dark.html +0 -368
- package/.opencode/oh-my-design/web/references/vercel/preview.html +0 -367
- package/.opencode/oh-my-design/web/references/voicetube/.verification.md +0 -34
- package/.opencode/oh-my-design/web/references/voicetube/DESIGN.md +0 -266
- package/.opencode/oh-my-design/web/references/voltagent/.verification.md +0 -159
- package/.opencode/oh-my-design/web/references/voltagent/DESIGN.md +0 -454
- package/.opencode/oh-my-design/web/references/voltagent/README.md +0 -24
- package/.opencode/oh-my-design/web/references/voltagent/preview-dark.html +0 -487
- package/.opencode/oh-my-design/web/references/voltagent/preview.html +0 -766
- package/.opencode/oh-my-design/web/references/wadiz/DESIGN.md +0 -415
- package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/.live-inspect-proof.json +0 -137
- package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/fonts.json +0 -17
- package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/structure.json +0 -35
- package/.opencode/oh-my-design/web/references/wadiz/assets/_reference/tokens.json +0 -80
- package/.opencode/oh-my-design/web/references/wanted/DESIGN.md +0 -575
- package/.opencode/oh-my-design/web/references/wanted/_promo.json +0 -31
- package/.opencode/oh-my-design/web/references/wanted/_research.md +0 -119
- package/.opencode/oh-my-design/web/references/wantedly/.verification.md +0 -53
- package/.opencode/oh-my-design/web/references/wantedly/DESIGN.md +0 -437
- package/.opencode/oh-my-design/web/references/warp/.verification.md +0 -156
- package/.opencode/oh-my-design/web/references/warp/DESIGN.md +0 -431
- package/.opencode/oh-my-design/web/references/warp/README.md +0 -23
- package/.opencode/oh-my-design/web/references/warp/preview-dark.html +0 -500
- package/.opencode/oh-my-design/web/references/warp/preview.html +0 -533
- package/.opencode/oh-my-design/web/references/watcha/DESIGN.md +0 -465
- package/.opencode/oh-my-design/web/references/wavve/DESIGN.md +0 -480
- package/.opencode/oh-my-design/web/references/wconcept/DESIGN.md +0 -556
- package/.opencode/oh-my-design/web/references/webflow/.verification.md +0 -151
- package/.opencode/oh-my-design/web/references/webflow/DESIGN.md +0 -330
- package/.opencode/oh-my-design/web/references/webflow/README.md +0 -23
- package/.opencode/oh-my-design/web/references/webflow/preview-dark.html +0 -147
- package/.opencode/oh-my-design/web/references/webflow/preview.html +0 -146
- package/.opencode/oh-my-design/web/references/wired/.verification.md +0 -21
- package/.opencode/oh-my-design/web/references/wired/DESIGN.md +0 -572
- package/.opencode/oh-my-design/web/references/wise/.verification.md +0 -141
- package/.opencode/oh-my-design/web/references/wise/DESIGN.md +0 -317
- package/.opencode/oh-my-design/web/references/wise/README.md +0 -23
- package/.opencode/oh-my-design/web/references/wise/preview-dark.html +0 -230
- package/.opencode/oh-my-design/web/references/wise/preview.html +0 -229
- package/.opencode/oh-my-design/web/references/x.ai/.verification.md +0 -140
- package/.opencode/oh-my-design/web/references/x.ai/DESIGN.md +0 -397
- package/.opencode/oh-my-design/web/references/x.ai/README.md +0 -24
- package/.opencode/oh-my-design/web/references/x.ai/preview-dark.html +0 -356
- package/.opencode/oh-my-design/web/references/x.ai/preview.html +0 -407
- package/.opencode/oh-my-design/web/references/xiaohongshu/DESIGN.md +0 -462
- package/.opencode/oh-my-design/web/references/yanolja/.verification.md +0 -83
- package/.opencode/oh-my-design/web/references/yanolja/DESIGN.md +0 -508
- package/.opencode/oh-my-design/web/references/yeogiotte/.verification.md +0 -210
- package/.opencode/oh-my-design/web/references/yeogiotte/DESIGN.md +0 -500
- package/.opencode/oh-my-design/web/references/yogiyo/DESIGN.md +0 -515
- package/.opencode/oh-my-design/web/references/yourator/.verification.md +0 -39
- package/.opencode/oh-my-design/web/references/yourator/DESIGN.md +0 -453
- package/.opencode/oh-my-design/web/references/zapier/.verification.md +0 -156
- package/.opencode/oh-my-design/web/references/zapier/DESIGN.md +0 -474
- package/.opencode/oh-my-design/web/references/zapier/README.md +0 -24
- package/.opencode/oh-my-design/web/references/zapier/preview-dark.html +0 -380
- package/.opencode/oh-my-design/web/references/zapier/preview.html +0 -372
- package/.opencode/oh-my-design/web/references/zigbang/DESIGN.md +0 -500
- package/.opencode/oh-my-design/web/references/zigbang/_promo.json +0 -16
- package/.opencode/oh-my-design/web/references/zigbang/_research.md +0 -101
- package/.opencode/oh-my-design/web/references/zigzag/DESIGN.md +0 -695
- package/.opencode/oh-my-design/web/references/zigzag/_promo.json +0 -23
- package/.opencode/oh-my-design/web/references/zigzag/_research.md +0 -64
- package/.opencode/oh-my-design/web/references/zozotown/.verification.md +0 -20
- package/.opencode/oh-my-design/web/references/zozotown/DESIGN.md +0 -578
- package/.opencode/oh-my-design/web/scripts/build-registry.mjs +0 -257
- package/.opencode/oh-my-design/web/scripts/extract-tokens.mjs +0 -117
- package/.opencode/oh-my-design/web/scripts/fetch-og-images.mjs +0 -112
- package/.opencode/oh-my-design/web/scripts/gen-favicon.mjs +0 -58
- package/.opencode/oh-my-design/web/scripts/gen-og.mjs +0 -67
- package/.opencode/oh-my-design/web/scripts/migrate-frontmatters.mjs +0 -637
- package/.opencode/oh-my-design/web/scripts/sync-catalog.mjs +0 -140
- package/.opencode/oh-my-design/web/scripts/token-sheet.mjs +0 -72
- package/.opencode/oh-my-design/web/scripts/token-status.mjs +0 -94
- package/.opencode/oh-my-design/web/scripts/verify-reference.mjs +0 -185
- package/.opencode/oh-my-design/web/src/app/alternatives/[slug]/page.tsx +0 -399
- package/.opencode/oh-my-design/web/src/app/api/font-playground/match/route.ts +0 -205
- package/.opencode/oh-my-design/web/src/app/api/leaderboard/route.ts +0 -32
- package/.opencode/oh-my-design/web/src/app/api/og/playground/route.tsx +0 -179
- package/.opencode/oh-my-design/web/src/app/api/references/[id]/route.ts +0 -162
- package/.opencode/oh-my-design/web/src/app/api/references/route.ts +0 -142
- package/.opencode/oh-my-design/web/src/app/api/track/route.ts +0 -30
- package/.opencode/oh-my-design/web/src/app/apple-icon.png +0 -0
- package/.opencode/oh-my-design/web/src/app/builder/layout.tsx +0 -43
- package/.opencode/oh-my-design/web/src/app/builder/page.tsx +0 -434
- package/.opencode/oh-my-design/web/src/app/changelog/[version]/page.tsx +0 -160
- package/.opencode/oh-my-design/web/src/app/changelog/page.tsx +0 -142
- package/.opencode/oh-my-design/web/src/app/collections/[slug]/collection-grid.tsx +0 -27
- package/.opencode/oh-my-design/web/src/app/collections/[slug]/page.tsx +0 -171
- package/.opencode/oh-my-design/web/src/app/curation/layout.tsx +0 -43
- package/.opencode/oh-my-design/web/src/app/curation/page.tsx +0 -78
- package/.opencode/oh-my-design/web/src/app/design-systems/[id]/detail-view.tsx +0 -307
- package/.opencode/oh-my-design/web/src/app/design-systems/[id]/page.tsx +0 -184
- package/.opencode/oh-my-design/web/src/app/design-systems/layout.tsx +0 -24
- package/.opencode/oh-my-design/web/src/app/design-systems/page.tsx +0 -95
- package/.opencode/oh-my-design/web/src/app/docs/layout.tsx +0 -22
- package/.opencode/oh-my-design/web/src/app/docs/page.tsx +0 -1453
- package/.opencode/oh-my-design/web/src/app/faq/page.tsx +0 -324
- package/.opencode/oh-my-design/web/src/app/font-playground/font-playground-view.tsx +0 -424
- package/.opencode/oh-my-design/web/src/app/font-playground/page.tsx +0 -43
- package/.opencode/oh-my-design/web/src/app/globals.css +0 -328
- package/.opencode/oh-my-design/web/src/app/icon.png +0 -0
- package/.opencode/oh-my-design/web/src/app/layout.tsx +0 -229
- package/.opencode/oh-my-design/web/src/app/page.tsx +0 -50
- package/.opencode/oh-my-design/web/src/app/playground/page.tsx +0 -81
- package/.opencode/oh-my-design/web/src/app/playground/playground-view.tsx +0 -436
- package/.opencode/oh-my-design/web/src/app/qa-references/page.tsx +0 -233
- package/.opencode/oh-my-design/web/src/app/r/[id]/route.ts +0 -57
- package/.opencode/oh-my-design/web/src/app/reference/[id]/page.tsx +0 -152
- package/.opencode/oh-my-design/web/src/app/result/[typeCode]/layout.tsx +0 -70
- package/.opencode/oh-my-design/web/src/app/result/[typeCode]/page.tsx +0 -280
- package/.opencode/oh-my-design/web/src/app/robots.ts +0 -44
- package/.opencode/oh-my-design/web/src/app/sitemap.ts +0 -156
- package/.opencode/oh-my-design/web/src/app/what-is-design-md/page.tsx +0 -308
- package/.opencode/oh-my-design/web/src/components/ab-picker.tsx +0 -74
- package/.opencode/oh-my-design/web/src/components/analytics-init.tsx +0 -21
- package/.opencode/oh-my-design/web/src/components/brand-logo.tsx +0 -101
- package/.opencode/oh-my-design/web/src/components/browse-modal.tsx +0 -149
- package/.opencode/oh-my-design/web/src/components/component-modal.tsx +0 -108
- package/.opencode/oh-my-design/web/src/components/content-preview-modal.tsx +0 -213
- package/.opencode/oh-my-design/web/src/components/customizer.tsx +0 -641
- package/.opencode/oh-my-design/web/src/components/design-wizard.tsx +0 -691
- package/.opencode/oh-my-design/web/src/components/ds-card.tsx +0 -162
- package/.opencode/oh-my-design/web/src/components/export-panel.tsx +0 -162
- package/.opencode/oh-my-design/web/src/components/font-card.tsx +0 -121
- package/.opencode/oh-my-design/web/src/components/font-playground/color-palette.tsx +0 -86
- package/.opencode/oh-my-design/web/src/components/font-playground/detail-modal.tsx +0 -789
- package/.opencode/oh-my-design/web/src/components/font-playground/filter-bar.tsx +0 -192
- package/.opencode/oh-my-design/web/src/components/font-playground/font-tile.tsx +0 -92
- package/.opencode/oh-my-design/web/src/components/font-playground/gallery.tsx +0 -42
- package/.opencode/oh-my-design/web/src/components/font-playground/hero-entry.tsx +0 -150
- package/.opencode/oh-my-design/web/src/components/font-playground/labels.ts +0 -18
- package/.opencode/oh-my-design/web/src/components/font-playground/match-results.tsx +0 -486
- package/.opencode/oh-my-design/web/src/components/font-playground/my-fonts.tsx +0 -315
- package/.opencode/oh-my-design/web/src/components/font-playground/preview-templates.tsx +0 -395
- package/.opencode/oh-my-design/web/src/components/font-playground/sample-input.tsx +0 -30
- package/.opencode/oh-my-design/web/src/components/font-playground/script-toggle.tsx +0 -73
- package/.opencode/oh-my-design/web/src/components/font-playground/usage-guide.tsx +0 -172
- package/.opencode/oh-my-design/web/src/components/install-cta.tsx +0 -133
- package/.opencode/oh-my-design/web/src/components/landing-v2/hero.tsx +0 -459
- package/.opencode/oh-my-design/web/src/components/landing-v2/live-proof.tsx +0 -464
- package/.opencode/oh-my-design/web/src/components/landing-v2/nav.tsx +0 -126
- package/.opencode/oh-my-design/web/src/components/landing-v2/sections.tsx +0 -1166
- package/.opencode/oh-my-design/web/src/components/landing-v2/the-wall.tsx +0 -332
- package/.opencode/oh-my-design/web/src/components/landing-v2/tokens.ts +0 -33
- package/.opencode/oh-my-design/web/src/components/markdown.tsx +0 -168
- package/.opencode/oh-my-design/web/src/components/playground/actions-header.tsx +0 -28
- package/.opencode/oh-my-design/web/src/components/playground/contrast-badge.tsx +0 -112
- package/.opencode/oh-my-design/web/src/components/playground/controls/category-section.tsx +0 -50
- package/.opencode/oh-my-design/web/src/components/playground/controls/color-picker.tsx +0 -116
- package/.opencode/oh-my-design/web/src/components/playground/controls/density-picker.tsx +0 -56
- package/.opencode/oh-my-design/web/src/components/playground/controls/mood-picker.tsx +0 -53
- package/.opencode/oh-my-design/web/src/components/playground/controls/motion-picker.tsx +0 -62
- package/.opencode/oh-my-design/web/src/components/playground/controls/name-description.tsx +0 -55
- package/.opencode/oh-my-design/web/src/components/playground/controls/palette-grid.tsx +0 -111
- package/.opencode/oh-my-design/web/src/components/playground/controls/personas-picker.tsx +0 -85
- package/.opencode/oh-my-design/web/src/components/playground/controls/radius-picker.tsx +0 -48
- package/.opencode/oh-my-design/web/src/components/playground/controls/voice-picker.tsx +0 -120
- package/.opencode/oh-my-design/web/src/components/playground/controls/weight-picker.tsx +0 -48
- package/.opencode/oh-my-design/web/src/components/playground/export-box.tsx +0 -120
- package/.opencode/oh-my-design/web/src/components/playground/header.tsx +0 -71
- package/.opencode/oh-my-design/web/src/components/playground/layout.tsx +0 -50
- package/.opencode/oh-my-design/web/src/components/playground/mobile-drawer.tsx +0 -78
- package/.opencode/oh-my-design/web/src/components/playground/mood-override-badge.tsx +0 -40
- package/.opencode/oh-my-design/web/src/components/playground/preview-pane.tsx +0 -82
- package/.opencode/oh-my-design/web/src/components/playground/primitives-strip.tsx +0 -153
- package/.opencode/oh-my-design/web/src/components/playground/reference-picker-modal.tsx +0 -146
- package/.opencode/oh-my-design/web/src/components/playground/share-button.tsx +0 -42
- package/.opencode/oh-my-design/web/src/components/playground/start-from.tsx +0 -90
- package/.opencode/oh-my-design/web/src/components/preview-export-view.tsx +0 -205
- package/.opencode/oh-my-design/web/src/components/preview.tsx +0 -869
- package/.opencode/oh-my-design/web/src/components/reference-preview.tsx +0 -1187
- package/.opencode/oh-my-design/web/src/components/reference-selector.tsx +0 -671
- package/.opencode/oh-my-design/web/src/components/scroll-to-top.tsx +0 -41
- package/.opencode/oh-my-design/web/src/components/status-badge.tsx +0 -64
- package/.opencode/oh-my-design/web/src/components/survey/company-mini-ui.tsx +0 -669
- package/.opencode/oh-my-design/web/src/components/survey/install-cta.tsx +0 -80
- package/.opencode/oh-my-design/web/src/components/survey/mood-step.tsx +0 -260
- package/.opencode/oh-my-design/web/src/components/survey/quiz-wizard.tsx +0 -528
- package/.opencode/oh-my-design/web/src/components/survey/result-card.tsx +0 -242
- package/.opencode/oh-my-design/web/src/components/survey/share-buttons.tsx +0 -320
- package/.opencode/oh-my-design/web/src/components/survey/survey-wizard.tsx +0 -661
- package/.opencode/oh-my-design/web/src/components/survey/typography-step.tsx +0 -192
- package/.opencode/oh-my-design/web/src/components/theme-provider.tsx +0 -12
- package/.opencode/oh-my-design/web/src/components/ui/badge.tsx +0 -52
- package/.opencode/oh-my-design/web/src/components/ui/button.tsx +0 -58
- package/.opencode/oh-my-design/web/src/components/ui/card.tsx +0 -103
- package/.opencode/oh-my-design/web/src/components/ui/dialog.tsx +0 -160
- package/.opencode/oh-my-design/web/src/components/ui/input.tsx +0 -20
- package/.opencode/oh-my-design/web/src/components/ui/label.tsx +0 -20
- package/.opencode/oh-my-design/web/src/components/ui/radio-group.tsx +0 -38
- package/.opencode/oh-my-design/web/src/components/ui/scroll-area.tsx +0 -55
- package/.opencode/oh-my-design/web/src/components/ui/select.tsx +0 -201
- package/.opencode/oh-my-design/web/src/components/ui/separator.tsx +0 -25
- package/.opencode/oh-my-design/web/src/components/ui/sheet.tsx +0 -138
- package/.opencode/oh-my-design/web/src/components/ui/slider.tsx +0 -52
- package/.opencode/oh-my-design/web/src/components/ui/switch.tsx +0 -32
- package/.opencode/oh-my-design/web/src/components/ui/tabs.tsx +0 -82
- package/.opencode/oh-my-design/web/src/components/ui/tooltip.tsx +0 -66
- package/.opencode/oh-my-design/web/src/data/faq.ts +0 -81
- package/.opencode/oh-my-design/web/src/data/registry.generated.ts +0 -304
- package/.opencode/oh-my-design/web/src/data/version.generated.ts +0 -2
- package/.opencode/oh-my-design/web/src/lib/changelog.ts +0 -96
- package/.opencode/oh-my-design/web/src/lib/collections.ts +0 -252
- package/.opencode/oh-my-design/web/src/lib/contrast.ts +0 -40
- package/.opencode/oh-my-design/web/src/lib/core/builder-prompt.test.ts +0 -100
- package/.opencode/oh-my-design/web/src/lib/core/builder-prompt.ts +0 -102
- package/.opencode/oh-my-design/web/src/lib/core/color.ts +0 -122
- package/.opencode/oh-my-design/web/src/lib/core/config-hash.test.ts +0 -157
- package/.opencode/oh-my-design/web/src/lib/core/config-hash.ts +0 -133
- package/.opencode/oh-my-design/web/src/lib/core/generate-css.test.ts +0 -813
- package/.opencode/oh-my-design/web/src/lib/core/generate-css.ts +0 -586
- package/.opencode/oh-my-design/web/src/lib/core/survey-hash.test.ts +0 -51
- package/.opencode/oh-my-design/web/src/lib/core/survey-hash.ts +0 -56
- package/.opencode/oh-my-design/web/src/lib/core/types.ts +0 -37
- package/.opencode/oh-my-design/web/src/lib/design-systems.ts +0 -102
- package/.opencode/oh-my-design/web/src/lib/extract-components.test.ts +0 -116
- package/.opencode/oh-my-design/web/src/lib/extract-tokens.test.ts +0 -202
- package/.opencode/oh-my-design/web/src/lib/extract-tokens.ts +0 -1335
- package/.opencode/oh-my-design/web/src/lib/font-registry.ts +0 -376
- package/.opencode/oh-my-design/web/src/lib/fonts/analytics.test.ts +0 -194
- package/.opencode/oh-my-design/web/src/lib/fonts/analytics.ts +0 -234
- package/.opencode/oh-my-design/web/src/lib/fonts/catalog.ts +0 -1509
- package/.opencode/oh-my-design/web/src/lib/fonts/designmd-export.ts +0 -104
- package/.opencode/oh-my-design/web/src/lib/fonts/loaders.test.ts +0 -169
- package/.opencode/oh-my-design/web/src/lib/fonts/loaders.ts +0 -90
- package/.opencode/oh-my-design/web/src/lib/fonts/match-intent.test.ts +0 -93
- package/.opencode/oh-my-design/web/src/lib/fonts/match-intent.ts +0 -288
- package/.opencode/oh-my-design/web/src/lib/fonts/preview-contexts.ts +0 -124
- package/.opencode/oh-my-design/web/src/lib/fonts/rate-limit.ts +0 -43
- package/.opencode/oh-my-design/web/src/lib/fonts/saved-store.ts +0 -113
- package/.opencode/oh-my-design/web/src/lib/fonts/share-link.test.ts +0 -101
- package/.opencode/oh-my-design/web/src/lib/fonts/share-link.ts +0 -52
- package/.opencode/oh-my-design/web/src/lib/fonts/similarity.ts +0 -106
- package/.opencode/oh-my-design/web/src/lib/fonts/tweaks.test.ts +0 -213
- package/.opencode/oh-my-design/web/src/lib/fonts/tweaks.ts +0 -186
- package/.opencode/oh-my-design/web/src/lib/fonts/types.ts +0 -96
- package/.opencode/oh-my-design/web/src/lib/gtag.ts +0 -64
- package/.opencode/oh-my-design/web/src/lib/hot-refs.ts +0 -41
- package/.opencode/oh-my-design/web/src/lib/kv.ts +0 -30
- package/.opencode/oh-my-design/web/src/lib/logos.ts +0 -39
- package/.opencode/oh-my-design/web/src/lib/new-refs.ts +0 -30
- package/.opencode/oh-my-design/web/src/lib/playground/codec.ts +0 -34
- package/.opencode/oh-my-design/web/src/lib/playground/defaults.ts +0 -56
- package/.opencode/oh-my-design/web/src/lib/playground/generate.ts +0 -384
- package/.opencode/oh-my-design/web/src/lib/playground/palettes.ts +0 -259
- package/.opencode/oh-my-design/web/src/lib/playground/rules/density.ts +0 -59
- package/.opencode/oh-my-design/web/src/lib/playground/rules/mood.ts +0 -82
- package/.opencode/oh-my-design/web/src/lib/playground/rules/motion.ts +0 -71
- package/.opencode/oh-my-design/web/src/lib/playground/rules/personality.ts +0 -93
- package/.opencode/oh-my-design/web/src/lib/playground/rules/philosophy.ts +0 -270
- package/.opencode/oh-my-design/web/src/lib/playground/rules/radius.ts +0 -54
- package/.opencode/oh-my-design/web/src/lib/playground/rules/weight.ts +0 -41
- package/.opencode/oh-my-design/web/src/lib/playground/samples.ts +0 -280
- package/.opencode/oh-my-design/web/src/lib/playground/state.ts +0 -194
- package/.opencode/oh-my-design/web/src/lib/search-aliases.ts +0 -213
- package/.opencode/oh-my-design/web/src/lib/survey/profiles.generated.ts +0 -1143
- package/.opencode/oh-my-design/web/src/lib/survey/quiz-data.test.ts +0 -102
- package/.opencode/oh-my-design/web/src/lib/survey/quiz-data.ts +0 -571
- package/.opencode/oh-my-design/web/src/lib/survey/scoring.test.ts +0 -111
- package/.opencode/oh-my-design/web/src/lib/survey/scoring.ts +0 -146
- package/.opencode/oh-my-design/web/src/lib/survey/types.test.ts +0 -153
- package/.opencode/oh-my-design/web/src/lib/survey/types.ts +0 -604
- package/.opencode/oh-my-design/web/src/lib/utils.ts +0 -6
- package/.opencode/oh-my-design/web/src/styles/shadcn.css +0 -95
- package/.opencode/oh-my-design/web/src/styles/tw-animate.css +0 -1
- package/.opencode/oh-my-design/web/src/types/gtag.d.ts +0 -3
- package/.opencode/oh-my-design/web/tsconfig.json +0 -34
- package/.opencode/oh-my-design/web/vitest.config.ts +0 -14
- package/.utils/docs_opencode/acp.md +0 -165
- package/.utils/docs_opencode/acp.pdf +0 -0
- package/.utils/docs_opencode/agents.md +0 -803
- package/.utils/docs_opencode/agents.pdf +0 -0
- package/.utils/docs_opencode/commands.md +0 -354
- package/.utils/docs_opencode/commands.pdf +0 -0
- package/.utils/docs_opencode/custom-tools.md +0 -209
- package/.utils/docs_opencode/custom-tools.pdf +0 -0
- package/.utils/docs_opencode/ecosystem.md +0 -81
- package/.utils/docs_opencode/ecosystem.pdf +0 -0
- package/.utils/docs_opencode/formatters.md +0 -142
- package/.utils/docs_opencode/formatters.pdf +0 -0
- package/.utils/docs_opencode/keybinds.md +0 -205
- package/.utils/docs_opencode/keybinds.pdf +0 -0
- package/.utils/docs_opencode/lsp.md +0 -202
- package/.utils/docs_opencode/lsp.pdf +0 -0
- package/.utils/docs_opencode/mcp-servers.md +0 -565
- package/.utils/docs_opencode/mcp-servers.pdf +0 -0
- package/.utils/docs_opencode/models.md +0 -234
- package/.utils/docs_opencode/models.pdf +0 -0
- package/.utils/docs_opencode/permissions.md +0 -248
- package/.utils/docs_opencode/permissions.pdf +0 -0
- package/.utils/docs_opencode/plugins.md +0 -409
- package/.utils/docs_opencode/plugins.pdf +0 -0
- package/.utils/docs_opencode/rules.md +0 -189
- package/.utils/docs_opencode/rules.pdf +0 -0
- package/.utils/docs_opencode/sdk.md +0 -522
- package/.utils/docs_opencode/sdk.pdf +0 -0
- package/.utils/docs_opencode/server.md +0 -324
- package/.utils/docs_opencode/server.pdf +0 -0
- package/.utils/docs_opencode/skills.md +0 -235
- package/.utils/docs_opencode/skills.pdf +0 -0
- package/.utils/docs_opencode/themes.md +0 -378
- package/.utils/docs_opencode/themes.pdf +0 -0
- package/.utils/docs_opencode/tools.md +0 -364
- package/.utils/docs_opencode/tools.pdf +0 -0
- package/.utils/zugzweb/client/node_modules/.tmp/tsconfig.app.tsbuildinfo +0 -1
- package/.utils/zugzweb/client/node_modules/.tmp/tsconfig.node.tsbuildinfo +0 -1
- package/.utils/zugzweb/client/node_modules/nanoid/.claude/settings.local.json +0 -14
- package/.utils/zugzweb/client/package-lock.json +0 -3707
|
@@ -1,376 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-font metadata: license, install source, and friendly notes.
|
|
3
|
-
*
|
|
4
|
-
* Two-stage lookup:
|
|
5
|
-
* 1. Normalize the input token (strip quotes, map known variants → canonical name)
|
|
6
|
-
* 2. Look up the canonical name in FONT_REGISTRY
|
|
7
|
-
*
|
|
8
|
-
* License labels:
|
|
9
|
-
* - "OFL" → SIL Open Font License (Google Fonts default)
|
|
10
|
-
* - "Apache 2.0" → Apache (Roboto, Noto)
|
|
11
|
-
* - "Proprietary" → commercial license required (foundry source available)
|
|
12
|
-
* - "Brand-proprietary" → custom typeface, NOT publicly distributed
|
|
13
|
-
* - "System" → pre-installed on the OS, no separate install
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
export type FontLicense = "OFL" | "Apache 2.0" | "Proprietary" | "Brand-proprietary" | "System" | "Mixed";
|
|
17
|
-
|
|
18
|
-
export interface FontInfo {
|
|
19
|
-
name: string;
|
|
20
|
-
license: FontLicense;
|
|
21
|
-
/** True if user can install/download this font themselves. */
|
|
22
|
-
installable: boolean;
|
|
23
|
-
source?: { name: string; url: string };
|
|
24
|
-
notes?: string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Variant → canonical name. Lets us collapse e.g. "GeistMono", "Geist Mono" → "Geist Mono"
|
|
29
|
-
* or "Inter Variable" / "Inter Placeholder" / "Inter Fallback" → "Inter".
|
|
30
|
-
*/
|
|
31
|
-
const NORMALIZE: Record<string, string> = {
|
|
32
|
-
// Inter family
|
|
33
|
-
"inter": "Inter",
|
|
34
|
-
"Inter Variable": "Inter",
|
|
35
|
-
"Inter Placeholder": "Inter",
|
|
36
|
-
"Inter Fallback": "Inter",
|
|
37
|
-
"NotionInter": "Notion Inter",
|
|
38
|
-
|
|
39
|
-
// Geist
|
|
40
|
-
"GeistMono": "Geist Mono",
|
|
41
|
-
|
|
42
|
-
// Saans / Söhne / Roobert / Matter / GT family variants
|
|
43
|
-
"SaansMono": "Saans Mono",
|
|
44
|
-
"Söhne Mono": "Söhne Mono",
|
|
45
|
-
"Söhne": "Söhne",
|
|
46
|
-
"sohne-var": "Söhne",
|
|
47
|
-
"Roobert PRO": "Roobert PRO",
|
|
48
|
-
"Roobert PRO Medium": "Roobert PRO",
|
|
49
|
-
"Roobert PRO SemiBold": "Roobert PRO",
|
|
50
|
-
"Roobert PRO SemiBold Italic": "Roobert PRO",
|
|
51
|
-
"Matter Regular": "Matter",
|
|
52
|
-
"Matter Regular Placeholder": "Matter",
|
|
53
|
-
"Matter Medium": "Matter",
|
|
54
|
-
"Matter Medium Placeholder": "Matter",
|
|
55
|
-
"Matter SemiBold": "Matter",
|
|
56
|
-
"Matter SQ Regular": "Matter SQ",
|
|
57
|
-
"Matter SQ Regular Placeholder": "Matter SQ",
|
|
58
|
-
"Matter Mono Regular": "Matter Mono",
|
|
59
|
-
"Matter Mono Regular Placeholder": "Matter Mono",
|
|
60
|
-
"GT Walsheim Medium": "GT Walsheim",
|
|
61
|
-
"GT Walsheim Framer Medium": "GT Walsheim",
|
|
62
|
-
|
|
63
|
-
// ABC Dinamo casing variants
|
|
64
|
-
"abcDiatype": "ABC Diatype",
|
|
65
|
-
"abcRepro": "ABC Repro",
|
|
66
|
-
"aBCFavorit": "ABC Favorit",
|
|
67
|
-
|
|
68
|
-
// Apple
|
|
69
|
-
"SFPro": "SF Pro",
|
|
70
|
-
"SFMono-Regular": "SF Mono",
|
|
71
|
-
"SF Pro KR": "SF Pro",
|
|
72
|
-
"SF Pro Display": "SF Pro Display",
|
|
73
|
-
"SF Pro Text": "SF Pro Text",
|
|
74
|
-
"SF Pro Rounded": "SF Pro",
|
|
75
|
-
"SF Pro Icons": "SF Pro",
|
|
76
|
-
|
|
77
|
-
// Cal Sans variants
|
|
78
|
-
"Cal Sans": "Cal Sans",
|
|
79
|
-
"Cal Sans UI Variable Light": "Cal Sans",
|
|
80
|
-
"Cal Sans UI Medium": "Cal Sans",
|
|
81
|
-
|
|
82
|
-
// BMW
|
|
83
|
-
"BMWTypeNextLatin": "BMWTypeNext",
|
|
84
|
-
"BMWTypeNextLatin Light": "BMWTypeNext",
|
|
85
|
-
|
|
86
|
-
// Lambo
|
|
87
|
-
"LamboType": "LamboType",
|
|
88
|
-
|
|
89
|
-
// Tesla
|
|
90
|
-
"Universal Sans Display": "Universal Sans",
|
|
91
|
-
"Universal Sans Text": "Universal Sans",
|
|
92
|
-
"universalSans": "Universal Sans",
|
|
93
|
-
|
|
94
|
-
// Spotify
|
|
95
|
-
"SpotifyMixUITitle": "Spotify Mix",
|
|
96
|
-
"SpotifyMixUI": "Spotify Mix",
|
|
97
|
-
|
|
98
|
-
// Uber
|
|
99
|
-
"UberMoveText": "Uber Move",
|
|
100
|
-
"UberMove": "Uber Move",
|
|
101
|
-
|
|
102
|
-
// Coinbase
|
|
103
|
-
"CoinbaseDisplay": "Coinbase Display",
|
|
104
|
-
"CoinbaseSans": "Coinbase Sans",
|
|
105
|
-
"CoinbaseText": "Coinbase Text",
|
|
106
|
-
"CoinbaseIcons": "Coinbase Icons",
|
|
107
|
-
|
|
108
|
-
// Cohere
|
|
109
|
-
"CohereText": "Cohere Text",
|
|
110
|
-
"CohereMono": "Cohere Mono",
|
|
111
|
-
"CohereIconDefault": "Cohere Icon",
|
|
112
|
-
"Unica77 Cohere Web": "Unica77",
|
|
113
|
-
|
|
114
|
-
// Cursor
|
|
115
|
-
"CursorGothic": "Cursor Gothic",
|
|
116
|
-
"CursorIcons16": "Cursor Icons",
|
|
117
|
-
|
|
118
|
-
// Figma
|
|
119
|
-
"figmaSans": "Figma Sans",
|
|
120
|
-
"figmaMono": "Figma Mono",
|
|
121
|
-
|
|
122
|
-
// Kraken
|
|
123
|
-
"Kraken-Brand": "Kraken Brand",
|
|
124
|
-
"Kraken-Product": "Kraken Product",
|
|
125
|
-
|
|
126
|
-
// ElevenLabs Waldenburg variants
|
|
127
|
-
"WaldenburgFH": "Waldenburg",
|
|
128
|
-
"Waldenburg Fallback": "Waldenburg",
|
|
129
|
-
"WaldenburgFH Fallback": "Waldenburg",
|
|
130
|
-
"waldenburgNormal": "Waldenburg",
|
|
131
|
-
|
|
132
|
-
// Sentry
|
|
133
|
-
"Dammit Sans": "Dammit Sans",
|
|
134
|
-
|
|
135
|
-
// SpaceX
|
|
136
|
-
"D-DIN-Bold": "D-DIN",
|
|
137
|
-
|
|
138
|
-
// freee
|
|
139
|
-
"freee-logo'` from Google Fonts.": "freee-logo",
|
|
140
|
-
|
|
141
|
-
// Hashicorp scrambled CSS Module class
|
|
142
|
-
"__hashicorpSans_96f0ca": "HashiCorp Sans",
|
|
143
|
-
|
|
144
|
-
// Replicate
|
|
145
|
-
"rb-freigeist-neue": "Freigeist Neue",
|
|
146
|
-
"basier-square": "Basier Square",
|
|
147
|
-
|
|
148
|
-
// Resend
|
|
149
|
-
"domaine": "Domaine",
|
|
150
|
-
"commitMono": "Commit Mono",
|
|
151
|
-
|
|
152
|
-
// x.ai
|
|
153
|
-
"Geist Mono": "Geist Mono",
|
|
154
|
-
|
|
155
|
-
// Cursor brand serif (jjannon = Antoine Janot's font?)
|
|
156
|
-
"jjannon": "JJannon",
|
|
157
|
-
|
|
158
|
-
// CJK fonts (system fallbacks already canonicalized)
|
|
159
|
-
"ヒラギノ角ゴ ProN": "Hiragino Kaku Gothic ProN",
|
|
160
|
-
"メイリオ": "Meiryo",
|
|
161
|
-
"微軟正黑體": "Microsoft JhengHei",
|
|
162
|
-
"黑體-繁": "Heiti TC",
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
const FONT_REGISTRY: Record<string, FontInfo> = {
|
|
166
|
-
// ─────────── System / Apple ───────────
|
|
167
|
-
"Apple System": { name: "Apple System", license: "System", installable: false, notes: "macOS/iOS default — uses SF Pro automatically." },
|
|
168
|
-
"-apple-system": { name: "Apple System", license: "System", installable: false, notes: "macOS/iOS default — uses SF Pro automatically." },
|
|
169
|
-
"BlinkMacSystemFont": { name: "Apple System (Blink)", license: "System", installable: false, notes: "Chrome alias for Apple system font on macOS." },
|
|
170
|
-
"system-ui": { name: "System UI", license: "System", installable: false, notes: "Generic OS-default font keyword." },
|
|
171
|
-
"ui-sans-serif": { name: "UI Sans Serif", license: "System", installable: false, notes: "CSS keyword — OS default sans (San Francisco / Segoe UI / etc.)." },
|
|
172
|
-
"ui-monospace": { name: "UI Monospace", license: "System", installable: false, notes: "CSS keyword — OS default mono (SF Mono / Consolas / etc.)." },
|
|
173
|
-
"sans-serif": { name: "Generic sans-serif", license: "System", installable: false },
|
|
174
|
-
"serif": { name: "Generic serif", license: "System", installable: false },
|
|
175
|
-
"monospace": { name: "Generic monospace", license: "System", installable: false },
|
|
176
|
-
|
|
177
|
-
"SF Pro": { name: "SF Pro", license: "Proprietary", installable: true, source: { name: "Apple Developer", url: "https://developer.apple.com/fonts/" }, notes: "Apple's system font. Free for Apple platforms." },
|
|
178
|
-
"SF Pro Display": { name: "SF Pro Display", license: "Proprietary", installable: true, source: { name: "Apple Developer", url: "https://developer.apple.com/fonts/" } },
|
|
179
|
-
"SF Pro Text": { name: "SF Pro Text", license: "Proprietary", installable: true, source: { name: "Apple Developer", url: "https://developer.apple.com/fonts/" } },
|
|
180
|
-
"SF Mono": { name: "SF Mono", license: "Proprietary", installable: true, source: { name: "Apple Developer", url: "https://developer.apple.com/fonts/" }, notes: "Apple's monospace. Free for Apple platforms." },
|
|
181
|
-
"Helvetica Neue": { name: "Helvetica Neue", license: "Proprietary", installable: false, source: { name: "Linotype", url: "https://www.myfonts.com/collections/neue-helvetica-font-linotype" }, notes: "Pre-installed on macOS/iOS. Commercial license required for redistribution." },
|
|
182
|
-
"Helvetica": { name: "Helvetica", license: "Proprietary", installable: false, source: { name: "Linotype", url: "https://www.myfonts.com/collections/helvetica-font-linotype" }, notes: "Pre-installed on macOS/iOS." },
|
|
183
|
-
"Arial": { name: "Arial", license: "Proprietary", installable: false, notes: "Pre-installed on Windows/macOS." },
|
|
184
|
-
"Verdana": { name: "Verdana", license: "Proprietary", installable: false, notes: "Microsoft system font." },
|
|
185
|
-
"Times": { name: "Times", license: "Proprietary", installable: false, notes: "Pre-installed on macOS/Windows." },
|
|
186
|
-
"Times New Roman": { name: "Times New Roman", license: "Proprietary", installable: false, notes: "Pre-installed on macOS/Windows." },
|
|
187
|
-
"Georgia": { name: "Georgia", license: "Proprietary", installable: false, notes: "Pre-installed on macOS/Windows." },
|
|
188
|
-
"Courier New": { name: "Courier New", license: "Proprietary", installable: false, notes: "Pre-installed on macOS/Windows." },
|
|
189
|
-
"Monaco": { name: "Monaco", license: "System", installable: false, notes: "macOS pre-installed monospace." },
|
|
190
|
-
"Menlo": { name: "Menlo", license: "System", installable: false, notes: "macOS pre-installed monospace." },
|
|
191
|
-
"Consolas": { name: "Consolas", license: "Proprietary", installable: false, notes: "Microsoft system monospace (Windows)." },
|
|
192
|
-
"Liberation Mono": { name: "Liberation Mono", license: "OFL", installable: true, source: { name: "GitHub · liberationfonts", url: "https://github.com/liberationfonts/liberation-fonts" }, notes: "Open-source metric-compatible alternative to Courier New." },
|
|
193
|
-
|
|
194
|
-
// ─────────── Apple CJK ───────────
|
|
195
|
-
"PingFang TC": { name: "PingFang TC", license: "System", installable: false, notes: "Apple system font for Traditional Chinese." },
|
|
196
|
-
"PingFang SC": { name: "PingFang SC", license: "System", installable: false, notes: "Apple system font for Simplified Chinese." },
|
|
197
|
-
"Hiragino Kaku Gothic ProN": { name: "Hiragino Kaku Gothic ProN", license: "System", installable: false, notes: "Apple system font for Japanese." },
|
|
198
|
-
"Hiragino Sans": { name: "Hiragino Sans", license: "System", installable: false },
|
|
199
|
-
"Apple LiGothic Medium": { name: "Apple LiGothic Medium", license: "System", installable: false, notes: "Legacy Apple Traditional Chinese font." },
|
|
200
|
-
"Heiti TC": { name: "Heiti TC", license: "System", installable: false, notes: "Apple legacy Traditional Chinese." },
|
|
201
|
-
"Heiti SC": { name: "Heiti SC", license: "System", installable: false, notes: "Apple legacy Simplified Chinese." },
|
|
202
|
-
"Apple SD Gothic Neo": { name: "Apple SD Gothic Neo", license: "System", installable: false, notes: "Apple system font for Korean." },
|
|
203
|
-
|
|
204
|
-
// ─────────── Microsoft CJK ───────────
|
|
205
|
-
"Microsoft JhengHei": { name: "Microsoft JhengHei", license: "System", installable: false, notes: "Windows Traditional Chinese." },
|
|
206
|
-
"Microsoft YaHei": { name: "Microsoft YaHei", license: "System", installable: false, notes: "Windows Simplified Chinese." },
|
|
207
|
-
"Meiryo": { name: "Meiryo", license: "System", installable: false, notes: "Windows Japanese." },
|
|
208
|
-
|
|
209
|
-
// ─────────── Google Fonts (OFL/Apache) ───────────
|
|
210
|
-
"Inter": { name: "Inter", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Inter" }, notes: "Designed by Rasmus Andersson. Variable font with full weight range." },
|
|
211
|
-
"Roboto": { name: "Roboto", license: "Apache 2.0", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Roboto" } },
|
|
212
|
-
"Roboto Mono": { name: "Roboto Mono", license: "Apache 2.0", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Roboto+Mono" } },
|
|
213
|
-
"Geist": { name: "Geist", license: "OFL", installable: true, source: { name: "Vercel", url: "https://vercel.com/font" }, notes: "Vercel's open-source typeface family." },
|
|
214
|
-
"Geist Mono": { name: "Geist Mono", license: "OFL", installable: true, source: { name: "Vercel", url: "https://vercel.com/font" } },
|
|
215
|
-
"Noto Sans": { name: "Noto Sans", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/noto/specimen/Noto+Sans" } },
|
|
216
|
-
"Noto Sans JP": { name: "Noto Sans JP", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/noto/specimen/Noto+Sans+JP" } },
|
|
217
|
-
"Noto Sans KR": { name: "Noto Sans KR", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/noto/specimen/Noto+Sans+KR" } },
|
|
218
|
-
"Noto Sans TC": { name: "Noto Sans TC", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/noto/specimen/Noto+Sans+TC" } },
|
|
219
|
-
"Noto Sans SC": { name: "Noto Sans SC", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/noto/specimen/Noto+Sans+SC" } },
|
|
220
|
-
"Noto Sans Thai": { name: "Noto Sans Thai", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/noto/specimen/Noto+Sans+Thai" } },
|
|
221
|
-
"Source Code Pro": { name: "Source Code Pro", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Source+Code+Pro" } },
|
|
222
|
-
"SourceCodePro": { name: "Source Code Pro", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Source+Code+Pro" } },
|
|
223
|
-
"JetBrains Mono": { name: "JetBrains Mono", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/JetBrains+Mono" } },
|
|
224
|
-
"Playfair Display": { name: "Playfair Display", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Playfair+Display" } },
|
|
225
|
-
"Work Sans": { name: "Work Sans", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Work+Sans" } },
|
|
226
|
-
"Manrope": { name: "Manrope", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Manrope" } },
|
|
227
|
-
"Plus Jakarta Sans": { name: "Plus Jakarta Sans", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Plus+Jakarta+Sans" } },
|
|
228
|
-
"DM Sans": { name: "DM Sans", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/DM+Sans" } },
|
|
229
|
-
"DM Mono": { name: "DM Mono", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/DM+Mono" } },
|
|
230
|
-
"IBM Plex Sans": { name: "IBM Plex Sans", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/IBM+Plex+Sans" } },
|
|
231
|
-
"IBM Plex Sans Variable": { name: "IBM Plex Sans Variable", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/IBM+Plex+Sans" }, notes: "Variable-axis version of IBM Plex Sans." },
|
|
232
|
-
"IBM Plex Mono": { name: "IBM Plex Mono", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/IBM+Plex+Mono" } },
|
|
233
|
-
"IBM Plex Serif": { name: "IBM Plex Serif", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/IBM+Plex+Serif" } },
|
|
234
|
-
"Open Sans": { name: "Open Sans", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Open+Sans" } },
|
|
235
|
-
"Outfit": { name: "Outfit", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Outfit" } },
|
|
236
|
-
"Poppins": { name: "Poppins", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Poppins" } },
|
|
237
|
-
"Rubik": { name: "Rubik", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Rubik" } },
|
|
238
|
-
"Inconsolata": { name: "Inconsolata", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Inconsolata" } },
|
|
239
|
-
"Mona Sans": { name: "Mona Sans", license: "OFL", installable: true, source: { name: "GitHub", url: "https://github.com/github/mona-sans" }, notes: "GitHub's variable font, free and open." },
|
|
240
|
-
"Open Runde": { name: "Open Runde", license: "OFL", installable: true, source: { name: "GitHub · raphaelbastide", url: "https://github.com/lauridskern/open-runde" }, notes: "Open-source rounded geometric sans." },
|
|
241
|
-
"Space Mono": { name: "Space Mono", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Space+Mono" } },
|
|
242
|
-
"Azeret Mono": { name: "Azeret Mono", license: "OFL", installable: true, source: { name: "Google Fonts", url: "https://fonts.google.com/specimen/Azeret+Mono" } },
|
|
243
|
-
"Commit Mono": { name: "Commit Mono", license: "OFL", installable: true, source: { name: "commitmono.com", url: "https://commitmono.com/" }, notes: "Free, open-source mono designed for code." },
|
|
244
|
-
"Pretendard Variable": { name: "Pretendard Variable", license: "OFL", installable: true, source: { name: "GitHub · orioncactus/pretendard", url: "https://github.com/orioncactus/pretendard" }, notes: "Modern Korean variable font with full Latin coverage." },
|
|
245
|
-
"Pretendard": { name: "Pretendard", license: "OFL", installable: true, source: { name: "GitHub · orioncactus/pretendard", url: "https://github.com/orioncactus/pretendard" } },
|
|
246
|
-
"Cal Sans": { name: "Cal Sans", license: "OFL", installable: true, source: { name: "GitHub · calcom/font", url: "https://github.com/calcom/font" }, notes: "Cal.com's open-source display font." },
|
|
247
|
-
"D-DIN": { name: "D-DIN", license: "OFL", installable: true, source: { name: "GitHub · datto", url: "https://github.com/datto/d-din" }, notes: "Open-source DIN clone, used by SpaceX." },
|
|
248
|
-
"Tossface": { name: "Tossface", license: "OFL", installable: true, source: { name: "toss.im/tossface", url: "https://toss.im/tossface" }, notes: "Toss's open-source emoji font (3,500+ emojis). Source on GitHub: toss/tossface." },
|
|
249
|
-
"Dammit Sans": { name: "Dammit Sans", license: "OFL", installable: true, source: { name: "GitHub · getsentry", url: "https://github.com/getsentry/dammit" }, notes: "Sentry's open-source brand font." },
|
|
250
|
-
|
|
251
|
-
// ─────────── Brand-typeface (Vercel/Klim/Displaay/Dinamo etc., commercial license) ───────────
|
|
252
|
-
"Söhne": { name: "Söhne", license: "Proprietary", installable: false, source: { name: "Klim Type Foundry", url: "https://klim.co.nz/retail-fonts/soehne/" }, notes: "Klim's flagship grotesk. Used by Stripe, Vercel, OpenAI." },
|
|
253
|
-
"Söhne Mono": { name: "Söhne Mono", license: "Proprietary", installable: false, source: { name: "Klim Type Foundry", url: "https://klim.co.nz/retail-fonts/soehne-mono/" } },
|
|
254
|
-
"Tiempos Text": { name: "Tiempos Text", license: "Proprietary", installable: false, source: { name: "Klim Type Foundry", url: "https://klim.co.nz/retail-fonts/tiempos-text/" } },
|
|
255
|
-
"Domaine": { name: "Domaine", license: "Proprietary", installable: false, source: { name: "Klim Type Foundry", url: "https://klim.co.nz/retail-fonts/domaine-text/" } },
|
|
256
|
-
"Roobert": { name: "Roobert", license: "Proprietary", installable: false, source: { name: "Displaay Type", url: "https://displaay.net/typeface/roobert/" }, notes: "Used by Clay." },
|
|
257
|
-
"Roobert PRO": { name: "Roobert PRO", license: "Proprietary", installable: false, source: { name: "Displaay Type", url: "https://displaay.net/typeface/roobert/" }, notes: "Used by Miro. Displaay folded PRO into the main Roobert family page." },
|
|
258
|
-
"Saans": { name: "Saans", license: "Proprietary", installable: false, source: { name: "Displaay Type", url: "https://displaay.net/typeface/saans/" }, notes: "Used by Intercom." },
|
|
259
|
-
"Saans Mono": { name: "Saans Mono", license: "Proprietary", installable: false, source: { name: "Displaay Type", url: "https://displaay.net/typeface/saans/" } },
|
|
260
|
-
"Matter": { name: "Matter", license: "Proprietary", installable: false, source: { name: "Displaay Type", url: "https://displaay.net/typeface/matter/" }, notes: "Used by Cal.com, Warp." },
|
|
261
|
-
"Matter Mono": { name: "Matter Mono", license: "Proprietary", installable: false, source: { name: "Displaay Type", url: "https://displaay.net/typeface/matter/" } },
|
|
262
|
-
"Matter SQ": { name: "Matter SQ", license: "Proprietary", installable: false, source: { name: "Displaay Type", url: "https://displaay.net/typeface/matter/" } },
|
|
263
|
-
"GT Walsheim": { name: "GT Walsheim", license: "Proprietary", installable: false, source: { name: "Grilli Type", url: "https://www.grillitype.com/typeface/gt-walsheim" }, notes: "Used by Framer." },
|
|
264
|
-
"GT Alpina": { name: "GT Alpina", license: "Proprietary", installable: false, source: { name: "Grilli Type", url: "https://www.grillitype.com/typeface/gt-alpina" }, notes: "Used by Zapier." },
|
|
265
|
-
"Berkeley Mono": { name: "Berkeley Mono", license: "Proprietary", installable: false, source: { name: "US Graphics", url: "https://usgraphics.com/products/berkeley-mono" }, notes: "Used by Linear, OpenCode. Foundry moved from berkeleygraphics.com to usgraphics.com." },
|
|
266
|
-
"Circular": { name: "Circular", license: "Proprietary", installable: false, source: { name: "Lineto", url: "https://lineto.com/typefaces/circular" }, notes: "Used by Spotify, Supabase." },
|
|
267
|
-
"Aeonik Pro": { name: "Aeonik Pro", license: "Proprietary", installable: false, source: { name: "CoType Foundry", url: "https://www.cotypefoundry.com/font-family/aeonik" }, notes: "Used by Revolut." },
|
|
268
|
-
"Degular Display": { name: "Degular Display", license: "Proprietary", installable: false, source: { name: "OHno Type", url: "https://ohnotype.co/fonts/degular/" }, notes: "Used by Zapier." },
|
|
269
|
-
"Universal Sans": { name: "Universal Sans", license: "Proprietary", installable: false, notes: "Variable typeface system by Universal Thirst. Used by Tesla, x.ai. Foundry catalog page has moved — search 'Universal Sans Universal Thirst' for the current listing." },
|
|
270
|
-
"Euclid Circular A": { name: "Euclid Circular A", license: "Proprietary", installable: false, source: { name: "Swiss Typefaces", url: "https://www.swisstypefaces.com/fonts/euclid/" } },
|
|
271
|
-
"Akzidenz-Grotesk Std": { name: "Akzidenz-Grotesk Std", license: "Proprietary", installable: false, source: { name: "Berthold Types", url: "https://www.bertholdtypes.com/font/akzidenz-grotesk-be/" } },
|
|
272
|
-
"PP Neue Montreal Mono": { name: "PP Neue Montreal Mono", license: "Proprietary", installable: false, source: { name: "Pangram Pangram", url: "https://pangrampangram.com/products/neue-montreal-mono" }, notes: "Used by Together AI." },
|
|
273
|
-
"Haas": { name: "Haas Grot Display", license: "Proprietary", installable: false, source: { name: "Commercial Type", url: "https://commercialtype.com/catalog/neue_haas_grotesk" }, notes: "Used by Airtable." },
|
|
274
|
-
"Haas Groot Disp": { name: "Haas Grot Display", license: "Proprietary", installable: false, source: { name: "Commercial Type", url: "https://commercialtype.com/catalog/neue_haas_grotesk" } },
|
|
275
|
-
"ABC Diatype": { name: "ABC Diatype", license: "Proprietary", installable: false, source: { name: "ABC Dinamo", url: "https://abcdinamo.com/typefaces/diatype" }, notes: "Used by Composio and many crypto/AI brands." },
|
|
276
|
-
"ABC Repro": { name: "ABC Repro", license: "Proprietary", installable: false, source: { name: "ABC Dinamo", url: "https://abcdinamo.com/typefaces/repro" } },
|
|
277
|
-
"ABC Favorit": { name: "ABC Favorit", license: "Proprietary", installable: false, source: { name: "ABC Dinamo", url: "https://abcdinamo.com/typefaces/favorit" }, notes: "Used by Resend." },
|
|
278
|
-
"Basier": { name: "Basier", license: "Proprietary", installable: false, source: { name: "Atipo Foundry", url: "https://www.atipofoundry.com/" }, notes: "Used by ClickHouse. Browse the Atipo Foundry catalog for Basier's current listing." },
|
|
279
|
-
"Basier Square": { name: "Basier Square", license: "Proprietary", installable: false, source: { name: "Atipo Foundry", url: "https://www.atipofoundry.com/" }, notes: "Browse the Atipo Foundry catalog for the Basier family." },
|
|
280
|
-
"Freigeist Neue": { name: "Freigeist Neue", license: "Proprietary", installable: false, source: { name: "TypeMates", url: "https://typemates.com/" }, notes: "Used by Replicate. Browse the TypeMates catalog for Freigeist's current listing." },
|
|
281
|
-
"Unica77": { name: "Unica77", license: "Proprietary", installable: false, source: { name: "Lineto", url: "https://lineto.com/typefaces/unica77" }, notes: "Used by Cohere as a base for their custom variant." },
|
|
282
|
-
"Messina Sans": { name: "Messina Sans", license: "Proprietary", installable: false, source: { name: "Luzi Type", url: "https://luzi-type.ch/messina-sans" }, notes: "Used by Superhuman. Mono subfamily ships inside Messina Sans." },
|
|
283
|
-
"Messina Serif": { name: "Messina Serif", license: "Proprietary", installable: false, source: { name: "Luzi Type", url: "https://luzi-type.ch/messina-serif" } },
|
|
284
|
-
"Messina Mono": { name: "Messina Mono", license: "Proprietary", installable: false, source: { name: "Luzi Type", url: "https://luzi-type.ch/messina-sans" }, notes: "Mono weights are part of the Messina Sans family." },
|
|
285
|
-
"JJannon": { name: "JJannon", license: "Proprietary", installable: false, notes: "Used by Cursor as a serif accent. Foundry catalog page is not currently available — check Production Type's current catalog for availability." },
|
|
286
|
-
|
|
287
|
-
// ─────────── Brand-proprietary (NOT publicly distributed) ───────────
|
|
288
|
-
"Airbnb Cereal VF": { name: "Airbnb Cereal VF", license: "Brand-proprietary", installable: false, notes: "Airbnb's internal typeface. Not publicly distributed. Use Inter as the closest open-source substitute." },
|
|
289
|
-
"Pin Sans": { name: "Pin Sans", license: "Brand-proprietary", installable: false, notes: "Pinterest's custom typeface. Not publicly distributed." },
|
|
290
|
-
"NVIDIA-EMEA": { name: "NVIDIA Sans (EMEA)", license: "Brand-proprietary", installable: false, notes: "NVIDIA's brand typeface. Not publicly distributed." },
|
|
291
|
-
"Notion Inter": { name: "Notion Inter (modified)", license: "OFL", installable: true, source: { name: "Use Inter (Google Fonts)", url: "https://fonts.google.com/specimen/Inter" }, notes: "Notion uses a slightly customized Inter — install standard Inter as a near-perfect match." },
|
|
292
|
-
"Toss Product Sans": { name: "Toss Product Sans", license: "Brand-proprietary", installable: false, notes: "Toss's brand typeface. Not publicly distributed — internal use only per Toss's brand system." },
|
|
293
|
-
"Camera Plain Variable": { name: "Camera Plain Variable", license: "Brand-proprietary", installable: false, notes: "Lovable's brand typeface. Not publicly distributed." },
|
|
294
|
-
"The Future": { name: "The Future", license: "Brand-proprietary", installable: false, notes: "Together AI's brand typeface. Not publicly distributed." },
|
|
295
|
-
"freee-logo": { name: "freee-logo (Noto Sans CJK JP Medium)", license: "OFL", installable: true, source: { name: "Use Noto Sans JP", url: "https://fonts.google.com/noto/specimen/Noto+Sans+JP" }, notes: "freee's brand wordmark uses Noto Sans CJK JP Medium loaded explicitly." },
|
|
296
|
-
|
|
297
|
-
"Coinbase Display": { name: "Coinbase Display", license: "Brand-proprietary", installable: false, notes: "Coinbase's custom typeface. Not publicly distributed." },
|
|
298
|
-
"Coinbase Sans": { name: "Coinbase Sans", license: "Brand-proprietary", installable: false, notes: "Coinbase's custom typeface. Not publicly distributed." },
|
|
299
|
-
"Coinbase Text": { name: "Coinbase Text", license: "Brand-proprietary", installable: false, notes: "Coinbase's custom typeface. Not publicly distributed." },
|
|
300
|
-
"Coinbase Icons": { name: "Coinbase Icons", license: "Brand-proprietary", installable: false, notes: "Internal icon font." },
|
|
301
|
-
|
|
302
|
-
"Cohere Text": { name: "Cohere Text", license: "Brand-proprietary", installable: false, notes: "Cohere's custom typeface (built on Unica77). Not publicly distributed." },
|
|
303
|
-
"Cohere Mono": { name: "Cohere Mono", license: "Brand-proprietary", installable: false },
|
|
304
|
-
"Cohere Icon": { name: "Cohere Icon", license: "Brand-proprietary", installable: false, notes: "Internal icon font." },
|
|
305
|
-
|
|
306
|
-
"Cursor Gothic": { name: "Cursor Gothic", license: "Brand-proprietary", installable: false, notes: "Cursor's custom display typeface. Not publicly distributed." },
|
|
307
|
-
"Cursor Icons": { name: "Cursor Icons", license: "Brand-proprietary", installable: false, notes: "Internal icon font." },
|
|
308
|
-
|
|
309
|
-
"Waldenburg": { name: "Waldenburg", license: "Proprietary", installable: false, source: { name: "Lineto", url: "https://lineto.com/typefaces/waldenburg" }, notes: "Used by ElevenLabs and Sanity." },
|
|
310
|
-
|
|
311
|
-
"Figma Sans": { name: "Figma Sans", license: "Brand-proprietary", installable: false, notes: "Figma's custom typeface. Not publicly distributed." },
|
|
312
|
-
"Figma Mono": { name: "Figma Mono", license: "Brand-proprietary", installable: false },
|
|
313
|
-
|
|
314
|
-
"HashiCorp Sans": { name: "HashiCorp Sans", license: "Brand-proprietary", installable: false, notes: "HashiCorp's brand sans. Not publicly distributed." },
|
|
315
|
-
|
|
316
|
-
"Anthropic Sans": { name: "Anthropic Sans", license: "Brand-proprietary", installable: false, notes: "Anthropic's brand typeface. Not publicly distributed." },
|
|
317
|
-
"Anthropic Serif": { name: "Anthropic Serif", license: "Brand-proprietary", installable: false },
|
|
318
|
-
"Anthropic Mono": { name: "Anthropic Mono", license: "Brand-proprietary", installable: false },
|
|
319
|
-
|
|
320
|
-
"Kraken Brand": { name: "Kraken Brand", license: "Brand-proprietary", installable: false, notes: "Kraken's custom display typeface. Not publicly distributed." },
|
|
321
|
-
"Kraken Product": { name: "Kraken Product", license: "Brand-proprietary", installable: false, notes: "Kraken's custom UI typeface. Not publicly distributed." },
|
|
322
|
-
|
|
323
|
-
"MongoDB Value Serif": { name: "MongoDB Value Serif", license: "Brand-proprietary", installable: false, notes: "MongoDB's custom serif. Not publicly distributed." },
|
|
324
|
-
|
|
325
|
-
"BMWTypeNext": { name: "BMW TypeNext", license: "Brand-proprietary", installable: false, notes: "BMW's brand typeface. Not publicly distributed." },
|
|
326
|
-
"LamboType": { name: "LamboType", license: "Brand-proprietary", installable: false, notes: "Lamborghini's brand typeface. Not publicly distributed." },
|
|
327
|
-
|
|
328
|
-
"Spotify Mix": { name: "Spotify Mix", license: "Brand-proprietary", installable: false, notes: "Spotify's brand UI typeface. Not publicly distributed." },
|
|
329
|
-
"Uber Move": { name: "Uber Move", license: "Brand-proprietary", installable: false, notes: "Uber's brand typeface. Not publicly distributed." },
|
|
330
|
-
"Wise Sans": { name: "Wise Sans", license: "Brand-proprietary", installable: false, notes: "Wise's brand typeface. Not publicly distributed." },
|
|
331
|
-
"Super Sans VF": { name: "Super Sans VF", license: "Brand-proprietary", installable: false, notes: "Superhuman's brand typeface. Not publicly distributed." },
|
|
332
|
-
|
|
333
|
-
"Font Awesome 6 Pro": { name: "Font Awesome 6 Pro", license: "Proprietary", installable: true, source: { name: "Font Awesome", url: "https://fontawesome.com/" }, notes: "Commercial icon font (subscription required)." },
|
|
334
|
-
"Font Awesome 6 Sharp": { name: "Font Awesome 6 Sharp", license: "Proprietary", installable: true, source: { name: "Font Awesome", url: "https://fontawesome.com/" } },
|
|
335
|
-
|
|
336
|
-
"WF Visual Sans Variable": { name: "WF Visual Sans Variable", license: "Brand-proprietary", installable: false, notes: "Webflow's brand typeface. Not publicly distributed." },
|
|
337
|
-
};
|
|
338
|
-
|
|
339
|
-
/** Strip quotes / CSS keywords; collapse to canonical name via NORMALIZE map. */
|
|
340
|
-
function normalize(token: string): string {
|
|
341
|
-
const cleaned = token.replace(/['"]/g, "").replace(/[;].*/, "").trim();
|
|
342
|
-
return NORMALIZE[cleaned] ?? cleaned;
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
/** Look up a font in the registry. Returns a "Generic" fallback if not found. */
|
|
346
|
-
export function lookupFont(token: string): FontInfo {
|
|
347
|
-
const key = normalize(token);
|
|
348
|
-
return (
|
|
349
|
-
FONT_REGISTRY[key] ?? {
|
|
350
|
-
name: key,
|
|
351
|
-
license: "Brand-proprietary",
|
|
352
|
-
installable: false,
|
|
353
|
-
notes: "Not in the OMD font registry. Likely a brand-proprietary typeface — check the brand's own design site for source/availability.",
|
|
354
|
-
}
|
|
355
|
-
);
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
/** Parse a CSS font-family stack and return the canonical fonts in order, deduped. */
|
|
359
|
-
export function parseFontStack(stack: string): FontInfo[] {
|
|
360
|
-
const tokens = stack.split(",").map(normalize).filter(Boolean);
|
|
361
|
-
const seen = new Set<string>();
|
|
362
|
-
const result: FontInfo[] = [];
|
|
363
|
-
for (const t of tokens) {
|
|
364
|
-
const info = lookupFont(t);
|
|
365
|
-
if (seen.has(info.name)) continue;
|
|
366
|
-
seen.add(info.name);
|
|
367
|
-
result.push(info);
|
|
368
|
-
if (result.length >= 6) break;
|
|
369
|
-
}
|
|
370
|
-
return result;
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
/** Return whether a normalized font name is registered (vs. defaulting to "not found"). */
|
|
374
|
-
export function isRegistered(token: string): boolean {
|
|
375
|
-
return Boolean(FONT_REGISTRY[normalize(token)]);
|
|
376
|
-
}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Analytics helpers — verify wire-level GA4 event shapes.
|
|
3
|
-
*
|
|
4
|
-
* We mock `@/lib/gtag` so every `track*` call is observable as a
|
|
5
|
-
* (event_name, params) tuple. The assertions cover the three things
|
|
6
|
-
* most likely to drift silently:
|
|
7
|
-
* 1. Event names use the `fp_` namespace + snake_case
|
|
8
|
-
* 2. ID parameter is always `reference` (house convention), not
|
|
9
|
-
* `font_id` / `ref_id`
|
|
10
|
-
* 3. Cardinality controls (length buckets, sorted scripts) hold
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
14
|
-
|
|
15
|
-
vi.mock("@/lib/gtag", () => ({
|
|
16
|
-
event: vi.fn(),
|
|
17
|
-
}));
|
|
18
|
-
|
|
19
|
-
import { event } from "@/lib/gtag";
|
|
20
|
-
import {
|
|
21
|
-
trackBrowseFilter,
|
|
22
|
-
trackCustomizeOpen,
|
|
23
|
-
trackCustomizeSave,
|
|
24
|
-
trackExportCopy,
|
|
25
|
-
trackExternalClick,
|
|
26
|
-
trackHeroChipClick,
|
|
27
|
-
trackHeroSubmit,
|
|
28
|
-
trackMatchFallback,
|
|
29
|
-
trackMatchSelect,
|
|
30
|
-
trackMatchView,
|
|
31
|
-
trackModalReset,
|
|
32
|
-
trackModalSimilarPick,
|
|
33
|
-
trackModalTweak,
|
|
34
|
-
trackOpen,
|
|
35
|
-
trackQueryRefine,
|
|
36
|
-
trackSavedDelete,
|
|
37
|
-
trackSavedOpen,
|
|
38
|
-
trackShareLand,
|
|
39
|
-
trackStageEnter,
|
|
40
|
-
} from "./analytics";
|
|
41
|
-
|
|
42
|
-
const mockedEvent = vi.mocked(event);
|
|
43
|
-
|
|
44
|
-
function lastCall(): [string, Record<string, unknown>] {
|
|
45
|
-
const calls = mockedEvent.mock.calls;
|
|
46
|
-
expect(calls.length).toBeGreaterThan(0);
|
|
47
|
-
const [name, params] = calls[calls.length - 1];
|
|
48
|
-
return [name as string, (params ?? {}) as Record<string, unknown>];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
beforeEach(() => {
|
|
52
|
-
mockedEvent.mockClear();
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
describe("analytics — event names", () => {
|
|
56
|
-
it("every emitted event uses the fp_ namespace and snake_case", () => {
|
|
57
|
-
trackOpen("direct");
|
|
58
|
-
trackHeroSubmit({ queryLen: 0, scripts: [], source: "input" });
|
|
59
|
-
trackMatchView({ kind: "ai", pickCount: 3, queryLen: 0, scripts: [] });
|
|
60
|
-
trackMatchSelect({ fontId: "x", rank: 1, kind: "ai", queryLen: 0 });
|
|
61
|
-
trackCustomizeOpen({ fontId: "x", source: "match" });
|
|
62
|
-
trackCustomizeSave({ fontId: "x", hasCustomizations: false, nameLen: 0 });
|
|
63
|
-
trackExportCopy({ channel: "css", surface: "modal", fontId: "x" });
|
|
64
|
-
trackStageEnter({ to: "hero", from: null });
|
|
65
|
-
trackHeroChipClick({ position: 0, queryLen: 0 });
|
|
66
|
-
trackMatchFallback("network");
|
|
67
|
-
trackBrowseFilter({ script: "all", mood: null });
|
|
68
|
-
trackModalTweak({ fontId: "x", kind: "color" });
|
|
69
|
-
trackModalSimilarPick({ from: "a", to: "b" });
|
|
70
|
-
trackModalReset("x");
|
|
71
|
-
trackSavedOpen("x");
|
|
72
|
-
trackSavedDelete("x");
|
|
73
|
-
trackExternalClick({ destination: "get_font", fontId: "x" });
|
|
74
|
-
trackShareLand("x");
|
|
75
|
-
trackQueryRefine({ queryLen: 0, scripts: [] });
|
|
76
|
-
|
|
77
|
-
const names = mockedEvent.mock.calls.map(([n]) => n as string);
|
|
78
|
-
for (const name of names) {
|
|
79
|
-
expect(name).toMatch(/^fp_[a-z][a-z0-9_]*$/);
|
|
80
|
-
expect(name.length).toBeLessThanOrEqual(40);
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
describe("analytics — ID parameter is always `reference` (not font_id)", () => {
|
|
86
|
-
it("emits `reference` on every event that carries a font id", () => {
|
|
87
|
-
const eventsWithId: Array<() => void> = [
|
|
88
|
-
() => trackMatchSelect({ fontId: "pretendard", rank: 1, kind: "ai", queryLen: 10 }),
|
|
89
|
-
() => trackCustomizeOpen({ fontId: "pretendard", source: "match" }),
|
|
90
|
-
() => trackCustomizeSave({ fontId: "pretendard", hasCustomizations: true, nameLen: 5 }),
|
|
91
|
-
() => trackExportCopy({ channel: "css", surface: "modal", fontId: "pretendard" }),
|
|
92
|
-
() => trackModalTweak({ fontId: "pretendard", kind: "color" }),
|
|
93
|
-
() => trackModalReset("pretendard"),
|
|
94
|
-
() => trackSavedOpen("pretendard"),
|
|
95
|
-
() => trackSavedDelete("pretendard"),
|
|
96
|
-
() => trackExternalClick({ destination: "get_font", fontId: "pretendard" }),
|
|
97
|
-
() => trackShareLand("pretendard"),
|
|
98
|
-
];
|
|
99
|
-
|
|
100
|
-
for (const fire of eventsWithId) {
|
|
101
|
-
mockedEvent.mockClear();
|
|
102
|
-
fire();
|
|
103
|
-
const [, params] = lastCall();
|
|
104
|
-
expect(params).toHaveProperty("reference", "pretendard");
|
|
105
|
-
expect(params).not.toHaveProperty("font_id");
|
|
106
|
-
expect(params).not.toHaveProperty("ref_id");
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
describe("analytics — cardinality controls", () => {
|
|
112
|
-
it("bucket lengths into stable string ranges", () => {
|
|
113
|
-
const cases: Array<[number, string]> = [
|
|
114
|
-
[0, "0"],
|
|
115
|
-
[1, "1-5"],
|
|
116
|
-
[5, "1-5"],
|
|
117
|
-
[6, "6-15"],
|
|
118
|
-
[15, "6-15"],
|
|
119
|
-
[16, "16-30"],
|
|
120
|
-
[30, "16-30"],
|
|
121
|
-
[31, "31-60"],
|
|
122
|
-
[60, "31-60"],
|
|
123
|
-
[61, "61-120"],
|
|
124
|
-
[120, "61-120"],
|
|
125
|
-
[121, "121+"],
|
|
126
|
-
[9999, "121+"],
|
|
127
|
-
];
|
|
128
|
-
|
|
129
|
-
for (const [len, expected] of cases) {
|
|
130
|
-
mockedEvent.mockClear();
|
|
131
|
-
trackHeroSubmit({ queryLen: len, scripts: [], source: "input" });
|
|
132
|
-
const [, params] = lastCall();
|
|
133
|
-
expect(params.query_len_bucket).toBe(expected);
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
it("sorts scripts alphabetically before joining so order never leaks", () => {
|
|
138
|
-
// hangul + latin vs latin + hangul must collapse to the same string
|
|
139
|
-
mockedEvent.mockClear();
|
|
140
|
-
trackHeroSubmit({ queryLen: 10, scripts: ["latin", "hangul"], source: "input" });
|
|
141
|
-
const [, a] = lastCall();
|
|
142
|
-
|
|
143
|
-
mockedEvent.mockClear();
|
|
144
|
-
trackHeroSubmit({ queryLen: 10, scripts: ["hangul", "latin"], source: "input" });
|
|
145
|
-
const [, b] = lastCall();
|
|
146
|
-
|
|
147
|
-
expect(a.scripts).toBe(b.scripts);
|
|
148
|
-
expect(a.scripts).toBe("hangul+latin");
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
it("empty scripts array becomes `any` (not '')", () => {
|
|
152
|
-
trackHeroSubmit({ queryLen: 10, scripts: [], source: "input" });
|
|
153
|
-
const [, params] = lastCall();
|
|
154
|
-
expect(params.scripts).toBe("any");
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
|
|
158
|
-
describe("analytics — match_view carries the fallback reason only when present", () => {
|
|
159
|
-
it("AI path does not include fallback_reason", () => {
|
|
160
|
-
trackMatchView({ kind: "ai", pickCount: 3, queryLen: 10, scripts: ["latin"] });
|
|
161
|
-
const [name, params] = lastCall();
|
|
162
|
-
expect(name).toBe("fp_match_view");
|
|
163
|
-
expect(params.kind).toBe("ai");
|
|
164
|
-
expect(params).not.toHaveProperty("fallback_reason");
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
it("fallback path includes the reason", () => {
|
|
168
|
-
trackMatchView({
|
|
169
|
-
kind: "fallback",
|
|
170
|
-
pickCount: 3,
|
|
171
|
-
queryLen: 10,
|
|
172
|
-
scripts: ["latin"],
|
|
173
|
-
fallbackReason: "rate_limited",
|
|
174
|
-
});
|
|
175
|
-
const [, params] = lastCall();
|
|
176
|
-
expect(params.kind).toBe("fallback");
|
|
177
|
-
expect(params.fallback_reason).toBe("rate_limited");
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
describe("analytics — stage_enter carries from/to", () => {
|
|
182
|
-
it("first entry uses `init` when `from` is null", () => {
|
|
183
|
-
trackStageEnter({ to: "hero", from: null });
|
|
184
|
-
const [, params] = lastCall();
|
|
185
|
-
expect(params.to).toBe("hero");
|
|
186
|
-
expect(params.from).toBe("init");
|
|
187
|
-
});
|
|
188
|
-
|
|
189
|
-
it("later transitions pass the previous stage verbatim", () => {
|
|
190
|
-
trackStageEnter({ to: "match", from: "hero" });
|
|
191
|
-
const [, params] = lastCall();
|
|
192
|
-
expect(params).toMatchObject({ to: "match", from: "hero" });
|
|
193
|
-
});
|
|
194
|
-
});
|