@design-ai/cli 4.56.0 → 4.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/.claude-plugin/plugin.json +109 -25
  2. package/CHANGELOG.md +36 -0
  3. package/README.ko.md +9 -26
  4. package/README.md +10 -23
  5. package/cli/bin/design-ai.mjs +1 -0
  6. package/cli/commands/help.mjs +7 -4
  7. package/cli/commands/index.mjs +292 -0
  8. package/cli/commands/learn-help.mjs +149 -0
  9. package/cli/commands/learn-print-profile.mjs +373 -0
  10. package/cli/commands/learn-print-restore.mjs +349 -0
  11. package/cli/commands/learn-print-signals.mjs +453 -0
  12. package/cli/commands/learn.mjs +60 -1281
  13. package/cli/commands/pack.mjs +7 -3
  14. package/cli/commands/prompt.mjs +7 -3
  15. package/cli/commands/search.mjs +94 -1
  16. package/cli/lib/dispatch.mjs +3 -0
  17. package/cli/lib/embedding-index.mjs +199 -0
  18. package/cli/lib/embedding-provider.mjs +121 -0
  19. package/cli/lib/embedding-rerank.mjs +52 -0
  20. package/cli/lib/learn-args.mjs +490 -0
  21. package/cli/lib/learn-backup.mjs +748 -0
  22. package/cli/lib/learn-curation.mjs +612 -0
  23. package/cli/lib/learn-eval.mjs +459 -0
  24. package/cli/lib/learn-profile.mjs +763 -0
  25. package/cli/lib/learn-select.mjs +223 -0
  26. package/cli/lib/learn-shared.mjs +158 -0
  27. package/cli/lib/learn-test-support.mjs +218 -0
  28. package/cli/lib/learn-usage.mjs +360 -0
  29. package/cli/lib/learn.mjs +83 -3694
  30. package/cli/lib/lexical.mjs +137 -0
  31. package/cli/lib/local-config.mjs +110 -0
  32. package/cli/lib/mcp-server.mjs +13 -3
  33. package/cli/lib/pack.mjs +31 -4
  34. package/cli/lib/prompt.mjs +42 -4
  35. package/cli/lib/recall.mjs +193 -0
  36. package/cli/lib/retrieval-index.mjs +0 -0
  37. package/cli/lib/search-ranked.mjs +170 -0
  38. package/cli/lib/search.mjs +11 -1
  39. package/cli/lib/signals-backlog-commands.mjs +673 -0
  40. package/cli/lib/signals-backlog.mjs +361 -0
  41. package/cli/lib/signals-eval.mjs +176 -0
  42. package/cli/lib/signals-readiness.mjs +247 -0
  43. package/cli/lib/signals-registry.mjs +377 -0
  44. package/cli/lib/signals-render.mjs +478 -0
  45. package/cli/lib/signals-shared.mjs +75 -0
  46. package/cli/lib/signals.mjs +16 -2337
  47. package/cli/lib/site-bundle-handoff-expected.mjs +173 -0
  48. package/cli/lib/site-bundle-handoff-runbook-action-summary.mjs +332 -0
  49. package/cli/lib/site-bundle-handoff-runbook-human-lines.mjs +167 -0
  50. package/cli/lib/site-bundle-handoff-runbook-maps.mjs +238 -0
  51. package/cli/lib/site-bundle-handoff-runbook-next-step.mjs +278 -0
  52. package/cli/lib/site-bundle-handoff-runbook.mjs +44 -931
  53. package/cli/lib/site-test-support.mjs +68 -0
  54. package/cli/lib/skill-proposals-apply-commands.mjs +135 -0
  55. package/cli/lib/skill-proposals-apply-contract.mjs +750 -0
  56. package/cli/lib/skill-proposals-apply-plan.mjs +118 -0
  57. package/cli/lib/skill-proposals-generate.mjs +298 -0
  58. package/cli/lib/skill-proposals-render.mjs +532 -0
  59. package/cli/lib/skill-proposals-review.mjs +262 -0
  60. package/cli/lib/skill-proposals.mjs +15 -2046
  61. package/cli/lib/workspace-args.mjs +83 -0
  62. package/cli/lib/workspace-git.mjs +169 -0
  63. package/cli/lib/workspace-learning.mjs +483 -0
  64. package/cli/lib/workspace-repo.mjs +139 -0
  65. package/cli/lib/workspace-report.mjs +283 -0
  66. package/cli/lib/workspace-test-support.mjs +99 -0
  67. package/cli/lib/workspace.mjs +30 -1056
  68. package/docs/AI-LEARNING-PHASE2.md +215 -0
  69. package/docs/DISTRIBUTION.ko.md +2 -2
  70. package/docs/DISTRIBUTION.md +2 -2
  71. package/docs/NEXT-SURFACE-DECISION.md +125 -0
  72. package/docs/PRODUCT-READINESS.md +3 -3
  73. package/docs/RELEASE-GATES.ko.md +35 -0
  74. package/docs/RELEASE-GATES.md +234 -0
  75. package/docs/ROADMAP.md +53 -8
  76. package/docs/external-status.md +6 -8
  77. package/docs/inspection-20260630.md +169 -0
  78. package/docs/integrations/design-ai-mcp-server.md +4 -4
  79. package/docs/reference/ant-design.md +413 -0
  80. package/docs/reference/awesome-design-md.md +439 -0
  81. package/docs/reference/mui.md +783 -0
  82. package/docs/reference/shadcn-ui.md +298 -0
  83. package/examples/component-accordion-actions.md +5 -5
  84. package/examples/component-accordion-details.md +5 -5
  85. package/examples/component-accordion-summary.md +5 -5
  86. package/examples/component-accordion.md +3 -3
  87. package/examples/component-affix.md +1 -1
  88. package/examples/component-alert-dialog.md +1 -1
  89. package/examples/component-alert-title.md +1 -1
  90. package/examples/component-alert.md +3 -3
  91. package/examples/component-anchor.md +1 -1
  92. package/examples/component-app-bar.md +1 -1
  93. package/examples/component-aspect-ratio.md +1 -1
  94. package/examples/component-auto-complete.md +2 -2
  95. package/examples/component-avatar-group.md +5 -5
  96. package/examples/component-avatar.md +3 -3
  97. package/examples/component-back-top.md +1 -1
  98. package/examples/component-backdrop.md +1 -1
  99. package/examples/component-badge.md +3 -3
  100. package/examples/component-border-beam.md +3 -3
  101. package/examples/component-bottom-navigation.md +1 -1
  102. package/examples/component-box.md +1 -1
  103. package/examples/component-breadcrumb.md +3 -3
  104. package/examples/component-button-base.md +3 -3
  105. package/examples/component-button-group.md +2 -2
  106. package/examples/component-button.md +3 -3
  107. package/examples/component-calendar.md +2 -2
  108. package/examples/component-card-actions.md +1 -1
  109. package/examples/component-card-content.md +1 -1
  110. package/examples/component-card-header.md +1 -1
  111. package/examples/component-card-media.md +1 -1
  112. package/examples/component-card.md +3 -3
  113. package/examples/component-carousel.md +2 -2
  114. package/examples/component-cascader.md +1 -1
  115. package/examples/component-chart.md +1 -1
  116. package/examples/component-checkbox.md +3 -3
  117. package/examples/component-click-away-listener.md +1 -1
  118. package/examples/component-code.md +1 -1
  119. package/examples/component-collapsible.md +1 -1
  120. package/examples/component-color-picker.md +1 -1
  121. package/examples/component-combobox.md +1 -1
  122. package/examples/component-command.md +1 -1
  123. package/examples/component-config-provider.md +3 -3
  124. package/examples/component-context-menu.md +1 -1
  125. package/examples/component-css-baseline.md +3 -3
  126. package/examples/component-date-picker.md +2 -2
  127. package/examples/component-descriptions.md +1 -1
  128. package/examples/component-dialog-actions.md +1 -1
  129. package/examples/component-dialog-content-text.md +1 -1
  130. package/examples/component-dialog-content.md +1 -1
  131. package/examples/component-dialog-title.md +1 -1
  132. package/examples/component-dialog.md +2 -2
  133. package/examples/component-divider.md +3 -3
  134. package/examples/component-drawer.md +3 -3
  135. package/examples/component-dropdown.md +3 -3
  136. package/examples/component-empty.md +2 -2
  137. package/examples/component-fade.md +1 -1
  138. package/examples/component-field.md +1 -1
  139. package/examples/component-filled-input.md +1 -1
  140. package/examples/component-flex.md +1 -1
  141. package/examples/component-float-button.md +2 -2
  142. package/examples/component-form-control-label.md +1 -1
  143. package/examples/component-form-control.md +1 -1
  144. package/examples/component-form-controls.md +1 -1
  145. package/examples/component-form-group.md +1 -1
  146. package/examples/component-form-helper-text.md +1 -1
  147. package/examples/component-form-label.md +1 -1
  148. package/examples/component-form.md +2 -2
  149. package/examples/component-grid.md +2 -2
  150. package/examples/component-grow.md +1 -1
  151. package/examples/component-hover-card.md +1 -1
  152. package/examples/component-icon-button.md +1 -1
  153. package/examples/component-icon.md +1 -1
  154. package/examples/component-image-list.md +1 -1
  155. package/examples/component-image.md +1 -1
  156. package/examples/component-input-adornment.md +1 -1
  157. package/examples/component-input-base.md +1 -1
  158. package/examples/component-input-number.md +1 -1
  159. package/examples/component-input-otp.md +2 -2
  160. package/examples/component-input.md +3 -3
  161. package/examples/component-item.md +1 -1
  162. package/examples/component-label.md +1 -1
  163. package/examples/component-layout.md +1 -1
  164. package/examples/component-link.md +1 -1
  165. package/examples/component-list-item-avatar.md +1 -1
  166. package/examples/component-list-item-button.md +1 -1
  167. package/examples/component-list-item-icon.md +1 -1
  168. package/examples/component-list-item-text.md +1 -1
  169. package/examples/component-list-item.md +1 -1
  170. package/examples/component-list-subheader.md +1 -1
  171. package/examples/component-list.md +2 -2
  172. package/examples/component-masonry.md +1 -1
  173. package/examples/component-mentions.md +1 -1
  174. package/examples/component-menu-item.md +1 -1
  175. package/examples/component-menu-list.md +1 -1
  176. package/examples/component-menu.md +1 -1
  177. package/examples/component-menubar.md +1 -1
  178. package/examples/component-message.md +1 -1
  179. package/examples/component-mobile-stepper.md +1 -1
  180. package/examples/component-modal.md +5 -5
  181. package/examples/component-navigation-menu.md +1 -1
  182. package/examples/component-notification.md +1 -1
  183. package/examples/component-outlined-input.md +1 -1
  184. package/examples/component-pagination.md +3 -3
  185. package/examples/component-paper.md +1 -1
  186. package/examples/component-popconfirm.md +1 -1
  187. package/examples/component-popover.md +3 -3
  188. package/examples/component-popper.md +1 -1
  189. package/examples/component-progress.md +2 -2
  190. package/examples/component-qr-code.md +1 -1
  191. package/examples/component-radio.md +3 -3
  192. package/examples/component-rate.md +2 -2
  193. package/examples/component-resizable.md +1 -1
  194. package/examples/component-result.md +1 -1
  195. package/examples/component-scroll-area.md +1 -1
  196. package/examples/component-segmented.md +3 -3
  197. package/examples/component-select.md +3 -3
  198. package/examples/component-separator.md +1 -1
  199. package/examples/component-sheet.md +1 -1
  200. package/examples/component-sidebar.md +1 -1
  201. package/examples/component-skeleton.md +3 -3
  202. package/examples/component-slide.md +1 -1
  203. package/examples/component-slider.md +3 -3
  204. package/examples/component-snackbar-content.md +1 -1
  205. package/examples/component-snackbar.md +1 -1
  206. package/examples/component-sonner.md +1 -1
  207. package/examples/component-space.md +1 -1
  208. package/examples/component-speed-dial-action.md +1 -1
  209. package/examples/component-speed-dial.md +1 -1
  210. package/examples/component-spin.md +2 -2
  211. package/examples/component-spinner.md +1 -1
  212. package/examples/component-splitter.md +2 -2
  213. package/examples/component-stack.md +1 -1
  214. package/examples/component-statistic.md +1 -1
  215. package/examples/component-step-button.md +4 -4
  216. package/examples/component-step-connector.md +4 -4
  217. package/examples/component-step-content.md +1 -1
  218. package/examples/component-step-icon.md +1 -1
  219. package/examples/component-step-label.md +1 -1
  220. package/examples/component-step.md +2 -2
  221. package/examples/component-steps.md +2 -2
  222. package/examples/component-swipeable-drawer.md +1 -1
  223. package/examples/component-switch.md +3 -3
  224. package/examples/component-tab-scroll-button.md +5 -5
  225. package/examples/component-tab.md +1 -1
  226. package/examples/component-table-body.md +1 -1
  227. package/examples/component-table-cell.md +1 -1
  228. package/examples/component-table-container.md +1 -1
  229. package/examples/component-table-footer.md +1 -1
  230. package/examples/component-table-head.md +1 -1
  231. package/examples/component-table-pagination.md +1 -1
  232. package/examples/component-table-row.md +1 -1
  233. package/examples/component-table-sort-label.md +1 -1
  234. package/examples/component-table.md +2 -2
  235. package/examples/component-tabs.md +3 -3
  236. package/examples/component-tag-badge.md +2 -2
  237. package/examples/component-tag.md +1 -1
  238. package/examples/component-textarea-autosize.md +1 -1
  239. package/examples/component-textarea.md +1 -1
  240. package/examples/component-time-picker.md +1 -1
  241. package/examples/component-timeline.md +1 -1
  242. package/examples/component-toast.md +4 -4
  243. package/examples/component-toggle-button.md +1 -1
  244. package/examples/component-toggle.md +1 -1
  245. package/examples/component-toolbar.md +1 -1
  246. package/examples/component-tooltip.md +3 -3
  247. package/examples/component-tour.md +1 -1
  248. package/examples/component-transfer.md +1 -1
  249. package/examples/component-tree-select.md +1 -1
  250. package/examples/component-tree.md +1 -1
  251. package/examples/component-typography.md +2 -2
  252. package/examples/component-upload.md +1 -1
  253. package/examples/component-watermark.md +1 -1
  254. package/examples/component-zoom.md +1 -1
  255. package/knowledge/COVERAGE.md +4 -3
  256. package/knowledge/components/INDEX.md +202 -202
  257. package/knowledge/patterns/brand-references.md +72 -72
  258. package/package.json +1 -1
  259. package/tools/audit/local-ci.py +16 -1
  260. package/tools/audit/package-smoke.py +611 -9
  261. package/tools/audit/registry-smoke.py +534 -0
  262. package/tools/audit/release-metadata.py +47 -1
  263. package/tools/audit/smoke_assertions.py +915 -13
  264. package/tools/migrations/refs-links-to-reference-pages.py +179 -0
