@goldencomm/create-baseline 0.0.1

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 (377) hide show
  1. package/README.md +88 -0
  2. package/index.mjs +296 -0
  3. package/package.json +44 -0
  4. package/templates/next/.claude/skills/ai-elements/SKILL.md +160 -0
  5. package/templates/next/.claude/skills/ai-elements/references/agent.md +134 -0
  6. package/templates/next/.claude/skills/ai-elements/references/artifact.md +84 -0
  7. package/templates/next/.claude/skills/ai-elements/references/attachments.md +190 -0
  8. package/templates/next/.claude/skills/ai-elements/references/audio-player.md +134 -0
  9. package/templates/next/.claude/skills/ai-elements/references/canvas.md +34 -0
  10. package/templates/next/.claude/skills/ai-elements/references/chain-of-thought.md +81 -0
  11. package/templates/next/.claude/skills/ai-elements/references/checkpoint.md +183 -0
  12. package/templates/next/.claude/skills/ai-elements/references/code-block.md +170 -0
  13. package/templates/next/.claude/skills/ai-elements/references/commit.md +177 -0
  14. package/templates/next/.claude/skills/ai-elements/references/confirmation.md +262 -0
  15. package/templates/next/.claude/skills/ai-elements/references/connection.md +34 -0
  16. package/templates/next/.claude/skills/ai-elements/references/context.md +126 -0
  17. package/templates/next/.claude/skills/ai-elements/references/controls.md +32 -0
  18. package/templates/next/.claude/skills/ai-elements/references/conversation.md +224 -0
  19. package/templates/next/.claude/skills/ai-elements/references/edge.md +52 -0
  20. package/templates/next/.claude/skills/ai-elements/references/environment-variables.md +102 -0
  21. package/templates/next/.claude/skills/ai-elements/references/file-tree.md +72 -0
  22. package/templates/next/.claude/skills/ai-elements/references/image.md +146 -0
  23. package/templates/next/.claude/skills/ai-elements/references/inline-citation.md +299 -0
  24. package/templates/next/.claude/skills/ai-elements/references/jsx-preview.md +104 -0
  25. package/templates/next/.claude/skills/ai-elements/references/message.md +237 -0
  26. package/templates/next/.claude/skills/ai-elements/references/mic-selector.md +189 -0
  27. package/templates/next/.claude/skills/ai-elements/references/model-selector.md +112 -0
  28. package/templates/next/.claude/skills/ai-elements/references/node.md +73 -0
  29. package/templates/next/.claude/skills/ai-elements/references/open-in-chat.md +67 -0
  30. package/templates/next/.claude/skills/ai-elements/references/package-info.md +95 -0
  31. package/templates/next/.claude/skills/ai-elements/references/panel.md +33 -0
  32. package/templates/next/.claude/skills/ai-elements/references/persona.md +166 -0
  33. package/templates/next/.claude/skills/ai-elements/references/plan.md +79 -0
  34. package/templates/next/.claude/skills/ai-elements/references/prompt-input.md +579 -0
  35. package/templates/next/.claude/skills/ai-elements/references/queue.md +172 -0
  36. package/templates/next/.claude/skills/ai-elements/references/reasoning.md +238 -0
  37. package/templates/next/.claude/skills/ai-elements/references/sandbox.md +129 -0
  38. package/templates/next/.claude/skills/ai-elements/references/schema-display.md +102 -0
  39. package/templates/next/.claude/skills/ai-elements/references/shimmer.md +48 -0
  40. package/templates/next/.claude/skills/ai-elements/references/snippet.md +64 -0
  41. package/templates/next/.claude/skills/ai-elements/references/sources.md +209 -0
  42. package/templates/next/.claude/skills/ai-elements/references/speech-input.md +163 -0
  43. package/templates/next/.claude/skills/ai-elements/references/stack-trace.md +224 -0
  44. package/templates/next/.claude/skills/ai-elements/references/suggestion.md +124 -0
  45. package/templates/next/.claude/skills/ai-elements/references/task.md +222 -0
  46. package/templates/next/.claude/skills/ai-elements/references/terminal.md +103 -0
  47. package/templates/next/.claude/skills/ai-elements/references/test-results.md +157 -0
  48. package/templates/next/.claude/skills/ai-elements/references/tool.md +285 -0
  49. package/templates/next/.claude/skills/ai-elements/references/toolbar.md +32 -0
  50. package/templates/next/.claude/skills/ai-elements/references/transcription.md +120 -0
  51. package/templates/next/.claude/skills/ai-elements/references/voice-selector.md +241 -0
  52. package/templates/next/.claude/skills/ai-elements/references/web-preview.md +200 -0
  53. package/templates/next/.claude/skills/ai-elements/scripts/agent.tsx +61 -0
  54. package/templates/next/.claude/skills/ai-elements/scripts/artifact.tsx +127 -0
  55. package/templates/next/.claude/skills/ai-elements/scripts/attachments-inline.tsx +128 -0
  56. package/templates/next/.claude/skills/ai-elements/scripts/attachments-list.tsx +95 -0
  57. package/templates/next/.claude/skills/ai-elements/scripts/attachments.tsx +85 -0
  58. package/templates/next/.claude/skills/ai-elements/scripts/audio-player-remote.tsx +35 -0
  59. package/templates/next/.claude/skills/ai-elements/scripts/audio-player.tsx +68 -0
  60. package/templates/next/.claude/skills/ai-elements/scripts/chain-of-thought.tsx +82 -0
  61. package/templates/next/.claude/skills/ai-elements/scripts/checkpoint.tsx +110 -0
  62. package/templates/next/.claude/skills/ai-elements/scripts/code-block-dark.tsx +46 -0
  63. package/templates/next/.claude/skills/ai-elements/scripts/code-block.tsx +120 -0
  64. package/templates/next/.claude/skills/ai-elements/scripts/commit.tsx +94 -0
  65. package/templates/next/.claude/skills/ai-elements/scripts/confirmation-accepted.tsx +40 -0
  66. package/templates/next/.claude/skills/ai-elements/scripts/confirmation-rejected.tsx +40 -0
  67. package/templates/next/.claude/skills/ai-elements/scripts/confirmation-request.tsx +54 -0
  68. package/templates/next/.claude/skills/ai-elements/scripts/confirmation.tsx +55 -0
  69. package/templates/next/.claude/skills/ai-elements/scripts/context.tsx +45 -0
  70. package/templates/next/.claude/skills/ai-elements/scripts/conversation.tsx +177 -0
  71. package/templates/next/.claude/skills/ai-elements/scripts/environment-variables.tsx +62 -0
  72. package/templates/next/.claude/skills/ai-elements/scripts/file-tree-basic.tsx +18 -0
  73. package/templates/next/.claude/skills/ai-elements/scripts/file-tree-expanded.tsx +21 -0
  74. package/templates/next/.claude/skills/ai-elements/scripts/file-tree-selection.tsx +24 -0
  75. package/templates/next/.claude/skills/ai-elements/scripts/file-tree.tsx +42 -0
  76. package/templates/next/.claude/skills/ai-elements/scripts/image.tsx +20 -0
  77. package/templates/next/.claude/skills/ai-elements/scripts/inline-citation.tsx +97 -0
  78. package/templates/next/.claude/skills/ai-elements/scripts/jsx-preview.tsx +104 -0
  79. package/templates/next/.claude/skills/ai-elements/scripts/message.tsx +365 -0
  80. package/templates/next/.claude/skills/ai-elements/scripts/mic-selector.tsx +49 -0
  81. package/templates/next/.claude/skills/ai-elements/scripts/model-selector.tsx +365 -0
  82. package/templates/next/.claude/skills/ai-elements/scripts/open-in-chat.tsx +33 -0
  83. package/templates/next/.claude/skills/ai-elements/scripts/package-info.tsx +51 -0
  84. package/templates/next/.claude/skills/ai-elements/scripts/persona-command.tsx +110 -0
  85. package/templates/next/.claude/skills/ai-elements/scripts/persona-glint.tsx +110 -0
  86. package/templates/next/.claude/skills/ai-elements/scripts/persona-halo.tsx +110 -0
  87. package/templates/next/.claude/skills/ai-elements/scripts/persona-mana.tsx +110 -0
  88. package/templates/next/.claude/skills/ai-elements/scripts/persona-obsidian.tsx +110 -0
  89. package/templates/next/.claude/skills/ai-elements/scripts/persona-opal.tsx +110 -0
  90. package/templates/next/.claude/skills/ai-elements/scripts/plan.tsx +65 -0
  91. package/templates/next/.claude/skills/ai-elements/scripts/prompt-input-cursor.tsx +502 -0
  92. package/templates/next/.claude/skills/ai-elements/scripts/prompt-input-tooltip.tsx +44 -0
  93. package/templates/next/.claude/skills/ai-elements/scripts/prompt-input.tsx +267 -0
  94. package/templates/next/.claude/skills/ai-elements/scripts/queue-prompt-input.tsx +394 -0
  95. package/templates/next/.claude/skills/ai-elements/scripts/queue.tsx +295 -0
  96. package/templates/next/.claude/skills/ai-elements/scripts/reasoning.tsx +71 -0
  97. package/templates/next/.claude/skills/ai-elements/scripts/sandbox.tsx +178 -0
  98. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-basic.tsx +9 -0
  99. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-body.tsx +20 -0
  100. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-nested.tsx +23 -0
  101. package/templates/next/.claude/skills/ai-elements/scripts/schema-display-params.tsx +16 -0
  102. package/templates/next/.claude/skills/ai-elements/scripts/schema-display.tsx +110 -0
  103. package/templates/next/.claude/skills/ai-elements/scripts/shimmer-duration.tsx +31 -0
  104. package/templates/next/.claude/skills/ai-elements/scripts/shimmer-elements.tsx +43 -0
  105. package/templates/next/.claude/skills/ai-elements/scripts/shimmer.tsx +17 -0
  106. package/templates/next/.claude/skills/ai-elements/scripts/snippet-plain.tsx +19 -0
  107. package/templates/next/.claude/skills/ai-elements/scripts/snippet.tsx +25 -0
  108. package/templates/next/.claude/skills/ai-elements/scripts/sources-custom.tsx +39 -0
  109. package/templates/next/.claude/skills/ai-elements/scripts/sources.tsx +32 -0
  110. package/templates/next/.claude/skills/ai-elements/scripts/speech-input.tsx +84 -0
  111. package/templates/next/.claude/skills/ai-elements/scripts/stack-trace-collapsed.tsx +39 -0
  112. package/templates/next/.claude/skills/ai-elements/scripts/stack-trace-no-internal.tsx +41 -0
  113. package/templates/next/.claude/skills/ai-elements/scripts/stack-trace.tsx +58 -0
  114. package/templates/next/.claude/skills/ai-elements/scripts/suggestion-input.tsx +144 -0
  115. package/templates/next/.claude/skills/ai-elements/scripts/suggestion.tsx +32 -0
  116. package/templates/next/.claude/skills/ai-elements/scripts/task.tsx +59 -0
  117. package/templates/next/.claude/skills/ai-elements/scripts/terminal-basic.tsx +7 -0
  118. package/templates/next/.claude/skills/ai-elements/scripts/terminal-clear.tsx +19 -0
  119. package/templates/next/.claude/skills/ai-elements/scripts/terminal-streaming.tsx +38 -0
  120. package/templates/next/.claude/skills/ai-elements/scripts/terminal.tsx +82 -0
  121. package/templates/next/.claude/skills/ai-elements/scripts/test-results-basic.tsx +27 -0
  122. package/templates/next/.claude/skills/ai-elements/scripts/test-results-errors.tsx +51 -0
  123. package/templates/next/.claude/skills/ai-elements/scripts/test-results-suites.tsx +40 -0
  124. package/templates/next/.claude/skills/ai-elements/scripts/test-results.tsx +102 -0
  125. package/templates/next/.claude/skills/ai-elements/scripts/tool-input-available.tsx +31 -0
  126. package/templates/next/.claude/skills/ai-elements/scripts/tool-input-streaming.tsx +30 -0
  127. package/templates/next/.claude/skills/ai-elements/scripts/tool-output-available.tsx +80 -0
  128. package/templates/next/.claude/skills/ai-elements/scripts/tool-output-error.tsx +44 -0
  129. package/templates/next/.claude/skills/ai-elements/scripts/tool.tsx +222 -0
  130. package/templates/next/.claude/skills/ai-elements/scripts/transcription.tsx +290 -0
  131. package/templates/next/.claude/skills/ai-elements/scripts/voice-selector.tsx +245 -0
  132. package/templates/next/.claude/skills/ai-elements/scripts/web-preview.tsx +115 -0
  133. package/templates/next/.claude/skills/ai-sdk/SKILL.md +78 -0
  134. package/templates/next/.claude/skills/frontend-design/LICENSE.txt +177 -0
  135. package/templates/next/.claude/skills/frontend-design/SKILL.md +55 -0
  136. package/templates/next/.claude/skills/gc-implement-figma-page/SKILL.md +93 -0
  137. package/templates/next/.claude/skills/migrate-ai-sdk-v6-to-v7/SKILL.md +108 -0
  138. package/templates/next/.claude/skills/vercel-composition-patterns/AGENTS.md +946 -0
  139. package/templates/next/.claude/skills/vercel-composition-patterns/README.md +60 -0
  140. package/templates/next/.claude/skills/vercel-composition-patterns/SKILL.md +89 -0
  141. package/templates/next/.claude/skills/vercel-composition-patterns/metadata.json +11 -0
  142. package/templates/next/.claude/skills/vercel-composition-patterns/rules/_sections.md +29 -0
  143. package/templates/next/.claude/skills/vercel-composition-patterns/rules/_template.md +24 -0
  144. package/templates/next/.claude/skills/vercel-composition-patterns/rules/architecture-avoid-boolean-props.md +100 -0
  145. package/templates/next/.claude/skills/vercel-composition-patterns/rules/architecture-compound-components.md +112 -0
  146. package/templates/next/.claude/skills/vercel-composition-patterns/rules/patterns-children-over-render-props.md +87 -0
  147. package/templates/next/.claude/skills/vercel-composition-patterns/rules/patterns-explicit-variants.md +100 -0
  148. package/templates/next/.claude/skills/vercel-composition-patterns/rules/react19-no-forwardref.md +42 -0
  149. package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-context-interface.md +191 -0
  150. package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-decouple-implementation.md +113 -0
  151. package/templates/next/.claude/skills/vercel-composition-patterns/rules/state-lift-state.md +125 -0
  152. package/templates/next/.claude/skills/vercel-react-best-practices/AGENTS.md +3810 -0
  153. package/templates/next/.claude/skills/vercel-react-best-practices/README.md +123 -0
  154. package/templates/next/.claude/skills/vercel-react-best-practices/SKILL.md +149 -0
  155. package/templates/next/.claude/skills/vercel-react-best-practices/metadata.json +15 -0
  156. package/templates/next/.claude/skills/vercel-react-best-practices/rules/_sections.md +46 -0
  157. package/templates/next/.claude/skills/vercel-react-best-practices/rules/_template.md +28 -0
  158. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-effect-event-deps.md +56 -0
  159. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  160. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
  161. package/templates/next/.claude/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
  162. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
  163. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md +37 -0
  164. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-defer-await.md +82 -0
  165. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
  166. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
  167. package/templates/next/.claude/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
  168. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-analyzable-paths.md +63 -0
  169. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +60 -0
  170. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
  171. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
  172. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  173. package/templates/next/.claude/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
  174. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
  175. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
  176. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
  177. package/templates/next/.claude/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
  178. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
  179. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
  180. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
  181. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
  182. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
  183. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
  184. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
  185. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
  186. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
  187. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
  188. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
  189. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-request-idle-callback.md +105 -0
  190. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
  191. package/templates/next/.claude/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
  192. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
  193. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  194. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
  195. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
  196. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  197. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  198. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  199. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
  200. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
  201. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
  202. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  203. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
  204. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
  205. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  206. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
  207. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
  208. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  209. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  210. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
  211. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  212. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
  213. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  214. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
  215. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
  216. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
  217. package/templates/next/.claude/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  218. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
  219. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
  220. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
  221. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
  222. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
  223. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +149 -0
  224. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-no-shared-module-state.md +50 -0
  225. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
  226. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md +34 -0
  227. package/templates/next/.claude/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
  228. package/templates/next/.claude/skills/web-design-guidelines/SKILL.md +39 -0
  229. package/templates/next/CLAUDE.md +42 -0
  230. package/templates/next/README.md +30 -0
  231. package/templates/next/_gitignore +4 -0
  232. package/templates/next/app/globals.css +13 -0
  233. package/templates/next/app/layout.tsx +44 -0
  234. package/templates/next/app/page.tsx +30 -0
  235. package/templates/next/globals.d.ts +8 -0
  236. package/templates/next/next.config.mjs +6 -0
  237. package/templates/next/package.json +38 -0
  238. package/templates/next/postcss.config.mjs +5 -0
  239. package/templates/next/skills-lock.json +47 -0
  240. package/templates/next/tsconfig.json +36 -0
  241. package/templates/shopify-theme/.claude/skills/gc-shopify-block/SKILL.md +44 -0
  242. package/templates/shopify-theme/.claude/skills/shopify-dev/SKILL.md +51 -0
  243. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/log_skill_use.mjs +205 -0
  244. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/search_docs.mjs +272 -0
  245. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/track-telemetry.ps1 +361 -0
  246. package/templates/shopify-theme/.claude/skills/shopify-dev/scripts/track-telemetry.sh +527 -0
  247. package/templates/shopify-theme/.claude/skills/shopify-liquid/SKILL.md +343 -0
  248. package/templates/shopify-theme/.claude/skills/shopify-liquid/blocks/hero-slide.liquid +342 -0
  249. package/templates/shopify-theme/.claude/skills/shopify-liquid/config/settings_schema.json +1 -0
  250. package/templates/shopify-theme/.claude/skills/shopify-liquid/featured-collection.liquid +457 -0
  251. package/templates/shopify-theme/.claude/skills/shopify-liquid/locales/en.default.json +10 -0
  252. package/templates/shopify-theme/.claude/skills/shopify-liquid/locales/en.default.schema.json +103 -0
  253. package/templates/shopify-theme/.claude/skills/shopify-liquid/package.json +10 -0
  254. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/search_docs.mjs +759 -0
  255. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/track-telemetry.ps1 +361 -0
  256. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/track-telemetry.sh +527 -0
  257. package/templates/shopify-theme/.claude/skills/shopify-liquid/scripts/validate.mjs +654 -0
  258. package/templates/shopify-theme/.claude/skills/shopify-liquid/sections/hero-banner.liquid +329 -0
  259. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/SKILL.md +165 -0
  260. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/log_skill_use.mjs +205 -0
  261. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/track-telemetry.ps1 +361 -0
  262. package/templates/shopify-theme/.claude/skills/shopify-use-shopify-cli/scripts/track-telemetry.sh +527 -0
  263. package/templates/shopify-theme/.shopifyignore +9 -0
  264. package/templates/shopify-theme/CLAUDE.md +51 -0
  265. package/templates/shopify-theme/README.md +92 -0
  266. package/templates/shopify-theme/assets/baseline.css +8390 -0
  267. package/templates/shopify-theme/assets/swiper-element-bundle.min.js +14 -0
  268. package/templates/shopify-theme/blocks/_accordion.liquid +59 -0
  269. package/templates/shopify-theme/blocks/_carousel-slide.liquid +24 -0
  270. package/templates/shopify-theme/blocks/_modal-body.liquid +18 -0
  271. package/templates/shopify-theme/blocks/_modal-footer.liquid +36 -0
  272. package/templates/shopify-theme/blocks/_modal-header.liquid +19 -0
  273. package/templates/shopify-theme/blocks/_modal-media.liquid +37 -0
  274. package/templates/shopify-theme/blocks/accordion-group.liquid +53 -0
  275. package/templates/shopify-theme/blocks/alert.liquid +92 -0
  276. package/templates/shopify-theme/blocks/avatar-group.liquid +51 -0
  277. package/templates/shopify-theme/blocks/avatar.liquid +56 -0
  278. package/templates/shopify-theme/blocks/badge.liquid +33 -0
  279. package/templates/shopify-theme/blocks/breadcrumb.liquid +45 -0
  280. package/templates/shopify-theme/blocks/button.liquid +51 -0
  281. package/templates/shopify-theme/blocks/buttons.liquid +41 -0
  282. package/templates/shopify-theme/blocks/card.liquid +67 -0
  283. package/templates/shopify-theme/blocks/carousel.liquid +55 -0
  284. package/templates/shopify-theme/blocks/column.liquid +33 -0
  285. package/templates/shopify-theme/blocks/image.liquid +37 -0
  286. package/templates/shopify-theme/blocks/modal.liquid +52 -0
  287. package/templates/shopify-theme/blocks/popover.liquid +24 -0
  288. package/templates/shopify-theme/blocks/skeleton.liquid +22 -0
  289. package/templates/shopify-theme/blocks/spinner.liquid +22 -0
  290. package/templates/shopify-theme/blocks/split.liquid +39 -0
  291. package/templates/shopify-theme/blocks/tab.liquid +19 -0
  292. package/templates/shopify-theme/blocks/tabs.liquid +78 -0
  293. package/templates/shopify-theme/blocks/tags.liquid +55 -0
  294. package/templates/shopify-theme/blocks/text.liquid +55 -0
  295. package/templates/shopify-theme/blocks/tooltip.liquid +50 -0
  296. package/templates/shopify-theme/blocks/typography.liquid +90 -0
  297. package/templates/shopify-theme/config/settings_data.json +4 -0
  298. package/templates/shopify-theme/config/settings_schema.json +10 -0
  299. package/templates/shopify-theme/layout/theme.liquid +21 -0
  300. package/templates/shopify-theme/locales/en.default.json +5 -0
  301. package/templates/shopify-theme/locales/en.default.schema.json +131 -0
  302. package/templates/shopify-theme/package.json +21 -0
  303. package/templates/shopify-theme/scripts/sync-tokens.mjs +32 -0
  304. package/templates/shopify-theme/sections/baseline-components.liquid +81 -0
  305. package/templates/shopify-theme/skills-lock.json +23 -0
  306. package/templates/shopify-theme/snippets/lucide.liquid +34 -0
  307. package/templates/shopify-theme/snippets/pagination.liquid +44 -0
  308. package/templates/shopify-theme/templates/collection.json +13 -0
  309. package/templates/shopify-theme/templates/gift_card.liquid +5 -0
  310. package/templates/shopify-theme/templates/index.json +135 -0
  311. package/templates/shopify-theme/templates/list-collections.json +13 -0
  312. package/templates/shopify-theme/templates/product.json +13 -0
  313. package/templates/wordpress/.claude/CLAUDE.md +37 -0
  314. package/templates/wordpress/.claude/skills/wp-block-development/SKILL.md +174 -0
  315. package/templates/wordpress/.claude/skills/wp-block-development/references/attributes-and-serialization.md +22 -0
  316. package/templates/wordpress/.claude/skills/wp-block-development/references/block-json.md +49 -0
  317. package/templates/wordpress/.claude/skills/wp-block-development/references/creating-new-blocks.md +46 -0
  318. package/templates/wordpress/.claude/skills/wp-block-development/references/debugging.md +36 -0
  319. package/templates/wordpress/.claude/skills/wp-block-development/references/deprecations.md +24 -0
  320. package/templates/wordpress/.claude/skills/wp-block-development/references/dynamic-rendering.md +23 -0
  321. package/templates/wordpress/.claude/skills/wp-block-development/references/inner-blocks.md +25 -0
  322. package/templates/wordpress/.claude/skills/wp-block-development/references/registration.md +30 -0
  323. package/templates/wordpress/.claude/skills/wp-block-development/references/supports-and-wrappers.md +18 -0
  324. package/templates/wordpress/.claude/skills/wp-block-development/references/tooling-and-testing.md +21 -0
  325. package/templates/wordpress/.claude/skills/wp-block-development/scripts/list_blocks.mjs +121 -0
  326. package/templates/wordpress/.claude/skills/wp-block-themes/SKILL.md +116 -0
  327. package/templates/wordpress/.claude/skills/wp-block-themes/references/creating-new-block-theme.md +37 -0
  328. package/templates/wordpress/.claude/skills/wp-block-themes/references/debugging.md +24 -0
  329. package/templates/wordpress/.claude/skills/wp-block-themes/references/patterns.md +18 -0
  330. package/templates/wordpress/.claude/skills/wp-block-themes/references/style-variations.md +14 -0
  331. package/templates/wordpress/.claude/skills/wp-block-themes/references/templates-and-parts.md +16 -0
  332. package/templates/wordpress/.claude/skills/wp-block-themes/references/theme-json.md +59 -0
  333. package/templates/wordpress/.claude/skills/wp-block-themes/scripts/detect_block_themes.mjs +117 -0
  334. package/templates/wordpress/.claude/skills/wp-performance/SKILL.md +146 -0
  335. package/templates/wordpress/.claude/skills/wp-performance/references/autoload-options.md +24 -0
  336. package/templates/wordpress/.claude/skills/wp-performance/references/cron.md +20 -0
  337. package/templates/wordpress/.claude/skills/wp-performance/references/database.md +20 -0
  338. package/templates/wordpress/.claude/skills/wp-performance/references/http-api.md +15 -0
  339. package/templates/wordpress/.claude/skills/wp-performance/references/measurement.md +21 -0
  340. package/templates/wordpress/.claude/skills/wp-performance/references/object-cache.md +24 -0
  341. package/templates/wordpress/.claude/skills/wp-performance/references/query-monitor-headless.md +38 -0
  342. package/templates/wordpress/.claude/skills/wp-performance/references/server-timing.md +22 -0
  343. package/templates/wordpress/.claude/skills/wp-performance/references/wp-cli-doctor.md +24 -0
  344. package/templates/wordpress/.claude/skills/wp-performance/references/wp-cli-profile.md +32 -0
  345. package/templates/wordpress/.claude/skills/wp-performance/scripts/perf_inspect.mjs +128 -0
  346. package/templates/wordpress/.claude/skills/wp-plugin-development/SKILL.md +112 -0
  347. package/templates/wordpress/.claude/skills/wp-plugin-development/references/data-and-cron.md +19 -0
  348. package/templates/wordpress/.claude/skills/wp-plugin-development/references/debugging.md +19 -0
  349. package/templates/wordpress/.claude/skills/wp-plugin-development/references/lifecycle.md +33 -0
  350. package/templates/wordpress/.claude/skills/wp-plugin-development/references/security.md +29 -0
  351. package/templates/wordpress/.claude/skills/wp-plugin-development/references/settings-api.md +22 -0
  352. package/templates/wordpress/.claude/skills/wp-plugin-development/references/structure.md +16 -0
  353. package/templates/wordpress/.claude/skills/wp-plugin-development/scripts/detect_plugins.mjs +122 -0
  354. package/templates/wordpress/.claude/skills/wp-rest-api/SKILL.md +114 -0
  355. package/templates/wordpress/.claude/skills/wp-rest-api/references/authentication.md +18 -0
  356. package/templates/wordpress/.claude/skills/wp-rest-api/references/custom-content-types.md +20 -0
  357. package/templates/wordpress/.claude/skills/wp-rest-api/references/discovery-and-params.md +20 -0
  358. package/templates/wordpress/.claude/skills/wp-rest-api/references/responses-and-fields.md +30 -0
  359. package/templates/wordpress/.claude/skills/wp-rest-api/references/routes-and-endpoints.md +36 -0
  360. package/templates/wordpress/.claude/skills/wp-rest-api/references/schema.md +22 -0
  361. package/templates/wordpress/.ddev/commands/web/seed +7 -0
  362. package/templates/wordpress/.ddev/config.yaml +18 -0
  363. package/templates/wordpress/.ddev/docker-compose.packages.yaml +14 -0
  364. package/templates/wordpress/.ddev/docker-compose.redis.yaml +11 -0
  365. package/templates/wordpress/.env.example +33 -0
  366. package/templates/wordpress/CLAUDE.md +34 -0
  367. package/templates/wordpress/README.md +45 -0
  368. package/templates/wordpress/_gitignore +33 -0
  369. package/templates/wordpress/auth.json.example +18 -0
  370. package/templates/wordpress/composer.json +91 -0
  371. package/templates/wordpress/composer.lock +1594 -0
  372. package/templates/wordpress/package.json +13 -0
  373. package/templates/wordpress/scripts/seed.sh +64 -0
  374. package/templates/wordpress/skills-lock.json +35 -0
  375. package/templates/wordpress/wp-config.php +89 -0
  376. package/templates/wordpress/wp-content/index.php +2 -0
  377. package/templates/wordpress/wp-content/mu-plugins/baseline-bootstrap.php +26 -0
