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
package/.opencode/oh-my-design/data/architecture-proposals/1.7.2-recommend-install-feedback.md
DELETED
|
@@ -1,614 +0,0 @@
|
|
|
1
|
-
# Release 1.7.2 — Recommend→Install Gap Closure + Self-Reinforcing DESIGN.md Loop
|
|
2
|
-
|
|
3
|
-
**Status:** Proposal (internal — excluded from npm tarball by release-hygiene)
|
|
4
|
-
**Author:** system architect
|
|
5
|
-
**Date:** 2026-06-09
|
|
6
|
-
**Target version:** 1.7.2 (with carve-outs to 1.8.0 — see §6)
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Revision note (v2)
|
|
11
|
-
|
|
12
|
-
This revision corrects three load-bearing errors found in adversarial review and re-scopes the release:
|
|
13
|
-
|
|
14
|
-
1. **Pillar A decision was backwards — flipped A2 → A1.** The chosen A2 (lazy-resolve the reference from the
|
|
15
|
-
installed package tree via `require.resolve`) is *broken for the documented primary audience*. Official
|
|
16
|
-
onboarding is bare `npx oh-my-design-cli install-skills` (not `npm i`), so `oh-my-design-cli` is **never**
|
|
17
|
-
written to the project's `node_modules` — it runs from the transient npx cache that is GC'd after the run.
|
|
18
|
-
`require.resolve` then throws `MODULE_NOT_FOUND`, the resolver falls through to the absent dev path, exits
|
|
19
|
-
1, and the bug is **not** fixed. The only moment the reference `DESIGN.md` is reachable is *during* the
|
|
20
|
-
install run, so install-skills must **copy** it into the project. We now choose **A1 (copy the chosen
|
|
21
|
-
reference's `DESIGN.md` at install time)**. The inflated "18 MB" size claim is corrected to **markdown
|
|
22
|
-
only, ~6 MB** (assets are not copied), and a `--no-references` lean flag is added. The resolver script is
|
|
23
|
-
kept as a fallback chain whose *primary* hit is now the install-copied path.
|
|
24
|
-
2. **Pillar C scoring kept multiplicative.** The proposed additive `w_freq*count + w_rec*Σexp + w_rel*rel`
|
|
25
|
-
(with `w_rel`=0.5) silently changed behavior and made AC-C6 unsatisfiable. We keep the existing
|
|
26
|
-
**multiplicative** `count × importanceAvg × recency × 10` core, add the relevance term only as an optional
|
|
27
|
-
factor gated behind `w_rel` that **defaults to 0**, and explicitly preserve the **`importanceAvg ≥ 2.5`
|
|
28
|
-
floor** (synced to `src/core/memory.ts`).
|
|
29
|
-
3. **Over-engineered parts deferred to 1.8.0.** Pillar B (need-detector — unvalidated thresholds + a
|
|
30
|
-
mis-grouped precedence bug in the guard), the `w_rel` relevance *weighting*, the Self-Consistency
|
|
31
|
-
vote-gate, and the correction-rate reinforcement all move to 1.8.0. The cheap `OMD_TRIGGER=task-complete`
|
|
32
|
-
trigger stays in 1.7.2 (it fills the real task-context gap). The archive-prune pass moves out of
|
|
33
|
-
`omd-learn` Phase 5 ("결과 요약", a semantic mismatch) into a dedicated **Phase 6 "prune."**
|
|
34
|
-
|
|
35
|
-
**Net 1.7.2 scope:** Pillar A (A1) + the deterministic, human-gated consolidation core of Pillar C
|
|
36
|
-
(task-complete trigger + conflict-resolution + prune; multiplicative scoring with `w_rel`=0).
|
|
37
|
-
**1.8.0:** Pillar B + `w_rel` weighting + vote-gate + correction-rate reinforcement.
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Executive summary
|
|
42
|
-
|
|
43
|
-
This release does two things, in priority order:
|
|
44
|
-
|
|
45
|
-
1. **Pillar A (BUG, must ship):** The `recommend → approve → install` chain is broken for npx/installed
|
|
46
|
-
users. `omd-init` Phase 4.1 reads the chosen reference `DESIGN.md` from one of three paths, but
|
|
47
|
-
`install-skills.ts` never lands it at path 1 (`.claude/data/references/<id>/DESIGN.md`), and paths 2–3
|
|
48
|
-
only resolve in the omd dev repo or a vanilla npm layout. Because the documented onboarding is bare
|
|
49
|
-
`npx oh-my-design-cli install-skills` (no `node_modules`), lazy package-tree resolution cannot work — the
|
|
50
|
-
package tree vanishes after the npx run. We **close this with option A1 (copy the chosen reference's
|
|
51
|
-
`DESIGN.md` into `.claude/data/references/<id>/DESIGN.md` at install time)** plus a **fallback resolver**
|
|
52
|
-
whose primary hit is that copied path. Install weight: **~6 MB of markdown** if all references are copied
|
|
53
|
-
for offline browsing, or only the consumed reference per project; a `--no-references` flag opts out.
|
|
54
|
-
2. **Pillar C (the core):** Make DESIGN.md **measurably strengthen with use** by layering a
|
|
55
|
-
recurrence-scored promotion loop on the existing `remember → learn → foldin` chain, with an explicit
|
|
56
|
-
**conflict-resolution** step. Scoring stays the existing **multiplicative** ACT-R-style
|
|
57
|
-
`count × importanceAvg × recency × 10` with its `importanceAvg ≥ 2.5` floor; an optional relevance factor
|
|
58
|
-
is wired behind `w_rel` (default 0, inert in 1.7.2). Grounded only in *verified* research (Reflexion,
|
|
59
|
-
Generative-Agents memory-stream/reflection, Constitutional-AI critique→revise, ACT-R recency×frequency).
|
|
60
|
-
The unverified Hermes marketing numbers are **not** cited as fact.
|
|
61
|
-
|
|
62
|
-
**Deferred to 1.8.0:** the **DESIGN.md-need detector (Pillar B)**, the `w_rel` relevance *weighting* term,
|
|
63
|
-
the Self-Consistency vote-gate, and the correction-rate reinforcement feedback signal — each needs real
|
|
64
|
-
usage data to tune, or carries an unvalidated/mis-specified heuristic. See §6.4.
|
|
65
|
-
|
|
66
|
-
**Verdict on post-task consolidation (§5):** **YES, but minimal** — do *not* add a new hook or a new
|
|
67
|
-
`omd:consolidate` skill. Extend the existing `session-end-foldin.cjs` to *also* fire on an explicit
|
|
68
|
-
`epic-complete` / `task-complete` signal written to `.omd/timeline.md`, and have `omd-apply` emit that
|
|
69
|
-
signal when a design task closes. Reuses 100% of existing fold-in machinery.
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## Pillar A — Close the install gap (the only confirmed hard bug)
|
|
74
|
-
|
|
75
|
-
### A.0 What's actually broken
|
|
76
|
-
|
|
77
|
-
`omd-init` Phase 4.1 (`skills/omd-init/SKILL.md:87-97`) resolves the chosen reference's `DESIGN.md` via:
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
1. .claude/data/references/<id>/DESIGN.md ← never created by install-skills
|
|
81
|
-
2. node_modules/oh-my-design-cli/web/references/<id>/DESIGN.md ← exists in tarball, but path is brittle
|
|
82
|
-
3. web/references/<id>/DESIGN.md ← only in the omd dev repo
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
- **Path 1** is never populated: `install-skills.ts` `installDataFile()` (`:421-459`) only copies the 5
|
|
86
|
-
flat `data/*.json` files (`dataFiles` array `:753-759`); there is no code that creates
|
|
87
|
-
`.claude/data/references/<id>/`.
|
|
88
|
-
- **Path 2** exists in the published tarball (`package.json files[]` ships `web/references/*/DESIGN.md`),
|
|
89
|
-
but the hardcoded `node_modules/oh-my-design-cli/...` string fails for pnpm/yarn-PnP nested layouts,
|
|
90
|
-
monorepo hoisting, global installs, git installs, and bundled agents.
|
|
91
|
-
- **Path 3** only resolves when cwd is the omd source repo.
|
|
92
|
-
|
|
93
|
-
Result: for the *primary* audience (npx-installed projects), the recommend flow succeeds through Phase 3,
|
|
94
|
-
then Phase 4.1 fails to read any `DESIGN.md` and Phase 5 generates from nothing.
|
|
95
|
-
|
|
96
|
-
### A.1 Decision: A1 (copy reference DESIGN.md at install time) over A2 (lazy-resolve from package tree)
|
|
97
|
-
|
|
98
|
-
| | A1 — copy `web/references/*/DESIGN.md` into `.claude/data/references/` at install | A2 — at `omd:init`, resolve the chosen `<id>` from the installed package tree |
|
|
99
|
-
|---|---|---|
|
|
100
|
-
| Works for **bare `npx install-skills`** (the documented primary path) | **yes** — copied during the install run, before the npx cache is GC'd | **no** — `require.resolve('oh-my-design-cli/...')` throws `MODULE_NOT_FOUND`; no `node_modules` exists |
|
|
101
|
-
| Install size added | **markdown only, ~6 MB** (221 × ~27 KB DESIGN.md; **no assets copied**), or just the consumed reference | 0 bytes |
|
|
102
|
-
| Files written per project | 221 markdown files (or 1 with the lean future option) | 0 at install; 1 read at init |
|
|
103
|
-
| Works offline after install | yes | only if the package survives in `node_modules` (npx flow: it does not) |
|
|
104
|
-
| Moving parts | low (one `cpSync` of `*/DESIGN.md`) | medium (package-root resolution that cannot resolve post-npx) |
|
|
105
|
-
| Drift / staleness | re-run `omd install-skills --force` (same as skills) | n/a (but unusable for npx) |
|
|
106
|
-
|
|
107
|
-
**Chosen: A1.** The deciding factor is correctness for the *documented primary audience*. Official onboarding
|
|
108
|
-
is bare `npx oh-my-design-cli install-skills` — it never runs `npm i`, so `oh-my-design-cli` is never written
|
|
109
|
-
to the project's `node_modules`; it executes from the transient npx cache that is garbage-collected after the
|
|
110
|
-
run. Under A2, `require.resolve('oh-my-design-cli/package.json', { paths:[projectDir] })` therefore throws
|
|
111
|
-
`MODULE_NOT_FOUND`, the resolver falls through to the absent dev path, and exits 1 → the bug is **not** fixed.
|
|
112
|
-
(Stamping the package-root path into a json file fails for the same reason: for pure-npx that path *is* the
|
|
113
|
-
transient cache, which is unstable and GC'd.) The only moment the reference `DESIGN.md` files are reachable is
|
|
114
|
-
**during the install run**, so install-skills must **copy** them into the project then.
|
|
115
|
-
|
|
116
|
-
A1 is the only option that is both **offline-safe** *and* **npx-safe**. For a design tool whose references
|
|
117
|
-
*are* the product, **~6 MB of local markdown** (DESIGN.md only — assets are not copied) is acceptable; the
|
|
118
|
-
earlier "18 MB" figure was inflated and assumed assets. Drift is handled exactly like skills: re-run
|
|
119
|
-
`omd install-skills --force`.
|
|
120
|
-
|
|
121
|
-
- **Lean opt-out (1.7.2):** add a `--no-references` install flag. Default = copy references; with the flag,
|
|
122
|
-
no reference markdown is written and the skill surfaces the recovery message if one is later needed.
|
|
123
|
-
- **Future lean default (post-1.7.2, not now):** a lazy `npx oh-my-design-cli add-reference <id>` that fetches
|
|
124
|
-
a single reference on demand. We do **not** make this the 1.7.2 default — it reintroduces a network/registry
|
|
125
|
-
dependency the offline path must not require.
|
|
126
|
-
|
|
127
|
-
> We explicitly do **not** fetch from the npm *registry* over the network in 1.7.2. The reference markdown is
|
|
128
|
-
> copied from the package tree *during the install run*, so the flow stays offline-safe and CI-safe.
|
|
129
|
-
|
|
130
|
-
### A.2 Concrete change 1 — a fallback resolver (new, shared)
|
|
131
|
-
|
|
132
|
-
The resolver is still the right Phase 4.1 path resolver, but its role changes under A1: it is now a
|
|
133
|
-
**fallback chain whose PRIMARY hit is the install-copied path** (`.claude/data/references/<id>/DESIGN.md`),
|
|
134
|
-
which — because install-skills now copies it (A.3) — **actually exists** for the npx audience. Candidate-2
|
|
135
|
-
(`require.resolve`) stays as a *secondary* fallback for the `npm i` dependency layout (and pnpm/yarn/global),
|
|
136
|
-
and candidate-3 covers the dev repo. The runtime resolution happens inside the skill (skills have no TS
|
|
137
|
-
runtime), so we ship it as a small cjs helper the skill invokes.
|
|
138
|
-
|
|
139
|
-
**New file:** `scripts/omd-resolve-ref.cjs` (add to `package.json files[]` and to the hook/script install
|
|
140
|
-
list at `install-skills.ts:774-785`).
|
|
141
|
-
|
|
142
|
-
```js
|
|
143
|
-
#!/usr/bin/env node
|
|
144
|
-
// Resolve a reference DESIGN.md path for a given <id>, regardless of install layout.
|
|
145
|
-
// Usage: node omd-resolve-ref.cjs <id> → prints absolute path or exits 1.
|
|
146
|
-
'use strict';
|
|
147
|
-
const fs = require('node:fs');
|
|
148
|
-
const path = require('node:path');
|
|
149
|
-
const id = process.argv[2];
|
|
150
|
-
if (!id || !/^[a-z0-9._-]+$/i.test(id)) { process.exit(2); } // path-traversal guard
|
|
151
|
-
const projectDir = process.env.CLAUDE_PROJECT_DIR || process.cwd();
|
|
152
|
-
|
|
153
|
-
const candidates = [];
|
|
154
|
-
// 1. PRIMARY: project-local copy written by install-skills (A1). The hit for the npx audience.
|
|
155
|
-
candidates.push(path.join(projectDir, '.claude', 'data', 'references', id, 'DESIGN.md'));
|
|
156
|
-
// 2. SECONDARY fallback: resolve the installed package root via Node's own resolver
|
|
157
|
-
// (only works under `npm i`/pnpm/yarn/global — NOT under bare npx, where there is no node_modules)
|
|
158
|
-
try {
|
|
159
|
-
const pkgJson = require.resolve('oh-my-design-cli/package.json', { paths: [projectDir] });
|
|
160
|
-
candidates.push(path.join(path.dirname(pkgJson), 'web', 'references', id, 'DESIGN.md'));
|
|
161
|
-
} catch { /* not resolvable as a dep — fall through */ }
|
|
162
|
-
// 3. dev repo
|
|
163
|
-
candidates.push(path.join(projectDir, 'web', 'references', id, 'DESIGN.md'));
|
|
164
|
-
|
|
165
|
-
for (const c of candidates) {
|
|
166
|
-
if (fs.existsSync(c)) { process.stdout.write(c); process.exit(0); }
|
|
167
|
-
}
|
|
168
|
-
process.stderr.write(`omd: reference '${id}' DESIGN.md not found in any known location\n`);
|
|
169
|
-
process.exit(1);
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Why the fallback is robust where it applies: `require.resolve('oh-my-design-cli/package.json', { paths:
|
|
173
|
-
[projectDir] })` delegates to Node's module resolution, which correctly handles pnpm symlink farms, yarn
|
|
174
|
-
hoisting, monorepo workspaces, and `npm root -g` global installs — replacing a hardcoded
|
|
175
|
-
`node_modules/oh-my-design-cli` string. The `paths: [projectDir]` anchor makes it resolve relative to the
|
|
176
|
-
user's project. **But it only fires when the package is actually installed as a dependency** — under bare
|
|
177
|
-
`npx install-skills` there is no `node_modules`, so candidate-2 throws and candidate-1 (the copied path) is
|
|
178
|
-
what carries the npx flow. This is exactly why A1's install-time copy is required, not optional.
|
|
179
|
-
|
|
180
|
-
#### A.2a Concrete change 1b — copy reference DESIGN.md at install (A1, the actual fix)
|
|
181
|
-
|
|
182
|
-
The decisive change is in `install-skills.ts`: during the install run, copy each reference's `DESIGN.md`
|
|
183
|
-
into the project so candidate-1 resolves. Details in §A.3.
|
|
184
|
-
|
|
185
|
-
### A.3 Concrete change 2 — `install-skills.ts` copies reference DESIGN.md (the actual fix)
|
|
186
|
-
|
|
187
|
-
**File:** `src/cli/install-skills.ts` — extend the data-file install area (the `installDataFile()` /
|
|
188
|
-
`dataFiles` region around `:417-459` and `:753-770`) to **also** copy reference markdown into the project,
|
|
189
|
-
gated by `!opts.noReferences`:
|
|
190
|
-
|
|
191
|
-
```ts
|
|
192
|
-
// after the existing dataFiles loop (~:753-770), before/after installing the resolver script (~:774-785)
|
|
193
|
-
if (!opts.noReferences) {
|
|
194
|
-
// copy web/references/<id>/DESIGN.md → <project>/.claude/data/references/<id>/DESIGN.md
|
|
195
|
-
// markdown only — assets are NOT copied (keeps the footprint to ~6 MB)
|
|
196
|
-
for (const id of listReferenceIds(packageRoot)) { // 221 ids under web/references/
|
|
197
|
-
const src = path.join(packageRoot, 'web', 'references', id, 'DESIGN.md');
|
|
198
|
-
if (!fs.existsSync(src)) continue;
|
|
199
|
-
const dst = path.join(projectDir, '.claude', 'data', 'references', id, 'DESIGN.md');
|
|
200
|
-
fs.mkdirSync(path.dirname(dst), { recursive: true });
|
|
201
|
-
fs.copyFileSync(src, dst); // overwrite on --force, same as skills
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
- This runs **during the install process**, while `packageRoot` (the npx cache or `node_modules`) is still
|
|
207
|
-
on disk — the only window in which the reference markdown is reachable for the npx audience.
|
|
208
|
-
- New `--no-references` CLI flag sets `opts.noReferences = true` → skip the copy entirely (lean install).
|
|
209
|
-
- The resolver script (`omd-resolve-ref.cjs`, §A.2) is installed alongside the hooks at `:774-785` as before;
|
|
210
|
-
with this copy in place, the resolver's candidate-1 is now the live primary path.
|
|
211
|
-
|
|
212
|
-
### A.3b Concrete change 3 — `omd-init` Phase 4.1 rewrite
|
|
213
|
-
|
|
214
|
-
**File:** `skills/omd-init/SKILL.md` — replace the Phase 4.1 path block (`:87-97`).
|
|
215
|
-
|
|
216
|
-
Replace the three-path Read cascade with:
|
|
217
|
-
|
|
218
|
-
```markdown
|
|
219
|
-
### 4.1 경로 결정 (resolver-backed)
|
|
220
|
-
|
|
221
|
-
선택된 id를 `<id>`로 하고, **먼저** resolver를 Bash로 실행해 절대경로를 얻는다:
|
|
222
|
-
|
|
223
|
-
node "$(node -e "try{process.stdout.write(require.resolve('oh-my-design-cli/scripts/omd-resolve-ref.cjs',{paths:[process.cwd()]}))}catch(e){process.stdout.write('scripts/omd-resolve-ref.cjs')}")" <id>
|
|
224
|
-
|
|
225
|
-
- exit 0 → stdout 의 절대경로를 Read 하여 전체 내용을 `reference_md` 에 보관.
|
|
226
|
-
- exit 1 (DESIGN.md 없음) → 사용자에게 "선택한 reference '<id>' 의 DESIGN.md 를 찾지 못했어요.
|
|
227
|
-
설치가 손상됐을 수 있어요: `omd install-skills --force` 후 다시 시도하거나 다른 id 를 골라주세요."
|
|
228
|
-
라고 알리고 Phase 3 로 되돌아간다. (이전: 무음 실패 → 빈 생성)
|
|
229
|
-
- exit 2 (잘못된 id 형식) → "id 형식이 올바르지 않아요" 후 Phase 3.
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
This also fixes the **Phase 2.1 / Phase 4.1 mismatch** (fingerprints loaded from `data/`, DESIGN.md from
|
|
233
|
-
`web/references/`): the resolver centralizes the `web/references` knowledge in one place, and Phase 2.1's
|
|
234
|
-
fingerprints fallback can adopt the same `require.resolve` trick (optional follow-up, not required for 1.7.2).
|
|
235
|
-
|
|
236
|
-
### A.4 Acceptance criteria — Pillar A
|
|
237
|
-
|
|
238
|
-
- **AC-A0 (THE regression test — the real bug):** In a clean temp project with **no prior `npm i`**, run the
|
|
239
|
-
*literal documented* command `npx oh-my-design-cli install-skills` (no other setup). Then assert
|
|
240
|
-
`.claude/data/references/toss/DESIGN.md` **exists** on disk, and that `node .../omd-resolve-ref.cjs toss`
|
|
241
|
-
exits 0 and returns that exact copied path. This is the case the old A2 design silently failed.
|
|
242
|
-
- **AC-A1:** Secondary layout — `npm i oh-my-design-cli && npx omd install-skills`, then
|
|
243
|
-
`node .../omd-resolve-ref.cjs toss` exits 0 (exercises candidate-2, the `require.resolve` fallback, as well
|
|
244
|
-
as the copied candidate-1).
|
|
245
|
-
- **AC-A2:** Same under **pnpm** and **yarn** installs (CI matrix) — resolver still exits 0 (secondary
|
|
246
|
-
fallback path).
|
|
247
|
-
- **AC-A3:** Global install (`npm i -g oh-my-design-cli`) with `paths:[projectDir]` falling back to global
|
|
248
|
-
root — resolver exits 0 (secondary fallback path).
|
|
249
|
-
- **AC-A4:** Unknown id (`node omd-resolve-ref.cjs zzznotreal`) exits 1; `omd-init` surfaces the recovery
|
|
250
|
-
message and does **not** proceed to Phase 5.
|
|
251
|
-
- **AC-A5:** Path-traversal id (`../../etc/passwd`) exits 2, nothing read.
|
|
252
|
-
- **AC-A6 (`--no-references`):** `npx oh-my-design-cli install-skills --no-references` writes **no**
|
|
253
|
-
`.claude/data/references/` directory; a subsequent Phase 4.1 for `toss` falls through candidate-1, and (with
|
|
254
|
-
no `node_modules`) the resolver exits 1 and the skill surfaces the recovery message.
|
|
255
|
-
|
|
256
|
-
### A.5 Effort — Pillar A
|
|
257
|
-
**~0.75 day.** New 40-line cjs resolver, the install-skills reference-copy step + `--no-references` flag, one
|
|
258
|
-
SKILL.md block rewrite, two `files[]`/install-list additions, ~6 vitest/CI cases (including the AC-A0 npx
|
|
259
|
-
regression). Highest-value change in the release.
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
## Pillar B — DESIGN.md-need detector — **DEFERRED TO 1.8.0**
|
|
264
|
-
|
|
265
|
-
> **Status: deferred out of 1.7.2.** Two problems block shipping this now: (1) the thresholds
|
|
266
|
-
> (`routes ≥ 10`, `ad-hoc ≥ 3`, `score ≥ 6`) are unvalidated guesses with no usage data behind them; and
|
|
267
|
-
> (2) the premature-guard boolean is **mis-grouped** — `AND` binds tighter than `OR`, so
|
|
268
|
-
> `count<10 OR contributors<=1 AND scaffold_only OR drift` parses as
|
|
269
|
-
> `count<10 OR (contributors<=1 AND scaffold_only) OR drift`, which is **not** what the prose ("too early
|
|
270
|
-
> unless enough surface AND multiple contributors…") intends. Rather than ship a guard that means something
|
|
271
|
-
> different from its description, the entire pillar moves to **1.8.0**, where the thresholds can be tuned
|
|
272
|
-
> against real telemetry and the guard rewritten with explicit parentheses. The section below is retained as
|
|
273
|
-
> the 1.8.0 design starting point; the precedence must be fixed there with explicit grouping. AC-B* move to
|
|
274
|
-
> §6.4 with the pillar.
|
|
275
|
-
|
|
276
|
-
### B.0 Goal
|
|
277
|
-
Stop offering to bootstrap DESIGN.md indiscriminately. Offer **only when** the project both *wants* design
|
|
278
|
-
work and has *accumulated enough UI surface* to be worth a spec — and explicitly say "too early, revisit at
|
|
279
|
-
N features" otherwise (USWDS L1→L3 ladder: don't mint tokens before an implicit component inventory exists).
|
|
280
|
-
|
|
281
|
-
### B.1 Where it lives (lightweight, two touch-points)
|
|
282
|
-
|
|
283
|
-
- **Signal collection — `\.claude/hooks/post-edit-watch.cjs`** (already runs PostToolUse on Edit|Write).
|
|
284
|
-
It already detects hex colors not in DESIGN.md (`:88-97`). Extend it to *also* increment cheap counters in
|
|
285
|
-
a new `.omd/need-signals.json` when an edited file looks like UI (`.tsx/.jsx/.vue/.svelte` or contains
|
|
286
|
-
`className=`/`style=`/`<button`). No scoring in the hook — just append-only signal capture (cheap, matches
|
|
287
|
-
the memory-stream pattern).
|
|
288
|
-
- **Decision — `omd-apply` Phase 0** (`skills/omd-apply/SKILL.md`, the existing dispatch tree). Add a
|
|
289
|
-
`need-check` branch that reads `.omd/need-signals.json` + git + filesystem and computes the score below
|
|
290
|
-
**only when** the user expresses UI/design intent and no usable DESIGN.md exists.
|
|
291
|
-
|
|
292
|
-
### B.2 The need-score (Groto signals + premature guards)
|
|
293
|
-
|
|
294
|
-
Computed in `omd-apply` Phase 0 (prose heuristic the model runs, not new TS):
|
|
295
|
-
|
|
296
|
-
```
|
|
297
|
-
need_score =
|
|
298
|
-
(distinct_ui_route_or_page_count >= 10 ? +3 : 0) // enough surface
|
|
299
|
-
+ (repeated_adhoc_button_or_card_styles >= 3 ? +2 : 0) // component debt (grep ad-hoc styles)
|
|
300
|
-
+ (git_contributors_touching_ui > 1 ? +2 : 0) // coordination need
|
|
301
|
-
+ (visual_drift_across_surfaces_detected ? +2 : 0) // >1 distinct button/color system
|
|
302
|
-
+ (user_intent_is_design_or_ui ? +1 : 0)
|
|
303
|
-
|
|
304
|
-
PREMATURE-GUARD (hard veto → emit "too early"):
|
|
305
|
-
distinct_ui_route_or_page_count < 10
|
|
306
|
-
OR git_contributors_touching_ui <= 1 AND scaffold_only
|
|
307
|
-
OR visual language under active discovery (boilerplate UI only)
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
- **score ≥ 6 and no veto** → offer bootstrap: *"이 프로젝트는 라우트 N개 + 버튼 스타일 M종이 흩어져
|
|
311
|
-
있어요. 지금 DESIGN.md 를 잡으면 좋겠어요 — `omd:init` 갈까요?"*
|
|
312
|
-
- **veto fired** → *"아직 일러요(라우트 N개 / 단일 기여자). 기능이 ~10개 넘으면 그때 DESIGN.md 를
|
|
313
|
-
제안할게요."* (the explicit "revisit at N" message the research asked for).
|
|
314
|
-
- **DESIGN.md exists but stale** (modified < UI files' median mtime, or scopes referenced in recent
|
|
315
|
-
preferences absent from DESIGN.md) → offer **partial** bootstrap via `omd:sync`, not a full `omd:init`.
|
|
316
|
-
|
|
317
|
-
### B.3 Acceptance criteria — Pillar B
|
|
318
|
-
- **AC-B1:** Scaffold-only project (Next.js boilerplate, 2 routes, 1 contributor) → detector emits "too
|
|
319
|
-
early," never offers `omd:init`.
|
|
320
|
-
- **AC-B2:** Project with ≥10 routes, ≥3 ad-hoc button styles, 2 UI contributors, no DESIGN.md, user says
|
|
321
|
-
"design intent" → need_score ≥ 6, bootstrap offered exactly once.
|
|
322
|
-
- **AC-B3:** Project with a fresh DESIGN.md → detector stays silent (no offer).
|
|
323
|
-
- **AC-B4:** `post-edit-watch.cjs` adds ≤1 file write per edit and stays within its 2000 ms timeout.
|
|
324
|
-
|
|
325
|
-
### B.4 Effort — Pillar B
|
|
326
|
-
**~1 day.** ~25 lines added to `post-edit-watch.cjs`, one Phase-0 branch + score prose in `omd-apply`,
|
|
327
|
-
3–4 fixture-project tests.
|
|
328
|
-
|
|
329
|
-
---
|
|
330
|
-
|
|
331
|
-
## Pillar C — Self-reinforcing feedback loop
|
|
332
|
-
|
|
333
|
-
### C.0 The architecture (memory-stream ⇄ reflection layer)
|
|
334
|
-
|
|
335
|
-
Adopt the **Generative-Agents** split directly:
|
|
336
|
-
|
|
337
|
-
- `\.omd/preferences.md` = **memory stream** — append-only raw observations (already specified by
|
|
338
|
-
`omd-remember`: each entry tagged `id / ts / scope / status:pending / importance / signal`).
|
|
339
|
-
- `DESIGN.md` = **reflection layer** — the low-churn, human-readable, auditable spec. Mutated only by
|
|
340
|
-
curated promotion (`omd-learn` / fold-in), never by raw appends. This *is* the "constitution" in CAI terms.
|
|
341
|
-
|
|
342
|
-
The loop: `omd-remember` writes raw → `session-end-foldin` scores recurrence → proposals surfaced → `omd-learn`
|
|
343
|
-
promotes as small curated deltas → DESIGN.md strengthens → next run's critique pass uses the stronger spec.
|
|
344
|
-
|
|
345
|
-
### C.1 (i) Recurrence scoring & promotion thresholds
|
|
346
|
-
|
|
347
|
-
**Keep the existing multiplicative core unchanged.** `session-end-foldin.cjs:59-72` already implements an
|
|
348
|
-
ACT-R-style **multiplicative** activation:
|
|
349
|
-
|
|
350
|
-
```
|
|
351
|
-
score(scope) = count × importanceAvg × recency × 10
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
guarded by **three gates** (all preserved, none changed):
|
|
355
|
-
|
|
356
|
-
1. `entries.length ≥ 3` (frequency floor),
|
|
357
|
-
2. **`importanceAvg ≥ 2.5`** — the importance floor, **explicitly synced to `src/core/memory.ts`** (the
|
|
358
|
-
line ~64 comment in the hook references this duplication; it must stay in sync), and
|
|
359
|
-
3. `score ≥ fold_in_score_threshold` (60),
|
|
360
|
-
|
|
361
|
-
with a hardcoded `tau = 7` (`recurrence_window_days`) in the recency factor. The earlier draft of this
|
|
362
|
-
section proposed replacing the multiplicative score with an **additive** `w_freq*count + w_rec*Σexp +
|
|
363
|
-
w_rel*relevance` (with `w_rel`=0.5). That silently changed behavior and made AC-C6 ("identical to 1.7.1")
|
|
364
|
-
unsatisfiable. **We do not do that.**
|
|
365
|
-
|
|
366
|
-
The relevance term is added only as an **optional multiplicative factor gated behind `w_rel` that DEFAULTS
|
|
367
|
-
TO 0** (i.e. inert), so 1.7.1 behavior is reproduced *exactly* by default:
|
|
368
|
-
|
|
369
|
-
```
|
|
370
|
-
relevance_factor = 1 + w_rel * scope_match_to_active_design_scope // w_rel default 0 → factor == 1 → no-op
|
|
371
|
-
score(scope) = count × importanceAvg × recency × 10 × relevance_factor
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
- **Promotion gate (pending → applied):** unchanged — `entries.length ≥ 3` **AND** `importanceAvg ≥ 2.5`
|
|
375
|
-
**AND** `score ≥ 60`. (The Self-Consistency vote-gate proposed earlier is **deferred to 1.8.0** — see
|
|
376
|
-
§6.4; promotion is already human-confirmed in `omd-learn` and again in the C.3 conflict prompt.)
|
|
377
|
-
- **Decay / pruning:** entries older than `recurrence_window_days` (7) already drop out of scoring; the prune
|
|
378
|
-
pass that flips never-promoted, expired `pending` entries to `status:archived` is **moved to a dedicated
|
|
379
|
-
`omd-learn` Phase 6 "prune"** (out of Phase 5 "결과 요약", which was a semantic mismatch) — see §C.3a. This
|
|
380
|
-
keeps `preferences.md` bounded.
|
|
381
|
-
|
|
382
|
-
`w_rel` lives in `.omd/config.json` (the file the hook already reads) and **defaults to 0**; `w_freq`/`w_rec`
|
|
383
|
-
are not introduced (the score stays multiplicative, not a weighted sum). With `w_rel` absent or 0, the
|
|
384
|
-
relevance factor is exactly 1 and scoring is byte-identical to 1.7.1. **`w_rel` weighting stays inert until
|
|
385
|
-
1.8.0**, where it is tuned against real usage data (§6.4).
|
|
386
|
-
|
|
387
|
-
### C.2 (ii) Consolidation trigger — session-end exists; do we need task/epic-complete?
|
|
388
|
-
|
|
389
|
-
**Yes — a task/epic-complete consolidation is worth adding, but as a fired event, not a new mechanism.**
|
|
390
|
-
Rationale: session-end is *temporal* (you closed your laptop), but design preferences cluster by *task*
|
|
391
|
-
("I just finished the checkout flow"). A purely session-bound fold-in mis-scores because it ignores whether
|
|
392
|
-
the recurring signals came from the *same* design task (the documented gap: "Missing: Task context in
|
|
393
|
-
fold-in scoring"). Closing a task is the natural reflection boundary (Reflexion: reflect at the end of a
|
|
394
|
-
trajectory, not on a wall-clock timer).
|
|
395
|
-
|
|
396
|
-
**Design (minimal):** `omd-apply`, when it detects a design task closed (user says "done with X" / the
|
|
397
|
-
harness reports a run completed), appends a marker block to `.omd/timeline.md`:
|
|
398
|
-
|
|
399
|
-
```
|
|
400
|
-
## <iso-ts> — task_complete
|
|
401
|
-
scope_hint: components.button, color
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
`session-end-foldin.cjs` is extended to **also run its fold-in pass immediately when invoked with
|
|
405
|
-
`OMD_TRIGGER=task-complete`** (we add a tiny launcher: `omd-apply` runs
|
|
406
|
-
`OMD_TRIGGER=task-complete node .../session-end-foldin.cjs` after writing the marker). The value of this
|
|
407
|
-
trigger is the **timing boundary**: preferences from the just-finished task get consolidated *while they're
|
|
408
|
-
fresh and coherent*, instead of waiting for session end and being averaged against unrelated scopes — and
|
|
409
|
-
this works with the unchanged multiplicative scoring (no weighting change needed). The `scope_hint` is
|
|
410
|
-
recorded so that, once `w_rel` weighting lands in **1.8.0**, the relevance factor can be boosted for those
|
|
411
|
-
scopes; in 1.7.2 `w_rel`=0, so the trigger purely changes *when* the existing scoring runs, not *how* it
|
|
412
|
-
scores. **No new hook, no new skill** — one env-var branch in an existing hook + one Bash call from an
|
|
413
|
-
existing skill.
|
|
414
|
-
|
|
415
|
-
### C.3 (iii) Conflict resolution (new preference contradicts DESIGN.md)
|
|
416
|
-
|
|
417
|
-
This is the **Constitutional-AI critique→revise** step, currently missing. Add to `omd-learn` Phase 3
|
|
418
|
-
(`skills/omd-learn/SKILL.md:37-51`), per scope, before editing DESIGN.md:
|
|
419
|
-
|
|
420
|
-
1. **Critique:** read the current DESIGN.md rule for that scope. Does the pending preference *contradict*
|
|
421
|
-
it (e.g. DESIGN.md §2 says "primary = navy"; preference says "make primary green")?
|
|
422
|
-
2. **Classify the conflict:**
|
|
423
|
-
- *Refinement* (narrows/extends, no contradiction) → apply as a small delta.
|
|
424
|
-
- *Direct contradiction* → **do not silently overwrite.** Surface to the user:
|
|
425
|
-
*"DESIGN.md §2 says primary=navy, 하지만 최근 3회 green 을 선호하셨어요. (a) DESIGN.md 를 green 으로
|
|
426
|
-
바꿀까요, (b) 이번만 예외로 둘까요, (c) 무시할까요?"* — record the decision back into the preference
|
|
427
|
-
entry (`status: applied | superseded | rejected`).
|
|
428
|
-
- *Stale rule* → flag for **pruning** from DESIGN.md (CAI: rules that never bind get pruned). **"Never
|
|
429
|
-
binds" needs an operational definition before this fires automatically; in 1.7.2 it is a 1.8.0
|
|
430
|
-
heuristic**, not an automatic action. The intended definition (to implement in 1.8.0): *a DESIGN.md rule
|
|
431
|
-
whose scope had 0 outputs reference it across the last K fold-in cycles (K configurable in
|
|
432
|
-
`.omd/config.json`)*. Until that counter exists, 1.7.2 only surfaces such a rule for human review when
|
|
433
|
-
the user is already in the C.3 conflict prompt — it does not auto-prune.
|
|
434
|
-
|
|
435
|
-
The Self-Consistency **vote-gate** (sample 2–3 candidate phrasings, promote only the recurring one) proposed
|
|
436
|
-
in an earlier draft is **deferred to 1.8.0** (§6.4): promotion is already human-confirmed in `omd-learn`
|
|
437
|
-
Phase 2 and again in the (a)/(b)/(c) conflict prompt above, so the vote-gate is YAGNI for 1.7.2.
|
|
438
|
-
|
|
439
|
-
This keeps DESIGN.md stable and auditable: contradictions become explicit user decisions, not silent drift.
|
|
440
|
-
|
|
441
|
-
### C.3a (i, cont.) Prune pass — `omd-learn` Phase 6 (not Phase 5)
|
|
442
|
-
|
|
443
|
-
The archive-prune pass is a **new dedicated `omd-learn` Phase 6 "prune"** (the earlier draft put it in
|
|
444
|
-
Phase 5 "결과 요약" / results summary — a semantic mismatch). Phase 6 flips never-promoted, expired `pending`
|
|
445
|
-
entries (older than `recurrence_window_days`) to `status:archived`, bounding `preferences.md` (power-law
|
|
446
|
-
forgetting, made concrete). It runs after the Phase 5 summary so the summary reflects the pre-prune state.
|
|
447
|
-
(Alternatively it can run inside `session-end-foldin` after scoring; we choose the explicit `omd-learn`
|
|
448
|
-
Phase 6 so the prune is auditable and human-visible in the learn flow.)
|
|
449
|
-
|
|
450
|
-
### C.4 (iv) Feedback signal — did the fold-in actually improve things? — **DEFERRED TO 1.8.0**
|
|
451
|
-
|
|
452
|
-
> **Status: deferred out of 1.7.2** (consistent with §6.4). The correction-rate reinforcement needs
|
|
453
|
-
> accumulated `user-correction` history to be meaningful and benefits from real usage data before tuning the
|
|
454
|
-
> importance-prior bumps. In 1.7.2 only the **timeline reflection-line FORMAT is stubbed and
|
|
455
|
-
> forward-compatible** (so 1.8.0 only *reads* it); no reinforcement is computed. The full design is retained
|
|
456
|
-
> below as the 1.8.0 spec.
|
|
457
|
-
|
|
458
|
-
The reinforcement signal (Reflexion's verbal eval signal = user edits/corrections; RLAIF/CAI's AI-feedback
|
|
459
|
-
reward proxy):
|
|
460
|
-
|
|
461
|
-
> **A fold-in into scope S improved things if the rate of subsequent user *corrections* in scope S drops
|
|
462
|
-
> after the fold-in.**
|
|
463
|
-
|
|
464
|
-
Concrete instrumentation (data already exists — `omd-remember` tags each entry `signal:user-statement` vs
|
|
465
|
-
`signal:user-correction`, scope-tagged, timestamped):
|
|
466
|
-
|
|
467
|
-
- On each fold-in, `omd-learn` records in `.omd/timeline.md`:
|
|
468
|
-
`foldin scope=S at=T applied_pref_ids=[...]`.
|
|
469
|
-
- A new **reflection line** computed at the *next* task-complete/session-end for scope S:
|
|
470
|
-
`correction_rate_after = (#user-correction in S since T) / (#runs touching S since T)`
|
|
471
|
-
compared to `correction_rate_before`.
|
|
472
|
-
- **Decreased** → positive reinforcement: bump the *importance prior* for that scope (future signals in S
|
|
473
|
-
score slightly higher / promote faster). Emit a one-line **verbal reflection** into `preferences.md`:
|
|
474
|
-
*"hero copy 짧게 + spacing 좁게 선호 → 이후 수정 0건. denser layout 규칙 강화."* (Reflexion verbal buffer;
|
|
475
|
-
top-K relevant reflections get prepended to the next run's context per C.5).
|
|
476
|
-
- **Increased/unchanged** → negative: the rule is wrong or under-specified. Re-surface the scope in the
|
|
477
|
-
next `omd-learn` as *"이 규칙 적용 후에도 수정이 계속돼요 — 다시 볼까요?"* (the CAI "rule keeps getting
|
|
478
|
-
violated ⇒ revise or prune" path).
|
|
479
|
-
|
|
480
|
-
This makes "self-reinforcing" measurable and grounded: recurring, *validated* choices compound their weight;
|
|
481
|
-
rules that don't reduce corrections get revised or pruned. **No model retraining** — the improving "policy"
|
|
482
|
-
is `DESIGN.md` + the reflection buffer, exactly the verified Reflexion/memory-stream mechanism.
|
|
483
|
-
|
|
484
|
-
> **Provenance note:** mechanisms above are cited from verified sources — Reflexion (verbal self-reflection
|
|
485
|
-
> buffer), Generative Agents (memory-stream → reflection promotion; recency×frequency×relevance retrieval),
|
|
486
|
-
> Constitutional AI / RLAIF (critique→revise against a fixed rule-set), Self-Consistency (vote-gated
|
|
487
|
-
> promotion — **applied in 1.8.0, not 1.7.2**), ACT-R (recency×frequency activation). The Hermes
|
|
488
|
-
> "15–30% after 5 cycles" figure and the
|
|
489
|
-
> "observe-reflect-optimize" three-stage optimizer are **secondary-blog / marketing claims and are NOT used
|
|
490
|
-
> as evidence here.**
|
|
491
|
-
|
|
492
|
-
### C.5 What's stored / scored / promoted / fed back (summary table)
|
|
493
|
-
|
|
494
|
-
| Stage | File | What | When |
|
|
495
|
-
|---|---|---|---|
|
|
496
|
-
| observe | `.omd/preferences.md` | raw entry `{id, ts, scope, status:pending, importance, signal}` | every `omd-remember` call (`omd-apply` Phase 3, post-edit-watch nudge) |
|
|
497
|
-
| score | (in `session-end-foldin.cjs`) | `count × importanceAvg × recency × 10` (×`w_rel` factor, default 0/inert); floors `entries≥3`, `importanceAvg≥2.5` | session-end **and** task-complete |
|
|
498
|
-
| conflict-check | DESIGN.md ↔ preference | critique→revise; refine / contradict | at promotion |
|
|
499
|
-
| promote | `DESIGN.md` §scope | small curated delta via Edit | user-confirmed in `omd-learn` |
|
|
500
|
-
| prune | `.omd/preferences.md` | expired, never-promoted `pending` → `status:archived` | `omd-learn` **Phase 6** |
|
|
501
|
-
| reflect *(1.8.0)* | `.omd/timeline.md` + `preferences.md` | correction-rate delta + verbal reflection | next run touching that scope |
|
|
502
|
-
| feed back *(1.8.0)* | next run context | top-K reflections prepended; importance prior adjusted | session-state-loader injection |
|
|
503
|
-
|
|
504
|
-
### C.6 Acceptance criteria — Pillar C
|
|
505
|
-
- **AC-C1:** Seed `preferences.md` with 3 `pending` `components.button` entries within the window → fold-in
|
|
506
|
-
scores ≥ 60, proposal appears in `timeline.md`; `omd-learn` promotes to DESIGN.md §8 as one coherent edit.
|
|
507
|
-
- **AC-C2:** A 4th preference contradicting an existing DESIGN.md rule triggers the explicit
|
|
508
|
-
(a)/(b)/(c) user prompt — DESIGN.md is **not** silently overwritten (regression guard for §C.3).
|
|
509
|
-
- **AC-C3:** `OMD_TRIGGER=task-complete node session-end-foldin.cjs` runs the fold-in pass immediately at the
|
|
510
|
-
task boundary (does not wait for session-end). The `scope_hint` is recorded for 1.8.0 weighting; in 1.7.2
|
|
511
|
-
scoring is unchanged (w_rel=0), so this AC asserts the *timing* only, not reordering.
|
|
512
|
-
- **AC-C5:** Never-promoted entries older than `recurrence_window_days` flip to `status:archived` on the
|
|
513
|
-
**Phase 6 prune** pass; `preferences.md` does not grow unbounded.
|
|
514
|
-
- **AC-C6 (back-compat, exact):** With `w_rel=0` (default) and **no `task_complete` markers**, the scoring
|
|
515
|
-
output of `session-end-foldin.cjs` is **byte-identical** to 1.7.1: the relevance factor evaluates to 1, the
|
|
516
|
-
multiplicative `count × importanceAvg × recency × 10` and all three gates (`entries≥3`, `importanceAvg≥2.5`,
|
|
517
|
-
`score≥60`) are unchanged. (The stated defaults achieve this exactly.)
|
|
518
|
-
- *(AC-C4 — correction-rate reflection — **moved to 1.8.0**, §6.4. In 1.7.2 only assert that the timeline
|
|
519
|
-
reflection-line FORMAT is stubbed and forward-compatible so 1.8.0 can read it.)*
|
|
520
|
-
- **AC-C7:** A runnable end-to-end example exists under `.experiments/` demonstrating capture→score→promote→
|
|
521
|
-
DESIGN.md-change→prune (closes the documented "no runnable example" gap). *(The reflect step is appended in
|
|
522
|
-
1.8.0 with the reinforcement feedback.)*
|
|
523
|
-
|
|
524
|
-
### C.7 Effort — Pillar C (1.7.2 deterministic core only)
|
|
525
|
-
**~1.75 days.** `session-end-foldin.cjs` inert `w_rel` factor (default 0) + `OMD_TRIGGER=task-complete`
|
|
526
|
-
branch, preserving the multiplicative score and all three gates (~0.5d); `omd-learn` Phase 3 critique→revise
|
|
527
|
-
+ Phase 6 prune (~0.75d, prose spec; **no** vote-gate, **no** reflection compute in 1.7.2); stub the
|
|
528
|
-
forward-compatible reflection-line format (~0.1d); example fixture + tests, incl. the AC-C6 byte-identity
|
|
529
|
-
test (~0.4d). *(Vote-gate, `w_rel` weighting, and correction-rate reinforcement are 1.8.0 — see §6.5.)*
|
|
530
|
-
|
|
531
|
-
---
|
|
532
|
-
|
|
533
|
-
## §5 Verdict — post-task preference consolidation
|
|
534
|
-
|
|
535
|
-
**YES.** A task/epic-complete consolidation step *is* warranted — but the minimal addition is **not** a new
|
|
536
|
-
hook and **not** a new `omd:consolidate` skill.
|
|
537
|
-
|
|
538
|
-
**Chosen minimal addition:** extend `session-end-foldin.cjs` to fire its existing fold-in pass on an
|
|
539
|
-
explicit `OMD_TRIGGER=task-complete` invocation, driven by a `## ... — task_complete` marker that `omd-apply`
|
|
540
|
-
writes to `.omd/timeline.md` when a design task closes (§C.2). Rationale:
|
|
541
|
-
|
|
542
|
-
- A new **hook** can't help: Claude Code has no native "task/epic complete" event; the only real signals are
|
|
543
|
-
*session-end* (already a Stop hook) and *the agent/user declaring a task done* — which a skill (`omd-apply`)
|
|
544
|
-
observes far better than any hook matcher.
|
|
545
|
-
- A new **skill** (`omd:consolidate`) would duplicate `omd-learn` + fold-in (the brief forbids duplicating
|
|
546
|
-
the existing loop).
|
|
547
|
-
- Extending `session-end-foldin.cjs` with one env-var branch reuses the entire scoring/proposal pipeline and
|
|
548
|
-
only adds the *trigger boundary* and a relevance boost — which is exactly the missing capability
|
|
549
|
-
(task-scoped consolidation, fresh and coherent), at the cost of ~15 lines.
|
|
550
|
-
|
|
551
|
-
---
|
|
552
|
-
|
|
553
|
-
## §6 Release plan
|
|
554
|
-
|
|
555
|
-
### 6.1 File change list
|
|
556
|
-
|
|
557
|
-
| File | Change | Pillar |
|
|
558
|
-
|---|---|---|
|
|
559
|
-
| `scripts/omd-resolve-ref.cjs` | **new** — fallback resolver (primary hit = install-copied path) | A |
|
|
560
|
-
| `package.json` `files[]` | add `scripts/omd-resolve-ref.cjs` | A |
|
|
561
|
-
| `src/cli/install-skills.ts` (`:417-459`, `:753-770` data-file area) | **copy `web/references/*/DESIGN.md` → `.claude/data/references/<id>/DESIGN.md`** (gated `!opts.noReferences`); add `--no-references` flag; install resolver at `:774-785` | A |
|
|
562
|
-
| `skills/omd-init/SKILL.md` (Phase 4.1 `:87-97`) | replace 3-path Read with resolver call + error handling | A |
|
|
563
|
-
| `.claude/hooks/session-end-foldin.cjs` | inert `w_rel` factor (default 0, multiplicative score + 3 gates preserved); `OMD_TRIGGER=task-complete` branch | C |
|
|
564
|
-
| `src/core/memory.ts` | **no behavior change** — note that the `importanceAvg ≥ 2.5` floor / scoring is **duplicated here** and must stay in sync with `session-end-foldin.cjs` | C |
|
|
565
|
-
| `skills/omd-learn/SKILL.md` (Phase 3 + new Phase 6) | Phase 3 critique→revise; new **Phase 6 prune** (moved out of Phase 5) | C |
|
|
566
|
-
| `skills/omd-apply/SKILL.md` (task close) | write `task_complete` marker + launch fold-in | C |
|
|
567
|
-
| `.experiments/preference-loop-example/` | **new** — runnable end-to-end fixture | C |
|
|
568
|
-
| `CHANGELOG.md` | 1.7.2 entry | all |
|
|
569
|
-
| `.claude/hooks/post-edit-watch.cjs` | UI-signal counters | **B — deferred to 1.8.0** |
|
|
570
|
-
| `skills/omd-apply/SKILL.md` (Phase 0 `need-check`) | need-score branch | **B — deferred to 1.8.0** |
|
|
571
|
-
|
|
572
|
-
### 6.2 Migration / back-compat
|
|
573
|
-
|
|
574
|
-
- **No project migration required.** `.omd/*` files are created lazily as before. Missing `task_complete`
|
|
575
|
-
markers and absent/zero `w_rel` config degrade to **exact 1.7.1 behavior** (AC-C6).
|
|
576
|
-
- **Re-install:** users run `omd install-skills --force` to pick up the new resolver script, the **copied
|
|
577
|
-
reference `DESIGN.md` files**, and refreshed SKILL.md/hook files. The existing settings.json merge logic
|
|
578
|
-
(`installSettingsJson` `:380-414`) is unchanged — **no new hook registered**, so settings.json does not
|
|
579
|
-
change (avoids drift-skip on user-edited configs). This is a key simplicity win of the §5 verdict.
|
|
580
|
-
- **Install footprint:** the default install now copies reference markdown into `.claude/data/references/`
|
|
581
|
-
(**~6 MB**, markdown only — assets not copied). Users who want a lean install pass `--no-references`. This
|
|
582
|
-
is the deliberate cost of A1 and the reason the install gap is actually closed for the npx audience.
|
|
583
|
-
- **`.gitignore` / tarball:** `.omd/` stays ignored; `web/references/*/DESIGN.md` shipping is unchanged
|
|
584
|
-
(install copies it from there — do **not** drop it from `files[]`).
|
|
585
|
-
|
|
586
|
-
### 6.3 Test additions
|
|
587
|
-
- vitest + CI matrix for the resolver and reference-copy — **AC-A0** (the bare-`npx` regression), AC-A1..A6.
|
|
588
|
-
- preference-loop unit/integration tests + the `.experiments/` example — AC-C1..C3, C5, C6 (incl. the
|
|
589
|
-
byte-identity back-compat test). *(Need-detector fixtures AC-B1..B4 ship with Pillar B in 1.8.0.)*
|
|
590
|
-
|
|
591
|
-
### 6.4 One release or split?
|
|
592
|
-
|
|
593
|
-
**Split.**
|
|
594
|
-
- **1.7.2 (ships now):** **Pillar A (A1 — copy the chosen reference at install)** + the **deterministic,
|
|
595
|
-
human-gated consolidation core of Pillar C**: the `OMD_TRIGGER=task-complete` trigger, conflict-resolution
|
|
596
|
-
(critique→revise), and the Phase 6 prune pass — with **multiplicative scoring unchanged and `w_rel`=0**
|
|
597
|
-
(inert). Everything here is deterministic and testable without telemetry plumbing, and back-compat is exact
|
|
598
|
-
(AC-C6).
|
|
599
|
-
- **1.8.0 (next):** **Pillar B (the need-detector)** — its thresholds need real telemetry to tune and its
|
|
600
|
-
premature-guard precedence must be rewritten with explicit parentheses; **the `w_rel` relevance
|
|
601
|
-
*weighting*** (tuned against usage data); the **Self-Consistency vote-gate** (YAGNI in 1.7.2 — promotion is
|
|
602
|
-
already human-confirmed twice); and **Pillar C (iv) correction-rate reinforcement** + the verbal-reflection
|
|
603
|
-
buffer prepended into run context (needs accumulated `user-correction` history). 1.7.2 only **stubs** the
|
|
604
|
-
forward-compatible timeline reflection-line format so 1.8.0 *reads* it. AC-B1..B4 and AC-C4 ship here.
|
|
605
|
-
|
|
606
|
-
**Rationale:** Pillar A is a release-blocking bug for the primary install path and should not wait behind
|
|
607
|
-
unvalidated heuristics or telemetry. The deterministic, human-gated half of C completes the foundation with
|
|
608
|
-
zero behavior change by default; the data-dependent and unvalidated parts (B, `w_rel`, vote-gate,
|
|
609
|
-
reinforcement) earn their own minor version where they can be tuned and the guard precedence fixed.
|
|
610
|
-
|
|
611
|
-
### 6.5 Total effort
|
|
612
|
-
**~2.5 days** for 1.7.2 (A ~0.75 + C-deterministic-core ~1.75 — note B is **not** in 1.7.2).
|
|
613
|
-
**~2.5 days** for 1.8.0 (Pillar B ~1 incl. fixing the guard precedence + fixtures; `w_rel` weighting tuning +
|
|
614
|
-
vote-gate ~0.75; correction-rate reinforcement + reflection buffer ~0.75).
|