@central-design-system/skills 4.0.0-alpha.6

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 (321) hide show
  1. package/.claude-plugin/plugin.json +6 -0
  2. package/README.md +218 -0
  3. package/bin/cds-skills.mjs +124 -0
  4. package/package.json +33 -0
  5. package/skills/cds-builder/GENERATION.md +44 -0
  6. package/skills/cds-builder/SKILL.md +308 -0
  7. package/skills/cds-builder/references/component-decision-tree.md +310 -0
  8. package/skills/cds-builder/references/components/cds-app/api.md +19 -0
  9. package/skills/cds-builder/references/components/cds-app/tokens.md +12 -0
  10. package/skills/cds-builder/references/components/cds-autocomplete/api.md +155 -0
  11. package/skills/cds-builder/references/components/cds-autocomplete/examples.md +447 -0
  12. package/skills/cds-builder/references/components/cds-autocomplete/guidelines.md +10 -0
  13. package/skills/cds-builder/references/components/cds-autocomplete/tokens.md +19 -0
  14. package/skills/cds-builder/references/components/cds-avatar/api.md +35 -0
  15. package/skills/cds-builder/references/components/cds-avatar/examples.md +240 -0
  16. package/skills/cds-builder/references/components/cds-avatar/guidelines.md +10 -0
  17. package/skills/cds-builder/references/components/cds-avatar/tokens.md +32 -0
  18. package/skills/cds-builder/references/components/cds-badge/api.md +44 -0
  19. package/skills/cds-builder/references/components/cds-badge/examples.md +332 -0
  20. package/skills/cds-builder/references/components/cds-badge/guidelines.md +10 -0
  21. package/skills/cds-builder/references/components/cds-badge/tokens.md +32 -0
  22. package/skills/cds-builder/references/components/cds-breadcrumbs/api.md +83 -0
  23. package/skills/cds-builder/references/components/cds-breadcrumbs/examples.md +219 -0
  24. package/skills/cds-builder/references/components/cds-breadcrumbs/guidelines.md +10 -0
  25. package/skills/cds-builder/references/components/cds-breadcrumbs/tokens.md +24 -0
  26. package/skills/cds-builder/references/components/cds-button/api.md +66 -0
  27. package/skills/cds-builder/references/components/cds-button/examples.md +324 -0
  28. package/skills/cds-builder/references/components/cds-button/guidelines.md +10 -0
  29. package/skills/cds-builder/references/components/cds-button/tokens.md +190 -0
  30. package/skills/cds-builder/references/components/cds-button-group/api.md +27 -0
  31. package/skills/cds-builder/references/components/cds-button-group/examples.md +33 -0
  32. package/skills/cds-builder/references/components/cds-button-group/tokens.md +17 -0
  33. package/skills/cds-builder/references/components/cds-button-toggle/api.md +51 -0
  34. package/skills/cds-builder/references/components/cds-button-toggle/examples.md +278 -0
  35. package/skills/cds-builder/references/components/cds-button-toggle/guidelines.md +10 -0
  36. package/skills/cds-builder/references/components/cds-button-toggle/tokens.md +13 -0
  37. package/skills/cds-builder/references/components/cds-card/api.md +221 -0
  38. package/skills/cds-builder/references/components/cds-card/examples.md +652 -0
  39. package/skills/cds-builder/references/components/cds-card/guidelines.md +10 -0
  40. package/skills/cds-builder/references/components/cds-card/tokens.md +46 -0
  41. package/skills/cds-builder/references/components/cds-carousel/api.md +107 -0
  42. package/skills/cds-builder/references/components/cds-carousel/examples.md +444 -0
  43. package/skills/cds-builder/references/components/cds-carousel/guidelines.md +10 -0
  44. package/skills/cds-builder/references/components/cds-carousel/tokens.md +17 -0
  45. package/skills/cds-builder/references/components/cds-checkbox/api.md +93 -0
  46. package/skills/cds-builder/references/components/cds-checkbox/examples.md +319 -0
  47. package/skills/cds-builder/references/components/cds-checkbox/guidelines.md +10 -0
  48. package/skills/cds-builder/references/components/cds-checkbox/tokens.md +18 -0
  49. package/skills/cds-builder/references/components/cds-checkbox-button/api.md +56 -0
  50. package/skills/cds-builder/references/components/cds-checkbox-button/examples.md +29 -0
  51. package/skills/cds-builder/references/components/cds-checkbox-button/tokens.md +56 -0
  52. package/skills/cds-builder/references/components/cds-combobox/api.md +158 -0
  53. package/skills/cds-builder/references/components/cds-combobox/examples.md +264 -0
  54. package/skills/cds-builder/references/components/cds-combobox/guidelines.md +10 -0
  55. package/skills/cds-builder/references/components/cds-combobox/tokens.md +19 -0
  56. package/skills/cds-builder/references/components/cds-counter/api.md +24 -0
  57. package/skills/cds-builder/references/components/cds-counter/examples.md +93 -0
  58. package/skills/cds-builder/references/components/cds-counter/tokens.md +11 -0
  59. package/skills/cds-builder/references/components/cds-date-input/api.md +151 -0
  60. package/skills/cds-builder/references/components/cds-date-input/examples.md +479 -0
  61. package/skills/cds-builder/references/components/cds-date-input/guidelines.md +10 -0
  62. package/skills/cds-builder/references/components/cds-date-input/tokens.md +16 -0
  63. package/skills/cds-builder/references/components/cds-date-picker/api.md +63 -0
  64. package/skills/cds-builder/references/components/cds-date-picker/examples.md +394 -0
  65. package/skills/cds-builder/references/components/cds-date-picker/guidelines.md +10 -0
  66. package/skills/cds-builder/references/components/cds-date-picker/tokens.md +66 -0
  67. package/skills/cds-builder/references/components/cds-defaults-provider/api.md +21 -0
  68. package/skills/cds-builder/references/components/cds-description/api.md +22 -0
  69. package/skills/cds-builder/references/components/cds-description/examples.md +69 -0
  70. package/skills/cds-builder/references/components/cds-description/tokens.md +11 -0
  71. package/skills/cds-builder/references/components/cds-divider/api.md +29 -0
  72. package/skills/cds-builder/references/components/cds-divider/examples.md +374 -0
  73. package/skills/cds-builder/references/components/cds-divider/guidelines.md +10 -0
  74. package/skills/cds-builder/references/components/cds-divider/tokens.md +38 -0
  75. package/skills/cds-builder/references/components/cds-drawer/api.md +53 -0
  76. package/skills/cds-builder/references/components/cds-drawer/examples.md +432 -0
  77. package/skills/cds-builder/references/components/cds-drawer/guidelines.md +9 -0
  78. package/skills/cds-builder/references/components/cds-drawer/tokens.md +27 -0
  79. package/skills/cds-builder/references/components/cds-empty-state/api.md +55 -0
  80. package/skills/cds-builder/references/components/cds-empty-state/examples.md +330 -0
  81. package/skills/cds-builder/references/components/cds-empty-state/guidelines.md +9 -0
  82. package/skills/cds-builder/references/components/cds-empty-state/tokens.md +25 -0
  83. package/skills/cds-builder/references/components/cds-expandable-panel/api.md +157 -0
  84. package/skills/cds-builder/references/components/cds-expandable-panel/examples.md +569 -0
  85. package/skills/cds-builder/references/components/cds-expandable-panel/guidelines.md +10 -0
  86. package/skills/cds-builder/references/components/cds-expandable-panel/tokens.md +34 -0
  87. package/skills/cds-builder/references/components/cds-field/api.md +62 -0
  88. package/skills/cds-builder/references/components/cds-field/examples.md +202 -0
  89. package/skills/cds-builder/references/components/cds-field/tokens.md +94 -0
  90. package/skills/cds-builder/references/components/cds-file-input/api.md +109 -0
  91. package/skills/cds-builder/references/components/cds-file-input/examples.md +368 -0
  92. package/skills/cds-builder/references/components/cds-file-input/guidelines.md +10 -0
  93. package/skills/cds-builder/references/components/cds-file-input/tokens.md +15 -0
  94. package/skills/cds-builder/references/components/cds-file-upload/api.md +296 -0
  95. package/skills/cds-builder/references/components/cds-file-upload/examples.md +411 -0
  96. package/skills/cds-builder/references/components/cds-file-upload/guidelines.md +10 -0
  97. package/skills/cds-builder/references/components/cds-file-upload/tokens.md +50 -0
  98. package/skills/cds-builder/references/components/cds-footer/api.md +35 -0
  99. package/skills/cds-builder/references/components/cds-footer/examples.md +219 -0
  100. package/skills/cds-builder/references/components/cds-footer/guidelines.md +9 -0
  101. package/skills/cds-builder/references/components/cds-footer/tokens.md +14 -0
  102. package/skills/cds-builder/references/components/cds-form/api.md +48 -0
  103. package/skills/cds-builder/references/components/cds-form/examples.md +552 -0
  104. package/skills/cds-builder/references/components/cds-form/guidelines.md +10 -0
  105. package/skills/cds-builder/references/components/cds-form/tokens.md +15 -0
  106. package/skills/cds-builder/references/components/cds-functional-button/api.md +34 -0
  107. package/skills/cds-builder/references/components/cds-functional-button/examples.md +254 -0
  108. package/skills/cds-builder/references/components/cds-functional-button/guidelines.md +10 -0
  109. package/skills/cds-builder/references/components/cds-functional-button/tokens.md +35 -0
  110. package/skills/cds-builder/references/components/cds-grid/api.md +66 -0
  111. package/skills/cds-builder/references/components/cds-grid/examples.md +687 -0
  112. package/skills/cds-builder/references/components/cds-grid/guidelines.md +9 -0
  113. package/skills/cds-builder/references/components/cds-header/api.md +35 -0
  114. package/skills/cds-builder/references/components/cds-header/examples.md +345 -0
  115. package/skills/cds-builder/references/components/cds-header/guidelines.md +9 -0
  116. package/skills/cds-builder/references/components/cds-header/tokens.md +13 -0
  117. package/skills/cds-builder/references/components/cds-highlight/api.md +22 -0
  118. package/skills/cds-builder/references/components/cds-highlight/examples.md +313 -0
  119. package/skills/cds-builder/references/components/cds-highlight/guidelines.md +10 -0
  120. package/skills/cds-builder/references/components/cds-highlight/tokens.md +18 -0
  121. package/skills/cds-builder/references/components/cds-icon/api.md +33 -0
  122. package/skills/cds-builder/references/components/cds-icon/examples.md +272 -0
  123. package/skills/cds-builder/references/components/cds-icon/guidelines.md +10 -0
  124. package/skills/cds-builder/references/components/cds-icon/tokens.md +30 -0
  125. package/skills/cds-builder/references/components/cds-image/api.md +67 -0
  126. package/skills/cds-builder/references/components/cds-image/examples.md +437 -0
  127. package/skills/cds-builder/references/components/cds-image/guidelines.md +10 -0
  128. package/skills/cds-builder/references/components/cds-image/tokens.md +14 -0
  129. package/skills/cds-builder/references/components/cds-input/api.md +80 -0
  130. package/skills/cds-builder/references/components/cds-input/examples.md +205 -0
  131. package/skills/cds-builder/references/components/cds-input/tokens.md +108 -0
  132. package/skills/cds-builder/references/components/cds-label/api.md +25 -0
  133. package/skills/cds-builder/references/components/cds-label/examples.md +72 -0
  134. package/skills/cds-builder/references/components/cds-label/tokens.md +12 -0
  135. package/skills/cds-builder/references/components/cds-layout/api.md +50 -0
  136. package/skills/cds-builder/references/components/cds-layout/examples.md +431 -0
  137. package/skills/cds-builder/references/components/cds-layout/guidelines.md +9 -0
  138. package/skills/cds-builder/references/components/cds-layout/tokens.md +12 -0
  139. package/skills/cds-builder/references/components/cds-link/api.md +33 -0
  140. package/skills/cds-builder/references/components/cds-link/examples.md +195 -0
  141. package/skills/cds-builder/references/components/cds-link/guidelines.md +10 -0
  142. package/skills/cds-builder/references/components/cds-link/tokens.md +16 -0
  143. package/skills/cds-builder/references/components/cds-list/api.md +329 -0
  144. package/skills/cds-builder/references/components/cds-list/examples.md +653 -0
  145. package/skills/cds-builder/references/components/cds-list/guidelines.md +10 -0
  146. package/skills/cds-builder/references/components/cds-list/tokens.md +125 -0
  147. package/skills/cds-builder/references/components/cds-loader/api.md +18 -0
  148. package/skills/cds-builder/references/components/cds-loader/examples.md +59 -0
  149. package/skills/cds-builder/references/components/cds-loader/tokens.md +50 -0
  150. package/skills/cds-builder/references/components/cds-main/api.md +14 -0
  151. package/skills/cds-builder/references/components/cds-main/examples.md +60 -0
  152. package/skills/cds-builder/references/components/cds-menu/api.md +84 -0
  153. package/skills/cds-builder/references/components/cds-menu/examples.md +595 -0
  154. package/skills/cds-builder/references/components/cds-menu/guidelines.md +10 -0
  155. package/skills/cds-builder/references/components/cds-menu/tokens.md +19 -0
  156. package/skills/cds-builder/references/components/cds-messages/api.md +29 -0
  157. package/skills/cds-builder/references/components/cds-messages/examples.md +119 -0
  158. package/skills/cds-builder/references/components/cds-messages/tokens.md +15 -0
  159. package/skills/cds-builder/references/components/cds-modal/api.md +86 -0
  160. package/skills/cds-builder/references/components/cds-modal/examples.md +516 -0
  161. package/skills/cds-builder/references/components/cds-modal/guidelines.md +10 -0
  162. package/skills/cds-builder/references/components/cds-modal/tokens.md +22 -0
  163. package/skills/cds-builder/references/components/cds-notification/api.md +46 -0
  164. package/skills/cds-builder/references/components/cds-notification/examples.md +314 -0
  165. package/skills/cds-builder/references/components/cds-notification/guidelines.md +10 -0
  166. package/skills/cds-builder/references/components/cds-notification/tokens.md +23 -0
  167. package/skills/cds-builder/references/components/cds-notification-alert/api.md +93 -0
  168. package/skills/cds-builder/references/components/cds-notification-alert/examples.md +202 -0
  169. package/skills/cds-builder/references/components/cds-notification-alert/tokens.md +15 -0
  170. package/skills/cds-builder/references/components/cds-otp-input/api.md +106 -0
  171. package/skills/cds-builder/references/components/cds-otp-input/examples.md +329 -0
  172. package/skills/cds-builder/references/components/cds-otp-input/guidelines.md +10 -0
  173. package/skills/cds-builder/references/components/cds-otp-input/tokens.md +41 -0
  174. package/skills/cds-builder/references/components/cds-overlay/api.md +85 -0
  175. package/skills/cds-builder/references/components/cds-overlay/examples.md +409 -0
  176. package/skills/cds-builder/references/components/cds-overlay/guidelines.md +9 -0
  177. package/skills/cds-builder/references/components/cds-overlay/tokens.md +12 -0
  178. package/skills/cds-builder/references/components/cds-page/api.md +21 -0
  179. package/skills/cds-builder/references/components/cds-page/examples.md +123 -0
  180. package/skills/cds-builder/references/components/cds-pagination/api.md +67 -0
  181. package/skills/cds-builder/references/components/cds-pagination/examples.md +320 -0
  182. package/skills/cds-builder/references/components/cds-pagination/guidelines.md +10 -0
  183. package/skills/cds-builder/references/components/cds-pagination/tokens.md +20 -0
  184. package/skills/cds-builder/references/components/cds-progress-bar/api.md +53 -0
  185. package/skills/cds-builder/references/components/cds-progress-bar/examples.md +393 -0
  186. package/skills/cds-builder/references/components/cds-progress-bar/guidelines.md +10 -0
  187. package/skills/cds-builder/references/components/cds-progress-bar/tokens.md +33 -0
  188. package/skills/cds-builder/references/components/cds-progress-circle/api.md +30 -0
  189. package/skills/cds-builder/references/components/cds-progress-circle/examples.md +326 -0
  190. package/skills/cds-builder/references/components/cds-progress-circle/guidelines.md +10 -0
  191. package/skills/cds-builder/references/components/cds-progress-circle/tokens.md +31 -0
  192. package/skills/cds-builder/references/components/cds-radio/api.md +47 -0
  193. package/skills/cds-builder/references/components/cds-radio/tokens.md +36 -0
  194. package/skills/cds-builder/references/components/cds-radio-group/api.md +87 -0
  195. package/skills/cds-builder/references/components/cds-radio-group/examples.md +320 -0
  196. package/skills/cds-builder/references/components/cds-radio-group/guidelines.md +10 -0
  197. package/skills/cds-builder/references/components/cds-radio-group/tokens.md +14 -0
  198. package/skills/cds-builder/references/components/cds-responsive/api.md +29 -0
  199. package/skills/cds-builder/references/components/cds-responsive/examples.md +271 -0
  200. package/skills/cds-builder/references/components/cds-responsive/guidelines.md +10 -0
  201. package/skills/cds-builder/references/components/cds-responsive/tokens.md +13 -0
  202. package/skills/cds-builder/references/components/cds-select/api.md +155 -0
  203. package/skills/cds-builder/references/components/cds-select/examples.md +794 -0
  204. package/skills/cds-builder/references/components/cds-select/guidelines.md +10 -0
  205. package/skills/cds-builder/references/components/cds-select/tokens.md +17 -0
  206. package/skills/cds-builder/references/components/cds-selection-control/api.md +60 -0
  207. package/skills/cds-builder/references/components/cds-selection-control/examples.md +468 -0
  208. package/skills/cds-builder/references/components/cds-selection-control-group/api.md +45 -0
  209. package/skills/cds-builder/references/components/cds-selection-control-group/examples.md +349 -0
  210. package/skills/cds-builder/references/components/cds-skeleton-loader/api.md +30 -0
  211. package/skills/cds-builder/references/components/cds-skeleton-loader/examples.md +297 -0
  212. package/skills/cds-builder/references/components/cds-skeleton-loader/guidelines.md +10 -0
  213. package/skills/cds-builder/references/components/cds-skeleton-loader/tokens.md +62 -0
  214. package/skills/cds-builder/references/components/cds-slide-group/api.md +76 -0
  215. package/skills/cds-builder/references/components/cds-slide-group/examples.md +304 -0
  216. package/skills/cds-builder/references/components/cds-slide-group/guidelines.md +9 -0
  217. package/skills/cds-builder/references/components/cds-slide-group/tokens.md +11 -0
  218. package/skills/cds-builder/references/components/cds-slide-view/api.md +88 -0
  219. package/skills/cds-builder/references/components/cds-slide-view/examples.md +311 -0
  220. package/skills/cds-builder/references/components/cds-slide-view/guidelines.md +9 -0
  221. package/skills/cds-builder/references/components/cds-slide-view/tokens.md +14 -0
  222. package/skills/cds-builder/references/components/cds-stages/api.md +31 -0
  223. package/skills/cds-builder/references/components/cds-stages/examples.md +230 -0
  224. package/skills/cds-builder/references/components/cds-stages/guidelines.md +10 -0
  225. package/skills/cds-builder/references/components/cds-stages/tokens.md +27 -0
  226. package/skills/cds-builder/references/components/cds-status/api.md +24 -0
  227. package/skills/cds-builder/references/components/cds-status/examples.md +170 -0
  228. package/skills/cds-builder/references/components/cds-status/guidelines.md +10 -0
  229. package/skills/cds-builder/references/components/cds-status/tokens.md +17 -0
  230. package/skills/cds-builder/references/components/cds-steps/api.md +176 -0
  231. package/skills/cds-builder/references/components/cds-steps/examples.md +320 -0
  232. package/skills/cds-builder/references/components/cds-steps/guidelines.md +10 -0
  233. package/skills/cds-builder/references/components/cds-steps/tokens.md +52 -0
  234. package/skills/cds-builder/references/components/cds-surface/api.md +30 -0
  235. package/skills/cds-builder/references/components/cds-surface/examples.md +106 -0
  236. package/skills/cds-builder/references/components/cds-table/api.md +120 -0
  237. package/skills/cds-builder/references/components/cds-table/examples.md +3049 -0
  238. package/skills/cds-builder/references/components/cds-table/guidelines.md +10 -0
  239. package/skills/cds-builder/references/components/cds-table/tokens.md +92 -0
  240. package/skills/cds-builder/references/components/cds-tabs/api.md +179 -0
  241. package/skills/cds-builder/references/components/cds-tabs/examples.md +610 -0
  242. package/skills/cds-builder/references/components/cds-tabs/guidelines.md +10 -0
  243. package/skills/cds-builder/references/components/cds-tabs/tokens.md +40 -0
  244. package/skills/cds-builder/references/components/cds-tag/api.md +64 -0
  245. package/skills/cds-builder/references/components/cds-tag/examples.md +278 -0
  246. package/skills/cds-builder/references/components/cds-tag/guidelines.md +10 -0
  247. package/skills/cds-builder/references/components/cds-tag/tokens.md +67 -0
  248. package/skills/cds-builder/references/components/cds-tag-group/api.md +58 -0
  249. package/skills/cds-builder/references/components/cds-tag-group/examples.md +346 -0
  250. package/skills/cds-builder/references/components/cds-tag-group/guidelines.md +10 -0
  251. package/skills/cds-builder/references/components/cds-tag-group/tokens.md +18 -0
  252. package/skills/cds-builder/references/components/cds-text-area/api.md +113 -0
  253. package/skills/cds-builder/references/components/cds-text-area/examples.md +327 -0
  254. package/skills/cds-builder/references/components/cds-text-area/guidelines.md +10 -0
  255. package/skills/cds-builder/references/components/cds-text-area/tokens.md +16 -0
  256. package/skills/cds-builder/references/components/cds-text-input/api.md +115 -0
  257. package/skills/cds-builder/references/components/cds-text-input/examples.md +546 -0
  258. package/skills/cds-builder/references/components/cds-text-input/guidelines.md +10 -0
  259. package/skills/cds-builder/references/components/cds-text-input/tokens.md +17 -0
  260. package/skills/cds-builder/references/components/cds-time-picker/api.md +44 -0
  261. package/skills/cds-builder/references/components/cds-time-picker/examples.md +407 -0
  262. package/skills/cds-builder/references/components/cds-time-picker/guidelines.md +10 -0
  263. package/skills/cds-builder/references/components/cds-time-picker/tokens.md +23 -0
  264. package/skills/cds-builder/references/components/cds-toast/api.md +97 -0
  265. package/skills/cds-builder/references/components/cds-toast/examples.md +296 -0
  266. package/skills/cds-builder/references/components/cds-toast/guidelines.md +10 -0
  267. package/skills/cds-builder/references/components/cds-toast/tokens.md +26 -0
  268. package/skills/cds-builder/references/components/cds-toast-queue/api.md +86 -0
  269. package/skills/cds-builder/references/components/cds-toast-queue/examples.md +227 -0
  270. package/skills/cds-builder/references/components/cds-toggle/api.md +97 -0
  271. package/skills/cds-builder/references/components/cds-toggle/examples.md +335 -0
  272. package/skills/cds-builder/references/components/cds-toggle/guidelines.md +10 -0
  273. package/skills/cds-builder/references/components/cds-toggle/tokens.md +91 -0
  274. package/skills/cds-builder/references/components/cds-toolbar/api.md +44 -0
  275. package/skills/cds-builder/references/components/cds-toolbar/examples.md +186 -0
  276. package/skills/cds-builder/references/components/cds-toolbar/guidelines.md +9 -0
  277. package/skills/cds-builder/references/components/cds-toolbar/tokens.md +13 -0
  278. package/skills/cds-builder/references/components/cds-tooltip/api.md +83 -0
  279. package/skills/cds-builder/references/components/cds-tooltip/examples.md +321 -0
  280. package/skills/cds-builder/references/components/cds-tooltip/guidelines.md +10 -0
  281. package/skills/cds-builder/references/components/cds-tooltip/tokens.md +25 -0
  282. package/skills/cds-builder/references/components/cds-tree/api.md +169 -0
  283. package/skills/cds-builder/references/components/cds-tree/examples.md +785 -0
  284. package/skills/cds-builder/references/components/cds-tree/guidelines.md +10 -0
  285. package/skills/cds-builder/references/components/cds-tree/tokens.md +39 -0
  286. package/skills/cds-builder/references/components/cds-uploader/api.md +105 -0
  287. package/skills/cds-builder/references/components/cds-uploader/examples.md +553 -0
  288. package/skills/cds-builder/references/components/cds-uploader/guidelines.md +10 -0
  289. package/skills/cds-builder/references/components/cds-uploader/tokens.md +26 -0
  290. package/skills/cds-builder/references/components/cds-virtual-scroll/api.md +60 -0
  291. package/skills/cds-builder/references/components/cds-virtual-scroll/examples.md +272 -0
  292. package/skills/cds-builder/references/components/cds-virtual-scroll/guidelines.md +9 -0
  293. package/skills/cds-builder/references/components/cds-virtual-scroll/tokens.md +13 -0
  294. package/skills/cds-builder/references/guides/conventions.md +48 -0
  295. package/skills/cds-builder/references/guides/date-utils.md +301 -0
  296. package/skills/cds-builder/references/guides/display-and-platform.md +263 -0
  297. package/skills/cds-builder/references/guides/forms.md +77 -0
  298. package/skills/cds-builder/references/guides/global-configuration.md +354 -0
  299. package/skills/cds-builder/references/guides/icons.md +172 -0
  300. package/skills/cds-builder/references/guides/internationalization.md +470 -0
  301. package/skills/cds-builder/references/guides/migration-cds3-to-cds4.md +49 -0
  302. package/skills/cds-builder/references/guides/sass-variables.md +238 -0
  303. package/skills/cds-builder/references/guides/setup.md +81 -0
  304. package/skills/cds-builder/references/guides/tailwindcss.md +93 -0
  305. package/skills/cds-builder/references/guides/theme.md +343 -0
  306. package/skills/cds-builder/references/guides/treeshaking.md +237 -0
  307. package/skills/cds-builder/references/patterns/dialogs.md +89 -0
  308. package/skills/cds-builder/references/patterns/forms.md +101 -0
  309. package/skills/cds-builder/references/patterns/page-layout.md +78 -0
  310. package/skills/cds-builder/references/patterns/tables.md +87 -0
  311. package/skills/cds-builder/references/tokens/colors.md +507 -0
  312. package/skills/cds-builder/references/tokens/themes.md +981 -0
  313. package/skills/cds-builder/scripts/check-contracts.mjs +264 -0
  314. package/skills/cds-migrate/GENERATION.md +44 -0
  315. package/skills/cds-migrate/SKILL.md +160 -0
  316. package/skills/cds-migrate/references/migration-full.md +2225 -0
  317. package/skills/cds-refactor/GENERATION.md +44 -0
  318. package/skills/cds-refactor/SKILL.md +187 -0
  319. package/skills/cds-refactor/references/html-to-cds.md +80 -0
  320. package/skills/cds-refactor/references/review-checklist.md +73 -0
  321. package/skills/cds-refactor/references/tailwind-to-cds.md +65 -0