@@ -0,0 +1,298 @@
1
+ <!-- generated: tools/extractors/reference_pages.py — do not edit by hand -->
2
+
3
+ # shadcn/ui source reference
4
+
5
+ Modern Radix-based copy-paste component model.
6
+
7
+ Generated index of `refs/shadcn-ui/` sources cited by the knowledge corpus. The local mirror is gitignored; every entry below links to the same path in the upstream repository.
8
+
9
+ - Upstream: [shadcn-ui/ui](https://github.com/shadcn-ui/ui)
10
+ - License: see the upstream repository's license file
11
+ - Local mirror: `refs/shadcn-ui/` (refresh with `./tools/extractors/run-all.sh`)
12
+
13
+ Entries: 57
14
+
15
+ ## _registry
16
+
17
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/_registry.ts`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/_registry.ts)
18
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/_registry.ts`
19
+
20
+ ## accordion
21
+
22
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/accordion.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/accordion.tsx)
23
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`
24
+
25
+ ## alert-dialog
26
+
27
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/alert-dialog.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/alert-dialog.tsx)
28
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert-dialog.tsx`
29
+
30
+ ## alert
31
+
32
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/alert.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/alert.tsx)
33
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert.tsx`
34
+
35
+ ## aspect-ratio
36
+
37
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/aspect-ratio.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/aspect-ratio.tsx)
38
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/aspect-ratio.tsx`
39
+
40
+ ## avatar
41
+
42
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/avatar.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/avatar.tsx)
43
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`
44
+
45
+ ## badge
46
+
47
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/badge.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/badge.tsx)
48
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/badge.tsx`
49
+
50
+ ## breadcrumb
51
+
52
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/breadcrumb.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/breadcrumb.tsx)
53
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/breadcrumb.tsx`
54
+
55
+ ## button-group
56
+
57
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/button-group.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/button-group.tsx)
58
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/button-group.tsx`
59
+
60
+ ## button
61
+
62
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/button.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/button.tsx)
63
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/button.tsx`
64
+
65
+ ## calendar
66
+
67
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/calendar.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/calendar.tsx)
68
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/calendar.tsx`
69
+
70
+ ## card
71
+
72
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/card.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/card.tsx)
73
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/card.tsx`
74
+
75
+ ## carousel
76
+
77
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/carousel.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/carousel.tsx)
78
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/carousel.tsx`
79
+
80
+ ## chart
81
+
82
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/chart.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/chart.tsx)
83
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/chart.tsx`
84
+
85
+ ## checkbox
86
+
87
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/checkbox.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/checkbox.tsx)
88
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/checkbox.tsx`
89
+
90
+ ## collapsible
91
+
92
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/collapsible.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/collapsible.tsx)
93
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/collapsible.tsx`
94
+
95
+ ## combobox
96
+
97
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/combobox.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/combobox.tsx)
98
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/combobox.tsx`
99
+
100
+ ## command
101
+
102
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/command.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/command.tsx)
103
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/command.tsx`
104
+
105
+ ## context-menu
106
+
107
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/context-menu.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/context-menu.tsx)
108
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/context-menu.tsx`
109
+
110
+ ## dialog
111
+
112
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/dialog.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/dialog.tsx)
113
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/dialog.tsx`
114
+
115
+ ## direction
116
+
117
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/direction.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/direction.tsx)
118
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/direction.tsx`
119
+
120
+ ## drawer
121
+
122
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/drawer.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/drawer.tsx)
123
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/drawer.tsx`
124
+
125
+ ## dropdown-menu
126
+
127
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/dropdown-menu.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/dropdown-menu.tsx)
128
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/dropdown-menu.tsx`
129
+
130
+ ## empty
131
+
132
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/empty.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/empty.tsx)
133
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/empty.tsx`
134
+
135
+ ## field
136
+
137
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/field.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/field.tsx)
138
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/field.tsx`
139
+
140
+ ## form
141
+
142
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/form.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/form.tsx)
143
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/form.tsx`
144
+
145
+ ## hover-card
146
+
147
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/hover-card.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/hover-card.tsx)
148
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/hover-card.tsx`
149
+
150
+ ## input-group
151
+
152
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/input-group.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/input-group.tsx)
153
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/input-group.tsx`
154
+
155
+ ## input-otp
156
+
157
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/input-otp.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/input-otp.tsx)
158
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/input-otp.tsx`
159
+
160
+ ## input
161
+
162
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/input.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/input.tsx)
163
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/input.tsx`
164
+
165
+ ## item
166
+
167
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/item.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/item.tsx)
168
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/item.tsx`
169
+
170
+ ## kbd
171
+
172
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/kbd.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/kbd.tsx)
173
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/kbd.tsx`
174
+
175
+ ## label
176
+
177
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/label.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/label.tsx)
178
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/label.tsx`
179
+
180
+ ## menubar
181
+
182
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/menubar.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/menubar.tsx)
183
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/menubar.tsx`
184
+
185
+ ## native-select
186
+
187
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/native-select.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/native-select.tsx)
188
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/native-select.tsx`
189
+
190
+ ## navigation-menu
191
+
192
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/navigation-menu.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/navigation-menu.tsx)
193
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/navigation-menu.tsx`
194
+
195
+ ## pagination
196
+
197
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/pagination.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/pagination.tsx)
198
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/pagination.tsx`
199
+
200
+ ## popover
201
+
202
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/popover.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/popover.tsx)
203
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/popover.tsx`
204
+
205
+ ## progress
206
+
207
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/progress.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/progress.tsx)
208
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/progress.tsx`
209
+
210
+ ## radio-group
211
+
212
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/radio-group.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/radio-group.tsx)
213
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/radio-group.tsx`
214
+
215
+ ## resizable
216
+
217
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/resizable.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/resizable.tsx)
218
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/resizable.tsx`
219
+
220
+ ## scroll-area
221
+
222
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/scroll-area.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/scroll-area.tsx)
223
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/scroll-area.tsx`
224
+
225
+ ## select
226
+
227
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/select.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/select.tsx)
228
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/select.tsx`
229
+
230
+ ## separator
231
+
232
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/separator.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/separator.tsx)
233
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/separator.tsx`
234
+
235
+ ## sheet
236
+
237
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/sheet.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/sheet.tsx)
238
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/sheet.tsx`
239
+
240
+ ## sidebar
241
+
242
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/sidebar.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/sidebar.tsx)
243
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/sidebar.tsx`
244
+
245
+ ## skeleton
246
+
247
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/skeleton.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/skeleton.tsx)
248
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/skeleton.tsx`
249
+
250
+ ## slider
251
+
252
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/slider.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/slider.tsx)
253
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/slider.tsx`
254
+
255
+ ## sonner
256
+
257
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/sonner.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/sonner.tsx)
258
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/sonner.tsx`
259
+
260
+ ## spinner
261
+
262
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/spinner.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/spinner.tsx)
263
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/spinner.tsx`
264
+
265
+ ## switch
266
+
267
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/switch.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/switch.tsx)
268
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/switch.tsx`
269
+
270
+ ## table
271
+
272
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/table.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/table.tsx)
273
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/table.tsx`
274
+
275
+ ## tabs
276
+
277
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/tabs.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/tabs.tsx)
278
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/tabs.tsx`
279
+
280
+ ## textarea
281
+
282
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/textarea.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/textarea.tsx)
283
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/textarea.tsx`
284
+
285
+ ## toggle-group
286
+
287
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/toggle-group.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/toggle-group.tsx)
288
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/toggle-group.tsx`
289
+
290
+ ## toggle
291
+
292
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/toggle.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/toggle.tsx)
293
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/toggle.tsx`
294
+
295
+ ## tooltip
296
+
297
+ - Upstream: [`apps/v4/registry/new-york-v4/ui/tooltip.tsx`](https://github.com/shadcn-ui/ui/blob/HEAD/apps/v4/registry/new-york-v4/ui/tooltip.tsx)
298
+ - Local mirror: `refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/tooltip.tsx`
@@ -140,11 +140,11 @@ If the row has a divider, use `--color-border-default`; do not introduce a new h
140
140
 
141
141
  ## References
142
142
 
143
- - MUI direct source: [`refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.d.ts`](../refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.d.ts)
144
- - MUI implementation: [`refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.js`](../refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.js)
145
- - Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../refs/mui/packages/mui-material/src/Accordion/)
146
- - Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../refs/ant-design/components/collapse/)
147
- - shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx)
143
+ - MUI direct source: [`refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.d.ts`](../docs/reference/mui.md#accordion-actions)
144
+ - MUI implementation: [`refs/mui/packages/mui-material/src/AccordionActions/AccordionActions.js`](../docs/reference/mui.md#accordion-actions)
145
+ - Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../docs/reference/mui.md#accordion)
146
+ - Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../docs/reference/ant-design.md#collapse)
147
+ - shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../docs/reference/shadcn-ui.md#accordion)
148
148
  - Accessibility baseline: [`knowledge/a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md)
