@goldencomm/create-baseline 0.0.1 → 0.1.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 (756) hide show
  1. package/README.md +18 -79
  2. package/index.mjs +175 -283
  3. package/package.json +13 -30
  4. package/templates/ci/bitbucket-pipelines.yml +29 -0
  5. package/templates/code-connect/accordion-item.figma.ts +45 -0
  6. package/templates/code-connect/accordion.figma.ts +40 -0
  7. package/templates/code-connect/alert.figma.ts +378 -0
  8. package/templates/code-connect/avatar-badge.figma.ts +14 -0
  9. package/templates/code-connect/avatar-group-count.figma.ts +16 -0
  10. package/templates/code-connect/avatar-group.figma.ts +30 -0
  11. package/templates/code-connect/avatar.figma.ts +34 -0
  12. package/templates/code-connect/badge.figma.ts +383 -0
  13. package/templates/code-connect/breadcrumb-item.figma.ts +23 -0
  14. package/templates/code-connect/breadcrumb-separator.figma.ts +12 -0
  15. package/templates/code-connect/breadcrumb.figma.ts +32 -0
  16. package/templates/code-connect/button-group.figma.ts +28 -0
  17. package/templates/code-connect/button.figma.ts +408 -0
  18. package/templates/code-connect/card.figma.ts +74 -0
  19. package/templates/code-connect/carousel.figma.ts +27 -0
  20. package/templates/code-connect/checkbox.figma.ts +34 -0
  21. package/templates/code-connect/columns-1.figma.ts +43 -0
  22. package/templates/code-connect/columns-2.figma.ts +49 -0
  23. package/templates/code-connect/columns-3.figma.ts +45 -0
  24. package/templates/code-connect/columns-4.figma.ts +46 -0
  25. package/templates/code-connect/container.figma.ts +42 -0
  26. package/templates/code-connect/dialog.figma.ts +72 -0
  27. package/templates/code-connect/drawer.figma.ts +69 -0
  28. package/templates/code-connect/dropdown-menu-checkbox-item.figma.ts +19 -0
  29. package/templates/code-connect/dropdown-menu-item.figma.ts +25 -0
  30. package/templates/code-connect/dropdown-menu-label.figma.ts +16 -0
  31. package/templates/code-connect/dropdown-menu-radio-item.figma.ts +19 -0
  32. package/templates/code-connect/dropdown-menu-separator.figma.ts +12 -0
  33. package/templates/code-connect/dropdown-menu-sub-trigger.figma.ts +22 -0
  34. package/templates/code-connect/dropdown-menu.figma.ts +44 -0
  35. package/templates/code-connect/field-horizontal.figma.ts +73 -0
  36. package/templates/code-connect/field.figma.ts +68 -0
  37. package/templates/code-connect/hover-card.figma.ts +41 -0
  38. package/templates/code-connect/icon-button.figma.ts +382 -0
  39. package/templates/code-connect/input-group.figma.ts +51 -0
  40. package/templates/code-connect/input-otp.figma.ts +40 -0
  41. package/templates/code-connect/input.figma.ts +42 -0
  42. package/templates/code-connect/item-group.figma.ts +30 -0
  43. package/templates/code-connect/item.figma.ts +50 -0
  44. package/templates/code-connect/kbd.figma.ts +16 -0
  45. package/templates/code-connect/media.figma.ts +35 -0
  46. package/templates/code-connect/meter.figma.ts +31 -0
  47. package/templates/code-connect/native-select.figma.ts +36 -0
  48. package/templates/code-connect/navigation-menu-link.figma.ts +33 -0
  49. package/templates/code-connect/navigation-menu-trigger.figma.ts +28 -0
  50. package/templates/code-connect/navigation-menu.figma.ts +30 -0
  51. package/templates/code-connect/pagination-ellipsis.figma.ts +11 -0
  52. package/templates/code-connect/pagination-link.figma.ts +24 -0
  53. package/templates/code-connect/pagination-next.figma.ts +17 -0
  54. package/templates/code-connect/pagination-previous.figma.ts +17 -0
  55. package/templates/code-connect/pagination.figma.ts +33 -0
  56. package/templates/code-connect/panel.figma.ts +40 -0
  57. package/templates/code-connect/popover.figma.ts +58 -0
  58. package/templates/code-connect/progress.figma.ts +34 -0
  59. package/templates/code-connect/radio.figma.ts +29 -0
  60. package/templates/code-connect/section.figma.ts +42 -0
  61. package/templates/code-connect/select.figma.ts +30 -0
  62. package/templates/code-connect/sheet.figma.ts +70 -0
  63. package/templates/code-connect/sidebar-menu-button.figma.ts +36 -0
  64. package/templates/code-connect/sidebar.figma.ts +44 -0
  65. package/templates/code-connect/spinner.figma.ts +13 -0
  66. package/templates/code-connect/switch.figma.ts +32 -0
  67. package/templates/code-connect/table-cell.figma.ts +21 -0
  68. package/templates/code-connect/table.figma.ts +62 -0
  69. package/templates/code-connect/tabs-trigger.figma.ts +369 -0
  70. package/templates/code-connect/tabs.figma.ts +28 -0
  71. package/templates/code-connect/textarea.figma.ts +32 -0
  72. package/templates/code-connect/toggle-group.figma.ts +24 -0
  73. package/templates/code-connect/toggle.figma.ts +385 -0
  74. package/templates/code-connect/tooltip.figma.ts +29 -0
  75. package/templates/next/app/globals.css +13 -12
  76. package/templates/next/app/page.tsx +38 -26
  77. package/templates/next/public/placeholder.svg +1 -0
  78. package/templates/shopify/.gitattributes +1 -0
  79. package/templates/shopify/.shopifyignore +23 -0
  80. package/templates/shopify/.theme-check.yml +1 -0
  81. package/templates/shopify/CODE_OF_CONDUCT.md +132 -0
  82. package/templates/shopify/CONTRIBUTING.md +24 -0
  83. package/templates/shopify/LICENSE.md +9 -0
  84. package/templates/shopify/README.md +160 -0
  85. package/templates/shopify/assets/carousel.js +2 -0
  86. package/templates/shopify/assets/critical.css +117 -0
  87. package/templates/shopify/assets/icon-account.svg +6 -0
  88. package/templates/shopify/assets/icon-cart.svg +5 -0
  89. package/templates/shopify/assets/predictive-search.js +65 -0
  90. package/templates/shopify/assets/shoppy-x-ray.svg +1 -0
  91. package/templates/shopify/blocks/_accordion-item.liquid +44 -0
  92. package/templates/shopify/blocks/_card-footer.liquid +26 -0
  93. package/templates/shopify/blocks/_carousel-slide.liquid +21 -0
  94. package/templates/shopify/blocks/_column.liquid +30 -0
  95. package/templates/shopify/blocks/_dialog-footer.liquid +28 -0
  96. package/templates/shopify/blocks/_sheet-footer.liquid +28 -0
  97. package/templates/shopify/blocks/_tab.liquid +21 -0
  98. package/templates/shopify/blocks/accordion.liquid +40 -0
  99. package/templates/shopify/blocks/blog-posts.liquid +70 -0
  100. package/templates/shopify/blocks/button.figma.ts +359 -0
  101. package/templates/shopify/blocks/button.liquid +477 -0
  102. package/templates/shopify/blocks/card.liquid +73 -0
  103. package/templates/shopify/blocks/carousel.liquid +47 -0
  104. package/templates/shopify/blocks/columns.liquid +73 -0
  105. package/templates/shopify/blocks/contact-form.liquid +69 -0
  106. package/templates/shopify/blocks/container.liquid +29 -0
  107. package/templates/shopify/blocks/dialog.liquid +77 -0
  108. package/templates/shopify/blocks/group.liquid +105 -0
  109. package/templates/shopify/blocks/heading.liquid +57 -0
  110. package/templates/shopify/blocks/icon-button.figma.ts +358 -0
  111. package/templates/shopify/blocks/media.liquid +80 -0
  112. package/templates/shopify/blocks/navigation-menu.liquid +23 -0
  113. package/templates/shopify/blocks/panel.liquid +64 -0
  114. package/templates/shopify/blocks/popover.liquid +88 -0
  115. package/templates/shopify/blocks/section-heading.liquid +68 -0
  116. package/templates/shopify/blocks/sheet.liquid +90 -0
  117. package/templates/shopify/blocks/tabs.liquid +58 -0
  118. package/templates/shopify/blocks/text.liquid +59 -0
  119. package/templates/shopify/build-js.mjs +22 -0
  120. package/templates/shopify/config/settings_data.json +182 -0
  121. package/templates/shopify/config/settings_schema.json +365 -0
  122. package/templates/shopify/layout/password.liquid +19 -0
  123. package/templates/shopify/layout/theme.liquid +57 -0
  124. package/templates/shopify/locales/en.default.json +58 -0
  125. package/templates/shopify/locales/en.default.schema.json +303 -0
  126. package/templates/shopify/package-lock.json +521 -0
  127. package/templates/shopify/package.json +17 -0
  128. package/templates/shopify/sections/404.liquid +23 -0
  129. package/templates/shopify/sections/article.liquid +81 -0
  130. package/templates/shopify/sections/baseline-header.liquid +236 -0
  131. package/templates/shopify/sections/baseline-kitchen-sink.liquid +988 -0
  132. package/templates/shopify/sections/baseline-section.liquid +661 -0
  133. package/templates/shopify/sections/blog.liquid +36 -0
  134. package/templates/shopify/sections/cart.liquid +65 -0
  135. package/templates/shopify/sections/collection.liquid +54 -0
  136. package/templates/shopify/sections/collections.liquid +83 -0
  137. package/templates/shopify/sections/custom-section.liquid +60 -0
  138. package/templates/shopify/sections/footer-group.json +25 -0
  139. package/templates/shopify/sections/footer.liquid +57 -0
  140. package/templates/shopify/sections/header-group.json +22 -0
  141. package/templates/shopify/sections/page.liquid +18 -0
  142. package/templates/shopify/sections/password.liquid +36 -0
  143. package/templates/shopify/sections/product.liquid +60 -0
  144. package/templates/shopify/sections/search.liquid +73 -0
  145. package/templates/shopify/snippets/accordion-item.figma.ts +34 -0
  146. package/templates/shopify/snippets/accordion-item.liquid +36 -0
  147. package/templates/shopify/snippets/accordion.figma.ts +37 -0
  148. package/templates/shopify/snippets/accordion.liquid +169 -0
  149. package/templates/shopify/snippets/alert.figma.ts +31 -0
  150. package/templates/shopify/snippets/alert.liquid +104 -0
  151. package/templates/shopify/snippets/avatar-group.figma.ts +17 -0
  152. package/templates/shopify/snippets/avatar-group.liquid +66 -0
  153. package/templates/shopify/snippets/avatar.figma.ts +24 -0
  154. package/templates/shopify/snippets/avatar.liquid +143 -0
  155. package/templates/shopify/snippets/badge.figma.ts +355 -0
  156. package/templates/shopify/snippets/badge.liquid +111 -0
  157. package/templates/shopify/snippets/baseline-schemes.liquid +44 -0
  158. package/templates/shopify/snippets/baseline-tokens.liquid +712 -0
  159. package/templates/shopify/snippets/breadcrumb.figma.ts +12 -0
  160. package/templates/shopify/snippets/breadcrumb.liquid +124 -0
  161. package/templates/shopify/snippets/button-group.liquid +148 -0
  162. package/templates/shopify/snippets/button.liquid +144 -0
  163. package/templates/shopify/snippets/card.figma.ts +43 -0
  164. package/templates/shopify/snippets/card.liquid +196 -0
  165. package/templates/shopify/snippets/carousel-item.liquid +18 -0
  166. package/templates/shopify/snippets/carousel.figma.ts +28 -0
  167. package/templates/shopify/snippets/carousel.liquid +121 -0
  168. package/templates/shopify/snippets/checkbox.liquid +147 -0
  169. package/templates/shopify/snippets/container.liquid +52 -0
  170. package/templates/shopify/snippets/css-variables.liquid +18 -0
  171. package/templates/shopify/snippets/dialog.figma.ts +36 -0
  172. package/templates/shopify/snippets/dialog.liquid +217 -0
  173. package/templates/shopify/snippets/field-separator.liquid +68 -0
  174. package/templates/shopify/snippets/field.liquid +187 -0
  175. package/templates/shopify/snippets/icon.liquid +101 -0
  176. package/templates/shopify/snippets/image.liquid +64 -0
  177. package/templates/shopify/snippets/input-group.liquid +196 -0
  178. package/templates/shopify/snippets/input.liquid +126 -0
  179. package/templates/shopify/snippets/item-group.liquid +31 -0
  180. package/templates/shopify/snippets/item.figma.ts +40 -0
  181. package/templates/shopify/snippets/item.liquid +162 -0
  182. package/templates/shopify/snippets/media.figma.ts +33 -0
  183. package/templates/shopify/snippets/media.liquid +273 -0
  184. package/templates/shopify/snippets/meta-tags.liquid +105 -0
  185. package/templates/shopify/snippets/meter.figma.ts +24 -0
  186. package/templates/shopify/snippets/meter.liquid +118 -0
  187. package/templates/shopify/snippets/native-select.liquid +141 -0
  188. package/templates/shopify/snippets/navigation-menu-item.figma.ts +23 -0
  189. package/templates/shopify/snippets/navigation-menu-item.liquid +40 -0
  190. package/templates/shopify/snippets/navigation-menu-link.figma.ts +27 -0
  191. package/templates/shopify/snippets/navigation-menu-link.liquid +31 -0
  192. package/templates/shopify/snippets/navigation-menu.figma.ts +12 -0
  193. package/templates/shopify/snippets/navigation-menu.liquid +300 -0
  194. package/templates/shopify/snippets/pagination.figma.ts +13 -0
  195. package/templates/shopify/snippets/pagination.liquid +208 -0
  196. package/templates/shopify/snippets/popover.figma.ts +41 -0
  197. package/templates/shopify/snippets/popover.liquid +203 -0
  198. package/templates/shopify/snippets/progress.figma.ts +26 -0
  199. package/templates/shopify/snippets/progress.liquid +114 -0
  200. package/templates/shopify/snippets/radio.liquid +145 -0
  201. package/templates/shopify/snippets/sheet.figma.ts +37 -0
  202. package/templates/shopify/snippets/sheet.liquid +197 -0
  203. package/templates/shopify/snippets/sidebar-menu-item.liquid +34 -0
  204. package/templates/shopify/snippets/sidebar-menu-sub-link.liquid +17 -0
  205. package/templates/shopify/snippets/sidebar-menu.liquid +139 -0
  206. package/templates/shopify/snippets/spinner.liquid +42 -0
  207. package/templates/shopify/snippets/switch.liquid +180 -0
  208. package/templates/shopify/snippets/tab.figma.ts +353 -0
  209. package/templates/shopify/snippets/tab.liquid +33 -0
  210. package/templates/shopify/snippets/tabs.figma.ts +21 -0
  211. package/templates/shopify/snippets/tabs.liquid +260 -0
  212. package/templates/shopify/snippets/text-styles.liquid +45 -0
  213. package/templates/shopify/snippets/textarea.liquid +103 -0
  214. package/templates/shopify/snippets/toggle-group.figma.ts +30 -0
  215. package/templates/shopify/snippets/toggle-group.liquid +46 -0
  216. package/templates/shopify/snippets/toggle.figma.ts +357 -0
  217. package/templates/shopify/snippets/toggle.liquid +104 -0
  218. package/templates/shopify/snippets/typeset.liquid +498 -0
  219. package/templates/shopify/src/carousel.js +94 -0
  220. package/templates/shopify/templates/404.json +20 -0
  221. package/templates/shopify/templates/article.json +20 -0
  222. package/templates/shopify/templates/blog.json +20 -0
  223. package/templates/shopify/templates/cart.json +20 -0
  224. package/templates/shopify/templates/collection.json +20 -0
  225. package/templates/shopify/templates/gift_card.liquid +73 -0
  226. package/templates/shopify/templates/index.json +18 -0
  227. package/templates/shopify/templates/list-collections.json +20 -0
  228. package/templates/shopify/templates/page.json +20 -0
  229. package/templates/shopify/templates/password.json +21 -0
  230. package/templates/shopify/templates/product.json +20 -0
  231. package/templates/shopify/templates/search.json +20 -0
  232. package/templates/skills/baseline-client-tokens/SKILL.md +74 -0
  233. package/templates/wordpress/.ddev/commands/web/seed +258 -3
  234. package/templates/wordpress/.ddev/config.yaml +10 -7
  235. package/templates/wordpress/.ddev/seed/gravityforms-contact.json +1 -0
  236. package/templates/wordpress/README.md +37 -39
  237. package/templates/wordpress/auth.json.example +1 -1
  238. package/templates/wordpress/composer.json +88 -84
  239. package/templates/wordpress/theme/README.md +3 -0
  240. package/templates/wordpress/theme/acf-json/.gitkeep +0 -0
  241. package/templates/wordpress/theme/acf-json/group_baseline_alert.json +83 -0
  242. package/templates/wordpress/theme/acf-json/group_baseline_avatar.json +82 -0
  243. package/templates/wordpress/theme/acf-json/group_baseline_avatar_group.json +35 -0
  244. package/templates/wordpress/theme/acf-json/group_baseline_badge.json +93 -0
  245. package/templates/wordpress/theme/acf-json/group_baseline_carousel.json +21 -0
  246. package/templates/wordpress/theme/acf-json/group_baseline_carousel_slide.json +16 -0
  247. package/templates/wordpress/theme/acf-json/group_baseline_dialog.json +68 -0
  248. package/templates/wordpress/theme/acf-json/group_baseline_dialog_footer.json +23 -0
  249. package/templates/wordpress/theme/acf-json/group_baseline_item.json +101 -0
  250. package/templates/wordpress/theme/acf-json/group_baseline_item_group.json +26 -0
  251. package/templates/wordpress/theme/acf-json/group_baseline_sheet.json +104 -0
  252. package/templates/wordpress/theme/acf-json/group_baseline_sheet_footer.json +31 -0
  253. package/templates/wordpress/theme/assets/app.css +2 -0
  254. package/templates/wordpress/theme/assets/editor.css +2 -0
  255. package/templates/wordpress/theme/assets/images/placeholder.svg +1 -0
  256. package/templates/wordpress/theme/assets/js/carousel-editor.js +85 -0
  257. package/templates/wordpress/theme/assets/js/carousel.js +2 -0
  258. package/templates/wordpress/theme/assets/js/core-button-editor.js +243 -0
  259. package/templates/wordpress/theme/assets/js/core-layout-editor.js +144 -0
  260. package/templates/wordpress/theme/assets/js/core-navigation.js +11 -0
  261. package/templates/wordpress/theme/assets/js/media-editor.js +52 -0
  262. package/templates/wordpress/theme/assets/js/media.js +38 -0
  263. package/templates/wordpress/theme/assets/tokens.css +1030 -0
  264. package/templates/wordpress/theme/blocks/alert/alert.figma.ts +32 -0
  265. package/templates/wordpress/theme/blocks/alert/block.json +24 -0
  266. package/templates/wordpress/theme/blocks/alert/render.php +30 -0
  267. package/templates/wordpress/theme/blocks/avatar/block.json +24 -0
  268. package/templates/wordpress/theme/blocks/avatar/render.php +35 -0
  269. package/templates/wordpress/theme/blocks/avatar-group/avatar-group.figma.ts +16 -0
  270. package/templates/wordpress/theme/blocks/avatar-group/block.json +25 -0
  271. package/templates/wordpress/theme/blocks/avatar-group/render.php +27 -0
  272. package/templates/wordpress/theme/blocks/badge/badge.figma.ts +349 -0
  273. package/templates/wordpress/theme/blocks/badge/block.json +23 -0
  274. package/templates/wordpress/theme/blocks/badge/render.php +28 -0
  275. package/templates/wordpress/theme/blocks/carousel/block.json +25 -0
  276. package/templates/wordpress/theme/blocks/carousel/carousel.figma.ts +22 -0
  277. package/templates/wordpress/theme/blocks/carousel/render.php +54 -0
  278. package/templates/wordpress/theme/blocks/carousel-slide/block.json +24 -0
  279. package/templates/wordpress/theme/blocks/carousel-slide/render.php +13 -0
  280. package/templates/wordpress/theme/blocks/dialog/block.json +24 -0
  281. package/templates/wordpress/theme/blocks/dialog/dialog.figma.ts +36 -0
  282. package/templates/wordpress/theme/blocks/dialog/render.php +41 -0
  283. package/templates/wordpress/theme/blocks/dialog-footer/block.json +25 -0
  284. package/templates/wordpress/theme/blocks/dialog-footer/render.php +18 -0
  285. package/templates/wordpress/theme/blocks/item/block.json +25 -0
  286. package/templates/wordpress/theme/blocks/item/item.figma.ts +43 -0
  287. package/templates/wordpress/theme/blocks/item/render.php +38 -0
  288. package/templates/wordpress/theme/blocks/item-group/block.json +25 -0
  289. package/templates/wordpress/theme/blocks/item-group/item-group.figma.ts +28 -0
  290. package/templates/wordpress/theme/blocks/item-group/render.php +22 -0
  291. package/templates/wordpress/theme/blocks/sheet/block.json +24 -0
  292. package/templates/wordpress/theme/blocks/sheet/render.php +39 -0
  293. package/templates/wordpress/theme/blocks/sheet/sheet.figma.ts +38 -0
  294. package/templates/wordpress/theme/blocks/sheet-footer/block.json +25 -0
  295. package/templates/wordpress/theme/blocks/sheet-footer/render.php +18 -0
  296. package/templates/wordpress/theme/build-js.mjs +22 -0
  297. package/templates/wordpress/theme/code-connect/accordion-item.figma.ts +47 -0
  298. package/templates/wordpress/theme/code-connect/accordion.figma.ts +37 -0
  299. package/templates/wordpress/theme/code-connect/avatar.figma.ts +25 -0
  300. package/templates/wordpress/theme/code-connect/breadcrumb.figma.ts +12 -0
  301. package/templates/wordpress/theme/code-connect/button.figma.ts +360 -0
  302. package/templates/wordpress/theme/code-connect/card.figma.ts +45 -0
  303. package/templates/wordpress/theme/code-connect/icon-button.figma.ts +359 -0
  304. package/templates/wordpress/theme/code-connect/navigation-menu.figma.ts +20 -0
  305. package/templates/wordpress/theme/code-connect/pagination.figma.ts +17 -0
  306. package/templates/wordpress/theme/code-connect/popover.figma.ts +42 -0
  307. package/templates/wordpress/theme/code-connect/tabs.figma.ts +32 -0
  308. package/templates/wordpress/theme/code-connect/toggle-group.figma.ts +34 -0
  309. package/templates/wordpress/theme/code-connect/toggle.figma.ts +356 -0
  310. package/templates/wordpress/theme/composer.json +7 -0
  311. package/templates/wordpress/theme/footer.php +4 -0
  312. package/templates/wordpress/theme/functions.php +86 -0
  313. package/templates/wordpress/theme/header.php +17 -0
  314. package/templates/wordpress/theme/inc/acf.php +13 -0
  315. package/templates/wordpress/theme/inc/blocks.php +41 -0
  316. package/templates/wordpress/theme/inc/carousel.php +36 -0
  317. package/templates/wordpress/theme/inc/components/alert.php +83 -0
  318. package/templates/wordpress/theme/inc/components/avatar.php +111 -0
  319. package/templates/wordpress/theme/inc/components/badge.php +96 -0
  320. package/templates/wordpress/theme/inc/components/button.php +77 -0
  321. package/templates/wordpress/theme/inc/components/dialog.php +98 -0
  322. package/templates/wordpress/theme/inc/components/item.php +111 -0
  323. package/templates/wordpress/theme/inc/components/popover.php +125 -0
  324. package/templates/wordpress/theme/inc/components/sheet.php +88 -0
  325. package/templates/wordpress/theme/inc/components/toggle.php +127 -0
  326. package/templates/wordpress/theme/inc/core-button.php +96 -0
  327. package/templates/wordpress/theme/inc/core-card.php +30 -0
  328. package/templates/wordpress/theme/inc/core-layout.php +76 -0
  329. package/templates/wordpress/theme/inc/core-navigation.php +31 -0
  330. package/templates/wordpress/theme/inc/core-pagination.php +87 -0
  331. package/templates/wordpress/theme/inc/header.php +39 -0
  332. package/templates/wordpress/theme/inc/icons.generated.php +94 -0
  333. package/templates/wordpress/theme/inc/icons.php +70 -0
  334. package/templates/wordpress/theme/inc/looks.generated.php +18 -0
  335. package/templates/wordpress/theme/inc/media.php +183 -0
  336. package/templates/wordpress/theme/inc/sections.php +16 -0
  337. package/templates/wordpress/theme/index.php +24 -0
  338. package/templates/wordpress/theme/package-lock.json +1637 -0
  339. package/templates/wordpress/theme/package.json +23 -0
  340. package/templates/wordpress/theme/parts/header.html +23 -0
  341. package/templates/wordpress/theme/patterns/blog-card-grid.php +41 -0
  342. package/templates/wordpress/theme/patterns/card.php +46 -0
  343. package/templates/wordpress/theme/patterns/contact-centered.php +22 -0
  344. package/templates/wordpress/theme/patterns/cta-left.php +25 -0
  345. package/templates/wordpress/theme/patterns/faq-centered.php +36 -0
  346. package/templates/wordpress/theme/patterns/header-inline.php +33 -0
  347. package/templates/wordpress/theme/patterns/header-stacked.php +25 -0
  348. package/templates/wordpress/theme/patterns/hero-centered.php +28 -0
  349. package/templates/wordpress/theme/patterns/hero-split.php +41 -0
  350. package/templates/wordpress/theme/patterns/section.php +28 -0
  351. package/templates/wordpress/theme/src/app.css +45 -0
  352. package/templates/wordpress/theme/src/carousel.css +93 -0
  353. package/templates/wordpress/theme/src/carousel.js +94 -0
  354. package/templates/wordpress/theme/src/checkbox.css +102 -0
  355. package/templates/wordpress/theme/src/core-accordion.css +158 -0
  356. package/templates/wordpress/theme/src/core-avatar.css +68 -0
  357. package/templates/wordpress/theme/src/core-breadcrumbs.css +124 -0
  358. package/templates/wordpress/theme/src/core-button-editor.css +45 -0
  359. package/templates/wordpress/theme/src/core-button.css +155 -0
  360. package/templates/wordpress/theme/src/core-card.css +157 -0
  361. package/templates/wordpress/theme/src/core-layout.css +73 -0
  362. package/templates/wordpress/theme/src/core-navigation.css +290 -0
  363. package/templates/wordpress/theme/src/core-pagination.css +112 -0
  364. package/templates/wordpress/theme/src/core-table.css +88 -0
  365. package/templates/wordpress/theme/src/core-tabs.css +86 -0
  366. package/templates/wordpress/theme/src/dialog.css +29 -0
  367. package/templates/wordpress/theme/src/editor.css +65 -0
  368. package/templates/wordpress/theme/src/field.css +95 -0
  369. package/templates/wordpress/theme/src/fonts.css +3 -0
  370. package/templates/wordpress/theme/src/gravityforms.css +919 -0
  371. package/templates/wordpress/theme/src/header.css +80 -0
  372. package/templates/wordpress/theme/src/icons.generated.css +16 -0
  373. package/templates/wordpress/theme/src/input-group.css +105 -0
  374. package/templates/wordpress/theme/src/input.css +116 -0
  375. package/templates/wordpress/theme/src/item.css +7 -0
  376. package/templates/wordpress/theme/src/looks.generated.css +358 -0
  377. package/templates/wordpress/theme/src/media.css +160 -0
  378. package/templates/wordpress/theme/src/radio.css +88 -0
  379. package/templates/wordpress/theme/src/sections.css +80 -0
  380. package/templates/wordpress/theme/src/sheet.css +24 -0
  381. package/templates/wordpress/theme/src/switch.css +120 -0
  382. package/templates/wordpress/theme/src/text-styles.css +44 -0
  383. package/templates/wordpress/theme/src/textarea.css +61 -0
  384. package/templates/wordpress/theme/src/toggle-group.css +28 -0
  385. package/templates/wordpress/theme/src/typeset.css +510 -0
  386. package/templates/wordpress/theme/style.css +13 -0
  387. package/templates/wordpress/theme/theme.json +362 -0
  388. package/templates/wordpress/web/wp-config.php +38 -0
  389. package/templates/wordpress/wp-cli.yml +1 -0
  390. package/templates/next/.claude/skills/ai-elements/SKILL.md +0 -160
  391. package/templates/next/.claude/skills/ai-elements/references/agent.md +0 -134
  392. package/templates/next/.claude/skills/ai-elements/references/artifact.md +0 -84
  393. package/templates/next/.claude/skills/ai-elements/references/attachments.md +0 -190
  394. package/templates/next/.claude/skills/ai-elements/references/audio-player.md +0 -134
  395. package/templates/next/.claude/skills/ai-elements/references/canvas.md +0 -34
  396. package/templates/next/.claude/skills/ai-elements/references/chain-of-thought.md +0 -81
  397. package/templates/next/.claude/skills/ai-elements/references/checkpoint.md +0 -183
  398. package/templates/next/.claude/skills/ai-elements/references/code-block.md +0 -170
  399. package/templates/next/.claude/skills/ai-elements/references/commit.md +0 -177
  400. package/templates/next/.claude/skills/ai-elements/references/confirmation.md +0 -262
  401. package/templates/next/.claude/skills/ai-elements/references/connection.md +0 -34
  402. package/templates/next/.claude/skills/ai-elements/references/context.md +0 -126
  403. package/templates/next/.claude/skills/ai-elements/references/controls.md +0 -32
  404. package/templates/next/.claude/skills/ai-elements/references/conversation.md +0 -224
  405. package/templates/next/.claude/skills/ai-elements/references/edge.md +0 -52
  406. package/templates/next/.claude/skills/ai-elements/references/environment-variables.md +0 -102
  407. package/templates/next/.claude/skills/ai-elements/references/file-tree.md +0 -72
  408. package/templates/next/.claude/skills/ai-elements/references/image.md +0 -146
  409. package/templates/next/.claude/skills/ai-elements/references/inline-citation.md +0 -299
  410. package/templates/next/.claude/skills/ai-elements/references/jsx-preview.md +0 -104
  411. package/templates/next/.claude/skills/ai-elements/references/message.md +0 -237
  412. package/templates/next/.claude/skills/ai-elements/references/mic-selector.md +0 -189
  413. package/templates/next/.claude/skills/ai-elements/references/model-selector.md +0 -112
  414. package/templates/next/.claude/skills/ai-elements/references/node.md +0 -73
  415. package/templates/next/.claude/skills/ai-elements/references/open-in-chat.md +0 -67
  416. package/templates/next/.claude/skills/ai-elements/references/package-info.md +0 -95
  417. package/templates/next/.claude/skills/ai-elements/references/panel.md +0 -33
  418. package/templates/next/.claude/skills/ai-elements/references/persona.md +0 -166
  419. package/templates/next/.claude/skills/ai-elements/references/plan.md +0 -79
  420. package/templates/next/.claude/skills/ai-elements/references/prompt-input.md +0 -579
  421. package/templates/next/.claude/skills/ai-elements/references/queue.md +0 -172
  422. package/templates/next/.claude/skills/ai-elements/references/reasoning.md +0 -238
  423. package/templates/next/.claude/skills/ai-elements/references/sandbox.md +0 -129
  424. package/templates/next/.claude/skills/ai-elements/references/schema-display.md +0 -102
  425. package/templates/next/.claude/skills/ai-elements/references/shimmer.md +0 -48
  426. package/templates/next/.claude/skills/ai-elements/references/snippet.md +0 -64
  427. package/templates/next/.claude/skills/ai-elements/references/sources.md +0 -209
  428. package/templates/next/.claude/skills/ai-elements/references/speech-input.md +0 -163
  429. package/templates/next/.claude/skills/ai-elements/references/stack-trace.md +0 -224
  430. package/templates/next/.claude/skills/ai-elements/references/suggestion.md +0 -124
  431. package/templates/next/.claude/skills/ai-elements/references/task.md +0 -222
  432. package/templates/next/.claude/skills/ai-elements/references/terminal.md +0 -103
  433. package/templates/next/.claude/skills/ai-elements/references/test-results.md +0 -157
  434. package/templates/next/.claude/skills/ai-elements/references/tool.md +0 -285
  435. package/templates/next/.claude/skills/ai-elements/references/toolbar.md +0 -32
  436. package/templates/next/.claude/skills/ai-elements/references/transcription.md +0 -120
  437. package/templates/next/.claude/skills/ai-elements/references/voice-selector.md +0 -241
  438. package/templates/next/.claude/skills/ai-elements/references/web-preview.md +0 -200
  439. package/templates/next/.claude/skills/ai-elements/scripts/agent.tsx +0 -61
  440. package/templates/next/.claude/skills/ai-elements/scripts/artifact.tsx +0 -127
  441. package/templates/next/.claude/skills/ai-elements/scripts/attachments-inline.tsx +0 -128
  442. package/templates/next/.claude/skills/ai-elements/scripts/attachments-list.tsx +0 -95
  443. package/templates/next/.claude/skills/ai-elements/scripts/attachments.tsx +0 -85
  444. package/templates/next/.claude/skills/ai-elements/scripts/audio-player-remote.tsx +0 -35
  445. package/templates/next/.claude/skills/ai-elements/scripts/audio-player.tsx +0 -68
  446. package/templates/next/.claude/skills/ai-elements/scripts/chain-of-thought.tsx +0 -82
  447. package/templates/next/.claude/skills/ai-elements/scripts/checkpoint.tsx +0 -110
  448. package/templates/next/.claude/skills/ai-elements/scripts/code-block-dark.tsx +0 -46
  449. package/templates/next/.claude/skills/ai-elements/scripts/code-block.tsx +0 -120
  450. package/templates/next/.claude/skills/ai-elements/scripts/commit.tsx +0 -94
  451. package/templates/next/.claude/skills/ai-elements/scripts/confirmation-accepted.tsx +0 -40
  452. package/templates/next/.claude/skills/ai-elements/scripts/confirmation-rejected.tsx +0 -40
  453. package/templates/next/.claude/skills/ai-elements/scripts/confirmation-request.tsx +0 -54
  454. package/templates/next/.claude/skills/ai-elements/scripts/confirmation.tsx +0 -55
  455. package/templates/next/.claude/skills/ai-elements/scripts/context.tsx +0 -45
  456. package/templates/next/.claude/skills/ai-elements/scripts/conversation.tsx +0 -177
  457. package/templates/next/.claude/skills/ai-elements/scripts/environment-variables.tsx +0 -62
  458. package/templates/next/.claude/skills/ai-elements/scripts/file-tree-basic.tsx +0 -18
  459. package/templates/next/.claude/skills/ai-elements/scripts/file-tree-expanded.tsx +0 -21
  460. package/templates/next/.claude/skills/ai-elements/scripts/file-tree-selection.tsx +0 -24
  461. package/templates/next/.claude/skills/ai-elements/scripts/file-tree.tsx +0 -42
  462. package/templates/next/.claude/skills/ai-elements/scripts/image.tsx +0 -20
  463. package/templates/next/.claude/skills/ai-elements/scripts/inline-citation.tsx +0 -97
  464. package/templates/next/.claude/skills/ai-elements/scripts/jsx-preview.tsx +0 -104
  465. package/templates/next/.claude/skills/ai-elements/scripts/message.tsx +0 -365
  466. package/templates/next/.claude/skills/ai-elements/scripts/mic-selector.tsx +0 -49
  467. package/templates/next/.claude/skills/ai-elements/scripts/model-selector.tsx +0 -365
  468. package/templates/next/.claude/skills/ai-elements/scripts/open-in-chat.tsx +0 -33
  469. package/templates/next/.claude/skills/ai-elements/scripts/package-info.tsx +0 -51
  470. package/templates/next/.claude/skills/ai-elements/scripts/persona-command.tsx +0 -110
  471. package/templates/next/.claude/skills/ai-elements/scripts/persona-glint.tsx +0 -110
  472. package/templates/next/.claude/skills/ai-elements/scripts/persona-halo.tsx +0 -110
  473. package/templates/next/.claude/skills/ai-elements/scripts/persona-mana.tsx +0 -110
  474. package/templates/next/.claude/skills/ai-elements/scripts/persona-obsidian.tsx +0 -110
  475. package/templates/next/.claude/skills/ai-elements/scripts/persona-opal.tsx +0 -110
  476. package/templates/next/.claude/skills/ai-elements/scripts/plan.tsx +0 -65
  477. package/templates/next/.claude/skills/ai-elements/scripts/prompt-input-cursor.tsx +0 -502
  478. package/templates/next/.claude/skills/ai-elements/scripts/prompt-input-tooltip.tsx +0 -44
  479. package/templates/next/.claude/skills/ai-elements/scripts/prompt-input.tsx +0 -267
  480. package/templates/next/.claude/skills/ai-elements/scripts/queue-prompt-input.tsx +0 -394
  481. package/templates/next/.claude/skills/ai-elements/scripts/queue.tsx +0 -295
  482. package/templates/next/.claude/skills/ai-elements/scripts/reasoning.tsx +0 -71
  483. package/templates/next/.claude/skills/ai-elements/scripts/sandbox.tsx +0 -178
  484. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-basic.tsx +0 -9
  485. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-body.tsx +0 -20
  486. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-nested.tsx +0 -23
  487. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-params.tsx +0 -16
  488. package/templates/next/.claude/skills/ai-elements/scripts/schema-display.tsx +0 -110
  489. package/templates/next/.claude/skills/ai-elements/scripts/shimmer-duration.tsx +0 -31
  490. package/templates/next/.claude/skills/ai-elements/scripts/shimmer-elements.tsx +0 -43
  491. package/templates/next/.claude/skills/ai-elements/scripts/shimmer.tsx +0 -17
  492. package/templates/next/.claude/skills/ai-elements/scripts/snippet-plain.tsx +0 -19
  493. package/templates/next/.claude/skills/ai-elements/scripts/snippet.tsx +0 -25
  494. package/templates/next/.claude/skills/ai-elements/scripts/sources-custom.tsx +0 -39
  495. package/templates/next/.claude/skills/ai-elements/scripts/sources.tsx +0 -32
  496. package/templates/next/.claude/skills/ai-elements/scripts/speech-input.tsx +0 -84
  497. package/templates/next/.claude/skills/ai-elements/scripts/stack-trace-collapsed.tsx +0 -39
  498. package/templates/next/.claude/skills/ai-elements/scripts/stack-trace-no-internal.tsx +0 -41
  499. package/templates/next/.claude/skills/ai-elements/scripts/stack-trace.tsx +0 -58
  500. package/templates/next/.claude/skills/ai-elements/scripts/suggestion-input.tsx +0 -144
  501. package/templates/next/.claude/skills/ai-elements/scripts/suggestion.tsx +0 -32
  502. package/templates/next/.claude/skills/ai-elements/scripts/task.tsx +0 -59
  503. package/templates/next/.claude/skills/ai-elements/scripts/terminal-basic.tsx +0 -7
  504. package/templates/next/.claude/skills/ai-elements/scripts/terminal-clear.tsx +0 -19
  505. package/templates/next/.claude/skills/ai-elements/scripts/terminal-streaming.tsx +0 -38
  506. package/templates/next/.claude/skills/ai-elements/scripts/terminal.tsx +0 -82
  507. package/templates/next/.claude/skills/ai-elements/scripts/test-results-basic.tsx +0 -27
  508. package/templates/next/.claude/skills/ai-elements/scripts/test-results-errors.tsx +0 -51
  509. package/templates/next/.claude/skills/ai-elements/scripts/test-results-suites.tsx +0 -40
  510. package/templates/next/.claude/skills/ai-elements/scripts/test-results.tsx +0 -102
  511. package/templates/next/.claude/skills/ai-elements/scripts/tool-input-available.tsx +0 -31
  512. package/templates/next/.claude/skills/ai-elements/scripts/tool-input-streaming.tsx +0 -30
  513. package/templates/next/.claude/skills/ai-elements/scripts/tool-output-available.tsx +0 -80
  514. package/templates/next/.claude/skills/ai-elements/scripts/tool-output-error.tsx +0 -44
  515. package/templates/next/.claude/skills/ai-elements/scripts/tool.tsx +0 -222
  516. package/templates/next/.claude/skills/ai-elements/scripts/transcription.tsx +0 -290
  517. package/templates/next/.claude/skills/ai-elements/scripts/voice-selector.tsx +0 -245
  518. package/templates/next/.claude/skills/ai-elements/scripts/web-preview.tsx +0 -115
  519. package/templates/next/.claude/skills/ai-sdk/SKILL.md +0 -78
  520. package/templates/next/.claude/skills/frontend-design/LICENSE.txt +0 -177
  521. package/templates/next/.claude/skills/frontend-design/SKILL.md +0 -55
  522. package/templates/next/.claude/skills/gc-implement-figma-page/SKILL.md +0 -93
  523. package/templates/next/.claude/skills/migrate-ai-sdk-v6-to-v7/SKILL.md +0 -108
  524. package/templates/next/.claude/skills/vercel-composition-patterns/AGENTS.md +0 -946
  525. package/templates/next/.claude/skills/vercel-composition-patterns/README.md +0 -60
  526. package/templates/next/.claude/skills/vercel-composition-patterns/SKILL.md +0 -89
  527. package/templates/next/.claude/skills/vercel-composition-patterns/metadata.json +0 -11
  528. package/templates/next/.claude/skills/vercel-composition-patterns/rules/_sections.md +0 -29
  529. package/templates/next/.claude/skills/vercel-composition-patterns/rules/_template.md +0 -24
  530. package/templates/next/.claude/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +0 -100
  531. package/templates/next/.claude/skills/vercel-composition-patterns/rules/architecture-compound-components.md +0 -112
  532. package/templates/next/.claude/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +0 -87
  533. package/templates/next/.claude/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +0 -100
  534. package/templates/next/.claude/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +0 -42
  535. package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-context-interface.md +0 -191
  536. package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +0 -113
  537. package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-lift-state.md +0 -125
  538. package/templates/next/.claude/skills/vercel-react-best-practices/AGENTS.md +0 -3810
  539. package/templates/next/.claude/skills/vercel-react-best-practices/README.md +0 -123
  540. package/templates/next/.claude/skills/vercel-react-best-practices/SKILL.md +0 -149
  541. package/templates/next/.claude/skills/vercel-react-best-practices/metadata.json +0 -15
  542. package/templates/next/.claude/skills/vercel-react-best-practices/rules/_sections.md +0 -46
  543. package/templates/next/.claude/skills/vercel-react-best-practices/rules/_template.md +0 -28
  544. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md +0 -56
  545. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  546. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
  547. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
  548. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -38
  549. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +0 -37
  550. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -82
  551. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -51
  552. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-parallel.md +0 -28
  553. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
  554. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md +0 -63
  555. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -60
  556. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
  557. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
  558. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  559. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -50
  560. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
  561. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
  562. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
  563. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
  564. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
  565. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
  566. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
  567. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
  568. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
  569. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -50
  570. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +0 -60
  571. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
  572. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -37
  573. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
  574. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
  575. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-request-idle-callback.md +0 -105
  576. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
  577. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
  578. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -26
  579. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  580. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
  581. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
  582. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  583. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  584. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  585. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +0 -85
  586. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +0 -68
  587. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
  588. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  589. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
  590. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
  591. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  592. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
  593. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
  594. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  595. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  596. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -44
  597. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  598. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +0 -82
  599. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  600. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +0 -64
  601. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
  602. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +0 -59
  603. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  604. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
  605. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
  606. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
  607. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -76
  608. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
  609. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +0 -149
  610. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md +0 -50
  611. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
  612. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +0 -34
  613. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-serialization.md +0 -38
  614. package/templates/next/.claude/skills/web-design-guidelines/SKILL.md +0 -39
  615. package/templates/next/CLAUDE.md +0 -42
  616. package/templates/next/README.md +0 -30
  617. package/templates/next/_gitignore +0 -4
  618. package/templates/next/app/layout.tsx +0 -44
  619. package/templates/next/globals.d.ts +0 -8
  620. package/templates/next/next.config.mjs +0 -6
  621. package/templates/next/package.json +0 -38
  622. package/templates/next/postcss.config.mjs +0 -5
  623. package/templates/next/skills-lock.json +0 -47
  624. package/templates/next/tsconfig.json +0 -36
  625. package/templates/shopify-theme/.claude/skills/gc-shopify-block/SKILL.md +0 -44
  626. package/templates/shopify-theme/.claude/skills/shopify-dev/SKILL.md +0 -51
  627. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/log_skill_use.mjs +0 -205
  628. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/search_docs.mjs +0 -272
  629. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/track-telemetry.ps1 +0 -361
  630. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/track-telemetry.sh +0 -527
  631. package/templates/shopify-theme/.claude/skills/shopify-liquid/SKILL.md +0 -343
  632. package/templates/shopify-theme/.claude/skills/shopify-liquid/blocks/hero-slide.liquid +0 -342
  633. package/templates/shopify-theme/.claude/skills/shopify-liquid/config/settings_schema.json +0 -1
  634. package/templates/shopify-theme/.claude/skills/shopify-liquid/featured-collection.liquid +0 -457
  635. package/templates/shopify-theme/.claude/skills/shopify-liquid/locales/en.default.json +0 -10
  636. package/templates/shopify-theme/.claude/skills/shopify-liquid/locales/en.default.schema.json +0 -103
  637. package/templates/shopify-theme/.claude/skills/shopify-liquid/package.json +0 -10
  638. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/search_docs.mjs +0 -759
  639. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/track-telemetry.ps1 +0 -361
  640. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/track-telemetry.sh +0 -527
  641. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/validate.mjs +0 -654
  642. package/templates/shopify-theme/.claude/skills/shopify-liquid/sections/hero-banner.liquid +0 -329
  643. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/SKILL.md +0 -165
  644. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/log_skill_use.mjs +0 -205
  645. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/track-telemetry.ps1 +0 -361
  646. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/track-telemetry.sh +0 -527
  647. package/templates/shopify-theme/.shopifyignore +0 -9
  648. package/templates/shopify-theme/CLAUDE.md +0 -51
  649. package/templates/shopify-theme/README.md +0 -92
  650. package/templates/shopify-theme/assets/baseline.css +0 -8390
  651. package/templates/shopify-theme/assets/swiper-element-bundle.min.js +0 -14
  652. package/templates/shopify-theme/blocks/_accordion.liquid +0 -59
  653. package/templates/shopify-theme/blocks/_carousel-slide.liquid +0 -24
  654. package/templates/shopify-theme/blocks/_modal-body.liquid +0 -18
  655. package/templates/shopify-theme/blocks/_modal-footer.liquid +0 -36
  656. package/templates/shopify-theme/blocks/_modal-header.liquid +0 -19
  657. package/templates/shopify-theme/blocks/_modal-media.liquid +0 -37
  658. package/templates/shopify-theme/blocks/accordion-group.liquid +0 -53
  659. package/templates/shopify-theme/blocks/alert.liquid +0 -92
  660. package/templates/shopify-theme/blocks/avatar-group.liquid +0 -51
  661. package/templates/shopify-theme/blocks/avatar.liquid +0 -56
  662. package/templates/shopify-theme/blocks/badge.liquid +0 -33
  663. package/templates/shopify-theme/blocks/breadcrumb.liquid +0 -45
  664. package/templates/shopify-theme/blocks/button.liquid +0 -51
  665. package/templates/shopify-theme/blocks/buttons.liquid +0 -41
  666. package/templates/shopify-theme/blocks/card.liquid +0 -67
  667. package/templates/shopify-theme/blocks/carousel.liquid +0 -55
  668. package/templates/shopify-theme/blocks/column.liquid +0 -33
  669. package/templates/shopify-theme/blocks/image.liquid +0 -37
  670. package/templates/shopify-theme/blocks/modal.liquid +0 -52
  671. package/templates/shopify-theme/blocks/popover.liquid +0 -24
  672. package/templates/shopify-theme/blocks/skeleton.liquid +0 -22
  673. package/templates/shopify-theme/blocks/spinner.liquid +0 -22
  674. package/templates/shopify-theme/blocks/split.liquid +0 -39
  675. package/templates/shopify-theme/blocks/tab.liquid +0 -19
  676. package/templates/shopify-theme/blocks/tabs.liquid +0 -78
  677. package/templates/shopify-theme/blocks/tags.liquid +0 -55
  678. package/templates/shopify-theme/blocks/text.liquid +0 -55
  679. package/templates/shopify-theme/blocks/tooltip.liquid +0 -50
  680. package/templates/shopify-theme/blocks/typography.liquid +0 -90
  681. package/templates/shopify-theme/config/settings_data.json +0 -4
  682. package/templates/shopify-theme/config/settings_schema.json +0 -10
  683. package/templates/shopify-theme/layout/theme.liquid +0 -21
  684. package/templates/shopify-theme/locales/en.default.json +0 -5
  685. package/templates/shopify-theme/locales/en.default.schema.json +0 -131
  686. package/templates/shopify-theme/package.json +0 -21
  687. package/templates/shopify-theme/scripts/sync-tokens.mjs +0 -32
  688. package/templates/shopify-theme/sections/baseline-components.liquid +0 -81
  689. package/templates/shopify-theme/skills-lock.json +0 -23
  690. package/templates/shopify-theme/snippets/lucide.liquid +0 -34
  691. package/templates/shopify-theme/snippets/pagination.liquid +0 -44
  692. package/templates/shopify-theme/templates/collection.json +0 -13
  693. package/templates/shopify-theme/templates/gift_card.liquid +0 -5
  694. package/templates/shopify-theme/templates/index.json +0 -135
  695. package/templates/shopify-theme/templates/list-collections.json +0 -13
  696. package/templates/shopify-theme/templates/product.json +0 -13
  697. package/templates/wordpress/.claude/CLAUDE.md +0 -37
  698. package/templates/wordpress/.claude/skills/wp-block-development/SKILL.md +0 -174
  699. package/templates/wordpress/.claude/skills/wp-block-development/references/attributes-and-serialization.md +0 -22
  700. package/templates/wordpress/.claude/skills/wp-block-development/references/block-json.md +0 -49
  701. package/templates/wordpress/.claude/skills/wp-block-development/references/creating-new-blocks.md +0 -46
  702. package/templates/wordpress/.claude/skills/wp-block-development/references/debugging.md +0 -36
  703. package/templates/wordpress/.claude/skills/wp-block-development/references/deprecations.md +0 -24
  704. package/templates/wordpress/.claude/skills/wp-block-development/references/dynamic-rendering.md +0 -23
  705. package/templates/wordpress/.claude/skills/wp-block-development/references/inner-blocks.md +0 -25
  706. package/templates/wordpress/.claude/skills/wp-block-development/references/registration.md +0 -30
  707. package/templates/wordpress/.claude/skills/wp-block-development/references/supports-and-wrappers.md +0 -18
  708. package/templates/wordpress/.claude/skills/wp-block-development/references/tooling-and-testing.md +0 -21
  709. package/templates/wordpress/.claude/skills/wp-block-development/scripts/list_blocks.mjs +0 -121
  710. package/templates/wordpress/.claude/skills/wp-block-themes/SKILL.md +0 -116
  711. package/templates/wordpress/.claude/skills/wp-block-themes/references/creating-new-block-theme.md +0 -37
  712. package/templates/wordpress/.claude/skills/wp-block-themes/references/debugging.md +0 -24
  713. package/templates/wordpress/.claude/skills/wp-block-themes/references/patterns.md +0 -18
  714. package/templates/wordpress/.claude/skills/wp-block-themes/references/style-variations.md +0 -14
  715. package/templates/wordpress/.claude/skills/wp-block-themes/references/templates-and-parts.md +0 -16
  716. package/templates/wordpress/.claude/skills/wp-block-themes/references/theme-json.md +0 -59
  717. package/templates/wordpress/.claude/skills/wp-block-themes/scripts/detect_block_themes.mjs +0 -117
  718. package/templates/wordpress/.claude/skills/wp-performance/SKILL.md +0 -146
  719. package/templates/wordpress/.claude/skills/wp-performance/references/autoload-options.md +0 -24
  720. package/templates/wordpress/.claude/skills/wp-performance/references/cron.md +0 -20
  721. package/templates/wordpress/.claude/skills/wp-performance/references/database.md +0 -20
  722. package/templates/wordpress/.claude/skills/wp-performance/references/http-api.md +0 -15
  723. package/templates/wordpress/.claude/skills/wp-performance/references/measurement.md +0 -21
  724. package/templates/wordpress/.claude/skills/wp-performance/references/object-cache.md +0 -24
  725. package/templates/wordpress/.claude/skills/wp-performance/references/query-monitor-headless.md +0 -38
  726. package/templates/wordpress/.claude/skills/wp-performance/references/server-timing.md +0 -22
  727. package/templates/wordpress/.claude/skills/wp-performance/references/wp-cli-doctor.md +0 -24
  728. package/templates/wordpress/.claude/skills/wp-performance/references/wp-cli-profile.md +0 -32
  729. package/templates/wordpress/.claude/skills/wp-performance/scripts/perf_inspect.mjs +0 -128
  730. package/templates/wordpress/.claude/skills/wp-plugin-development/SKILL.md +0 -112
  731. package/templates/wordpress/.claude/skills/wp-plugin-development/references/data-and-cron.md +0 -19
  732. package/templates/wordpress/.claude/skills/wp-plugin-development/references/debugging.md +0 -19
  733. package/templates/wordpress/.claude/skills/wp-plugin-development/references/lifecycle.md +0 -33
  734. package/templates/wordpress/.claude/skills/wp-plugin-development/references/security.md +0 -29
  735. package/templates/wordpress/.claude/skills/wp-plugin-development/references/settings-api.md +0 -22
  736. package/templates/wordpress/.claude/skills/wp-plugin-development/references/structure.md +0 -16
  737. package/templates/wordpress/.claude/skills/wp-plugin-development/scripts/detect_plugins.mjs +0 -122
  738. package/templates/wordpress/.claude/skills/wp-rest-api/SKILL.md +0 -114
  739. package/templates/wordpress/.claude/skills/wp-rest-api/references/authentication.md +0 -18
  740. package/templates/wordpress/.claude/skills/wp-rest-api/references/custom-content-types.md +0 -20
  741. package/templates/wordpress/.claude/skills/wp-rest-api/references/discovery-and-params.md +0 -20
  742. package/templates/wordpress/.claude/skills/wp-rest-api/references/responses-and-fields.md +0 -30
  743. package/templates/wordpress/.claude/skills/wp-rest-api/references/routes-and-endpoints.md +0 -36
  744. package/templates/wordpress/.claude/skills/wp-rest-api/references/schema.md +0 -22
  745. package/templates/wordpress/.ddev/docker-compose.packages.yaml +0 -14
  746. package/templates/wordpress/.ddev/docker-compose.redis.yaml +0 -11
  747. package/templates/wordpress/.env.example +0 -33
  748. package/templates/wordpress/CLAUDE.md +0 -34
  749. package/templates/wordpress/_gitignore +0 -33
  750. package/templates/wordpress/composer.lock +0 -1594
  751. package/templates/wordpress/package.json +0 -13
  752. package/templates/wordpress/scripts/seed.sh +0 -64
  753. package/templates/wordpress/skills-lock.json +0 -35
  754. package/templates/wordpress/wp-config.php +0 -89
  755. package/templates/wordpress/wp-content/index.php +0 -2
  756. package/templates/wordpress/wp-content/mu-plugins/baseline-bootstrap.php +0 -26
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "main": {
13
+ "type": "404",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": [
18
+ "main"
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "main": {
13
+ "type": "article",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": [
18
+ "main"
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "main": {
13
+ "type": "blog",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": [
18
+ "main"
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "main": {
13
+ "type": "cart",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": [
18
+ "main"
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "main": {
13
+ "type": "collection",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": [
18
+ "main"
19
+ ]
20
+ }
@@ -0,0 +1,73 @@
1
+ {% layout none %}
2
+
3
+ <!doctype html>
4
+ <html lang="{{ request.locale.iso_code }}">
5
+ <head>
6
+ {% # Inlined CSS Variables %}
7
+ {% render 'css-variables' %}
8
+
9
+ {% # Load and preload the critical CSS %}
10
+ {{ 'critical.css' | asset_url | stylesheet_tag: preload: true }}
11
+
12
+ {% # Social, title, etc. %}
13
+ {% render 'meta-tags' %}
14
+
15
+ {% style %}
16
+ main {
17
+ text-align: center;
18
+ }
19
+ main img {
20
+ display: unset;
21
+ }
22
+ {% endstyle %}
23
+
24
+ {{ content_for_header }}
25
+ </head>
26
+
27
+ <body>
28
+ <main>
29
+ <div class="shopify-section">
30
+ <h1>{{ gift_card.balance | money }}</h1>
31
+
32
+ {% if gift_card.enabled == false or gift_card.expired %}
33
+ <p>{{ 'gift_card.expired' | t }}</p>
34
+ {% endif %}
35
+
36
+ {% if gift_card.expires_on %}
37
+ {% assign expires_on = gift_card.expires_on | date: '%B %e, %Y' %}
38
+ <p>
39
+ {{ 'gift_card.expires_on' | t: expires_on: expires_on }}
40
+ </p>
41
+ {% endif %}
42
+
43
+ <p>
44
+ {% if settings.logo %}
45
+ {{ settings.logo | image_url: width: 300 | image_tag: alt: shop.name }}
46
+ {% else %}
47
+ <img
48
+ src="{{ 'gift-card/card.svg' | shopify_asset_url }}"
49
+ alt="{{ 'gift_card.card' | t }}"
50
+ width="300"
51
+ height="200"
52
+ >
53
+ {% endif %}
54
+ </p>
55
+
56
+ <h2>{{ shop.name }}</h2>
57
+ <p>{{ 'gift_card.use_at_checkout' | t }}</p>
58
+ <p>{{ gift_card.code | format_code }}</p>
59
+
60
+ {% if gift_card.pass_url %}
61
+ <a href="{{ gift_card.pass_url }}">
62
+ <img
63
+ src="{{ 'gift-card/add-to-apple-wallet.svg' | shopify_asset_url }}"
64
+ alt="{{ 'gift_card.add_to_apple_wallet' | t }}"
65
+ width="200"
66
+ height="60"
67
+ >
68
+ </a>
69
+ {% endif %}
70
+ </div>
71
+ </main>
72
+ </body>
73
+ </html>
@@ -0,0 +1,18 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "kitchen_sink": {
13
+ "type": "baseline-kitchen-sink",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": ["kitchen_sink"]
18
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "main": {
13
+ "type": "collections",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": [
18
+ "main"
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "main": {
13
+ "type": "page",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": [
18
+ "main"
19
+ ]
20
+ }
@@ -0,0 +1,21 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "layout": "password",
12
+ "sections": {
13
+ "main": {
14
+ "type": "password",
15
+ "settings": {}
16
+ }
17
+ },
18
+ "order": [
19
+ "main"
20
+ ]
21
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "main": {
13
+ "type": "product",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": [
18
+ "main"
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * ------------------------------------------------------------
3
+ * IMPORTANT: The contents of this file are auto-generated.
4
+ *
5
+ * This file may be updated by the Shopify admin theme editor
6
+ * or related systems. Please exercise caution as any changes
7
+ * made to this file may be overwritten.
8
+ * ------------------------------------------------------------
9
+ */
10
+ {
11
+ "sections": {
12
+ "main": {
13
+ "type": "search",
14
+ "settings": {}
15
+ }
16
+ },
17
+ "order": [
18
+ "main"
19
+ ]
20
+ }
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: baseline-client-tokens
3
+ description: Read a client's Baseline theme from Figma (via the Figma MCP) and emit that client project's tokens and icons for its one platform. Use when a developer gives you a client theme Figma URL, asks to "pull the client tokens", "retheme", "sync the brand", or when a scaffolded Baseline project has an empty client.tokens.json.
4
+ ---
5
+
6
+ # Baseline client tokens (runbook, PLAN §4.3 / ADR-0001 / M6)
7
+
8
+ A client theme in Figma is **core with different values, never new names** (Swap library matches by name). The code
9
+ side mirrors that: `client.tokens.json` holds value overrides keyed by core paths, and `@goldencomm/baseline-tokens`
10
+ rebuilds the platform outputs from core + overrides. Nothing is hand-written into CSS.
11
+
12
+ ## Inputs you need
13
+ 1. The client's **Figma library** URL (`<Client> · Design System`, a clone of the Core file per ADR-0021) and the
14
+ **Brand Sheet** frames on its **Foundations** page (in Core and in every clone made after 2026-09-23: Scheme 1
15
+ `4133:3296`, Scheme 2 `4133:3393`, Error `4133:3490`, Success `4133:3587`, Warning `4133:3684`, Scales `4133:3781`,
16
+ Icons `4133:4067`; confirm with `get_metadata` on the page, since an older clone may lack them), which has:
17
+ `Brand Sheet / Scheme 1 | Scheme 2 | Error | Success | Warning` (every emitted color role, explicit mode set),
18
+ `Brand Sheet / Scales` (every emitted Primitives + Components variable: radius, text, container, font, button
19
+ geometry, ring width) and `Brand Sheet / Icons` (the `icons/<set>/*` switches). Get node ids from
20
+ `get_metadata` on the page; do not guess them.
21
+ 2. The project's platform (`next | wordpress | shopify | html`) and its platform root (`--out`): the Next/HTML app
22
+ folder that imports `tokens.css`, or the WordPress / Shopify theme folder. `baseline.json` in a scaffolded
23
+ project records both.
24
+
25
+ ## Steps
26
+ 1. For each Brand Sheet frame, call `get_variable_defs` (Figma MCP) with the theme file key and the frame's node id.
27
+ Variables with a code name come back keyed by it (`"--primary": "#…"`, `"--bl-radius-md": "10"`); Figma-only
28
+ switches come back keyed by name (`"icons/tabler/active": "true"`), and **only true booleans are listed**, which
29
+ `from-defs` accounts for (an unreported set is off). Save each result to `.baseline/defs-<frame>.json`: one per
30
+ scheme mode plus `defs-scales.json` and `defs-icons.json`. Rehearsed 2026-09-23: all seven frames fit in one
31
+ response each (32 colors, 81 scales, 7 switches).
32
+ 2. Convert to overrides (idempotent; merges into an existing file):
33
+ ```bash
34
+ npx baseline-tokens client from-defs \
35
+ --core-mode scheme-1=.baseline/defs-scheme-1.json \
36
+ --core-mode scheme-2=.baseline/defs-scheme-2.json \
37
+ --core-mode error=.baseline/defs-error.json --core-mode success=.baseline/defs-success.json --core-mode warning=.baseline/defs-warning.json \
38
+ --core-mode scheme-1=.baseline/defs-scales.json --core-mode scheme-1=.baseline/defs-icons.json \
39
+ --out client.tokens.json
40
+ ```
41
+ Names not in core are listed and ignored: that is a client theme drifting from core, report it to the designer.
42
+ 3. Build the platform:
43
+ ```bash
44
+ npx baseline-tokens build --platform <platform> --out <platform root> --client client.tokens.json
45
+ npx baseline-tokens icons --platform <platform> --out <platform root> --client client.tokens.json
46
+ ```
47
+ `icons` needs the client's active icon set installed (`npm i -D @iconify-json/<prefix>`); the command names it.
48
+ **WordPress only accepts filled glyphs** (its 7.1 icon sanitizer strips strokes): a client whose active set is
49
+ stroke-based (Lucide, Tabler outline/mixed, Phosphor regular) gets a clear refusal from `icons --platform
50
+ wordpress` until the S2 stroke-to-outline step exists; React, Shopify and HTML are unaffected. Tell the designer.
51
+ WordPress: rebuild the theme CSS afterwards (`npm run build` in the theme). Next: nothing else, `tokens.css` is
52
+ imported by `globals.css`.
53
+ 4. Review `git diff`, commit with the theme URL in the message, open a PR. Never edit the generated files by hand.
54
+
55
+ ## Verify
56
+ - `get_screenshot` of the Brand Sheet vs the built platform in Scheme 1 and Scheme 2 (`data-scheme="scheme-2"`).
57
+ - Two runs on the same file produce an identical `client.tokens.json` (determinism is part of the contract).
58
+
59
+ ## Client design file (Figma side, ADR-0021)
60
+ A `<Client> · Design` file enables only the client's clone library (`<Client> · Design System`), never Core. Nothing
61
+ to swap or rebind in daily work. On a Core release the design system team re-clones Core, imports the client's
62
+ variable values into the new clone with the plugin, publishes it, and runs Assets > Libraries > old clone >
63
+ **Swap library** > new clone in each design file (components and variables match by name), then republishes Code
64
+ Connect to the new file key from the client repo's CI:
65
+ `npx baseline-tokens code-connect --platform <p> --out <platform root> --figma-file <new clone key> --publish`
66
+ (check locally first with `--parse`). Verify with
67
+ `get_variable_defs` on a frame holding clone instances: `--background`, `--bl-button-md-radius` and `surface/*` must
68
+ show client values.
69
+
70
+ ## Do not
71
+ - Add variables to a client theme that core does not have (extend core through an ADR instead).
72
+ - Hand-edit `client.tokens.json` values to "fix" a color: fix it in the Figma theme and re-run.
73
+ - Touch `Responsive`: it is core-owned (ADR-0019). `Surface` is in every client theme, but only as aliases into the
74
+ client's own roles (ADR-0015); it is never emitted and never gets literal values.
@@ -1,7 +1,262 @@
1
1
  #!/bin/bash
2
- ## Description: Install WordPress core, activate the Baseline theme + plugins, and seed starter content (idempotent).
2
+ ## Description: Install WordPress, activate plugins and the Baseline theme, and rebuild the home page as a kitchen sink of every non-form component
3
3
  ## Usage: seed
4
4
  ## Example: "ddev seed"
5
+ set -euo pipefail
5
6
 
6
- set -e
7
- bash scripts/seed.sh
7
+ if ! wp core is-installed 2>/dev/null; then
8
+ wp core install --url="$DDEV_PRIMARY_URL" --title="Baseline" --admin_user=admin --admin_password=admin --admin_email=dev@example.com --skip-email
9
+ fi
10
+ wp plugin activate --all --exclude=s3-uploads,redis-cache || echo "Plugin activation had errors (auth.json / composer install?)"
11
+ wp plugin is-active advanced-custom-fields-pro || echo "ACF Pro not active - ACF blocks (none yet) will not register"
12
+ wp theme activate baseline-theme || wp theme activate baseline
13
+ wp rewrite structure '/%postname%/' --hard
14
+
15
+ # The Gravity Forms kitchen sink (28 fields over 22 field types). Its definition is committed beside this
16
+ # script as a Gravity Forms export, so a fresh database rebuilds the same form rather than someone recreating
17
+ # it by hand. Imported only when it is missing: re-importing would orphan any entries, and on a database that
18
+ # already has forms the new one would not be id 1 anyway.
19
+ FORM_EXPORT=/var/www/html/.ddev/seed/gravityforms-contact.json
20
+ if wp gf form get 1 >/dev/null 2>&1; then
21
+ echo "Gravity Forms form 1 exists; leaving it alone (delete it and re-run to restore the committed version)"
22
+ elif [ -f "$FORM_EXPORT" ]; then
23
+ wp gf form import "$FORM_EXPORT" && echo "Imported the Gravity Forms kitchen sink from $FORM_EXPORT"
24
+ else
25
+ echo "No form export at $FORM_EXPORT; the form section of the home page will render nothing"
26
+ fi
27
+
28
+ # The home page is the WordPress twin of platforms/html/index.html and the Shopify baseline-kitchen-sink
29
+ # section: every component the theme implements, in one place, so a token or CSS change can be eyeballed in a
30
+ # real WordPress render. That includes the Gravity Forms kitchen sink at the bottom — GF owns that markup and
31
+ # styling it is a CSS API mapping rather than markup Baseline emits, but it belongs on the same page as
32
+ # everything else rather than on a second one nobody remembers to open.
33
+ #
34
+ # Keep it current by editing this file and re-running `ddev seed`: it is idempotent and rewrites the page.
35
+ # Single-quoted on purpose (no expansion), so the content must not contain a single quote.
36
+ CONTENT='<!-- wp:heading {"level":1} -->
37
+ <h1 class="wp-block-heading">Baseline kitchen sink</h1>
38
+ <!-- /wp:heading -->
39
+
40
+ <!-- wp:paragraph -->
41
+ <p>Every non-form component the WordPress theme implements. Form controls are on the Gravity Forms kitchen-sink form, since Gravity Forms owns that markup.</p>
42
+ <!-- /wp:paragraph -->
43
+
44
+ <!-- wp:separator -->
45
+ <hr class="wp-block-separator has-alpha-channel-opacity"/>
46
+ <!-- /wp:separator -->
47
+
48
+ <!-- wp:heading -->
49
+ <h2 class="wp-block-heading">Button variants</h2>
50
+ <!-- /wp:heading -->
51
+
52
+ <!-- wp:buttons -->
53
+ <div class="wp-block-buttons"><!-- wp:button {"className":"is-style-fill","baselineSize":"md"} -->
54
+ <div class="wp-block-button is-style-fill"><a class="wp-block-button__link wp-element-button">Default</a></div>
55
+ <!-- /wp:button -->
56
+ <!-- wp:button {"className":"is-style-secondary","baselineSize":"md"} -->
57
+ <div class="wp-block-button is-style-secondary"><a class="wp-block-button__link wp-element-button">Secondary</a></div>
58
+ <!-- /wp:button -->
59
+ <!-- wp:button {"className":"is-style-outline","baselineSize":"md"} -->
60
+ <div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button">Outline</a></div>
61
+ <!-- /wp:button -->
62
+ <!-- wp:button {"className":"is-style-ghost","baselineSize":"md"} -->
63
+ <div class="wp-block-button is-style-ghost"><a class="wp-block-button__link wp-element-button">Ghost</a></div>
64
+ <!-- /wp:button -->
65
+ <!-- wp:button {"className":"is-style-link","baselineSize":"md"} -->
66
+ <div class="wp-block-button is-style-link"><a class="wp-block-button__link wp-element-button" href="/">Link</a></div>
67
+ <!-- /wp:button -->
68
+ <!-- wp:button {"className":"is-style-destructive","baselineSize":"md"} -->
69
+ <div class="wp-block-button is-style-destructive"><a class="wp-block-button__link wp-element-button">Delete</a></div>
70
+ <!-- /wp:button --></div>
71
+ <!-- /wp:buttons -->
72
+
73
+ <!-- wp:heading -->
74
+ <h2 class="wp-block-heading">Button sizes</h2>
75
+ <!-- /wp:heading -->
76
+
77
+ <!-- wp:buttons -->
78
+ <div class="wp-block-buttons"><!-- wp:button {"className":"is-style-fill","baselineSize":"xs"} -->
79
+ <div class="wp-block-button is-style-fill"><a class="wp-block-button__link wp-element-button">Extra small</a></div>
80
+ <!-- /wp:button -->
81
+ <!-- wp:button {"className":"is-style-fill","baselineSize":"sm"} -->
82
+ <div class="wp-block-button is-style-fill"><a class="wp-block-button__link wp-element-button">Small</a></div>
83
+ <!-- /wp:button -->
84
+ <!-- wp:button {"className":"is-style-fill","baselineSize":"md"} -->
85
+ <div class="wp-block-button is-style-fill"><a class="wp-block-button__link wp-element-button">Medium</a></div>
86
+ <!-- /wp:button -->
87
+ <!-- wp:button {"className":"is-style-fill","baselineSize":"lg"} -->
88
+ <div class="wp-block-button is-style-fill"><a class="wp-block-button__link wp-element-button">Large</a></div>
89
+ <!-- /wp:button --></div>
90
+ <!-- /wp:buttons -->
91
+
92
+ <!-- wp:heading -->
93
+ <h2 class="wp-block-heading">Button icons</h2>
94
+ <!-- /wp:heading -->
95
+
96
+ <!-- wp:buttons -->
97
+ <div class="wp-block-buttons"><!-- wp:button {"className":"is-style-fill","baselineSize":"md","baselineIcon":"baseline/plus"} -->
98
+ <div class="wp-block-button is-style-fill"><a class="wp-block-button__link wp-element-button">Leading icon</a></div>
99
+ <!-- /wp:button -->
100
+ <!-- wp:button {"className":"is-style-secondary","baselineSize":"md","baselineIcon":"baseline/arrow-right","baselineIconPosition":"end"} -->
101
+ <div class="wp-block-button is-style-secondary"><a class="wp-block-button__link wp-element-button">Trailing icon</a></div>
102
+ <!-- /wp:button -->
103
+ <!-- wp:button {"className":"is-style-outline","baselineSize":"md","baselineIcon":"baseline/settings","baselineIconOnly":true} -->
104
+ <div class="wp-block-button is-style-outline"><a class="wp-block-button__link wp-element-button">Settings</a></div>
105
+ <!-- /wp:button -->
106
+ <!-- wp:button {"className":"is-style-ghost","baselineSize":"sm","baselineIcon":"baseline/search","baselineIconOnly":true} -->
107
+ <div class="wp-block-button is-style-ghost"><a class="wp-block-button__link wp-element-button">Search</a></div>
108
+ <!-- /wp:button --></div>
109
+ <!-- /wp:buttons -->
110
+
111
+ <!-- wp:separator -->
112
+ <hr class="wp-block-separator has-alpha-channel-opacity"/>
113
+ <!-- /wp:separator -->
114
+
115
+ <!-- wp:heading -->
116
+ <h2 class="wp-block-heading">Input group</h2>
117
+ <!-- /wp:heading -->
118
+
119
+ <!-- wp:paragraph -->
120
+ <p>There is no core block for a grouped control, but core/search with the button inside renders exactly this shape: one border around a field and a button. The button-outside variant below is deliberately left alone, because two controls side by side is Button Group rather than this component.</p>
121
+ <!-- /wp:paragraph -->
122
+
123
+ <!-- wp:search {"label":"Search","buttonText":"Search","buttonPosition":"button-inside"} /-->
124
+
125
+ <!-- wp:search {"label":"Search, button outside","buttonText":"Search"} /-->
126
+
127
+ <!-- wp:separator -->
128
+ <hr class="wp-block-separator has-alpha-channel-opacity"/>
129
+ <!-- /wp:separator -->
130
+
131
+ <!-- wp:heading -->
132
+ <h2 class="wp-block-heading">Switch</h2>
133
+ <!-- /wp:heading -->
134
+
135
+ <!-- wp:paragraph -->
136
+ <p>The one form control that lives here rather than on the Gravity Forms page: there is no core switch block and no Gravity Forms switch field, so nothing else on a WordPress site renders one. The theme styles the opt-in <code>role="switch"</code> selector, which is why this section is raw HTML.</p>
137
+ <!-- /wp:paragraph -->
138
+
139
+ <!-- wp:html -->
140
+ <div style="display:flex;flex-direction:column;gap:12px;max-width:24rem">
141
+ <div style="display:flex;align-items:center;gap:16px">
142
+ <input type="checkbox" role="switch" aria-label="Off">
143
+ <input type="checkbox" role="switch" checked aria-label="On">
144
+ <input type="checkbox" role="switch" aria-invalid="true" aria-label="Invalid">
145
+ <input type="checkbox" role="switch" aria-invalid="true" checked aria-label="Invalid on">
146
+ <input type="checkbox" role="switch" disabled aria-label="Disabled">
147
+ <input type="checkbox" role="switch" disabled checked aria-label="Disabled on">
148
+ </div>
149
+ <div style="display:flex;align-items:center;gap:16px">
150
+ <input type="checkbox" role="switch" data-size="sm" aria-label="Small off">
151
+ <input type="checkbox" role="switch" data-size="sm" checked aria-label="Small on">
152
+ <input type="checkbox" role="switch" data-size="md" aria-label="Medium off">
153
+ <input type="checkbox" role="switch" data-size="md" checked aria-label="Medium on">
154
+ </div>
155
+ <div style="display:flex;align-items:center;gap:8px">
156
+ <input type="checkbox" role="switch" id="sw-2fa" checked>
157
+ <label for="sw-2fa">Ask for a code at every sign-in</label>
158
+ </div>
159
+ <div style="display:flex;align-items:center;gap:8px">
160
+ <input type="checkbox" role="switch" id="sw-digest">
161
+ <label for="sw-digest">Send a weekly summary</label>
162
+ </div>
163
+ </div>
164
+ <!-- /wp:html -->
165
+
166
+ <!-- wp:separator -->
167
+ <hr class="wp-block-separator has-alpha-channel-opacity"/>
168
+ <!-- /wp:separator -->
169
+
170
+ <!-- wp:heading -->
171
+ <h2 class="wp-block-heading">Typeset</h2>
172
+ <!-- /wp:heading -->
173
+
174
+ <!-- wp:paragraph -->
175
+ <p>Prose rhythm comes from one class on the content wrapper, not from per-element margins. Everything below is ordinary core blocks with no extra styling, so the spacing is the typeset stylesheet doing its job.</p>
176
+ <!-- /wp:paragraph -->
177
+
178
+ <!-- wp:heading {"level":3} -->
179
+ <h3 class="wp-block-heading">A third-level heading</h3>
180
+ <!-- /wp:heading -->
181
+
182
+ <!-- wp:paragraph -->
183
+ <p>Body copy with <strong>bold</strong>, <em>italic</em>, <a href="/">a link</a> and <code>inline code</code>. The gap above a heading should be larger than the gap between two paragraphs.</p>
184
+ <!-- /wp:paragraph -->
185
+
186
+ <!-- wp:list -->
187
+ <ul class="wp-block-list"><!-- wp:list-item -->
188
+ <li>An unordered list item</li>
189
+ <!-- /wp:list-item -->
190
+ <!-- wp:list-item -->
191
+ <li>A second item, to show the gap between them</li>
192
+ <!-- /wp:list-item -->
193
+ <!-- wp:list-item -->
194
+ <li>A third item</li>
195
+ <!-- /wp:list-item --></ul>
196
+ <!-- /wp:list -->
197
+
198
+ <!-- wp:list {"ordered":true} -->
199
+ <ol class="wp-block-list"><!-- wp:list-item -->
200
+ <li>First</li>
201
+ <!-- /wp:list-item -->
202
+ <!-- wp:list-item -->
203
+ <li>Second</li>
204
+ <!-- /wp:list-item --></ol>
205
+ <!-- /wp:list -->
206
+
207
+ <!-- wp:quote -->
208
+ <blockquote class="wp-block-quote"><!-- wp:paragraph -->
209
+ <p>A blockquote sits inside the rhythm rather than breaking it.</p>
210
+ <!-- /wp:paragraph --></blockquote>
211
+ <!-- /wp:quote -->
212
+
213
+ <!-- wp:code -->
214
+ <pre class="wp-block-code"><code>npm run tokens
215
+ npm run check</code></pre>
216
+ <!-- /wp:code -->
217
+
218
+ <!-- wp:table -->
219
+ <figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Token</th><th>Value</th></tr></thead><tbody><tr><td>control height md</td><td>32px</td></tr><tr><td>checkbox size</td><td>16px</td></tr></tbody></table></figure>
220
+ <!-- /wp:table -->
221
+
222
+ <!-- wp:paragraph -->
223
+ <p>A button inside prose carries not-typeset, so it keeps its own box instead of inheriting prose rhythm.</p>
224
+ <!-- /wp:paragraph -->
225
+
226
+ <!-- wp:buttons -->
227
+ <div class="wp-block-buttons"><!-- wp:button {"className":"is-style-fill","baselineSize":"md"} -->
228
+ <div class="wp-block-button is-style-fill"><a class="wp-block-button__link wp-element-button">Embedded in prose</a></div>
229
+ <!-- /wp:button --></div>
230
+ <!-- /wp:buttons -->
231
+
232
+ <!-- wp:separator -->
233
+ <hr class="wp-block-separator has-alpha-channel-opacity"/>
234
+ <!-- /wp:separator -->
235
+
236
+ <!-- wp:heading -->
237
+ <h2 class="wp-block-heading">Form kitchen sink</h2>
238
+ <!-- /wp:heading -->
239
+
240
+ <!-- wp:paragraph -->
241
+ <p>Every Gravity Forms field type Baseline styles. Gravity Forms owns this markup, so what it exercises is the CSS API mapping in src/gravityforms.css rather than anything Baseline emits.</p>
242
+ <!-- /wp:paragraph -->
243
+
244
+ <!-- wp:shortcode -->
245
+ [gravityform id="1" title="false" description="false" ajax="false"]
246
+ <!-- /wp:shortcode -->'
247
+
248
+ # The form used to live on its own /forms/ page. It is on the home page now, so that page is removed if an
249
+ # earlier seed created it — one kitchen sink, not two.
250
+ FID=$(wp post list --post_type=page --name=forms --field=ID | head -1)
251
+ if [ -n "$FID" ]; then
252
+ wp post delete "$FID" --force >/dev/null && echo "Removed the old /forms/ page; the form is on the home page now"
253
+ fi
254
+
255
+ ID=$(wp post list --post_type=page --name=baseline --field=ID | head -1)
256
+ if [ -z "$ID" ]; then
257
+ ID=$(wp post create --post_type=page --post_title="Baseline" --post_name=baseline --post_status=publish --post_content="$CONTENT" --porcelain)
258
+ else
259
+ wp post update "$ID" --post_content="$CONTENT" >/dev/null
260
+ fi
261
+ wp option update show_on_front page && wp option update page_on_front "$ID"
262
+ echo "Seeded page $ID (every component, forms included). Login admin/admin at $DDEV_PRIMARY_URL/wp-admin"