designkit-ai 1.0.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 (530) hide show
  1. package/AI-AGENT.md +51 -0
  2. package/LICENSE +21 -0
  3. package/README.md +517 -0
  4. package/bin/designkit.js +61 -0
  5. package/components/_index.md +81 -0
  6. package/components/app-mobile/README.md +117 -0
  7. package/components/app-mobile/badges/badge-count.html +9 -0
  8. package/components/app-mobile/badges/badge-dot.html +9 -0
  9. package/components/app-mobile/badges/badge-large.html +9 -0
  10. package/components/app-mobile/buttons/button-filled.html +9 -0
  11. package/components/app-mobile/buttons/button-icon.html +11 -0
  12. package/components/app-mobile/buttons/button-outlined.html +9 -0
  13. package/components/app-mobile/buttons/button-text.html +9 -0
  14. package/components/app-mobile/buttons/button-tonal.html +9 -0
  15. package/components/app-mobile/buttons/fab-extended.html +12 -0
  16. package/components/app-mobile/buttons/fab-small.html +11 -0
  17. package/components/app-mobile/buttons/fab.html +11 -0
  18. package/components/app-mobile/buttons/icon-button-filled.html +11 -0
  19. package/components/app-mobile/buttons/icon-button-tonal.html +11 -0
  20. package/components/app-mobile/buttons/segmented-button.html +13 -0
  21. package/components/app-mobile/cards/card-elevated.html +15 -0
  22. package/components/app-mobile/cards/card-filled.html +15 -0
  23. package/components/app-mobile/cards/card-outlined.html +15 -0
  24. package/components/app-mobile/charts/bar-chart.html +20 -0
  25. package/components/app-mobile/charts/donut-chart.html +20 -0
  26. package/components/app-mobile/charts/horizontal-bar.html +15 -0
  27. package/components/app-mobile/charts/line-chart.html +26 -0
  28. package/components/app-mobile/charts/progress-ring.html +17 -0
  29. package/components/app-mobile/charts/sparkline.html +11 -0
  30. package/components/app-mobile/charts/stat-card.html +18 -0
  31. package/components/app-mobile/chips/chip-assist.html +12 -0
  32. package/components/app-mobile/chips/chip-filter.html +12 -0
  33. package/components/app-mobile/chips/chip-input.html +14 -0
  34. package/components/app-mobile/chips/chip-suggestion.html +9 -0
  35. package/components/app-mobile/data-display/avatar-group.html +35 -0
  36. package/components/app-mobile/dialogs/dialog-basic.html +16 -0
  37. package/components/app-mobile/dialogs/dialog-fullscreen.html +18 -0
  38. package/components/app-mobile/dividers/divider-full.html +9 -0
  39. package/components/app-mobile/dividers/divider-inset.html +9 -0
  40. package/components/app-mobile/ecommerce/cart-item.html +29 -0
  41. package/components/app-mobile/ecommerce/cart-summary.html +31 -0
  42. package/components/app-mobile/ecommerce/color-selector.html +17 -0
  43. package/components/app-mobile/ecommerce/order-status.html +25 -0
  44. package/components/app-mobile/ecommerce/product-detail-hero.html +45 -0
  45. package/components/app-mobile/ecommerce/size-selector.html +17 -0
  46. package/components/app-mobile/ecommerce/wishlist-item.html +22 -0
  47. package/components/app-mobile/education/assignment-card.html +24 -0
  48. package/components/app-mobile/education/certificate.html +30 -0
  49. package/components/app-mobile/education/course-card.html +32 -0
  50. package/components/app-mobile/education/grade-report.html +53 -0
  51. package/components/app-mobile/education/lesson-progress.html +21 -0
  52. package/components/app-mobile/education/quiz-mcq.html +35 -0
  53. package/components/app-mobile/education/quiz-truefalse.html +26 -0
  54. package/components/app-mobile/education/student-dashboard.html +57 -0
  55. package/components/app-mobile/feedback/banner.html +13 -0
  56. package/components/app-mobile/feedback/progress-circular.html +14 -0
  57. package/components/app-mobile/feedback/progress-linear.html +11 -0
  58. package/components/app-mobile/feedback/skeleton.html +20 -0
  59. package/components/app-mobile/feedback/snackbar.html +15 -0
  60. package/components/app-mobile/feedback/tooltip.html +9 -0
  61. package/components/app-mobile/finance/bank-account-card.html +36 -0
  62. package/components/app-mobile/finance/budget-category.html +24 -0
  63. package/components/app-mobile/finance/credit-score.html +29 -0
  64. package/components/app-mobile/finance/investment-portfolio.html +52 -0
  65. package/components/app-mobile/finance/transaction-row.html +26 -0
  66. package/components/app-mobile/finance/transfer-form.html +42 -0
  67. package/components/app-mobile/fitness/body-metrics.html +41 -0
  68. package/components/app-mobile/fitness/calorie-tracker.html +48 -0
  69. package/components/app-mobile/fitness/exercise-timer.html +30 -0
  70. package/components/app-mobile/fitness/meal-plan.html +36 -0
  71. package/components/app-mobile/fitness/sleep-tracker.html +50 -0
  72. package/components/app-mobile/fitness/workout-card.html +37 -0
  73. package/components/app-mobile/food/cuisine-filter.html +39 -0
  74. package/components/app-mobile/food/menu-item.html +25 -0
  75. package/components/app-mobile/food/order-tracker.html +46 -0
  76. package/components/app-mobile/food/restaurant-card.html +34 -0
  77. package/components/app-mobile/food/review-card.html +35 -0
  78. package/components/app-mobile/food/table-reservation.html +42 -0
  79. package/components/app-mobile/forms/form-address.html +41 -0
  80. package/components/app-mobile/forms/form-payment.html +37 -0
  81. package/components/app-mobile/forms/form-profile.html +39 -0
  82. package/components/app-mobile/forms/time-picker.html +28 -0
  83. package/components/app-mobile/healthcare/appointment-card.html +26 -0
  84. package/components/app-mobile/healthcare/doctor-profile.html +32 -0
  85. package/components/app-mobile/healthcare/health-metric-chart.html +51 -0
  86. package/components/app-mobile/healthcare/insurance-card.html +35 -0
  87. package/components/app-mobile/healthcare/lab-results.html +23 -0
  88. package/components/app-mobile/healthcare/medication-reminder.html +24 -0
  89. package/components/app-mobile/healthcare/symptom-checker.html +42 -0
  90. package/components/app-mobile/healthcare/vitals-dashboard.html +56 -0
  91. package/components/app-mobile/inputs/date-picker.html +68 -0
  92. package/components/app-mobile/inputs/file-upload.html +13 -0
  93. package/components/app-mobile/inputs/otp-input.html +16 -0
  94. package/components/app-mobile/inputs/password-field.html +13 -0
  95. package/components/app-mobile/inputs/search-bar.html +17 -0
  96. package/components/app-mobile/inputs/select.html +17 -0
  97. package/components/app-mobile/inputs/text-field-filled.html +12 -0
  98. package/components/app-mobile/inputs/text-field-outlined.html +12 -0
  99. package/components/app-mobile/inputs/textarea.html +12 -0
  100. package/components/app-mobile/inputs/time-picker.html +33 -0
  101. package/components/app-mobile/job/application-status.html +18 -0
  102. package/components/app-mobile/job/interview-schedule.html +32 -0
  103. package/components/app-mobile/lists/list-item-1line.html +14 -0
  104. package/components/app-mobile/lists/list-item-2line.html +20 -0
  105. package/components/app-mobile/lists/list-item-3line.html +17 -0
  106. package/components/app-mobile/logistics/delivery-map.html +40 -0
  107. package/components/app-mobile/logistics/driver-card.html +25 -0
  108. package/components/app-mobile/logistics/package-tracker.html +42 -0
  109. package/components/app-mobile/logistics/shipment-row.html +20 -0
  110. package/components/app-mobile/media/audio-player.html +38 -0
  111. package/components/app-mobile/media/image-carousel.html +28 -0
  112. package/components/app-mobile/menus/menu-context.html +13 -0
  113. package/components/app-mobile/menus/menu-dropdown.html +14 -0
  114. package/components/app-mobile/native/gesture-nav-bar.html +11 -0
  115. package/components/app-mobile/native/ios-action-sheet.html +19 -0
  116. package/components/app-mobile/native/ios-alert.html +18 -0
  117. package/components/app-mobile/native/ios-home-indicator.html +11 -0
  118. package/components/app-mobile/native/ios-list-cell.html +14 -0
  119. package/components/app-mobile/native/ios-nav-bar.html +16 -0
  120. package/components/app-mobile/native/ios-page-sheet.html +17 -0
  121. package/components/app-mobile/native/ios-search-bar.html +15 -0
  122. package/components/app-mobile/native/ios-segmented-control.html +13 -0
  123. package/components/app-mobile/native/ios-status-bar.html +17 -0
  124. package/components/app-mobile/native/ios-tab-bar.html +31 -0
  125. package/components/app-mobile/native/ios-wheel-picker.html +34 -0
  126. package/components/app-mobile/native/notification-item.html +19 -0
  127. package/components/app-mobile/native/permission-dialog.html +18 -0
  128. package/components/app-mobile/native/status-bar.html +16 -0
  129. package/components/app-mobile/navbars/bottom-app-bar.html +19 -0
  130. package/components/app-mobile/navbars/bottom-nav-3.html +28 -0
  131. package/components/app-mobile/navbars/bottom-nav-4.html +26 -0
  132. package/components/app-mobile/navbars/bottom-nav-5.html +30 -0
  133. package/components/app-mobile/navbars/top-app-bar-center.html +17 -0
  134. package/components/app-mobile/navbars/top-app-bar-large.html +20 -0
  135. package/components/app-mobile/navbars/top-app-bar-medium.html +20 -0
  136. package/components/app-mobile/navbars/top-app-bar-small.html +22 -0
  137. package/components/app-mobile/navigation/back-header.html +32 -0
  138. package/components/app-mobile/navigation/segmented-control.html +19 -0
  139. package/components/app-mobile/navigation/stepper-vertical.html +65 -0
  140. package/components/app-mobile/patterns/accordion.html +20 -0
  141. package/components/app-mobile/patterns/activity-feed.html +26 -0
  142. package/components/app-mobile/patterns/audio-waveform.html +34 -0
  143. package/components/app-mobile/patterns/avatar-group.html +14 -0
  144. package/components/app-mobile/patterns/breadcrumb.html +15 -0
  145. package/components/app-mobile/patterns/calendar-month.html +56 -0
  146. package/components/app-mobile/patterns/camera-viewfinder.html +33 -0
  147. package/components/app-mobile/patterns/card-horizontal.html +15 -0
  148. package/components/app-mobile/patterns/cart-item.html +23 -0
  149. package/components/app-mobile/patterns/category-pills.html +15 -0
  150. package/components/app-mobile/patterns/chat-bubble-received.html +15 -0
  151. package/components/app-mobile/patterns/chat-bubble-sent.html +14 -0
  152. package/components/app-mobile/patterns/chat-conversation.html +27 -0
  153. package/components/app-mobile/patterns/chat-input-bar.html +13 -0
  154. package/components/app-mobile/patterns/code-editor.html +29 -0
  155. package/components/app-mobile/patterns/comment-item.html +15 -0
  156. package/components/app-mobile/patterns/contact-card.html +19 -0
  157. package/components/app-mobile/patterns/data-table.html +25 -0
  158. package/components/app-mobile/patterns/empty-state.html +19 -0
  159. package/components/app-mobile/patterns/error-screen.html +14 -0
  160. package/components/app-mobile/patterns/event-card.html +22 -0
  161. package/components/app-mobile/patterns/image-editor.html +34 -0
  162. package/components/app-mobile/patterns/image-grid.html +16 -0
  163. package/components/app-mobile/patterns/login-form.html +22 -0
  164. package/components/app-mobile/patterns/map-card.html +19 -0
  165. package/components/app-mobile/patterns/media-player.html +26 -0
  166. package/components/app-mobile/patterns/notification-list.html +25 -0
  167. package/components/app-mobile/patterns/onboarding-slide.html +24 -0
  168. package/components/app-mobile/patterns/order-summary.html +16 -0
  169. package/components/app-mobile/patterns/order-tracker.html +27 -0
  170. package/components/app-mobile/patterns/pagination.html +17 -0
  171. package/components/app-mobile/patterns/post-card.html +28 -0
  172. package/components/app-mobile/patterns/product-card.html +26 -0
  173. package/components/app-mobile/patterns/profile-header.html +18 -0
  174. package/components/app-mobile/patterns/rating-stars.html +15 -0
  175. package/components/app-mobile/patterns/review-card.html +22 -0
  176. package/components/app-mobile/patterns/search-results.html +35 -0
  177. package/components/app-mobile/patterns/settings-group.html +30 -0
  178. package/components/app-mobile/patterns/stepper-horizontal.html +24 -0
  179. package/components/app-mobile/patterns/story-circle.html +16 -0
  180. package/components/app-mobile/patterns/swipe-action.html +19 -0
  181. package/components/app-mobile/patterns/tag-pills.html +14 -0
  182. package/components/app-mobile/patterns/timeline-item.html +19 -0
  183. package/components/app-mobile/patterns/todo-item.html +18 -0
  184. package/components/app-mobile/patterns/video-editor-timeline.html +36 -0
  185. package/components/app-mobile/patterns/video-player.html +33 -0
  186. package/components/app-mobile/patterns/wallet-card.html +18 -0
  187. package/components/app-mobile/sliders/slider-continuous.html +14 -0
  188. package/components/app-mobile/sliders/slider-discrete.html +21 -0
  189. package/components/app-mobile/social/chat-bubble-received.html +15 -0
  190. package/components/app-mobile/social/chat-bubble-sent.html +16 -0
  191. package/components/app-mobile/social/notification-item.html +17 -0
  192. package/components/app-mobile/social/post-card.html +46 -0
  193. package/components/app-mobile/social/reaction-bar.html +29 -0
  194. package/components/app-mobile/social/story-circle.html +15 -0
  195. package/components/app-mobile/social/user-profile-card.html +29 -0
  196. package/components/app-mobile/surfaces/bottom-sheet.html +23 -0
  197. package/components/app-mobile/surfaces/nav-drawer.html +20 -0
  198. package/components/app-mobile/surfaces/nav-rail.html +14 -0
  199. package/components/app-mobile/surfaces/side-sheet.html +17 -0
  200. package/components/app-mobile/tabs/tabs-primary.html +13 -0
  201. package/components/app-mobile/tabs/tabs-secondary.html +13 -0
  202. package/components/app-mobile/toggles/checkbox.html +14 -0
  203. package/components/app-mobile/toggles/radio.html +14 -0
  204. package/components/app-mobile/toggles/switch.html +11 -0
  205. package/components/app-mobile/travel/booking-summary.html +51 -0
  206. package/components/app-mobile/travel/flight-card.html +41 -0
  207. package/components/app-mobile/travel/hotel-card.html +35 -0
  208. package/components/app-mobile/travel/itinerary-item.html +29 -0
  209. package/components/app-mobile/travel/map-pins.html +42 -0
  210. package/components/app-mobile/travel/travel-date-picker.html +72 -0
  211. package/components/common/decorations/abstract-lines.html +30 -0
  212. package/components/common/decorations/circle-rings.html +26 -0
  213. package/components/common/decorations/corner-decoration.html +27 -0
  214. package/components/common/decorations/dots-pattern.html +51 -0
  215. package/components/common/decorations/gradient-blob.html +19 -0
  216. package/components/common/decorations/mesh-gradient.html +32 -0
  217. package/components/common/decorations/sparkle-burst.html +35 -0
  218. package/components/common/decorations/wave-divider.html +17 -0
  219. package/components/common/illustrations/empty-cart.html +27 -0
  220. package/components/common/illustrations/empty-inbox.html +28 -0
  221. package/components/common/illustrations/empty-search.html +26 -0
  222. package/components/common/illustrations/error-404.html +29 -0
  223. package/components/common/illustrations/no-data.html +31 -0
  224. package/components/common/illustrations/success-check.html +33 -0
  225. package/components/common/illustrations/upload-cloud.html +23 -0
  226. package/components/common/illustrations/welcome.html +31 -0
  227. package/components/common/mockup-elements/avatar-placeholder.html +17 -0
  228. package/components/common/mockup-elements/browser-chrome.html +37 -0
  229. package/components/common/mockup-elements/chart-bar.html +42 -0
  230. package/components/common/mockup-elements/image-placeholder.html +27 -0
  231. package/components/common/mockup-elements/laptop-frame.html +32 -0
  232. package/components/common/mockup-elements/map-placeholder.html +39 -0
  233. package/components/common/mockup-elements/phone-frame.html +29 -0
  234. package/components/common/mockup-elements/status-bar-android.html +30 -0
  235. package/components/common/mockup-elements/status-bar-ios.html +26 -0
  236. package/components/common/mockup-elements/video-placeholder.html +29 -0
  237. package/components/common/ui-icons/icon-add-circle.html +12 -0
  238. package/components/common/ui-icons/icon-airdrop.html +10 -0
  239. package/components/common/ui-icons/icon-airplay.html +10 -0
  240. package/components/common/ui-icons/icon-apple-logo.html +10 -0
  241. package/components/common/ui-icons/icon-arrow-back.html +11 -0
  242. package/components/common/ui-icons/icon-arrow-down.html +10 -0
  243. package/components/common/ui-icons/icon-arrow-right.html +10 -0
  244. package/components/common/ui-icons/icon-arrow-up.html +10 -0
  245. package/components/common/ui-icons/icon-bag.html +10 -0
  246. package/components/common/ui-icons/icon-battery.html +10 -0
  247. package/components/common/ui-icons/icon-bluetooth.html +10 -0
  248. package/components/common/ui-icons/icon-bolt.html +10 -0
  249. package/components/common/ui-icons/icon-bookmark-fill.html +10 -0
  250. package/components/common/ui-icons/icon-bookmark.html +10 -0
  251. package/components/common/ui-icons/icon-bubble-left.html +10 -0
  252. package/components/common/ui-icons/icon-calendar.html +19 -0
  253. package/components/common/ui-icons/icon-camera.html +11 -0
  254. package/components/common/ui-icons/icon-cart.html +10 -0
  255. package/components/common/ui-icons/icon-checkmark.html +10 -0
  256. package/components/common/ui-icons/icon-chevron-down.html +10 -0
  257. package/components/common/ui-icons/icon-chevron-left.html +10 -0
  258. package/components/common/ui-icons/icon-chevron-right.html +10 -0
  259. package/components/common/ui-icons/icon-chevron-up.html +10 -0
  260. package/components/common/ui-icons/icon-clock.html +10 -0
  261. package/components/common/ui-icons/icon-creditcard.html +10 -0
  262. package/components/common/ui-icons/icon-doc.html +10 -0
  263. package/components/common/ui-icons/icon-download.html +10 -0
  264. package/components/common/ui-icons/icon-ellipsis-vertical.html +10 -0
  265. package/components/common/ui-icons/icon-ellipsis.html +10 -0
  266. package/components/common/ui-icons/icon-envelope.html +10 -0
  267. package/components/common/ui-icons/icon-eye-slash.html +10 -0
  268. package/components/common/ui-icons/icon-eye.html +10 -0
  269. package/components/common/ui-icons/icon-faceid.html +10 -0
  270. package/components/common/ui-icons/icon-favorite.html +10 -0
  271. package/components/common/ui-icons/icon-folder.html +10 -0
  272. package/components/common/ui-icons/icon-globe.html +10 -0
  273. package/components/common/ui-icons/icon-heart-fill.html +10 -0
  274. package/components/common/ui-icons/icon-heart.html +10 -0
  275. package/components/common/ui-icons/icon-home.html +10 -0
  276. package/components/common/ui-icons/icon-link.html +10 -0
  277. package/components/common/ui-icons/icon-list-bullet.html +10 -0
  278. package/components/common/ui-icons/icon-location.html +11 -0
  279. package/components/common/ui-icons/icon-lock.html +10 -0
  280. package/components/common/ui-icons/icon-magnifying-glass.html +10 -0
  281. package/components/common/ui-icons/icon-map.html +10 -0
  282. package/components/common/ui-icons/icon-menu-hamburger.html +12 -0
  283. package/components/common/ui-icons/icon-mic.html +10 -0
  284. package/components/common/ui-icons/icon-minus.html +10 -0
  285. package/components/common/ui-icons/icon-notification.html +11 -0
  286. package/components/common/ui-icons/icon-paperplane.html +10 -0
  287. package/components/common/ui-icons/icon-pause.html +10 -0
  288. package/components/common/ui-icons/icon-pencil.html +10 -0
  289. package/components/common/ui-icons/icon-person-2.html +10 -0
  290. package/components/common/ui-icons/icon-person-crop-circle.html +10 -0
  291. package/components/common/ui-icons/icon-phone-fill.html +10 -0
  292. package/components/common/ui-icons/icon-photo.html +10 -0
  293. package/components/common/ui-icons/icon-play-fill.html +10 -0
  294. package/components/common/ui-icons/icon-plus.html +10 -0
  295. package/components/common/ui-icons/icon-profile.html +11 -0
  296. package/components/common/ui-icons/icon-qrcode.html +10 -0
  297. package/components/common/ui-icons/icon-settings.html +11 -0
  298. package/components/common/ui-icons/icon-share.html +14 -0
  299. package/components/common/ui-icons/icon-slider-horizontal.html +10 -0
  300. package/components/common/ui-icons/icon-square-grid.html +10 -0
  301. package/components/common/ui-icons/icon-star-fill.html +10 -0
  302. package/components/common/ui-icons/icon-star.html +10 -0
  303. package/components/common/ui-icons/icon-touchid.html +10 -0
  304. package/components/common/ui-icons/icon-trash.html +10 -0
  305. package/components/common/ui-icons/icon-upload.html +10 -0
  306. package/components/common/ui-icons/icon-video.html +10 -0
  307. package/components/common/ui-icons/icon-wifi.html +10 -0
  308. package/components/common/ui-icons/icon-xmark.html +10 -0
  309. package/components/componentmap-app-mobile.md +210 -0
  310. package/components/componentmap-web.md +206 -0
  311. package/components/web/README.md +110 -0
  312. package/components/web/account/payment-method.html +13 -0
  313. package/components/web/account/profile-card.html +18 -0
  314. package/components/web/account/subscription-card.html +21 -0
  315. package/components/web/badges/badge-set.html +14 -0
  316. package/components/web/buttons/button-danger.html +10 -0
  317. package/components/web/buttons/button-ghost.html +10 -0
  318. package/components/web/buttons/button-group.html +12 -0
  319. package/components/web/buttons/button-icon.html +10 -0
  320. package/components/web/buttons/button-primary.html +11 -0
  321. package/components/web/buttons/button-secondary.html +10 -0
  322. package/components/web/cards/card-basic.html +11 -0
  323. package/components/web/cards/card-feature.html +12 -0
  324. package/components/web/cards/card-image.html +16 -0
  325. package/components/web/cards/card-pricing.html +21 -0
  326. package/components/web/cards/card-stat.html +15 -0
  327. package/components/web/cards/card-testimonial.html +21 -0
  328. package/components/web/cart/cart-page.html +30 -0
  329. package/components/web/cart/checkout-form.html +27 -0
  330. package/components/web/cart/order-confirmation.html +24 -0
  331. package/components/web/charts/chart-area.html +25 -0
  332. package/components/web/charts/chart-bar.html +19 -0
  333. package/components/web/charts/chart-donut.html +27 -0
  334. package/components/web/content/author-card.html +15 -0
  335. package/components/web/content/blog-card-horizontal.html +16 -0
  336. package/components/web/cta/cta-centered.html +15 -0
  337. package/components/web/cta/cta-newsletter.html +16 -0
  338. package/components/web/cta/cta-with-image.html +17 -0
  339. package/components/web/data-display/accordion.html +45 -0
  340. package/components/web/data-display/grid-view.html +21 -0
  341. package/components/web/data-display/list-view.html +27 -0
  342. package/components/web/data-display/progress-steps.html +39 -0
  343. package/components/web/data-display/rating-stars.html +38 -0
  344. package/components/web/data-display/stat-card-compact.html +32 -0
  345. package/components/web/data-display/stat-card-large.html +34 -0
  346. package/components/web/data-display/table-selectable.html +127 -0
  347. package/components/web/data-display/table-sortable.html +120 -0
  348. package/components/web/data-display/tag-group.html +25 -0
  349. package/components/web/data-display/timeline-horizontal.html +55 -0
  350. package/components/web/data-display/timeline-vertical.html +76 -0
  351. package/components/web/data-display/tree-view.html +86 -0
  352. package/components/web/dividers/divider-text.html +8 -0
  353. package/components/web/ecommerce/coupon-input.html +11 -0
  354. package/components/web/ecommerce/product-card-grid.html +29 -0
  355. package/components/web/ecommerce/product-card-list.html +32 -0
  356. package/components/web/features/features-alternating.html +35 -0
  357. package/components/web/features/features-bento.html +43 -0
  358. package/components/web/features/features-icon-list.html +44 -0
  359. package/components/web/feedback/alert-banner.html +12 -0
  360. package/components/web/feedback/empty-state-error.html +18 -0
  361. package/components/web/feedback/empty-state-no-data.html +18 -0
  362. package/components/web/feedback/empty-state-no-search.html +15 -0
  363. package/components/web/feedback/empty-state.html +16 -0
  364. package/components/web/feedback/loading-spinner.html +14 -0
  365. package/components/web/feedback/progress-bar.html +11 -0
  366. package/components/web/feedback/skeleton-card.html +17 -0
  367. package/components/web/feedback/skeleton-list.html +45 -0
  368. package/components/web/feedback/skeleton.html +16 -0
  369. package/components/web/feedback/toast-error.html +12 -0
  370. package/components/web/feedback/toast-info.html +12 -0
  371. package/components/web/feedback/toast-success.html +12 -0
  372. package/components/web/feedback/tooltip.html +8 -0
  373. package/components/web/forms/date-picker.html +67 -0
  374. package/components/web/forms/file-upload.html +16 -0
  375. package/components/web/forms/form-contact.html +35 -0
  376. package/components/web/forms/form-login.html +29 -0
  377. package/components/web/forms/form-search-filters.html +57 -0
  378. package/components/web/forms/form-signup.html +35 -0
  379. package/components/web/heroes/hero-gradient.html +20 -0
  380. package/components/web/heroes/hero-image-bg.html +21 -0
  381. package/components/web/heroes/hero-video.html +17 -0
  382. package/components/web/inputs/checkbox.html +11 -0
  383. package/components/web/inputs/date-input.html +15 -0
  384. package/components/web/inputs/file-upload.html +12 -0
  385. package/components/web/inputs/radio-group.html +15 -0
  386. package/components/web/inputs/search-command.html +12 -0
  387. package/components/web/inputs/select.html +14 -0
  388. package/components/web/inputs/tag-input.html +15 -0
  389. package/components/web/inputs/text-input.html +11 -0
  390. package/components/web/inputs/textarea.html +11 -0
  391. package/components/web/inputs/toggle.html +11 -0
  392. package/components/web/job/candidate-profile.html +47 -0
  393. package/components/web/job/job-listing.html +44 -0
  394. package/components/web/job/resume-section.html +41 -0
  395. package/components/web/job/salary-range.html +19 -0
  396. package/components/web/layout/cta-banner.html +15 -0
  397. package/components/web/layout/features-grid.html +31 -0
  398. package/components/web/layout/hero-centered.html +19 -0
  399. package/components/web/layout/hero-split.html +21 -0
  400. package/components/web/layout/pricing-section.html +37 -0
  401. package/components/web/layout/stats-row.html +13 -0
  402. package/components/web/logos/logo-grid.html +20 -0
  403. package/components/web/logos/logo-ticker.html +19 -0
  404. package/components/web/marketing/cta-simple.html +18 -0
  405. package/components/web/marketing/cta-split.html +20 -0
  406. package/components/web/marketing/faq-accordion.html +55 -0
  407. package/components/web/marketing/feature-centered.html +35 -0
  408. package/components/web/marketing/feature-grid-2col.html +58 -0
  409. package/components/web/marketing/feature-grid-3col.html +44 -0
  410. package/components/web/marketing/footer-complex.html +86 -0
  411. package/components/web/marketing/footer-simple.html +59 -0
  412. package/components/web/marketing/hero-centered.html +44 -0
  413. package/components/web/marketing/hero-split-left.html +41 -0
  414. package/components/web/marketing/hero-split-right.html +35 -0
  415. package/components/web/marketing/logo-cloud.html +18 -0
  416. package/components/web/marketing/newsletter-signup.html +25 -0
  417. package/components/web/marketing/pricing-3tier.html +72 -0
  418. package/components/web/marketing/pricing-toggle.html +85 -0
  419. package/components/web/marketing/social-proof-bar.html +32 -0
  420. package/components/web/marketing/stats-row.html +45 -0
  421. package/components/web/marketing/team-grid.html +65 -0
  422. package/components/web/marketing/testimonial-carousel.html +45 -0
  423. package/components/web/marketing/testimonial-grid.html +75 -0
  424. package/components/web/media/blog-post-card.html +24 -0
  425. package/components/web/media/comment-single.html +26 -0
  426. package/components/web/media/image-gallery-grid.html +18 -0
  427. package/components/web/media/rich-text-block.html +20 -0
  428. package/components/web/media/testimonial-quote.html +20 -0
  429. package/components/web/media/video-player.html +44 -0
  430. package/components/web/menus/dropdown-menu.html +14 -0
  431. package/components/web/metrics/kpi-row.html +13 -0
  432. package/components/web/modals/modal-basic.html +21 -0
  433. package/components/web/modals/modal-form.html +22 -0
  434. package/components/web/navbars/breadcrumb.html +14 -0
  435. package/components/web/navbars/footer.html +35 -0
  436. package/components/web/navbars/sidebar-dark.html +21 -0
  437. package/components/web/navbars/sidebar.html +23 -0
  438. package/components/web/navbars/topnav-search.html +25 -0
  439. package/components/web/navbars/topnav.html +20 -0
  440. package/components/web/navigation/mega-menu.html +92 -0
  441. package/components/web/navigation/pagination.html +43 -0
  442. package/components/web/navigation/sidebar-collapsed.html +93 -0
  443. package/components/web/navigation/sidebar-expanded.html +121 -0
  444. package/components/web/navigation/stepper-horizontal.html +51 -0
  445. package/components/web/patterns/accordion.html +19 -0
  446. package/components/web/patterns/activity-feed.html +25 -0
  447. package/components/web/patterns/auth-login.html +24 -0
  448. package/components/web/patterns/avatar-group.html +13 -0
  449. package/components/web/patterns/calendar-month.html +44 -0
  450. package/components/web/patterns/category-pills.html +15 -0
  451. package/components/web/patterns/chat-web.html +24 -0
  452. package/components/web/patterns/code-editor.html +34 -0
  453. package/components/web/patterns/comparison-table.html +39 -0
  454. package/components/web/patterns/cookie-banner.html +14 -0
  455. package/components/web/patterns/error-page.html +16 -0
  456. package/components/web/patterns/file-list.html +24 -0
  457. package/components/web/patterns/filter-toolbar.html +14 -0
  458. package/components/web/patterns/kanban-column.html +27 -0
  459. package/components/web/patterns/notification-list.html +26 -0
  460. package/components/web/patterns/order-tracker.html +16 -0
  461. package/components/web/patterns/pagination.html +16 -0
  462. package/components/web/patterns/product-card-web.html +23 -0
  463. package/components/web/patterns/settings-form.html +24 -0
  464. package/components/web/patterns/stepper.html +16 -0
  465. package/components/web/patterns/user-table-row.html +15 -0
  466. package/components/web/patterns/video-player.html +26 -0
  467. package/components/web/presentation/slide-content.html +17 -0
  468. package/components/web/presentation/slide-title.html +13 -0
  469. package/components/web/pricing/pricing-table.html +51 -0
  470. package/components/web/pricing/pricing-toggle.html +62 -0
  471. package/components/web/print/business-card.html +20 -0
  472. package/components/web/products/product-card-horizontal.html +19 -0
  473. package/components/web/products/product-detail.html +39 -0
  474. package/components/web/products/product-grid.html +13 -0
  475. package/components/web/products/review-section.html +29 -0
  476. package/components/web/promotions/coupon-card.html +17 -0
  477. package/components/web/promotions/promo-banner.html +24 -0
  478. package/components/web/real-estate/agent-contact.html +32 -0
  479. package/components/web/real-estate/listing-detail-hero.html +44 -0
  480. package/components/web/real-estate/price-range-slider.html +20 -0
  481. package/components/web/real-estate/property-card.html +38 -0
  482. package/components/web/real-estate/property-map-pin.html +19 -0
  483. package/components/web/real-estate/virtual-tour-button.html +17 -0
  484. package/components/web/saas/api-key-row.html +31 -0
  485. package/components/web/saas/audit-log-row.html +21 -0
  486. package/components/web/saas/billing-plan.html +50 -0
  487. package/components/web/saas/kpi-row.html +61 -0
  488. package/components/web/saas/team-member-row.html +30 -0
  489. package/components/web/saas/webhook-config.html +44 -0
  490. package/components/web/screenshots/app-screenshot.html +32 -0
  491. package/components/web/screenshots/screenshot-gallery.html +45 -0
  492. package/components/web/social/comment-thread.html +75 -0
  493. package/components/web/social-media/instagram-post.html +17 -0
  494. package/components/web/social-proof/logo-cloud.html +18 -0
  495. package/components/web/social-proof/testimonial-carousel.html +30 -0
  496. package/components/web/surfaces/slide-over.html +20 -0
  497. package/components/web/tables/data-table.html +41 -0
  498. package/components/web/tables/table-simple.html +13 -0
  499. package/components/web/tabs/tabs-pills.html +12 -0
  500. package/components/web/tabs/tabs-underline.html +13 -0
  501. package/components/web/toggles/toggle-dark-mode.html +19 -0
  502. package/components/web/toggles/toggle-group.html +38 -0
  503. package/components/web/toggles/toggle-switch.html +14 -0
  504. package/components/web/widgets/api-key-row.html +16 -0
  505. package/components/web/widgets/billing-card.html +14 -0
  506. package/components/web/widgets/changelog-item.html +15 -0
  507. package/components/web/widgets/integration-card.html +15 -0
  508. package/components/web/widgets/onboarding-checklist.html +18 -0
  509. package/components/web/widgets/pricing-toggle.html +13 -0
  510. package/components/web/widgets/team-member-row.html +13 -0
  511. package/components/web/widgets/usage-meter.html +12 -0
  512. package/package.json +46 -0
  513. package/skills/README.md +35 -0
  514. package/skills/contribute.md +267 -0
  515. package/skills/design.md +470 -0
  516. package/skills/flutter.md +156 -0
  517. package/skills/nextjs.md +143 -0
  518. package/skills/react-native.md +258 -0
  519. package/skills/react.md +171 -0
  520. package/skills/svelte.md +95 -0
  521. package/skills/swiftui.md +171 -0
  522. package/skills/tailwind.md +108 -0
  523. package/skills/vue.md +111 -0
  524. package/src/commands/add.js +51 -0
  525. package/src/commands/convert.js +120 -0
  526. package/src/commands/design.js +89 -0
  527. package/src/commands/init.js +136 -0
  528. package/src/commands/list.js +52 -0
  529. package/src/commands/search.js +40 -0
  530. package/src/lib/index.js +100 -0