@@ -0,0 +1,183 @@
1
+ # Checkpoint
2
+
3
+ A simple component for marking conversation history points and restoring the chat to a previous state.
4
+
5
+ The `Checkpoint` component provides a way to mark specific points in a conversation history and restore the chat to that state. Inspired by VSCode's Copilot checkpoint feature, it allows users to revert to an earlier conversation state while maintaining a clear visual separation between different conversation segments.
6
+
7
+ See `scripts/checkpoint.tsx` for this example.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npx ai-elements@latest add checkpoint
13
+ ```
14
+
15
+ ## Features
16
+
17
+ - Simple flex layout with icon, trigger, and separator
18
+ - Visual separator line for clear conversation breaks
19
+ - Clickable restore button for reverting to checkpoint
20
+ - Customizable icon (defaults to BookmarkIcon)
21
+ - Keyboard accessible with proper ARIA labels
22
+ - Responsive design that adapts to different screen sizes
23
+ - Seamless light/dark theme integration
24
+
25
+ ## Usage with AI SDK
26
+
27
+ Build a chat interface with conversation checkpoints that allow users to restore to previous states.
28
+
29
+ Add the following component to your frontend:
30
+
31
+ ```tsx title="app/page.tsx"
32
+ "use client";
33
+
34
+ import { useState, Fragment } from "react";
35
+ import { useChat } from "@ai-sdk/react";
36
+ import {
37
+ Checkpoint,
38
+ CheckpointIcon,
39
+ CheckpointTrigger,
40
+ } from "@/components/ai-elements/checkpoint";
41
+ import {
42
+ Message,
43
+ MessageContent,
44
+ MessageResponse,
45
+ } from "@/components/ai-elements/message";
46
+ import {
47
+ Conversation,
48
+ ConversationContent,
49
+ } from "@/components/ai-elements/conversation";
50
+
51
+ type CheckpointType = {
52
+ id: string;
53
+ messageIndex: number;
54
+ timestamp: Date;
55
+ messageCount: number;
56
+ };
57
+
58
+ const CheckpointDemo = () => {
59
+ const { messages, setMessages } = useChat();
60
+ const [checkpoints, setCheckpoints] = useState<CheckpointType[]>([]);
61
+
62
+ const createCheckpoint = (messageIndex: number) => {
63
+ const checkpoint: CheckpointType = {
64
+ id: nanoid(),
65
+ messageIndex,
66
+ timestamp: new Date(),
67
+ messageCount: messageIndex + 1,
68
+ };
69
+ setCheckpoints([...checkpoints, checkpoint]);
70
+ };
71
+
72
+ const restoreToCheckpoint = (messageIndex: number) => {
73
+ // Restore messages to checkpoint state
74
+ setMessages(messages.slice(0, messageIndex + 1));
75
+ // Remove checkpoints after this point
76
+ setCheckpoints(checkpoints.filter((cp) => cp.messageIndex <= messageIndex));
77
+ };
78
+
79
+ return (
80
+ <div className="max-w-4xl mx-auto p-6 relative size-full rounded-lg border h-[600px]">
81
+ <Conversation>
82
+ <ConversationContent>
83
+ {messages.map((message, index) => {
84
+ const checkpoint = checkpoints.find(
85
+ (cp) => cp.messageIndex === index
86
+ );
87
+
88
+ return (
89
+ <Fragment key={message.id}>
90
+ <Message from={message.role}>
91
+ <MessageContent>
92
+ <MessageResponse>{message.content}</MessageResponse>
93
+ </MessageContent>
94
+ </Message>
95
+ {checkpoint && (
96
+ <Checkpoint>
97
+ <CheckpointIcon />
98
+ <CheckpointTrigger
99
+ onClick={() =>
100
+ restoreToCheckpoint(checkpoint.messageIndex)
101
+ }
102
+ >
103
+ Restore checkpoint
104
+ </CheckpointTrigger>
105
+ </Checkpoint>
106
+ )}
107
+ </Fragment>
108
+ );
109
+ })}
110
+ </ConversationContent>
111
+ </Conversation>
112
+ </div>
113
+ );
114
+ };
115
+
116
+ export default CheckpointDemo;
117
+ ```
118
+
119
+ ## Use Cases
120
+
121
+ ### Manual Checkpoints
122
+
123
+ Allow users to manually create checkpoints at important conversation points:
124
+
125
+ ```tsx
126
+ <Button onClick={() => createCheckpoint(messages.length - 1)}>
127
+ Create Checkpoint
128
+ </Button>
129
+ ```
130
+
131
+ ### Automatic Checkpoints
132
+
133
+ Create checkpoints automatically after significant conversation milestones:
134
+
135
+ ```tsx
136
+ useEffect(() => {
137
+ // Create checkpoint every 5 messages
138
+ if (messages.length > 0 && messages.length % 5 === 0) {
139
+ createCheckpoint(messages.length - 1);
140
+ }
141
+ }, [messages.length]);
142
+ ```
143
+
144
+ ### Branching Conversations
145
+
146
+ Use checkpoints to enable conversation branching where users can explore different conversation paths:
147
+
148
+ ```tsx
149
+ const restoreAndBranch = (messageIndex: number) => {
150
+ // Save current branch
151
+ const currentBranch = messages.slice(messageIndex + 1);
152
+ saveBranch(currentBranch);
153
+
154
+ // Restore to checkpoint
155
+ restoreToCheckpoint(messageIndex);
156
+ };
157
+ ```
158
+
159
+ ## Props
160
+
161
+ ### `<Checkpoint />`
162
+
163
+ | Prop | Type | Default | Description |
164
+ |------|------|---------|-------------|
165
+ | `children` | `React.ReactNode` | - | The checkpoint icon and trigger components. Automatically includes a Separator at the end. |
166
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the root div. |
167
+
168
+ ### `<CheckpointIcon />`
169
+
170
+ | Prop | Type | Default | Description |
171
+ |------|------|---------|-------------|
172
+ | `children` | `React.ReactNode` | - | Custom icon content. If not provided, defaults to a BookmarkIcon from lucide-react. |
173
+ | `...props` | `LucideProps` | - | Any other props are spread to the BookmarkIcon component. |
174
+
175
+ ### `<CheckpointTrigger />`
176
+
177
+ | Prop | Type | Default | Description |
178
+ |------|------|---------|-------------|
179
+ | `children` | `React.ReactNode` | - | The text or content to display in the trigger button. |
180
+ | `tooltip` | `string` | - | Optional tooltip text shown on hover. |
181
+ | `variant` | `string` | - | The button variant style. |
182
+ | `size` | `string` | - | The button size. |
183
+ | `...props` | `React.ComponentProps<typeof Button>` | - | Any other props are spread to the underlying shadcn/ui Button component. |
@@ -0,0 +1,170 @@
1
+ # Code Block
2
+
3
+ Provides syntax highlighting, line numbers, and copy to clipboard functionality for code blocks.
4
+
5
+ The `CodeBlock` component provides syntax highlighting, line numbers, and copy to clipboard functionality for code blocks. It's fully composable, allowing you to customize the header, actions, and content.
6
+
7
+ See `scripts/code-block.tsx` for this example.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npx ai-elements@latest add code-block
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ The CodeBlock is fully composable. Here's a basic example:
18
+
19
+ ```tsx
20
+ import {
21
+ CodeBlock,
22
+ CodeBlockActions,
23
+ CodeBlockCopyButton,
24
+ CodeBlockFilename,
25
+ CodeBlockHeader,
26
+ CodeBlockTitle,
27
+ } from "@/components/ai-elements/code-block";
28
+ import { FileIcon } from "lucide-react";
29
+
30
+ export const Example = () => (
31
+ <CodeBlock code={code} language="typescript">
32
+ <CodeBlockHeader>
33
+ <CodeBlockTitle>
34
+ <FileIcon size={14} />
35
+ <CodeBlockFilename>example.ts</CodeBlockFilename>
36
+ </CodeBlockTitle>
37
+ <CodeBlockActions>
38
+ <CodeBlockCopyButton />
39
+ </CodeBlockActions>
40
+ </CodeBlockHeader>
41
+ </CodeBlock>
42
+ );
43
+ ```
44
+
45
+ ## Features
46
+
47
+ - Syntax highlighting with Shiki
48
+ - Line numbers (optional)
49
+ - Copy to clipboard functionality
50
+ - Automatic light/dark theme switching via CSS variables
51
+ - Language selector for multi-language examples
52
+ - Fully composable architecture
53
+ - Accessible design
54
+
55
+ ## Examples
56
+
57
+ ### Dark Mode
58
+
59
+ To use the `CodeBlock` component in dark mode, wrap it in a `div` with the `dark` class.
60
+
61
+ See `scripts/code-block-dark.tsx` for this example.
62
+
63
+ ### Language Selector
64
+
65
+ Add a language selector to switch between different code implementations:
66
+
67
+ See `scripts/code-block.tsx` for this example.
68
+
69
+ ## Props
70
+
71
+ ### `<CodeBlock />`
72
+
73
+ | Prop | Type | Default | Description |
74
+ |------|------|---------|-------------|
75
+ | `code` | `string` | - | The code content to display. |
76
+ | `language` | `BundledLanguage` | - | The programming language for syntax highlighting. |
77
+ | `showLineNumbers` | `boolean` | `false` | Whether to show line numbers. |
78
+ | `children` | `React.ReactNode` | - | Child elements like CodeBlockHeader. |
79
+ | `className` | `string` | - | Additional CSS classes. |
80
+
81
+ ### `<CodeBlockHeader />`
82
+
83
+ Container for the header row. Uses flexbox with `justify-between`.
84
+
85
+ | Prop | Type | Default | Description |
86
+ |------|------|---------|-------------|
87
+ | `children` | `React.ReactNode` | - | Header content (CodeBlockTitle, CodeBlockActions, etc.). |
88
+ | `className` | `string` | - | Additional CSS classes. |
89
+
90
+ ### `<CodeBlockTitle />`
91
+
92
+ Left-aligned container for icon and filename. Uses flexbox with `gap-2`.
93
+
94
+ | Prop | Type | Default | Description |
95
+ |------|------|---------|-------------|
96
+ | `children` | `React.ReactNode` | - | Title content (icon, CodeBlockFilename, etc.). |
97
+ | `className` | `string` | - | Additional CSS classes. |
98
+
99
+ ### `<CodeBlockFilename />`
100
+
101
+ Displays the filename in monospace font.
102
+
103
+ | Prop | Type | Default | Description |
104
+ |------|------|---------|-------------|
105
+ | `children` | `React.ReactNode` | - | The filename to display. |
106
+ | `className` | `string` | - | Additional CSS classes. |
107
+
108
+ ### `<CodeBlockActions />`
109
+
110
+ Right-aligned container for action buttons. Uses flexbox with `gap-2`.
111
+
112
+ | Prop | Type | Default | Description |
113
+ |------|------|---------|-------------|
114
+ | `children` | `React.ReactNode` | - | Action buttons (CodeBlockCopyButton, CodeBlockLanguageSelector, etc.). |
115
+ | `className` | `string` | - | Additional CSS classes. |
116
+
117
+ ### `<CodeBlockCopyButton />`
118
+
119
+ | Prop | Type | Default | Description |
120
+ |------|------|---------|-------------|
121
+ | `onCopy` | `() => void` | - | Callback fired after a successful copy. |
122
+ | `onError` | `(error: Error) => void` | - | Callback fired if copying fails. |
123
+ | `timeout` | `number` | `2000` | How long to show the copied state (ms). |
124
+ | `children` | `React.ReactNode` | - | Custom content for the button. Defaults to copy/check icons. |
125
+ | `className` | `string` | - | Additional CSS classes. |
126
+
127
+ ### `<CodeBlockLanguageSelector />`
128
+
129
+ Wrapper for the language selector. Extends shadcn/ui Select.
130
+
131
+ | Prop | Type | Default | Description |
132
+ |------|------|---------|-------------|
133
+ | `value` | `string` | - | The currently selected language. |
134
+ | `onValueChange` | `(value: string) => void` | - | Callback when the language changes. |
135
+ | `children` | `React.ReactNode` | - | Selector components (Trigger, Content, Items). |
136
+
137
+ ### `<CodeBlockLanguageSelectorTrigger />`
138
+
139
+ Trigger button for the language selector dropdown. Pre-styled for code block header.
140
+
141
+ ### `<CodeBlockLanguageSelectorValue />`
142
+
143
+ Displays the selected language value.
144
+
145
+ ### `<CodeBlockLanguageSelectorContent />`
146
+
147
+ Dropdown content container. Defaults to `align="end"`.
148
+
149
+ ### `<CodeBlockLanguageSelectorItem />`
150
+
151
+ Individual language option in the dropdown.
152
+
153
+ | Prop | Type | Default | Description |
154
+ |------|------|---------|-------------|
155
+ | `value` | `string` | - | The language value. |
156
+ | `children` | `React.ReactNode` | - | The display label. |
157
+
158
+ ### `<CodeBlockContainer />`
159
+
160
+ Low-level container component with performance optimizations (`contentVisibility`). Used internally by CodeBlock.
161
+
162
+ ### `<CodeBlockContent />`
163
+
164
+ Low-level component that handles syntax highlighting. Used internally by CodeBlock, but can be used directly for custom layouts.
165
+
166
+ | Prop | Type | Default | Description |
167
+ |------|------|---------|-------------|
168
+ | `code` | `string` | - | The code content to display. |
169
+ | `language` | `BundledLanguage` | - | The programming language for syntax highlighting. |
170
+ | `showLineNumbers` | `boolean` | `false` | Whether to show line numbers. |
@@ -0,0 +1,177 @@
1
+ # Commit
2
+
3
+ Display commit information with hash, message, author, and file changes.
4
+
5
+ The `Commit` component displays commit details including hash, message, author, timestamp, and changed files.
6
+
7
+ See `scripts/commit.tsx` for this example.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npx ai-elements@latest add commit
13
+ ```
14
+
15
+ ## Features
16
+
17
+ - Commit hash display with copy button
18
+ - Author avatar with initials
19
+ - Relative timestamp formatting
20
+ - Collapsible file changes list
21
+ - Color-coded file status (added/modified/deleted/renamed)
22
+ - Line additions/deletions count
23
+
24
+ ## File Status
25
+
26
+ | Status | Label | Color |
27
+ | ---------- | ----- | ------ |
28
+ | `added` | A | Green |
29
+ | `modified` | M | Yellow |
30
+ | `deleted` | D | Red |
31
+ | `renamed` | R | Blue |
32
+
33
+ ## Props
34
+
35
+ ### `<Commit />`
36
+
37
+ | Prop | Type | Default | Description |
38
+ |------|------|---------|-------------|
39
+ | `...props` | `React.ComponentProps<typeof Collapsible>` | - | Spread to the Collapsible component. |
40
+
41
+ ### `<CommitHeader />`
42
+
43
+ | Prop | Type | Default | Description |
44
+ |------|------|---------|-------------|
45
+ | `...props` | `React.ComponentProps<typeof CollapsibleTrigger>` | - | Spread to the CollapsibleTrigger component. |
46
+
47
+ ### `<CommitAuthor />`
48
+
49
+ | Prop | Type | Default | Description |
50
+ |------|------|---------|-------------|
51
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
52
+
53
+ ### `<CommitAuthorAvatar />`
54
+
55
+ | Prop | Type | Default | Description |
56
+ |------|------|---------|-------------|
57
+ | `initials` | `string` | Required | Author initials to display. |
58
+ | `...props` | `React.ComponentProps<typeof Avatar>` | - | Spread to the Avatar component. |
59
+
60
+ ### `<CommitInfo />`
61
+
62
+ | Prop | Type | Default | Description |
63
+ |------|------|---------|-------------|
64
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
65
+
66
+ ### `<CommitMessage />`
67
+
68
+ | Prop | Type | Default | Description |
69
+ |------|------|---------|-------------|
70
+ | `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
71
+
72
+ ### `<CommitMetadata />`
73
+
74
+ | Prop | Type | Default | Description |
75
+ |------|------|---------|-------------|
76
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
77
+
78
+ ### `<CommitHash />`
79
+
80
+ | Prop | Type | Default | Description |
81
+ |------|------|---------|-------------|
82
+ | `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
83
+
84
+ ### `<CommitSeparator />`
85
+
86
+ | Prop | Type | Default | Description |
87
+ |------|------|---------|-------------|
88
+ | `children` | `React.ReactNode` | - | Custom separator content. |
89
+ | `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
90
+
91
+ ### `<CommitTimestamp />`
92
+
93
+ | Prop | Type | Default | Description |
94
+ |------|------|---------|-------------|
95
+ | `date` | `Date` | Required | Commit date. |
96
+ | `children` | `React.ReactNode` | - | Custom timestamp content. Defaults to relative time. |
97
+ | `...props` | `React.HTMLAttributes<HTMLTimeElement>` | - | Spread to the time element. |
98
+
99
+ ### `<CommitActions />`
100
+
101
+ | Prop | Type | Default | Description |
102
+ |------|------|---------|-------------|
103
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
104
+
105
+ ### `<CommitCopyButton />`
106
+
107
+ | Prop | Type | Default | Description |
108
+ |------|------|---------|-------------|
109
+ | `hash` | `string` | Required | Commit hash to copy. |
110
+ | `onCopy` | `() => void` | - | Callback after successful copy. |
111
+ | `onError` | `(error: Error) => void` | - | Callback if copying fails. |
112
+ | `timeout` | `number` | `2000` | Duration to show copied state (ms). |
113
+ | `...props` | `React.ComponentProps<typeof Button>` | - | Spread to the Button component. |
114
+
115
+ ### `<CommitContent />`
116
+
117
+ | Prop | Type | Default | Description |
118
+ |------|------|---------|-------------|
119
+ | `...props` | `React.ComponentProps<typeof CollapsibleContent>` | - | Spread to the CollapsibleContent component. |
120
+
121
+ ### `<CommitFiles />`
122
+
123
+ | Prop | Type | Default | Description |
124
+ |------|------|---------|-------------|
125
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
126
+
127
+ ### `<CommitFile />`
128
+
129
+ | Prop | Type | Default | Description |
130
+ |------|------|---------|-------------|
131
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the row div. |
132
+
133
+ ### `<CommitFileInfo />`
134
+
135
+ | Prop | Type | Default | Description |
136
+ |------|------|---------|-------------|
137
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
138
+
139
+ ### `<CommitFileStatus />`
140
+
141
+ | Prop | Type | Default | Description |
142
+ |------|------|---------|-------------|
143
+ | `status` | `unknown` | Required | File change status. |
144
+ | `children` | `React.ReactNode` | - | Custom status label. |
145
+ | `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
146
+
147
+ ### `<CommitFileIcon />`
148
+
149
+ | Prop | Type | Default | Description |
150
+ |------|------|---------|-------------|
151
+ | `...props` | `React.ComponentProps<typeof FileIcon>` | - | Spread to the FileIcon component. |
152
+
153
+ ### `<CommitFilePath />`
154
+
155
+ | Prop | Type | Default | Description |
156
+ |------|------|---------|-------------|
157
+ | `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
158
+
159
+ ### `<CommitFileChanges />`
160
+
161
+ | Prop | Type | Default | Description |
162
+ |------|------|---------|-------------|
163
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Spread to the container div. |
164
+
165
+ ### `<CommitFileAdditions />`
166
+
167
+ | Prop | Type | Default | Description |
168
+ |------|------|---------|-------------|
169
+ | `count` | `number` | Required | Number of lines added. |
170
+ | `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |
171
+
172
+ ### `<CommitFileDeletions />`
173
+
174
+ | Prop | Type | Default | Description |
175
+ |------|------|---------|-------------|
176
+ | `count` | `number` | Required | Number of lines deleted. |
177
+ | `...props` | `React.HTMLAttributes<HTMLSpanElement>` | - | Spread to the span element. |