@@ -0,0 +1,264 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CDS contract linter — checks Cds* component usage in .vue files against
4
+ * the generated API reference of this skill (`references/components/*/api.md`).
5
+ *
6
+ * An invented prop or event does not throw at runtime — it is silently
7
+ * ignored, which is the most common cause of "why doesn't it work". This
8
+ * script catches that mechanically:
9
+ *
10
+ * node scripts/check-contracts.mjs src/components/MyForm.vue
11
+ * node scripts/check-contracts.mjs src/ # walks *.vue recursively
12
+ *
13
+ * Exit code 0 — everything matches the contracts; 1 — problems found;
14
+ * 2 — could not run (no reference, no input files).
15
+ *
16
+ * The reference is resolved relative to this script, so the linter works
17
+ * wherever the skill directory is installed. No dependencies, Node >= 18.
18
+ */
19
+
20
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
21
+ import { dirname, join, resolve } from 'node:path';
22
+ import { fileURLToPath } from 'node:url';
23
+
24
+ const REFERENCES = resolve(dirname(fileURLToPath(import.meta.url)), '..', 'references', 'components');
25
+
26
+ /** Attributes legal on any component: passed through to the DOM or Vue built-ins. */
27
+ const PASS_THROUGH = new Set([
28
+ 'class',
29
+ 'style',
30
+ 'id',
31
+ 'ref',
32
+ 'key',
33
+ 'is',
34
+ 'name',
35
+ 'title',
36
+ 'role',
37
+ 'tabindex',
38
+ 'type',
39
+ 'autofocus',
40
+ 'for',
41
+ 'slot'
42
+ ]);
43
+ const PASS_PREFIXES = ['aria-', 'data-', 'v-'];
44
+
45
+ /**
46
+ * Native HTML attributes that legitimately fall through to the inner
47
+ * element (Vue fallthrough attrs): `maxlength` on a text field, `target`
48
+ * on a link, a static `value` in display-only examples. They are not part
49
+ * of the CDS contract, but they are not invented API either.
50
+ */
51
+ const NATIVE_ATTRS = new Set([
52
+ 'href',
53
+ 'target',
54
+ 'rel',
55
+ 'download',
56
+ 'value',
57
+ 'placeholder',
58
+ 'maxlength',
59
+ 'minlength',
60
+ 'min',
61
+ 'max',
62
+ 'step',
63
+ 'pattern',
64
+ 'rows',
65
+ 'cols',
66
+ 'wrap',
67
+ 'accept',
68
+ 'multiple',
69
+ 'autocomplete',
70
+ 'inputmode',
71
+ 'enterkeyhint',
72
+ 'spellcheck',
73
+ 'autocapitalize',
74
+ 'list',
75
+ 'form',
76
+ 'alt',
77
+ 'src',
78
+ 'width',
79
+ 'height',
80
+ 'loading',
81
+ 'draggable',
82
+ 'lang',
83
+ 'dir',
84
+ 'required',
85
+ 'readonly',
86
+ 'disabled'
87
+ ]);
88
+
89
+ /** Native DOM events that components re-emit or that land on the root element. */
90
+ const NATIVE_EVENTS = new Set([
91
+ 'click',
92
+ 'dblclick',
93
+ 'submit',
94
+ 'input',
95
+ 'change',
96
+ 'focus',
97
+ 'blur',
98
+ 'keydown',
99
+ 'keyup',
100
+ 'keypress',
101
+ 'mousedown',
102
+ 'mouseup',
103
+ 'mouseenter',
104
+ 'mouseleave',
105
+ 'mousemove',
106
+ 'touchstart',
107
+ 'touchend',
108
+ 'scroll',
109
+ 'wheel',
110
+ 'dragstart',
111
+ 'dragend',
112
+ 'drop',
113
+ 'contextmenu'
114
+ ]);
115
+
116
+ const kebabToCamel = (s) => s.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
117
+ const kebabToPascal = (s) => s.replace(/(?:^|-)([a-z0-9])/g, (_, c) => c.toUpperCase());
118
+
119
+ /**
120
+ * Contract index: component name (`CdsSelect`) → { props, events, slots, file }.
121
+ * One api.md often documents a whole family (`cds-tabs/api.md` → CdsTabs,
122
+ * CdsTab, CdsTabsView…), so every `## CdsX` section is indexed separately.
123
+ */
124
+ function buildContractIndex() {
125
+ const index = new Map();
126
+ if (!existsSync(REFERENCES)) return index;
127
+
128
+ for (const dir of readdirSync(REFERENCES)) {
129
+ const apiFile = join(REFERENCES, dir, 'api.md');
130
+ if (!existsSync(apiFile)) continue;
131
+ const text = readFileSync(apiFile, 'utf-8');
132
+
133
+ for (const section of text.split(/^## (?=Cds)/m).slice(1)) {
134
+ const name = section.slice(0, section.indexOf('\n')).trim();
135
+ const contract = {
136
+ props: new Set(),
137
+ events: new Set(),
138
+ slots: new Set(),
139
+ file: `references/components/${dir}/api.md`
140
+ };
141
+
142
+ for (const [label, key] of [
143
+ ['Props', 'props'],
144
+ ['Events', 'events'],
145
+ ['Slots', 'slots']
146
+ ]) {
147
+ const match = section.match(new RegExp(`\\*\\*${label}\\*\\*\\n\\n((?:\\|.*\\n)+)`));
148
+ if (!match) continue;
149
+ for (const line of match[1].split('\n').slice(2)) {
150
+ const cell = line.split('|')[1]?.trim().replace(/`/g, '');
151
+ if (cell) contract[key].add(cell);
152
+ }
153
+ }
154
+
155
+ index.set(name, contract);
156
+ }
157
+ }
158
+
159
+ return index;
160
+ }
161
+
162
+ const TAG_RE = /<(Cds[A-Za-z0-9]+|cds-[a-z0-9-]+)((?:[^>"']|"[^"]*"|'[^']*')*?)\/?>/gs;
163
+ const ATTR_RE = /(?:^|\s)([@:#]?[\w:.-]+)(?:=(?:"[^"]*"|'[^']*'))?/g;
164
+
165
+ function checkFile(path, index) {
166
+ const source = readFileSync(path, 'utf-8');
167
+ const problems = [];
168
+
169
+ for (const tag of source.matchAll(TAG_RE)) {
170
+ let [, component, attrs] = tag;
171
+ if (component.startsWith('cds-')) component = kebabToPascal(component);
172
+ const line = source.slice(0, tag.index).split('\n').length;
173
+
174
+ // Транзишены (CdsTransitionFade, …) — экспорт библиотеки, но не
175
+ // компоненты справочника: у них нет собственного api.md.
176
+ if (component.startsWith('CdsTransition')) continue;
177
+
178
+ const contract = index.get(component);
179
+ if (!contract) {
180
+ problems.push({ line, component, kind: 'component', name: component });
181
+ continue;
182
+ }
183
+
184
+ for (const attr of attrs.matchAll(ATTR_RE)) {
185
+ const raw = attr[1];
186
+ if (!raw || raw === '/') continue;
187
+ const isEvent = raw.startsWith('@');
188
+ let name = raw.replace(/^[@:#]/, '').split('.')[0];
189
+ if (!name || raw.startsWith('#')) continue; // slot shorthand lives on <template>
190
+ if (raw.startsWith('v-') || PASS_PREFIXES.some((p) => name.startsWith(p)) || PASS_THROUGH.has(name)) continue;
191
+
192
+ if (isEvent) {
193
+ const known =
194
+ contract.events.has(name) ||
195
+ contract.events.has(kebabToCamel(name)) ||
196
+ name.startsWith('update:') ||
197
+ NATIVE_EVENTS.has(name);
198
+ if (!known) problems.push({ line, component, kind: 'event', name, file: contract.file });
199
+ } else if (!contract.props.has(name) && !contract.props.has(kebabToCamel(name)) && !NATIVE_ATTRS.has(name)) {
200
+ problems.push({ line, component, kind: 'prop', name, file: contract.file });
201
+ }
202
+ }
203
+ }
204
+
205
+ return problems;
206
+ }
207
+
208
+ function collectVueFiles(paths) {
209
+ const files = [];
210
+ const walk = (p) => {
211
+ const stat = statSync(p);
212
+ if (stat.isDirectory()) {
213
+ for (const entry of readdirSync(p)) {
214
+ if (entry === 'node_modules' || entry.startsWith('.')) continue;
215
+ walk(join(p, entry));
216
+ }
217
+ } else if (p.endsWith('.vue')) {
218
+ files.push(p);
219
+ }
220
+ };
221
+ for (const p of paths) {
222
+ if (existsSync(p)) walk(p);
223
+ else console.error(`! not found: ${p}`);
224
+ }
225
+ return files;
226
+ }
227
+
228
+ const args = process.argv.slice(2);
229
+ if (args.length === 0) {
230
+ console.error('Usage: node check-contracts.mjs <file.vue | dir> [...]');
231
+ process.exit(2);
232
+ }
233
+
234
+ const index = buildContractIndex();
235
+ if (index.size === 0) {
236
+ console.error(`! contract reference not found at ${REFERENCES} — is the cds-builder skill installed completely?`);
237
+ process.exit(2);
238
+ }
239
+
240
+ const files = collectVueFiles(args);
241
+ if (files.length === 0) {
242
+ console.error('! no .vue files found in the given paths');
243
+ process.exit(2);
244
+ }
245
+
246
+ let total = 0;
247
+ for (const file of files) {
248
+ const problems = checkFile(file, index);
249
+ total += problems.length;
250
+ for (const p of problems) {
251
+ if (p.kind === 'component') {
252
+ console.log(`${file}:${p.line} — component <${p.name}> does not exist in CDS`);
253
+ } else {
254
+ console.log(`${file}:${p.line} — <${p.component}> has no ${p.kind} \`${p.name}\` (see ${p.file})`);
255
+ }
256
+ }
257
+ }
258
+
259
+ if (total === 0) {
260
+ console.log(`✓ ${files.length} file(s) checked — every component, prop and event exists in the contracts`);
261
+ } else {
262
+ console.log(`✗ ${total} problem(s): an unknown prop/event is silently ignored at runtime — fix or remove it`);
263
+ process.exit(1);
264
+ }
@@ -0,0 +1,44 @@
1
+ # Генерация скиллов CDS
2
+
3
+ - Версия `@central-design-system/components`: 4.0.0-alpha.6
4
+ - Скиллы в пакете: cds-builder, cds-migrate, cds-refactor
5
+
6
+ ## Статистика
7
+
8
+ - Семейств компонентов: 79
9
+ - Контрактов meta.json: 125
10
+ - Извлечено примеров: 710
11
+ - Пропущено историй (неожиданная форма):
12
+ - нет
13
+
14
+ ## Полнота документации
15
+
16
+ Счётчики ниже — долг документации, а не ошибка генерации: справочники
17
+ собираются из того, что заполнено, и растут по мере переработки страниц
18
+ компонентов.
19
+
20
+ - Описание («что это и когда брать»): 77 из 79
21
+ - Подсказка «Смотрите также»: 77 из 79
22
+ - Рекомендации Do/Don't: 60 из 79 (пар правил: 169)
23
+ - Props/events/slots/exposed без описания: 0
24
+ - Без описания: CdsApp, CdsDefaultsProvider
25
+ - Без рекомендаций: CdsApp, CdsButtonGroup, CdsCheckboxButton, CdsCounter, CdsDefaultsProvider, CdsDescription, CdsField, CdsInput, CdsLabel, CdsLoader, CdsMain, CdsMessages, CdsNotificationAlert, CdsPage, CdsRadio, CdsSelectionControl, CdsSelectionControlGroup, CdsSurface, CdsToastQueue
26
+ - Без примеров: CdsApp, CdsDefaultsProvider, CdsRadio
27
+
28
+ ## Перевод (en)
29
+
30
+ Генераторы читают английские страницы (`docs/en/`) и `@en` из JSDoc; там, где
31
+ перевода ещё нет, подставляется русский текст — это долг перевода.
32
+
33
+ - Страниц компонентов переведено: 77 из 79
34
+ - Страниц: 107 — ok 101, outdated 0, drift 0, missing 6
35
+ - Props/events/slots/exposed без `@en`: 0
36
+ - Подписи DoDont/AnatomyDemo без `-en`/`labelEn`: 9
37
+
38
+ ## Регенерация
39
+
40
+ ```bash
41
+ cd packages/components
42
+ bun run generate:meta # если менялись компоненты
43
+ bun run generate:skill
44
+ ```
@@ -0,0 +1,160 @@
1
+ ---
2
+ name: cds-migrate
3
+ description: >-
4
+ Migrating a project from CDS 3 to CDS 4 (`@central-design-system/components`,
5
+ Central Design System, B2B-Center): package upgrade, style entry points,
6
+ component and prop renames, icons, CSS architecture, composables and hooks.
7
+ Use this skill when the user bumps the CDS version, hits breakage after an
8
+ upgrade, sees a `[CDS UPGRADE]` warning in the console, or uses CDS 3
9
+ patterns — `@central-design-system/components/dist/cds.css`,
10
+ `@central-design-system/icons`, `CdsDropdown`, `CdsRadioButton`,
11
+ `CdsProgress`, `CdsTabsV2`, `CdsCheckboxGroup`, `CdsContainer` — even if the
12
+ words "migration" or "upgrade" were never said. RU triggers: «мигрируй с
13
+ CDS 3», «обнови CDS до 4», «после обновления CDS сломались стили»,
14
+ «не находит dist/cds.css», «что изменилось в CDS 4», «CdsDropdown не
15
+ работает», «предупреждение CDS UPGRADE». EN triggers: «migrate to CDS 4»,
16
+ «upgrade central design system», «breaking changes CDS 4».
17
+ metadata:
18
+ author: cds-team
19
+ version: "4.0.0-alpha.6"
20
+ source: https://gitlab.b2b-center.ru/cds/central-design-system
21
+ ---
22
+
23
+ # CDS 3 → CDS 4 migration
24
+
25
+ You are migrating a project from CDS 3 to CDS 4 (version 4.0.0-alpha.6). Work
26
+ step by step and do not guess the project's state — look at the code first.
27
+
28
+ The full guide with every change and its Before / After pairs is
29
+ `references/migration-full.md` (currently in Russian). This file covers the
30
+ order of work and what comes up most often; when in doubt, open the full
31
+ guide.
32
+
33
+ ---
34
+
35
+ ## Step 1 — Inspect the project
36
+
37
+ Look at `package.json`:
38
+
39
+ - the `@central-design-system/components` version (CDS 3 — `3.x`, CDS 4 —
40
+ `4.x`);
41
+ - whether `@central-design-system/icons` is present (the package is deprecated
42
+ in CDS 4);
43
+ - the bundler and framework, the package manager by the lock file.
44
+
45
+ Then find the spots in the code that are guaranteed to change:
46
+
47
+ ```bash
48
+ grep -rn "dist/cds.css\|@central-design-system/icons" src/
49
+ grep -rn "CdsDropdown\|CdsRadioButton\|CdsProgress\|CdsTabsV2\|CdsCheckboxGroup\|CdsContainer" src/
50
+ ```
51
+
52
+ Tell the user what you found before editing anything: the scope of the
53
+ migration must be clear up front.
54
+
55
+ ---
56
+
57
+ ## Step 2 — Update the package and the style entry point
58
+
59
+ The CSS import changed — this is the breaking change everyone hits:
60
+
61
+ ```ts
62
+ // Before (CDS 3)
63
+ import '@central-design-system/components/dist/cds.css';
64
+
65
+ // After (CDS 4)
66
+ import '@central-design-system/components/styles';
67
+ ```
68
+
69
+ `dist/cds.css` is no longer a public entry point; the old path simply will
70
+ not resolve.
71
+
72
+ The global reset from CDS 3 is now **off by default**. If the layout "broke"
73
+ after the upgrade, enable it explicitly:
74
+
75
+ ```scss
76
+ @use '@central-design-system/components/styles' with ($legacy-reset: true);
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Step 3 — Icons
82
+
83
+ The `@central-design-system/icons` package is marked deprecated but keeps
84
+ working through a legacy mode — icon migration can be deferred and done as a
85
+ separate step. How to move to iconpacks via `createCds({ icons })` — section
86
+ 2 (Icons) of the full guide.
87
+
88
+ ---
89
+
90
+ ## Step 4 — Component renames
91
+
92
+ | CDS 3 | CDS 4 |
93
+ | --- | --- |
94
+ | `CdsDropdown` | `CdsSelect` (native `<select>` — via the `native-select` prop) |
95
+ | `CdsRadioButton` | `CdsRadioGroup` |
96
+ | `CdsProgress` | `CdsProgressBar` |
97
+ | `CdsTabsV2` | `CdsTabs` |
98
+ | `CdsCheckboxGroup` | removed — use `CdsCheckbox` on its own |
99
+ | `CdsContainer` | removed |
100
+
101
+ Renaming is only the first step: **the new component's prop contract may have
102
+ changed**. After replacing the name, check the component's `api.md` in the
103
+ `cds-builder` skill (`../cds-builder/references/components/<slug>/api.md`). If
104
+ `cds-builder` is not installed, the contracts are in the npm package:
105
+ `node_modules/@central-design-system/components/llms/llms-components.txt`.
106
+
107
+ Check `CdsBadge` separately: `count` → `content`, `limited` → `:max`, the
108
+ `invertColor` prop was removed.
109
+
110
+ ---
111
+
112
+ ## Step 5 — Styles and tokens
113
+
114
+ The CSS architecture moved to ITCSS and native `@layer`. The practical
115
+ consequence: global overrides of CDS styles written without `!important` may
116
+ stop applying — the cascade is now determined by layers. Section 4 (Styles
117
+ and tokens) of the full guide describes how to override correctly.
118
+
119
+ While you are at it, replace the remaining hardcoded colors with `--cds-*`
120
+ tokens — theme switching in CDS 4 depends on them.
121
+
122
+ ---
123
+
124
+ ## Step 6 — Composables, hooks and exports
125
+
126
+ Sections 5 (Composables), 6 (Hooks) and 7 (Build and exports) of the full
127
+ guide. This is where import changes and public utility changes live — check
128
+ them if the build complains about a missing export.
129
+
130
+ ---
131
+
132
+ ## Step 7 — Verification
133
+
134
+ Go through the list and check off every item:
135
+
136
+ - [ ] No `dist/cds.css` left in the code, styles are imported via `/styles`.
137
+ - [ ] The application builds without import resolution errors.
138
+ - [ ] Not a single old component name:
139
+ `grep -rn "CdsDropdown\|CdsRadioButton\|CdsProgress\b\|CdsTabsV2\|CdsCheckboxGroup\|CdsContainer" src/`
140
+ - [ ] Dev mode was started, the console was reviewed: every `[CDS UPGRADE]`
141
+ warning is handled — it points at a deprecated prop.
142
+ - [ ] The layout was checked visually: if it broke — look at `legacy-reset`
143
+ (step 2) or CSS layers (step 5).
144
+ - [ ] Dark theme and theme switching work, if the project uses them.
145
+
146
+ Report what remains open — an unfinished migration is worse than one never
147
+ started if the user believes it is complete.
148
+
149
+ ---
150
+
151
+ ## When to ask
152
+
153
+ Act on your own for mechanical replacements (paths, component names). Ask if:
154
+
155
+ - the project overrides CDS styles and it is unclear which overrides are
156
+ intentional;
157
+ - the migration touches many files and the user has not said whether to do
158
+ everything at once or in parts;
159
+ - you hit a CDS 3 pattern the full guide does not cover — do not invent a
160
+ replacement, say so instead.