@@ -0,0 +1,143 @@
1
+ # Skill: Next.js (App Router + TypeScript)
2
+
3
+ Build, design, and convert DesignKit UI using Next.js App Router.
4
+
5
+ ## Your role
6
+
7
+ You are a Next.js developer with strong UI skills.
8
+ You can:
9
+ - **Design** a page or layout from scratch using the token system
10
+ - **Convert** a DesignKit HTML file into App Router pages + components
11
+ - **Build** a full feature (auth flow, dashboard, marketing page, API route + UI, etc.)
12
+
13
+ Read the request and determine which mode applies.
14
+
15
+ ## Token file (output to `lib/tokens.ts`)
16
+
17
+ ```ts
18
+ // lib/tokens.ts
19
+ export const t = {
20
+ primary: '#6366F1',
21
+ primaryText: '#FFFFFF',
22
+ secondary: '#64748B',
23
+ accent: '#F59E0B',
24
+ bg: '#FFFFFF',
25
+ surface: '#F8FAFC',
26
+ surface2: '#F1F5F9',
27
+ text: '#0F172A',
28
+ text2: '#475569',
29
+ text3: '#94A3B8',
30
+ border: '#E2E8F0',
31
+ borderStrong: '#CBD5E1',
32
+ success: '#22C55E',
33
+ error: '#EF4444',
34
+ warning: '#F59E0B',
35
+ radius: '10px',
36
+ radiusSm: '6px',
37
+ radiusLg: '14px',
38
+ radiusFull: '9999px',
39
+ shadow: '0 4px 12px rgba(0,0,0,0.10)',
40
+ shadowSm: '0 1px 3px rgba(0,0,0,0.08)',
41
+ shadowLg: '0 8px 32px rgba(0,0,0,0.12)',
42
+ font: "'Inter', system-ui, sans-serif",
43
+ } as const
44
+
45
+ export type Tokens = typeof t
46
+ ```
47
+
48
+ ## Output structure
49
+
50
+ ```
51
+ src/
52
+ ├── app/
53
+ │ ├── layout.tsx ← RootLayout with font + global tokens
54
+ │ ├── globals.css ← :root { --kit-* } + reset
55
+ │ └── [page-name]/
56
+ │ └── page.tsx ← Page Server Component
57
+ ├── components/
58
+ │ ├── ui/
59
+ │ │ ├── Button.tsx
60
+ │ │ ├── Card.tsx
61
+ │ │ └── ...
62
+ │ └── layout/
63
+ │ ├── Navbar.tsx
64
+ │ └── Sidebar.tsx
65
+ └── lib/
66
+ └── tokens.ts
67
+ ```
68
+
69
+ ## Component rules
70
+
71
+ ```tsx
72
+ // Server Component (default — no interactivity)
73
+ import { t } from '@/lib/tokens'
74
+
75
+ export default function Page() {
76
+ return (
77
+ <main style={{ background: t.bg, minHeight: '100vh' }}>
78
+ ...
79
+ </main>
80
+ )
81
+ }
82
+ ```
83
+
84
+ ```tsx
85
+ // Client Component (needs useState, onClick, etc.)
86
+ 'use client'
87
+ import { useState } from 'react'
88
+ import { t } from '@/lib/tokens'
89
+
90
+ export default function InteractiveWidget() {
91
+ const [open, setOpen] = useState(false)
92
+ ...
93
+ }
94
+ ```
95
+
96
+ ## Rules
97
+
98
+ - **App Router** — never use `pages/` directory
99
+ - **Server Components by default** — only add `'use client'` when needed
100
+ - **`next/link`** for all internal `<a>` tags
101
+ - **`next/image`** for all `<img>` tags, add `width` + `height`
102
+ - **No Tailwind unless asked** — use inline `style={{}}` with `t.*` tokens
103
+ - **TypeScript** everywhere — all props typed
104
+ - **Import tokens from `@/lib/tokens`** — never hardcode hex
105
+
106
+ ## globals.css
107
+
108
+ ```css
109
+ /* app/globals.css */
110
+ :root {
111
+ --kit-primary: #6366F1;
112
+ --kit-bg: #FFFFFF;
113
+ --kit-surface: #F8FAFC;
114
+ --kit-text: #0F172A;
115
+ --kit-text-2: #475569;
116
+ --kit-border: #E2E8F0;
117
+ --kit-radius: 10px;
118
+ --kit-font: 'Inter', system-ui, sans-serif;
119
+ }
120
+
121
+ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
122
+ body { font-family: var(--kit-font); background: var(--kit-bg); color: var(--kit-text); }
123
+ ```
124
+
125
+ ## Example prompt
126
+
127
+ ```
128
+ Read AI-AGENT.md and skills/nextjs.md, then:
129
+
130
+ Design and build a SaaS dashboard with:
131
+ - Sidebar navigation (Logo, 5 menu items, user avatar at bottom)
132
+ - Top header (page title, search, notifications)
133
+ - KPI row (4 stat cards: Revenue, Users, Churn, MRR)
134
+ - Area chart placeholder
135
+ - Recent activity table (5 rows)
136
+
137
+ Output files:
138
+ - src/app/dashboard/page.tsx
139
+ - src/components/layout/Sidebar.tsx
140
+ - src/components/layout/Header.tsx
141
+ - src/components/ui/StatCard.tsx
142
+ - src/lib/tokens.ts
143
+ ```
@@ -0,0 +1,258 @@
1
+ # Skill: React Native (TypeScript)
2
+
3
+ Build, design, and convert DesignKit UI using React Native.
4
+
5
+ ## Your role
6
+
7
+ You are a React Native developer with strong UI skills.
8
+ You can:
9
+ - **Design** a screen from scratch in React Native using the token system
10
+ - **Convert** a DesignKit HTML file to React Native components
11
+ - **Build** a full feature (auth flow, tab navigation, list screen, etc.)
12
+
13
+ Read the request and determine which mode applies.
14
+
15
+ ---
16
+
17
+ ## Token file (`src/tokens.ts`)
18
+
19
+ Always output this file. Import from it everywhere — never hardcode colors or sizes.
20
+
21
+ ```ts
22
+ import { Platform } from 'react-native'
23
+
24
+ export const t = {
25
+ // Colors
26
+ primary: '#6366F1',
27
+ primaryText: '#FFFFFF',
28
+ secondary: '#64748B',
29
+ accent: '#F59E0B',
30
+ bg: '#FFFFFF',
31
+ surface: '#F8FAFC',
32
+ surface2: '#F1F5F9',
33
+ text: '#0F172A',
34
+ text2: '#475569',
35
+ text3: '#94A3B8',
36
+ border: '#E2E8F0',
37
+ success: '#22C55E',
38
+ error: '#EF4444',
39
+ warning: '#F59E0B',
40
+
41
+ // Border radius
42
+ radiusSm: 6,
43
+ radius: 10,
44
+ radiusLg: 14,
45
+ radiusXl: 20,
46
+ radiusFull: 9999,
47
+
48
+ // Spacing
49
+ space1: 4,
50
+ space2: 8,
51
+ space3: 12,
52
+ space4: 16,
53
+ space5: 20,
54
+ space6: 24,
55
+ space8: 32,
56
+ space10: 40,
57
+
58
+ // Font sizes
59
+ textXs: 11,
60
+ textSm: 13,
61
+ textMd: 15,
62
+ textLg: 17,
63
+ textXl: 20,
64
+ text2xl: 24,
65
+ text3xl: 32,
66
+ text4xl: 48,
67
+
68
+ // Platform shadows
69
+ shadowSm: Platform.select({
70
+ ios: { shadowColor: '#000', shadowOffset: { width: 0, height: 1 }, shadowOpacity: 0.08, shadowRadius: 3 },
71
+ android: { elevation: 2 },
72
+ default: {},
73
+ }),
74
+ shadow: Platform.select({
75
+ ios: { shadowColor: '#000', shadowOffset: { width: 0, height: 4 }, shadowOpacity: 0.10, shadowRadius: 12 },
76
+ android: { elevation: 4 },
77
+ default: {},
78
+ }),
79
+ } as const
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Component structure
85
+
86
+ ```tsx
87
+ import React, { useState } from 'react'
88
+ import {
89
+ View, Text, ScrollView, Pressable, TextInput,
90
+ StyleSheet, SafeAreaView, Image, FlatList,
91
+ } from 'react-native'
92
+ import { t } from '../tokens'
93
+
94
+ interface Props {
95
+ // typed props
96
+ }
97
+
98
+ export default function ScreenName({ }: Props) {
99
+ return (
100
+ <SafeAreaView style={s.safe}>
101
+ <ScrollView style={s.scroll} showsVerticalScrollIndicator={false}>
102
+ {/* content */}
103
+ </ScrollView>
104
+ </SafeAreaView>
105
+ )
106
+ }
107
+
108
+ const s = StyleSheet.create({
109
+ safe: { flex: 1, backgroundColor: t.bg },
110
+ scroll: { flex: 1 },
111
+ })
112
+ ```
113
+
114
+ ---
115
+
116
+ ## HTML → React Native mapping
117
+
118
+ | HTML / CSS | React Native |
119
+ |------------|-------------|
120
+ | `<div>` | `<View>` |
121
+ | `display: flex` (default column) | `<View style={{ flexDirection: 'row' }}>` for row |
122
+ | `<p>`, `<span>`, `<h1>` | `<Text>` |
123
+ | `<img>` | `<Image source={{ uri: '...' }} style={{ width, height }} />` |
124
+ | `<button>` | `<Pressable>` |
125
+ | `<input>` | `<TextInput>` |
126
+ | `<a>` | `<Pressable onPress={() => navigation.navigate('X')}>` |
127
+ | `overflow-y: scroll` | `<ScrollView>` |
128
+ | list of items | `<FlatList data={} renderItem={} keyExtractor={} />` |
129
+ | `position: fixed; bottom: 0` | `<View style={{ position: 'absolute', bottom: 0, left: 0, right: 0 }}>` |
130
+ | `border-radius: 10px` | `borderRadius: 10` (no `px`) |
131
+ | `padding: 16px` | `padding: 16` (no `px`) |
132
+ | `gap: 8px` in flex | `gap: 8` (RN 0.71+) or `marginBottom` per item |
133
+ | `flex: 1` | `flex: 1` |
134
+ | `width: 100%` | `alignSelf: 'stretch'` or `flex: 1` |
135
+
136
+ ---
137
+
138
+ ## Common patterns
139
+
140
+ ### Card
141
+ ```tsx
142
+ <View style={s.card}>
143
+ <Text style={s.cardTitle}>Title</Text>
144
+ <Text style={s.cardSub}>Subtitle</Text>
145
+ </View>
146
+
147
+ // styles
148
+ card: {
149
+ backgroundColor: t.surface,
150
+ borderRadius: t.radiusLg,
151
+ padding: t.space4,
152
+ borderWidth: 1,
153
+ borderColor: t.border,
154
+ ...t.shadowSm,
155
+ },
156
+ cardTitle: { fontSize: t.textMd, fontWeight: '600', color: t.text },
157
+ cardSub: { fontSize: t.textSm, color: t.text2, marginTop: 4 },
158
+ ```
159
+
160
+ ### Primary button
161
+ ```tsx
162
+ <Pressable
163
+ style={({ pressed }) => [s.btn, pressed && s.btnPressed]}
164
+ onPress={onPress}
165
+ >
166
+ <Text style={s.btnLabel}>{label}</Text>
167
+ </Pressable>
168
+
169
+ // styles
170
+ btn: { height: 48, backgroundColor: t.primary, borderRadius: t.radius, alignItems: 'center', justifyContent: 'center' },
171
+ btnPressed: { opacity: 0.85 },
172
+ btnLabel: { fontSize: t.textMd, fontWeight: '600', color: t.primaryText },
173
+ ```
174
+
175
+ ### List item
176
+ ```tsx
177
+ <Pressable style={s.item}>
178
+ <View style={s.iconWrap}>
179
+ {/* icon */}
180
+ </View>
181
+ <View style={s.itemBody}>
182
+ <Text style={s.itemTitle}>Label</Text>
183
+ <Text style={s.itemSub}>Subtitle</Text>
184
+ </View>
185
+ <Text style={s.itemTrail}>Value</Text>
186
+ </Pressable>
187
+
188
+ // styles
189
+ item: { flexDirection: 'row', alignItems: 'center', gap: t.space3, paddingVertical: t.space3, borderBottomWidth: 1, borderBottomColor: t.border },
190
+ iconWrap: { width: 40, height: 40, borderRadius: t.radiusFull, backgroundColor: t.surface2, alignItems: 'center', justifyContent: 'center' },
191
+ itemBody: { flex: 1 },
192
+ itemTitle:{ fontSize: t.textMd, fontWeight: '500', color: t.text },
193
+ itemSub: { fontSize: t.textSm, color: t.text2, marginTop: 2 },
194
+ itemTrail:{ fontSize: t.textSm, color: t.text3 },
195
+ ```
196
+
197
+ ### Gradient card (react-native-linear-gradient)
198
+ ```tsx
199
+ import LinearGradient from 'react-native-linear-gradient'
200
+
201
+ <LinearGradient colors={['#6366F1', '#8B5CF6']} style={s.gradCard}>
202
+ <Text style={s.gradLabel}>Total Balance</Text>
203
+ <Text style={s.gradAmount}>$12,450</Text>
204
+ <Text style={s.gradSub}>↑ 12.5% from last month</Text>
205
+ </LinearGradient>
206
+
207
+ // styles
208
+ gradCard: { borderRadius: t.radiusXl, padding: t.space6 },
209
+ gradLabel: { fontSize: t.textSm, color: 'rgba(255,255,255,0.8)', marginBottom: 8 },
210
+ gradAmount: { fontSize: t.text4xl, fontWeight: '700', color: '#fff', letterSpacing: -1 },
211
+ gradSub: { fontSize: t.textSm, color: 'rgba(255,255,255,0.7)', marginTop: 4 },
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Rules
217
+
218
+ - **`StyleSheet.create()`** — all styles here, named short (`s`)
219
+ - **`SafeAreaView`** on every screen root
220
+ - **`Pressable`** over `TouchableOpacity` for new code
221
+ - **`Platform.select()`** for shadow (iOS vs Android elevation)
222
+ - **No `px` units** — unitless numbers only
223
+ - **`flex: 1`** instead of `width: '100%'`
224
+ - **`FlatList`** for long lists — not `ScrollView` + `map()`
225
+ - **TypeScript** — all props and state typed
226
+
227
+ ---
228
+
229
+ ## Example prompts
230
+
231
+ **Design from scratch:**
232
+ ```
233
+ Read AI-AGENT.md and skills/react-native.md, then design and build
234
+ a finance app home screen in React Native:
235
+ - iOS safe area, status bar
236
+ - Gradient balance card (indigo → purple), balance $12,450
237
+ - Quick actions row: Send, Receive, Pay, More
238
+ - Recent transactions FlatList (5 items: icon, name, date, amount)
239
+ - Bottom tab bar: Home, Cards, Analytics, Profile
240
+
241
+ Output:
242
+ - src/screens/HomeScreen.tsx
243
+ - src/tokens.ts
244
+ ```
245
+
246
+ **Convert from HTML:**
247
+ ```
248
+ Read skills/react-native.md, then convert output/finance-home.html
249
+ to React Native. Mobile screen, iOS target.
250
+ Output to src/screens/HomeScreen.tsx
251
+ ```
252
+
253
+ **Build a feature:**
254
+ ```
255
+ Read skills/react-native.md, then build a complete auth flow
256
+ in React Native: Splash → Onboarding (3 steps) → Login → Home.
257
+ Use React Navigation stack. Output all screens + navigator.
258
+ ```
@@ -0,0 +1,171 @@
1
+ # Skill: React (TypeScript)
2
+
3
+ Build, design, and convert DesignKit UI using React TypeScript.
4
+
5
+ ## Your role
6
+
7
+ You are a React developer with strong UI skills.
8
+ You can:
9
+ - **Design** a component or page from scratch using the token system
10
+ - **Convert** a DesignKit HTML file to React components
11
+ - **Build** a full feature (auth form, dashboard layout, data table, etc.)
12
+
13
+ Read the request and determine which mode applies.
14
+
15
+ ## Styling approach
16
+
17
+ Use whichever the user specifies. If not specified, default to **CSS Modules**.
18
+
19
+ ### Option A — CSS Modules (default)
20
+
21
+ ```tsx
22
+ // Button.tsx
23
+ import styles from './Button.module.css'
24
+
25
+ export default function Button({ label }: { label: string }) {
26
+ return <button className={styles.btn}>{label}</button>
27
+ }
28
+ ```
29
+
30
+ ```css
31
+ /* Button.module.css */
32
+ .btn {
33
+ height: 40px;
34
+ padding: 0 20px;
35
+ background: var(--kit-primary, #6366F1);
36
+ color: var(--kit-primary-text, #fff);
37
+ border-radius: var(--kit-radius, 10px);
38
+ border: none;
39
+ font-size: 13px;
40
+ font-weight: 500;
41
+ cursor: pointer;
42
+ }
43
+ ```
44
+
45
+ Keep `var(--kit-*)` in CSS — tokens stay in one place, easy to retheme.
46
+
47
+ ### Option B — Tailwind CSS
48
+
49
+ ```tsx
50
+ export default function Button({ label }: { label: string }) {
51
+ return (
52
+ <button className="h-10 px-5 bg-indigo-500 text-white text-sm font-medium rounded-lg hover:bg-indigo-600 transition-colors">
53
+ {label}
54
+ </button>
55
+ )
56
+ }
57
+ ```
58
+
59
+ Use Tailwind utility classes. Map `--kit-*` → Tailwind scale (see [skills/tailwind.md](tailwind.md)).
60
+
61
+ ### Option C — inline styles + token object
62
+
63
+ Use when zero build config is preferred, or when converting HTML 1:1.
64
+
65
+ ```tsx
66
+ const t = {
67
+ primary: '#6366F1',
68
+ primaryText: '#FFFFFF',
69
+ bg: '#FFFFFF',
70
+ surface: '#F8FAFC',
71
+ text: '#0F172A',
72
+ text2: '#475569',
73
+ text3: '#94A3B8',
74
+ border: '#E2E8F0',
75
+ radius: '10px',
76
+ shadow: '0 4px 12px rgba(0,0,0,0.10)',
77
+ font: "'Inter', system-ui, sans-serif",
78
+ } as const
79
+
80
+ export default function Button({ label }: { label: string }) {
81
+ return (
82
+ <button style={{
83
+ height: 40,
84
+ padding: '0 20px',
85
+ background: t.primary,
86
+ color: t.primaryText,
87
+ borderRadius: t.radius,
88
+ border: 'none',
89
+ fontSize: 13,
90
+ fontWeight: 500,
91
+ cursor: 'pointer',
92
+ }}>
93
+ {label}
94
+ </button>
95
+ )
96
+ }
97
+ ```
98
+
99
+ ### Option D — styled-components / Emotion
100
+
101
+ ```tsx
102
+ import styled from 'styled-components'
103
+
104
+ const Btn = styled.button`
105
+ height: 40px;
106
+ padding: 0 20px;
107
+ background: var(--kit-primary, #6366F1);
108
+ color: var(--kit-primary-text, #fff);
109
+ border-radius: var(--kit-radius, 10px);
110
+ border: none;
111
+ font-size: 13px;
112
+ font-weight: 500;
113
+ cursor: pointer;
114
+ `
115
+
116
+ export default function Button({ label }: { label: string }) {
117
+ return <Btn>{label}</Btn>
118
+ }
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Output format (CSS Modules default)
124
+
125
+ ```tsx
126
+ import React, { useState } from 'react'
127
+ import styles from './ComponentName.module.css'
128
+
129
+ interface Props {
130
+ // typed props here
131
+ }
132
+
133
+ export default function ComponentName({ ...props }: Props) {
134
+ // state here
135
+
136
+ return (
137
+ <div className={styles.root}>
138
+ {/* JSX here */}
139
+ </div>
140
+ )
141
+ }
142
+ ```
143
+
144
+ ## Rules
145
+
146
+ - **TypeScript** — all props typed with `interface`
147
+ - **Semantic HTML** — `<button>`, `<nav>`, `<header>`, `<ul>/<li>`, `<a>`
148
+ - **No hardcoded hex** — reference tokens via `var(--kit-*)` in CSS, or `t.*` in inline styles
149
+ - **Split large screens** — extract repeated patterns into sub-components
150
+ - **Images** — `<img src="https://placehold.jp/400x300.png" alt="..." />`
151
+ - One file output unless the user asks for multiple files
152
+
153
+ ## Example prompts
154
+
155
+ ```
156
+ Read skills/react.md, then convert output/dashboard.html
157
+ to React components using CSS Modules.
158
+ Output to src/components/Dashboard/
159
+ ```
160
+
161
+ ```
162
+ Read skills/react.md, then convert output/dashboard.html
163
+ to React + Tailwind.
164
+ Output to src/components/Dashboard.tsx
165
+ ```
166
+
167
+ ```
168
+ Read AI-AGENT.md and skills/react.md, then design and build
169
+ a finance app home screen in React with styled-components.
170
+ Output to src/screens/HomeScreen.tsx
171
+ ```
@@ -0,0 +1,95 @@
1
+ # Skill: Svelte 5 (Runes)
2
+
3
+ Build, design, and convert DesignKit UI using Svelte 5.
4
+
5
+ ## Your role
6
+
7
+ You are a Svelte 5 developer with strong UI skills.
8
+ You can:
9
+ - **Design** a component or page from scratch using the token system
10
+ - **Convert** a DesignKit HTML file to Svelte components
11
+ - **Build** a full feature (auth flow, dashboard, interactive form, etc.)
12
+
13
+ Read the request and determine which mode applies.
14
+
15
+ ## Token module (`src/lib/tokens.ts`)
16
+
17
+ ```ts
18
+ export const t = {
19
+ primary: '#6366F1',
20
+ primaryText: '#FFFFFF',
21
+ bg: '#FFFFFF',
22
+ surface: '#F8FAFC',
23
+ text: '#0F172A',
24
+ text2: '#475569',
25
+ text3: '#94A3B8',
26
+ border: '#E2E8F0',
27
+ radius: '10px',
28
+ radiusSm: '6px',
29
+ radiusLg: '14px',
30
+ shadow: '0 4px 12px rgba(0,0,0,0.10)',
31
+ font: "'Inter', system-ui, sans-serif",
32
+ } as const
33
+ ```
34
+
35
+ ## Output format
36
+
37
+ ```svelte
38
+ <script lang="ts">
39
+ import { t } from '$lib/tokens'
40
+
41
+ // Svelte 5 runes
42
+ let { title = 'Default', onclick }: {
43
+ title?: string
44
+ onclick?: () => void
45
+ } = $props()
46
+
47
+ let isOpen = $state(false)
48
+ let label = $derived(isOpen ? 'Close' : 'Open')
49
+ </script>
50
+
51
+ <div style:font-family={t.font} style:background={t.bg} style:color={t.text}>
52
+ <!-- markup here -->
53
+ </div>
54
+ ```
55
+
56
+ ## Svelte style directives
57
+
58
+ Use `style:property={value}` instead of `:style="{}"`
59
+
60
+ ```svelte
61
+ <!-- preferred -->
62
+ <div
63
+ style:background={t.surface}
64
+ style:border-radius={t.radius}
65
+ style:padding="16px"
66
+ >
67
+
68
+ <!-- also valid for dynamic objects -->
69
+ <div style={`background:${t.primary};color:${t.primaryText}`}>
70
+ ```
71
+
72
+ ## Rules
73
+
74
+ - **Svelte 5 Runes** — `$state`, `$derived`, `$props`, `$effect`
75
+ - **`style:property`** directive — not `style=""` string
76
+ - **`{#each}` with `{#key}`** for lists
77
+ - **`{#if}` / `{:else}`** for conditionals
78
+ - **`<a href="">` with SvelteKit** → use `<a>` (SvelteKit handles routing)
79
+ - **No class-based CSS** — inline styles only
80
+
81
+ ## Example prompt
82
+
83
+ ```
84
+ Read AI-AGENT.md and skills/svelte.md, then:
85
+
86
+ Design and build a pricing section for a SaaS app in Svelte 5:
87
+ - Monthly/Annual toggle (saves 20%)
88
+ - 3 pricing tiers: Starter $9, Pro $29 (highlighted), Enterprise $99
89
+ - Feature list per tier
90
+ - CTA button per tier
91
+
92
+ Output:
93
+ - src/lib/components/PricingSection.svelte
94
+ - src/lib/tokens.ts
95
+ ```