149
149
 
150
150
  ## Cross-reference
@@ -134,11 +134,11 @@ Accordion.Item
134
134
 
135
135
  ## References
136
136
 
137
- - MUI direct source: [`refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.d.ts`](../refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.d.ts)
138
- - MUI implementation: [`refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.js`](../refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.js)
139
- - Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../refs/mui/packages/mui-material/src/Accordion/)
140
- - Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../refs/ant-design/components/collapse/)
141
- - shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx)
137
+ - MUI direct source: [`refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.d.ts`](../docs/reference/mui.md#accordion-details)
138
+ - MUI implementation: [`refs/mui/packages/mui-material/src/AccordionDetails/AccordionDetails.js`](../docs/reference/mui.md#accordion-details)
139
+ - Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../docs/reference/mui.md#accordion)
140
+ - Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../docs/reference/ant-design.md#collapse)
141
+ - shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../docs/reference/shadcn-ui.md#accordion)
142
142
  - Accessibility baseline: [`knowledge/a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md)
143
143
 
144
144
  ## Cross-reference
@@ -165,11 +165,11 @@ Inherits button-like props from MUI `ButtonBase` in MUI implementations.
165
165
 
166
166
  ## References
167
167
 
168
- - MUI direct source: [`refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.d.ts`](../refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.d.ts)
169
- - MUI implementation: [`refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.js`](../refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.js)
170
- - Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../refs/mui/packages/mui-material/src/Accordion/)
171
- - Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../refs/ant-design/components/collapse/)
172
- - shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx)
168
+ - MUI direct source: [`refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.d.ts`](../docs/reference/mui.md#accordion-summary)
169
+ - MUI implementation: [`refs/mui/packages/mui-material/src/AccordionSummary/AccordionSummary.js`](../docs/reference/mui.md#accordion-summary)
170
+ - Parent MUI composition: [`refs/mui/packages/mui-material/src/Accordion/`](../docs/reference/mui.md#accordion)
171
+ - Ant Design parent pattern: [`refs/ant-design/components/collapse/`](../docs/reference/ant-design.md#collapse)
172
+ - shadcn-ui parent pattern: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../docs/reference/shadcn-ui.md#accordion)
173
173
  - Accessibility baseline: [`knowledge/a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md)
174
174
  - Motion baseline: [`knowledge/motion/principles.md`](../knowledge/motion/principles.md)
175
175
 
@@ -218,9 +218,9 @@ Disable height transition. Toggle is instant (no 200ms).
218
218
 
219
219
  ## References
220
220
 
221
- - Ant Design: [`refs/ant-design/components/collapse/`](../refs/ant-design/components/collapse/) — `Collapse` + `Collapse.Panel`. `accordion` prop forces single. Has nice `expandIcon` customization.
222
- - MUI: [`refs/mui/packages/mui-material/src/Accordion/`](../refs/mui/packages/mui-material/src/Accordion/) — `Accordion`, `AccordionSummary`, `AccordionDetails`, `AccordionActions`. Solid composition.
223
- - shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx) — Radix Accordion primitive. Cleanest a11y. **Default for new projects.**
221
+ - Ant Design: [`refs/ant-design/components/collapse/`](../docs/reference/ant-design.md#collapse) — `Collapse` + `Collapse.Panel`. `accordion` prop forces single. Has nice `expandIcon` customization.
222
+ - MUI: [`refs/mui/packages/mui-material/src/Accordion/`](../docs/reference/mui.md#accordion) — `Accordion`, `AccordionSummary`, `AccordionDetails`, `AccordionActions`. Solid composition.
223
+ - shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/accordion.tsx`](../docs/reference/shadcn-ui.md#accordion) — Radix Accordion primitive. Cleanest a11y. **Default for new projects.**
224
224
 
225
225
  ## Cross-reference
226
226
 
@@ -180,7 +180,7 @@ For sticky **alerts / banners**: respect `prefers-reduced-motion` and don't anim
180
180
 
181
181
  ## References
182
182
 
183
- - Ant Design: [`refs/ant-design/components/affix/`](../refs/ant-design/components/affix/) — `Affix`. Wraps native sticky with React-friendly callbacks.
183
+ - Ant Design: [`refs/ant-design/components/affix/`](../docs/reference/ant-design.md#affix) — `Affix`. Wraps native sticky with React-friendly callbacks.
184
184
  - MUI / shadcn-ui: no dedicated component. Use CSS `position: sticky`.
185
185
 
186
186
  ## Cross-reference
@@ -200,7 +200,7 @@ function DeleteProjectButton({ project }: Props) {
200
200
 
201
201
  ## References
202
202
 
203
- - shadcn-ui: [`alert-dialog`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert-dialog.tsx) (Radix)
203
+ - shadcn-ui: [`alert-dialog`](../docs/reference/shadcn-ui.md#alert-dialog) (Radix)
204
204
  - WAI-ARIA: [`alertdialog`](https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/)
205
205
 
206
206
  ## Cross-reference
@@ -69,7 +69,7 @@ Extends `Typography` — typography props work.
69
69
 
70
70
  ## References
71
71
 
72
- - MUI: [`AlertTitle`](../refs/mui/packages/mui-material/src/AlertTitle/)
72
+ - MUI: [`AlertTitle`](../docs/reference/mui.md#alert-title)
73
73
 
74
74
  ## Cross-reference
75
75
 
@@ -176,9 +176,9 @@ Alerts don't have hover/active themselves — only their nested actions do.
176
176
 
177
177
  ## References
178
178
 
179
- - Ant Design: [`refs/ant-design/components/alert/`](../refs/ant-design/components/alert/) — `Alert`, `Alert.ErrorBoundary`. Supports `closable`, `banner` variant, `showIcon`, `action`. Has a "banner" mode for full-width top banners.
180
- - MUI: [`refs/mui/packages/mui-material/src/Alert/`](../refs/mui/packages/mui-material/src/Alert/) — `Alert` + `AlertTitle`. Variants: `standard` (subtle), `filled` (solid), `outlined`. Closest to this spec.
181
- - shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert.tsx) — primitive (`Alert`, `AlertTitle`, `AlertDescription`). Composition; intent via className variant.
179
+ - Ant Design: [`refs/ant-design/components/alert/`](../docs/reference/ant-design.md#alert) — `Alert`, `Alert.ErrorBoundary`. Supports `closable`, `banner` variant, `showIcon`, `action`. Has a "banner" mode for full-width top banners.
180
+ - MUI: [`refs/mui/packages/mui-material/src/Alert/`](../docs/reference/mui.md#alert) — `Alert` + `AlertTitle`. Variants: `standard` (subtle), `filled` (solid), `outlined`. Closest to this spec.
181
+ - shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/alert.tsx`](../docs/reference/shadcn-ui.md#alert) — primitive (`Alert`, `AlertTitle`, `AlertDescription`). Composition; intent via className variant.
182
182
 
183
183
  API choices made:
184
184
  - **`actions` array prop** rather than children-only: 80% of alerts with actions need exactly 1–2 buttons; the prop is faster than composing.
@@ -188,7 +188,7 @@ function DocsPage({ headings }: Props) {
188
188
 
189
189
  ## References
190
190
 
191
- - Ant Design: [`refs/ant-design/components/anchor/`](../refs/ant-design/components/anchor/) — `Anchor`, `Anchor.Link`. Solid implementation.
191
+ - Ant Design: [`refs/ant-design/components/anchor/`](../docs/reference/ant-design.md#anchor) — `Anchor`, `Anchor.Link`. Solid implementation.
192
192
  - MUI / shadcn-ui: no built-in. Compose with `IntersectionObserver` + custom CSS.
193
193
 
194
194
  ## Cross-reference
@@ -239,7 +239,7 @@ For chat/conversation headers: title shows the contact's name + online status:
239
239
  ## References
240
240
 
241
241
  - Ant Design: no dedicated AppBar — use `Layout.Header` + custom composition.
242
- - MUI: [`refs/mui/packages/mui-material/src/AppBar/`](../refs/mui/packages/mui-material/src/AppBar/) — `AppBar` with `position`, `color`, `elevation`. Material-aligned.
242
+ - MUI: [`refs/mui/packages/mui-material/src/AppBar/`](../docs/reference/mui.md#app-bar) — `AppBar` with `position`, `color`, `elevation`. Material-aligned.
243
243
  - shadcn-ui: no built-in. Compose with custom header structure.
244
244
 
245
245
  ## Cross-reference
@@ -146,7 +146,7 @@ function ProductCard({ product }: Props) {
146
146
 
147
147
  ## References
148
148
 
149
- - shadcn-ui: [`aspect-ratio`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/aspect-ratio.tsx) (Radix)
149
+ - shadcn-ui: [`aspect-ratio`](../docs/reference/shadcn-ui.md#aspect-ratio) (Radix)
150
150
  - CSS: `aspect-ratio` property (Baseline 2021)
151
151
 
152
152
  ## Cross-reference
@@ -188,8 +188,8 @@ When user selects an option: existing tag. When user types and commits: new tag.
188
188
 
189
189
  ## References
190
190
 
191
- - Ant Design: [`refs/ant-design/components/auto-complete/`](../refs/ant-design/components/auto-complete/) — `AutoComplete`. Built on top of Select with free-text mode.
192
- - MUI: [`refs/mui/packages/mui-material/src/Autocomplete/`](../refs/mui/packages/mui-material/src/Autocomplete/) — `Autocomplete` with `freeSolo` prop. Most comprehensive.
191
+ - Ant Design: [`refs/ant-design/components/auto-complete/`](../docs/reference/ant-design.md#auto-complete) — `AutoComplete`. Built on top of Select with free-text mode.
192
+ - MUI: [`refs/mui/packages/mui-material/src/Autocomplete/`](../docs/reference/mui.md#autocomplete) — `Autocomplete` with `freeSolo` prop. Most comprehensive.
193
193
  - shadcn-ui: compose `command` (cmdk) + Popover for autocomplete-like behavior.
194
194
 
195
195
  ## Cross-reference
@@ -157,11 +157,11 @@ If these avatar tokens do not exist, map them to the existing size, spacing, bor
157
157
 
158
158
  ## References
159
159
 
160
- - MUI direct source: [`refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.d.ts`](../refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.d.ts)
161
- - MUI implementation: [`refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.js`](../refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.js)
162
- - Ant Design parent pattern: [`refs/ant-design/components/avatar/`](../refs/ant-design/components/avatar/)
163
- - shadcn-ui avatar source: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx)
164
- - shadcn-ui group examples: [`refs/shadcn-ui/apps/v4/examples/base/avatar-group.tsx`](../refs/shadcn-ui/apps/v4/examples/base/avatar-group.tsx)
160
+ - MUI direct source: [`refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.d.ts`](../docs/reference/mui.md#avatar-group)
161
+ - MUI implementation: [`refs/mui/packages/mui-material/src/AvatarGroup/AvatarGroup.js`](../docs/reference/mui.md#avatar-group)
162
+ - Ant Design parent pattern: [`refs/ant-design/components/avatar/`](../docs/reference/ant-design.md#avatar)
163
+ - shadcn-ui avatar source: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`](../docs/reference/shadcn-ui.md#avatar)
164
+ - shadcn-ui group examples: [`refs/shadcn-ui/apps/v4/examples/base/avatar-group.tsx`](../docs/reference/shadcn-ui.md)
165
165
  - Accessibility baseline: [`knowledge/a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md)
166
166
 
167
167
  ## Cross-reference
@@ -181,9 +181,9 @@ Pick colors with text readable in white.
181
181
 
182
182
  ## References
183
183
 
184
- - Ant Design: [`refs/ant-design/components/avatar/`](../refs/ant-design/components/avatar/) — `Avatar`, `Avatar.Group`. `shape="circle" | "square"`. Multi-size + scaling for groups.
185
- - MUI: [`refs/mui/packages/mui-material/src/Avatar/`](../refs/mui/packages/mui-material/src/Avatar/) — `Avatar` + `AvatarGroup`. Falls back to first letter of `children` text.
186
- - shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx) — Radix Avatar primitive. Composition: `Avatar`, `AvatarImage`, `AvatarFallback`.
184
+ - Ant Design: [`refs/ant-design/components/avatar/`](../docs/reference/ant-design.md#avatar) — `Avatar`, `Avatar.Group`. `shape="circle" | "square"`. Multi-size + scaling for groups.
185
+ - MUI: [`refs/mui/packages/mui-material/src/Avatar/`](../docs/reference/mui.md#avatar) — `Avatar` + `AvatarGroup`. Falls back to first letter of `children` text.
186
+ - shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/avatar.tsx`](../docs/reference/shadcn-ui.md#avatar) — Radix Avatar primitive. Composition: `Avatar`, `AvatarImage`, `AvatarFallback`.
187
187
 
188
188
  ## Cross-reference
189
189
 
@@ -114,7 +114,7 @@ window.scrollTo({ top: 0, behavior: reduced ? "auto" : "smooth" });
114
114
 
115
115
  ## References
116
116
 
117
- - Ant: [`BackTop`](../refs/ant-design/components/back-top)
117
+ - Ant: [`BackTop`](../docs/reference/ant-design.md#back-top)
118
118
  - Native: `window.scrollTo({ behavior: "smooth" })`
119
119
 
120
120
  ## Cross-reference
@@ -138,7 +138,7 @@ function App() {
138
138
 
139
139
  ## References
140
140
 
141
- - MUI: [`Backdrop`](../refs/mui/packages/mui-material/src/Backdrop)
141
+ - MUI: [`Backdrop`](../docs/reference/mui.md#backdrop)
142
142
  - Used internally by: Modal, Drawer, Sheet, AlertDialog
143
143
 
144
144
  ## Cross-reference
@@ -170,9 +170,9 @@ function ProductCard({ name, isNew, isOnSale }: Props) {
170
170
 
171
171
  ## References
172
172
 
173
- - Ant: [`Badge`](../refs/ant-design/components/badge)
174
- - MUI: [`Badge`](../refs/mui/packages/mui-material/src/Badge)
175
- - shadcn-ui: [`badge`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/badge.tsx)
173
+ - Ant: [`Badge`](../docs/reference/ant-design.md#badge)
174
+ - MUI: [`Badge`](../docs/reference/mui.md#badge)
175
+ - shadcn-ui: [`badge`](../docs/reference/shadcn-ui.md#badge)
176
176
 
177
177
  ## Cross-reference
178
178
 
@@ -200,8 +200,8 @@ export function FeaturedModule({ title, description, action }: FeaturedModulePro
200
200
 
201
201
  ## References
202
202
 
203
- - Ant Design: [`BorderBeam.tsx`](../refs/ant-design/components/border-beam/BorderBeam.tsx), [`BorderBeamEffect.tsx`](../refs/ant-design/components/border-beam/BorderBeamEffect.tsx), [`border-beam/index.en-US.md`](../refs/ant-design/components/border-beam/index.en-US.md), [`border-beam/style/index.ts`](../refs/ant-design/components/border-beam/style/index.ts)
204
- - MUI: [`Paper.d.ts`](../refs/mui/packages/mui-material/src/Paper/Paper.d.ts), [`Card.d.ts`](../refs/mui/packages/mui-material/src/Card/Card.d.ts)
205
- - shadcn-ui: [`card.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/card.tsx)
203
+ - Ant Design: [`BorderBeam.tsx`](../docs/reference/ant-design.md#border-beam), [`BorderBeamEffect.tsx`](../docs/reference/ant-design.md#border-beam), [`border-beam/index.en-US.md`](../docs/reference/ant-design.md#border-beam), [`border-beam/style/index.ts`](../docs/reference/ant-design.md#border-beam)
204
+ - MUI: [`Paper.d.ts`](../docs/reference/mui.md#paper), [`Card.d.ts`](../docs/reference/mui.md#card)
205
+ - shadcn-ui: [`card.tsx`](../docs/reference/shadcn-ui.md#card)
206
206
  - Knowledge: [`a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md), [`motion/principles.md`](../knowledge/motion/principles.md), [`components/INDEX.md`](../knowledge/components/INDEX.md)
207
207
  - Cross-reference: [`component-card.md`](component-card.md), [`component-paper.md`](component-paper.md), [`component-button-base.md`](component-button-base.md)
@@ -213,7 +213,7 @@ function MobileAppShell() {
213
213
 
214
214
  ## References
215
215
 
216
- - MUI: [`BottomNavigation`](../refs/mui/packages/mui-material/src/BottomNavigation)
216
+ - MUI: [`BottomNavigation`](../docs/reference/mui.md#bottom-navigation)
217
217
  - iOS: UITabBar; Apple HIG → "Tab Bars"
218
218
  - Material 3: NavigationBar component
219
219
  - Patterns: Toss, KakaoBank, Instagram, Twitter
@@ -101,7 +101,7 @@ Use Box when none of the above fit. If you find yourself using Box with `display
101
101
 
102
102
  ## References
103
103
 
104
- - MUI: [`Box`](../refs/mui/packages/mui-material/src/Box) — system-prop pioneer
104
+ - MUI: [`Box`](../docs/reference/mui.md#box) — system-prop pioneer
105
105
  - Chakra UI Box (very similar API)
106
106
  - shadcn-ui: doesn't ship Box; uses Tailwind classes directly
107
107
 
@@ -212,9 +212,9 @@ The current item is **never** a link. It's where the user is.
212
212
 
213
213
  ## References
214
214
 
215
- - Ant Design: [`refs/ant-design/components/breadcrumb/`](../refs/ant-design/components/breadcrumb/) — `Breadcrumb` + `Breadcrumb.Item` + `Breadcrumb.Separator`. `itemRender` for custom rendering.
216
- - MUI: [`refs/mui/packages/mui-material/src/Breadcrumbs/`](../refs/mui/packages/mui-material/src/Breadcrumbs/) — `Breadcrumbs` (note plural) with `separator`, `maxItems`, `itemsBeforeCollapse`, `itemsAfterCollapse`. Built-in collapse logic.
217
- - shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/breadcrumb.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/breadcrumb.tsx) — primitive: `Breadcrumb`, `BreadcrumbList`, `BreadcrumbItem`, `BreadcrumbLink`, `BreadcrumbPage`, `BreadcrumbSeparator`, `BreadcrumbEllipsis`. Most flexible.
215
+ - Ant Design: [`refs/ant-design/components/breadcrumb/`](../docs/reference/ant-design.md#breadcrumb) — `Breadcrumb` + `Breadcrumb.Item` + `Breadcrumb.Separator`. `itemRender` for custom rendering.
216
+ - MUI: [`refs/mui/packages/mui-material/src/Breadcrumbs/`](../docs/reference/mui.md#breadcrumbs) — `Breadcrumbs` (note plural) with `separator`, `maxItems`, `itemsBeforeCollapse`, `itemsAfterCollapse`. Built-in collapse logic.
217
+ - shadcn-ui: [`refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/breadcrumb.tsx`](../docs/reference/shadcn-ui.md#breadcrumb) — primitive: `Breadcrumb`, `BreadcrumbList`, `BreadcrumbItem`, `BreadcrumbLink`, `BreadcrumbPage`, `BreadcrumbSeparator`, `BreadcrumbEllipsis`. Most flexible.
218
218
 
219
219
  ## Cross-reference
220
220
 
@@ -183,8 +183,8 @@ export function ToolbarButton({
183
183
 
184
184
  ## References
185
185
 
186
- - MUI: [`ButtonBase.d.ts`](../refs/mui/packages/mui-material/src/ButtonBase/ButtonBase.d.ts), [`ButtonBase.js`](../refs/mui/packages/mui-material/src/ButtonBase/ButtonBase.js), [`useButtonBase.ts`](../refs/mui/packages/mui-material/src/ButtonBase/useButtonBase.ts)
187
- - Ant Design: [`Button.tsx`](../refs/ant-design/components/button/Button.tsx), [`button/index.en-US.md`](../refs/ant-design/components/button/index.en-US.md)
188
- - shadcn-ui: [`button.tsx`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/button.tsx)
186
+ - MUI: [`ButtonBase.d.ts`](../docs/reference/mui.md#button-base), [`ButtonBase.js`](../docs/reference/mui.md#button-base), [`useButtonBase.ts`](../docs/reference/mui.md#button-base)
187
+ - Ant Design: [`Button.tsx`](../docs/reference/ant-design.md#button), [`button/index.en-US.md`](../docs/reference/ant-design.md#button)
188
+ - shadcn-ui: [`button.tsx`](../docs/reference/shadcn-ui.md#button)
189
189
  - Knowledge: [`a11y/keyboard-and-focus.md`](../knowledge/a11y/keyboard-and-focus.md), [`layout/spacing-and-grid.md`](../knowledge/layout/spacing-and-grid.md)
190
190
  - Cross-reference: [`component-button.md`](component-button.md), [`component-icon-button.md`](component-icon-button.md), [`component-toggle.md`](component-toggle.md)
@@ -107,8 +107,8 @@ function EditorToolbar() {
107
107
 
108
108
  ## References
109
109
 
110
- - MUI: [`ButtonGroup`](../refs/mui/packages/mui-material/src/ButtonGroup)
111
- - shadcn-ui: [`button-group`](../refs/shadcn-ui/apps/v4/registry/new-york-v4/ui/button-group.tsx)
110
+ - MUI: [`ButtonGroup`](../docs/reference/mui.md#button-group)
111
+ - shadcn-ui: [`button-group`](../docs/reference/shadcn-ui.md#button-group)
112
112
 
113
113
  ## Cross-reference
114
114