zilmate 1.7.8 → 1.8.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 (441) hide show
  1. package/.agents/skills/agent-browser/SKILL.md +55 -0
  2. package/.agents/skills/agentmail/SKILL.md +282 -0
  3. package/.agents/skills/agentmail/references/webhooks.md +220 -0
  4. package/.agents/skills/agentmail/references/websockets.md +263 -0
  5. package/.agents/skills/ai-elements/SKILL.md +160 -0
  6. package/.agents/skills/ai-elements/references/agent.md +134 -0
  7. package/.agents/skills/ai-elements/references/artifact.md +84 -0
  8. package/.agents/skills/ai-elements/references/attachments.md +190 -0
  9. package/.agents/skills/ai-elements/references/audio-player.md +134 -0
  10. package/.agents/skills/ai-elements/references/canvas.md +34 -0
  11. package/.agents/skills/ai-elements/references/chain-of-thought.md +81 -0
  12. package/.agents/skills/ai-elements/references/checkpoint.md +183 -0
  13. package/.agents/skills/ai-elements/references/code-block.md +170 -0
  14. package/.agents/skills/ai-elements/references/commit.md +177 -0
  15. package/.agents/skills/ai-elements/references/confirmation.md +262 -0
  16. package/.agents/skills/ai-elements/references/connection.md +34 -0
  17. package/.agents/skills/ai-elements/references/context.md +126 -0
  18. package/.agents/skills/ai-elements/references/controls.md +32 -0
  19. package/.agents/skills/ai-elements/references/conversation.md +224 -0
  20. package/.agents/skills/ai-elements/references/edge.md +52 -0
  21. package/.agents/skills/ai-elements/references/environment-variables.md +102 -0
  22. package/.agents/skills/ai-elements/references/file-tree.md +72 -0
  23. package/.agents/skills/ai-elements/references/image.md +146 -0
  24. package/.agents/skills/ai-elements/references/inline-citation.md +299 -0
  25. package/.agents/skills/ai-elements/references/jsx-preview.md +104 -0
  26. package/.agents/skills/ai-elements/references/message.md +237 -0
  27. package/.agents/skills/ai-elements/references/mic-selector.md +189 -0
  28. package/.agents/skills/ai-elements/references/model-selector.md +112 -0
  29. package/.agents/skills/ai-elements/references/node.md +73 -0
  30. package/.agents/skills/ai-elements/references/open-in-chat.md +67 -0
  31. package/.agents/skills/ai-elements/references/package-info.md +95 -0
  32. package/.agents/skills/ai-elements/references/panel.md +33 -0
  33. package/.agents/skills/ai-elements/references/persona.md +166 -0
  34. package/.agents/skills/ai-elements/references/plan.md +79 -0
  35. package/.agents/skills/ai-elements/references/prompt-input.md +579 -0
  36. package/.agents/skills/ai-elements/references/queue.md +172 -0
  37. package/.agents/skills/ai-elements/references/reasoning.md +238 -0
  38. package/.agents/skills/ai-elements/references/sandbox.md +129 -0
  39. package/.agents/skills/ai-elements/references/schema-display.md +102 -0
  40. package/.agents/skills/ai-elements/references/shimmer.md +48 -0
  41. package/.agents/skills/ai-elements/references/snippet.md +64 -0
  42. package/.agents/skills/ai-elements/references/sources.md +209 -0
  43. package/.agents/skills/ai-elements/references/speech-input.md +163 -0
  44. package/.agents/skills/ai-elements/references/stack-trace.md +224 -0
  45. package/.agents/skills/ai-elements/references/suggestion.md +124 -0
  46. package/.agents/skills/ai-elements/references/task.md +222 -0
  47. package/.agents/skills/ai-elements/references/terminal.md +103 -0
  48. package/.agents/skills/ai-elements/references/test-results.md +157 -0
  49. package/.agents/skills/ai-elements/references/tool.md +285 -0
  50. package/.agents/skills/ai-elements/references/toolbar.md +32 -0
  51. package/.agents/skills/ai-elements/references/transcription.md +120 -0
  52. package/.agents/skills/ai-elements/references/voice-selector.md +241 -0
  53. package/.agents/skills/ai-elements/references/web-preview.md +200 -0
  54. package/.agents/skills/ai-elements/scripts/agent.tsx +61 -0
  55. package/.agents/skills/ai-elements/scripts/artifact.tsx +127 -0
  56. package/.agents/skills/ai-elements/scripts/attachments-inline.tsx +128 -0
  57. package/.agents/skills/ai-elements/scripts/attachments-list.tsx +95 -0
  58. package/.agents/skills/ai-elements/scripts/attachments.tsx +85 -0
  59. package/.agents/skills/ai-elements/scripts/audio-player-remote.tsx +35 -0
  60. package/.agents/skills/ai-elements/scripts/audio-player.tsx +68 -0
  61. package/.agents/skills/ai-elements/scripts/chain-of-thought.tsx +82 -0
  62. package/.agents/skills/ai-elements/scripts/checkpoint.tsx +110 -0
  63. package/.agents/skills/ai-elements/scripts/code-block-dark.tsx +46 -0
  64. package/.agents/skills/ai-elements/scripts/code-block.tsx +120 -0
  65. package/.agents/skills/ai-elements/scripts/commit.tsx +94 -0
  66. package/.agents/skills/ai-elements/scripts/confirmation-accepted.tsx +40 -0
  67. package/.agents/skills/ai-elements/scripts/confirmation-rejected.tsx +40 -0
  68. package/.agents/skills/ai-elements/scripts/confirmation-request.tsx +54 -0
  69. package/.agents/skills/ai-elements/scripts/confirmation.tsx +55 -0
  70. package/.agents/skills/ai-elements/scripts/context.tsx +45 -0
  71. package/.agents/skills/ai-elements/scripts/conversation.tsx +177 -0
  72. package/.agents/skills/ai-elements/scripts/environment-variables.tsx +62 -0
  73. package/.agents/skills/ai-elements/scripts/file-tree-basic.tsx +18 -0
  74. package/.agents/skills/ai-elements/scripts/file-tree-expanded.tsx +21 -0
  75. package/.agents/skills/ai-elements/scripts/file-tree-selection.tsx +24 -0
  76. package/.agents/skills/ai-elements/scripts/file-tree.tsx +42 -0
  77. package/.agents/skills/ai-elements/scripts/image.tsx +20 -0
  78. package/.agents/skills/ai-elements/scripts/inline-citation.tsx +97 -0
  79. package/.agents/skills/ai-elements/scripts/jsx-preview.tsx +104 -0
  80. package/.agents/skills/ai-elements/scripts/message.tsx +365 -0
  81. package/.agents/skills/ai-elements/scripts/mic-selector.tsx +49 -0
  82. package/.agents/skills/ai-elements/scripts/model-selector.tsx +365 -0
  83. package/.agents/skills/ai-elements/scripts/open-in-chat.tsx +33 -0
  84. package/.agents/skills/ai-elements/scripts/package-info.tsx +51 -0
  85. package/.agents/skills/ai-elements/scripts/persona-command.tsx +110 -0
  86. package/.agents/skills/ai-elements/scripts/persona-glint.tsx +110 -0
  87. package/.agents/skills/ai-elements/scripts/persona-halo.tsx +110 -0
  88. package/.agents/skills/ai-elements/scripts/persona-mana.tsx +110 -0
  89. package/.agents/skills/ai-elements/scripts/persona-obsidian.tsx +110 -0
  90. package/.agents/skills/ai-elements/scripts/persona-opal.tsx +110 -0
  91. package/.agents/skills/ai-elements/scripts/plan.tsx +65 -0
  92. package/.agents/skills/ai-elements/scripts/prompt-input-cursor.tsx +502 -0
  93. package/.agents/skills/ai-elements/scripts/prompt-input-tooltip.tsx +44 -0
  94. package/.agents/skills/ai-elements/scripts/prompt-input.tsx +267 -0
  95. package/.agents/skills/ai-elements/scripts/queue-prompt-input.tsx +394 -0
  96. package/.agents/skills/ai-elements/scripts/queue.tsx +295 -0
  97. package/.agents/skills/ai-elements/scripts/reasoning.tsx +71 -0
  98. package/.agents/skills/ai-elements/scripts/sandbox.tsx +178 -0
  99. package/.agents/skills/ai-elements/scripts/schema-display-basic.tsx +9 -0
  100. package/.agents/skills/ai-elements/scripts/schema-display-body.tsx +20 -0
  101. package/.agents/skills/ai-elements/scripts/schema-display-nested.tsx +23 -0
  102. package/.agents/skills/ai-elements/scripts/schema-display-params.tsx +16 -0
  103. package/.agents/skills/ai-elements/scripts/schema-display.tsx +110 -0
  104. package/.agents/skills/ai-elements/scripts/shimmer-duration.tsx +31 -0
  105. package/.agents/skills/ai-elements/scripts/shimmer-elements.tsx +43 -0
  106. package/.agents/skills/ai-elements/scripts/shimmer.tsx +17 -0
  107. package/.agents/skills/ai-elements/scripts/snippet-plain.tsx +19 -0
  108. package/.agents/skills/ai-elements/scripts/snippet.tsx +25 -0
  109. package/.agents/skills/ai-elements/scripts/sources-custom.tsx +39 -0
  110. package/.agents/skills/ai-elements/scripts/sources.tsx +32 -0
  111. package/.agents/skills/ai-elements/scripts/speech-input.tsx +84 -0
  112. package/.agents/skills/ai-elements/scripts/stack-trace-collapsed.tsx +39 -0
  113. package/.agents/skills/ai-elements/scripts/stack-trace-no-internal.tsx +41 -0
  114. package/.agents/skills/ai-elements/scripts/stack-trace.tsx +58 -0
  115. package/.agents/skills/ai-elements/scripts/suggestion-input.tsx +144 -0
  116. package/.agents/skills/ai-elements/scripts/suggestion.tsx +32 -0
  117. package/.agents/skills/ai-elements/scripts/task.tsx +59 -0
  118. package/.agents/skills/ai-elements/scripts/terminal-basic.tsx +7 -0
  119. package/.agents/skills/ai-elements/scripts/terminal-clear.tsx +19 -0
  120. package/.agents/skills/ai-elements/scripts/terminal-streaming.tsx +38 -0
  121. package/.agents/skills/ai-elements/scripts/terminal.tsx +82 -0
  122. package/.agents/skills/ai-elements/scripts/test-results-basic.tsx +27 -0
  123. package/.agents/skills/ai-elements/scripts/test-results-errors.tsx +51 -0
  124. package/.agents/skills/ai-elements/scripts/test-results-suites.tsx +40 -0
  125. package/.agents/skills/ai-elements/scripts/test-results.tsx +102 -0
  126. package/.agents/skills/ai-elements/scripts/tool-input-available.tsx +31 -0
  127. package/.agents/skills/ai-elements/scripts/tool-input-streaming.tsx +30 -0
  128. package/.agents/skills/ai-elements/scripts/tool-output-available.tsx +80 -0
  129. package/.agents/skills/ai-elements/scripts/tool-output-error.tsx +44 -0
  130. package/.agents/skills/ai-elements/scripts/tool.tsx +222 -0
  131. package/.agents/skills/ai-elements/scripts/transcription.tsx +290 -0
  132. package/.agents/skills/ai-elements/scripts/voice-selector.tsx +245 -0
  133. package/.agents/skills/ai-elements/scripts/web-preview.tsx +115 -0
  134. package/.agents/skills/ai-sdk/SKILL.md +78 -0
  135. package/.agents/skills/ai-sdk/references/ai-gateway.md +66 -0
  136. package/.agents/skills/ai-sdk/references/common-errors.md +443 -0
  137. package/.agents/skills/ai-sdk/references/devtools.md +52 -0
  138. package/.agents/skills/ai-sdk/references/type-safe-agents.md +204 -0
  139. package/.agents/skills/chat-sdk/SKILL.md +240 -0
  140. package/.agents/skills/composio/AGENTS.md +404 -0
  141. package/.agents/skills/composio/SKILL.md +55 -0
  142. package/.agents/skills/composio/rules/_template.md +38 -0
  143. package/.agents/skills/composio/rules/app-auth-configs.md +224 -0
  144. package/.agents/skills/composio/rules/app-auth-popup-ui.md +143 -0
  145. package/.agents/skills/composio/rules/app-connected-accounts.md +240 -0
  146. package/.agents/skills/composio/rules/app-custom-tools.md +220 -0
  147. package/.agents/skills/composio/rules/app-execute-tools.md +202 -0
  148. package/.agents/skills/composio/rules/app-fetch-tools.md +292 -0
  149. package/.agents/skills/composio/rules/app-modifiers.md +148 -0
  150. package/.agents/skills/composio/rules/app-tool-versions.md +343 -0
  151. package/.agents/skills/composio/rules/app-toolkits.md +184 -0
  152. package/.agents/skills/composio/rules/app-user-context.md +222 -0
  153. package/.agents/skills/composio/rules/building-with-composio.md +134 -0
  154. package/.agents/skills/composio/rules/composio-cli.md +223 -0
  155. package/.agents/skills/composio/rules/setup-api-keys.md +230 -0
  156. package/.agents/skills/composio/rules/tr-auth-auto.md +110 -0
  157. package/.agents/skills/composio/rules/tr-auth-connections.md +167 -0
  158. package/.agents/skills/composio/rules/tr-auth-manual.md +161 -0
  159. package/.agents/skills/composio/rules/tr-building-chat-ui.md +348 -0
  160. package/.agents/skills/composio/rules/tr-framework-ai-sdk.md +240 -0
  161. package/.agents/skills/composio/rules/tr-framework-integration.md +818 -0
  162. package/.agents/skills/composio/rules/tr-framework-mastra.md +185 -0
  163. package/.agents/skills/composio/rules/tr-mcp-vs-native.md +248 -0
  164. package/.agents/skills/composio/rules/tr-session-basic.md +82 -0
  165. package/.agents/skills/composio/rules/tr-session-config.md +172 -0
  166. package/.agents/skills/composio/rules/tr-session-lifecycle.md +385 -0
  167. package/.agents/skills/composio/rules/tr-toolkit-query.md +135 -0
  168. package/.agents/skills/composio/rules/tr-userid-best-practices.md +476 -0
  169. package/.agents/skills/composio/rules/triggers-create.md +246 -0
  170. package/.agents/skills/composio/rules/triggers-manage.md +275 -0
  171. package/.agents/skills/composio/rules/triggers-subscribe.md +173 -0
  172. package/.agents/skills/composio/rules/triggers-webhook.md +227 -0
  173. package/.agents/skills/create-auth-skill/SKILL.md +321 -0
  174. package/.agents/skills/design-md/README.md +34 -0
  175. package/.agents/skills/design-md/SKILL.md +172 -0
  176. package/.agents/skills/design-md/examples/DESIGN.md +154 -0
  177. package/.agents/skills/expo-tailwind-setup/SKILL.md +480 -0
  178. package/.agents/skills/expo-tailwind-setup/agents/openai.yaml +4 -0
  179. package/.agents/skills/find-skills/SKILL.md +142 -0
  180. package/.agents/skills/firecrawl/SKILL.md +321 -0
  181. package/.agents/skills/firecrawl/rules/install.md +85 -0
  182. package/.agents/skills/firecrawl/rules/security.md +26 -0
  183. package/.agents/skills/frontend-design/LICENSE.txt +177 -0
  184. package/.agents/skills/frontend-design/SKILL.md +55 -0
  185. package/.agents/skills/linkup-search/SKILL.md +298 -0
  186. package/.agents/skills/mcp-builder/LICENSE.txt +202 -0
  187. package/.agents/skills/mcp-builder/SKILL.md +236 -0
  188. package/.agents/skills/mcp-builder/reference/evaluation.md +602 -0
  189. package/.agents/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  190. package/.agents/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  191. package/.agents/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  192. package/.agents/skills/mcp-builder/scripts/connections.py +151 -0
  193. package/.agents/skills/mcp-builder/scripts/evaluation.py +373 -0
  194. package/.agents/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  195. package/.agents/skills/mcp-builder/scripts/requirements.txt +2 -0
  196. package/.agents/skills/mobile-android-design/SKILL.md +101 -0
  197. package/.agents/skills/mobile-android-design/references/android-navigation.md +698 -0
  198. package/.agents/skills/mobile-android-design/references/compose-components.md +796 -0
  199. package/.agents/skills/mobile-android-design/references/details.md +337 -0
  200. package/.agents/skills/mobile-android-design/references/material3-theming.md +604 -0
  201. package/.agents/skills/mobile-ios-design/SKILL.md +259 -0
  202. package/.agents/skills/mobile-ios-design/references/hig-patterns.md +529 -0
  203. package/.agents/skills/mobile-ios-design/references/ios-navigation.md +556 -0
  204. package/.agents/skills/mobile-ios-design/references/swiftui-components.md +575 -0
  205. package/.agents/skills/neon-drizzle/SKILL.md +81 -0
  206. package/.agents/skills/neon-drizzle/guides/existing-project.md +398 -0
  207. package/.agents/skills/neon-drizzle/guides/new-project.md +312 -0
  208. package/.agents/skills/neon-drizzle/guides/schema-only.md +415 -0
  209. package/.agents/skills/neon-drizzle/guides/troubleshooting.md +539 -0
  210. package/.agents/skills/neon-drizzle/references/adapters.md +478 -0
  211. package/.agents/skills/neon-drizzle/references/migrations.md +652 -0
  212. package/.agents/skills/neon-drizzle/references/query-patterns.md +761 -0
  213. package/.agents/skills/neon-drizzle/scripts/generate-schema.ts +77 -0
  214. package/.agents/skills/neon-drizzle/scripts/run-migration.ts +133 -0
  215. package/.agents/skills/neon-drizzle/templates/db-http.ts +6 -0
  216. package/.agents/skills/neon-drizzle/templates/db-websocket.ts +24 -0
  217. package/.agents/skills/neon-drizzle/templates/drizzle-config.ts +96 -0
  218. package/.agents/skills/neon-drizzle/templates/schema-example.ts +231 -0
  219. package/.agents/skills/neon-postgres/SKILL.md +376 -0
  220. package/.agents/skills/next-best-practices/SKILL.md +152 -0
  221. package/.agents/skills/next-best-practices/async-patterns.md +87 -0
  222. package/.agents/skills/next-best-practices/bundling.md +180 -0
  223. package/.agents/skills/next-best-practices/data-patterns.md +297 -0
  224. package/.agents/skills/next-best-practices/debug-tricks.md +105 -0
  225. package/.agents/skills/next-best-practices/directives.md +73 -0
  226. package/.agents/skills/next-best-practices/error-handling.md +227 -0
  227. package/.agents/skills/next-best-practices/file-conventions.md +140 -0
  228. package/.agents/skills/next-best-practices/font.md +245 -0
  229. package/.agents/skills/next-best-practices/functions.md +108 -0
  230. package/.agents/skills/next-best-practices/hydration-error.md +91 -0
  231. package/.agents/skills/next-best-practices/image.md +173 -0
  232. package/.agents/skills/next-best-practices/metadata.md +301 -0
  233. package/.agents/skills/next-best-practices/parallel-routes.md +287 -0
  234. package/.agents/skills/next-best-practices/route-handlers.md +146 -0
  235. package/.agents/skills/next-best-practices/rsc-boundaries.md +159 -0
  236. package/.agents/skills/next-best-practices/runtime-selection.md +39 -0
  237. package/.agents/skills/next-best-practices/scripts.md +141 -0
  238. package/.agents/skills/next-best-practices/self-hosting.md +371 -0
  239. package/.agents/skills/next-best-practices/suspense-boundaries.md +67 -0
  240. package/.agents/skills/playwright-best-practices/SKILL.md +303 -0
  241. package/.agents/skills/playwright-cli/SKILL.md +404 -0
  242. package/.agents/skills/playwright-cli/references/element-attributes.md +23 -0
  243. package/.agents/skills/playwright-cli/references/playwright-tests.md +39 -0
  244. package/.agents/skills/playwright-cli/references/request-mocking.md +87 -0
  245. package/.agents/skills/playwright-cli/references/running-code.md +241 -0
  246. package/.agents/skills/playwright-cli/references/session-management.md +225 -0
  247. package/.agents/skills/playwright-cli/references/spec-driven-testing.md +305 -0
  248. package/.agents/skills/playwright-cli/references/storage-state.md +275 -0
  249. package/.agents/skills/playwright-cli/references/test-generation.md +134 -0
  250. package/.agents/skills/playwright-cli/references/tracing.md +139 -0
  251. package/.agents/skills/playwright-cli/references/video-recording.md +143 -0
  252. package/.agents/skills/prisma-client-api/SKILL.md +216 -0
  253. package/.agents/skills/prisma-client-api/references/client-methods.md +223 -0
  254. package/.agents/skills/prisma-client-api/references/constructor.md +208 -0
  255. package/.agents/skills/prisma-client-api/references/filters.md +256 -0
  256. package/.agents/skills/prisma-client-api/references/model-queries.md +281 -0
  257. package/.agents/skills/prisma-client-api/references/query-options.md +276 -0
  258. package/.agents/skills/prisma-client-api/references/raw-queries.md +194 -0
  259. package/.agents/skills/prisma-client-api/references/relations.md +308 -0
  260. package/.agents/skills/prisma-client-api/references/transactions.md +184 -0
  261. package/.agents/skills/prisma-database-setup/SKILL.md +192 -0
  262. package/.agents/skills/prisma-database-setup/references/cockroachdb.md +89 -0
  263. package/.agents/skills/prisma-database-setup/references/mongodb.md +90 -0
  264. package/.agents/skills/prisma-database-setup/references/mysql.md +126 -0
  265. package/.agents/skills/prisma-database-setup/references/postgresql.md +92 -0
  266. package/.agents/skills/prisma-database-setup/references/prisma-client-setup.md +47 -0
  267. package/.agents/skills/prisma-database-setup/references/prisma-postgres.md +130 -0
  268. package/.agents/skills/prisma-database-setup/references/sqlite.md +106 -0
  269. package/.agents/skills/prisma-database-setup/references/sqlserver.md +94 -0
  270. package/.agents/skills/prisma-postgres/SKILL.md +127 -0
  271. package/.agents/skills/prisma-postgres/references/console-and-connections.md +67 -0
  272. package/.agents/skills/prisma-postgres/references/create-db-cli.md +136 -0
  273. package/.agents/skills/prisma-postgres/references/management-api-sdk.md +56 -0
  274. package/.agents/skills/prisma-postgres/references/management-api.md +61 -0
  275. package/.agents/skills/remotion-best-practices/SKILL.md +340 -0
  276. package/.agents/skills/remotion-best-practices/rules/3d.md +86 -0
  277. package/.agents/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  278. package/.agents/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  279. package/.agents/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
  280. package/.agents/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
  281. package/.agents/skills/remotion-best-practices/rules/audio.md +169 -0
  282. package/.agents/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
  283. package/.agents/skills/remotion-best-practices/rules/compositions.md +133 -0
  284. package/.agents/skills/remotion-best-practices/rules/display-captions.md +184 -0
  285. package/.agents/skills/remotion-best-practices/rules/ffmpeg.md +34 -0
  286. package/.agents/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  287. package/.agents/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  288. package/.agents/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
  289. package/.agents/skills/remotion-best-practices/rules/gifs.md +141 -0
  290. package/.agents/skills/remotion-best-practices/rules/google-fonts.md +72 -0
  291. package/.agents/skills/remotion-best-practices/rules/html-in-canvas.md +122 -0
  292. package/.agents/skills/remotion-best-practices/rules/images.md +71 -0
  293. package/.agents/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
  294. package/.agents/skills/remotion-best-practices/rules/light-leaks.md +73 -0
  295. package/.agents/skills/remotion-best-practices/rules/local-fonts.md +65 -0
  296. package/.agents/skills/remotion-best-practices/rules/lottie.md +70 -0
  297. package/.agents/skills/remotion-best-practices/rules/maplibre.md +458 -0
  298. package/.agents/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
  299. package/.agents/skills/remotion-best-practices/rules/measuring-text.md +140 -0
  300. package/.agents/skills/remotion-best-practices/rules/parameters.md +109 -0
  301. package/.agents/skills/remotion-best-practices/rules/sequencing.md +144 -0
  302. package/.agents/skills/remotion-best-practices/rules/sfx.md +30 -0
  303. package/.agents/skills/remotion-best-practices/rules/silence-detection.md +71 -0
  304. package/.agents/skills/remotion-best-practices/rules/subtitles.md +36 -0
  305. package/.agents/skills/remotion-best-practices/rules/tailwind.md +11 -0
  306. package/.agents/skills/remotion-best-practices/rules/text-animations.md +20 -0
  307. package/.agents/skills/remotion-best-practices/rules/timing.md +136 -0
  308. package/.agents/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
  309. package/.agents/skills/remotion-best-practices/rules/transitions.md +197 -0
  310. package/.agents/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
  311. package/.agents/skills/remotion-best-practices/rules/trimming.md +51 -0
  312. package/.agents/skills/remotion-best-practices/rules/videos.md +171 -0
  313. package/.agents/skills/remotion-best-practices/rules/voiceover.md +99 -0
  314. package/.agents/skills/remotion-render/SKILL.md +212 -0
  315. package/.agents/skills/skill-creator/LICENSE.txt +202 -0
  316. package/.agents/skills/skill-creator/SKILL.md +485 -0
  317. package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
  318. package/.agents/skills/skill-creator/agents/comparator.md +202 -0
  319. package/.agents/skills/skill-creator/agents/grader.md +223 -0
  320. package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
  321. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  322. package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  323. package/.agents/skills/skill-creator/references/schemas.md +430 -0
  324. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  325. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  326. package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
  327. package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
  328. package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
  329. package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
  330. package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
  331. package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
  332. package/.agents/skills/skill-creator/scripts/utils.py +47 -0
  333. package/.agents/skills/stripe-best-practices/SKILL.md +54 -0
  334. package/.agents/skills/stripe-best-practices/references/billing.md +58 -0
  335. package/.agents/skills/stripe-best-practices/references/connect.md +173 -0
  336. package/.agents/skills/stripe-best-practices/references/payments.md +79 -0
  337. package/.agents/skills/stripe-best-practices/references/security.md +109 -0
  338. package/.agents/skills/stripe-best-practices/references/tax.md +37 -0
  339. package/.agents/skills/stripe-best-practices/references/treasury.md +16 -0
  340. package/.agents/skills/stripe-projects/SKILL.md +132 -0
  341. package/.agents/skills/supabase/CHANGELOG.md +35 -0
  342. package/.agents/skills/supabase/SKILL.md +135 -0
  343. package/.agents/skills/supabase/assets/feedback-issue-template.md +17 -0
  344. package/.agents/skills/supabase/references/skill-feedback.md +17 -0
  345. package/.agents/skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
  346. package/.agents/skills/supabase-postgres-best-practices/SKILL.md +64 -0
  347. package/.agents/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
  348. package/.agents/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
  349. package/.agents/skills/supabase-postgres-best-practices/references/_template.md +34 -0
  350. package/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  351. package/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  352. package/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  353. package/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  354. package/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  355. package/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  356. package/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  357. package/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  358. package/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  359. package/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  360. package/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  361. package/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  362. package/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  363. package/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  364. package/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  365. package/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  366. package/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  367. package/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  368. package/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  369. package/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  370. package/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  371. package/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  372. package/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  373. package/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  374. package/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  375. package/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  376. package/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  377. package/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  378. package/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  379. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  380. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
  381. package/.agents/skills/supermemory/LICENSE +201 -0
  382. package/.agents/skills/supermemory/README.md +221 -0
  383. package/.agents/skills/supermemory/SKILL.md +172 -0
  384. package/.agents/skills/supermemory/references/api-reference.md +591 -0
  385. package/.agents/skills/supermemory/references/architecture.md +557 -0
  386. package/.agents/skills/supermemory/references/quickstart.md +293 -0
  387. package/.agents/skills/supermemory/references/sdk-guide.md +655 -0
  388. package/.agents/skills/supermemory/references/use-cases.md +1033 -0
  389. package/.agents/skills/supermemory-cli/SKILL.md +490 -0
  390. package/.agents/skills/tdd/SKILL.md +108 -0
  391. package/.agents/skills/tdd/mocking.md +59 -0
  392. package/.agents/skills/tdd/refactoring.md +10 -0
  393. package/.agents/skills/tdd/tests.md +61 -0
  394. package/.agents/skills/ui-ux-pro-max/SKILL.md +661 -0
  395. package/.agents/skills/ui-ux-pro-max/data +1 -0
  396. package/.agents/skills/ui-ux-pro-max/scripts +1 -0
  397. package/.agents/skills/vercel-react-native-skills/AGENTS.md +2897 -0
  398. package/.agents/skills/vercel-react-native-skills/README.md +165 -0
  399. package/.agents/skills/vercel-react-native-skills/SKILL.md +121 -0
  400. package/.agents/skills/vercel-react-native-skills/metadata.json +16 -0
  401. package/.agents/skills/vercel-react-native-skills/rules/_sections.md +86 -0
  402. package/.agents/skills/vercel-react-native-skills/rules/_template.md +28 -0
  403. package/.agents/skills/vercel-react-native-skills/rules/animation-derived-value.md +53 -0
  404. package/.agents/skills/vercel-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
  405. package/.agents/skills/vercel-react-native-skills/rules/animation-gpu-properties.md +65 -0
  406. package/.agents/skills/vercel-react-native-skills/rules/design-system-compound-components.md +66 -0
  407. package/.agents/skills/vercel-react-native-skills/rules/fonts-config-plugin.md +71 -0
  408. package/.agents/skills/vercel-react-native-skills/rules/imports-design-system-folder.md +68 -0
  409. package/.agents/skills/vercel-react-native-skills/rules/js-hoist-intl.md +61 -0
  410. package/.agents/skills/vercel-react-native-skills/rules/list-performance-callbacks.md +44 -0
  411. package/.agents/skills/vercel-react-native-skills/rules/list-performance-function-references.md +132 -0
  412. package/.agents/skills/vercel-react-native-skills/rules/list-performance-images.md +53 -0
  413. package/.agents/skills/vercel-react-native-skills/rules/list-performance-inline-objects.md +97 -0
  414. package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-expensive.md +94 -0
  415. package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-memo.md +82 -0
  416. package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-types.md +104 -0
  417. package/.agents/skills/vercel-react-native-skills/rules/list-performance-virtualize.md +67 -0
  418. package/.agents/skills/vercel-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
  419. package/.agents/skills/vercel-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
  420. package/.agents/skills/vercel-react-native-skills/rules/navigation-native-navigators.md +188 -0
  421. package/.agents/skills/vercel-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
  422. package/.agents/skills/vercel-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
  423. package/.agents/skills/vercel-react-native-skills/rules/react-state-dispatcher.md +91 -0
  424. package/.agents/skills/vercel-react-native-skills/rules/react-state-fallback.md +56 -0
  425. package/.agents/skills/vercel-react-native-skills/rules/react-state-minimize.md +65 -0
  426. package/.agents/skills/vercel-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
  427. package/.agents/skills/vercel-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
  428. package/.agents/skills/vercel-react-native-skills/rules/scroll-position-no-state.md +82 -0
  429. package/.agents/skills/vercel-react-native-skills/rules/state-ground-truth.md +80 -0
  430. package/.agents/skills/vercel-react-native-skills/rules/ui-expo-image.md +66 -0
  431. package/.agents/skills/vercel-react-native-skills/rules/ui-image-gallery.md +104 -0
  432. package/.agents/skills/vercel-react-native-skills/rules/ui-measure-views.md +78 -0
  433. package/.agents/skills/vercel-react-native-skills/rules/ui-menus.md +174 -0
  434. package/.agents/skills/vercel-react-native-skills/rules/ui-native-modals.md +77 -0
  435. package/.agents/skills/vercel-react-native-skills/rules/ui-pressable.md +61 -0
  436. package/.agents/skills/vercel-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
  437. package/.agents/skills/vercel-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
  438. package/.agents/skills/vercel-react-native-skills/rules/ui-styling.md +87 -0
  439. package/.agents/skills/web-design-guidelines/SKILL.md +39 -0
  440. package/dist/index.js +1 -1
  441. package/package.json +2 -1
@@ -0,0 +1,146 @@
1
+ # Image
2
+
3
+ Displays AI-generated images from the AI SDK.
4
+
5
+ The `Image` component displays AI-generated images from the AI SDK. It accepts a [`Experimental_GeneratedImage`](/docs/reference/ai-sdk-core/generate-image) object from the AI SDK's `generateImage` function and automatically renders it as an image.
6
+
7
+ See `scripts/image.tsx` for this example.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npx ai-elements@latest add image
13
+ ```
14
+
15
+ ## Usage with AI SDK
16
+
17
+ Build a simple app allowing a user to generate an image given a prompt.
18
+
19
+ Install the `@ai-sdk/openai` package:
20
+
21
+ ```package-install
22
+ npm i @ai-sdk/openai
23
+ ```
24
+
25
+ Add the following component to your frontend:
26
+
27
+ ```tsx title="app/page.tsx"
28
+ "use client";
29
+
30
+ import { Image } from "@/components/ai-elements/image";
31
+ import {
32
+ PromptInput,
33
+ type PromptInputMessage,
34
+ PromptInputTextarea,
35
+ PromptInputSubmit,
36
+ } from "@/components/ai-elements/prompt-input";
37
+ import { useState } from "react";
38
+ import { Spinner } from "@/components/ui/spinner";
39
+
40
+ const ImageDemo = () => {
41
+ const [prompt, setPrompt] = useState("A futuristic cityscape at sunset");
42
+ const [imageData, setImageData] = useState<any>(null);
43
+ const [isLoading, setIsLoading] = useState(false);
44
+
45
+ const handleSubmit = async (message: PromptInputMessage) => {
46
+ if (!message.text.trim()) return;
47
+ setPrompt("");
48
+
49
+ setIsLoading(true);
50
+ try {
51
+ const response = await fetch("/api/image", {
52
+ method: "POST",
53
+ body: JSON.stringify({ prompt: message.text.trim() }),
54
+ });
55
+
56
+ const data = await response.json();
57
+
58
+ setImageData(data);
59
+ } catch (error) {
60
+ console.error("Error generating image:", error);
61
+ } finally {
62
+ setIsLoading(false);
63
+ }
64
+ };
65
+
66
+ return (
67
+ <div className="max-w-4xl mx-auto p-6 relative size-full rounded-lg border h-[600px]">
68
+ <div className="flex flex-col h-full">
69
+ <div className="flex-1 overflow-y-auto p-4">
70
+ {imageData && (
71
+ <div className="flex justify-center">
72
+ <Image
73
+ {...imageData}
74
+ alt="Generated image"
75
+ className="h-[300px] aspect-square border rounded-lg"
76
+ />
77
+ </div>
78
+ )}
79
+ {isLoading && <Spinner />}
80
+ </div>
81
+
82
+ <PromptInput
83
+ onSubmit={handleSubmit}
84
+ className="mt-4 w-full max-w-2xl mx-auto relative"
85
+ >
86
+ <PromptInputTextarea
87
+ value={prompt}
88
+ placeholder="Describe the image you want to generate..."
89
+ onChange={(e) => setPrompt(e.currentTarget.value)}
90
+ className="pr-12"
91
+ />
92
+ <PromptInputSubmit
93
+ status={isLoading ? "submitted" : "ready"}
94
+ disabled={!prompt.trim()}
95
+ className="absolute bottom-1 right-1"
96
+ />
97
+ </PromptInput>
98
+ </div>
99
+ </div>
100
+ );
101
+ };
102
+
103
+ export default ImageDemo;
104
+ ```
105
+
106
+ Add the following route to your backend:
107
+
108
+ ```ts title="app/api/image/route.ts"
109
+ import { openai } from "@ai-sdk/openai";
110
+ import { experimental_generateImage } from "ai";
111
+
112
+ export async function POST(req: Request) {
113
+ const { prompt }: { prompt: string } = await req.json();
114
+
115
+ const { image } = await experimental_generateImage({
116
+ model: openai.image("dall-e-3"),
117
+ prompt: prompt,
118
+ size: "1024x1024",
119
+ });
120
+
121
+ return Response.json({
122
+ base64: image.base64,
123
+ uint8Array: image.uint8Array,
124
+ mediaType: image.mediaType,
125
+ });
126
+ }
127
+ ```
128
+
129
+ ## Features
130
+
131
+ - Accepts `Experimental_GeneratedImage` objects directly from the AI SDK
132
+ - Automatically creates proper data URLs from base64-encoded image data
133
+ - Supports all standard HTML image attributes
134
+ - Responsive by default with `max-w-full h-auto` styling
135
+ - Customizable with additional CSS classes
136
+ - Includes proper TypeScript types for AI SDK compatibility
137
+
138
+ ## Props
139
+
140
+ ### `<Image />`
141
+
142
+ | Prop | Type | Default | Description |
143
+ |------|------|---------|-------------|
144
+ | `alt` | `string` | - | Alternative text for the image. |
145
+ | `className` | `string` | - | Additional CSS classes to apply to the image. |
146
+ | `...props` | `Experimental_GeneratedImage` | - | The image data to display, as returned by the AI SDK. |
@@ -0,0 +1,299 @@
1
+ # Inline Citation
2
+
3
+ A hoverable citation component that displays source information and quotes inline with text, perfect for AI-generated content with references.
4
+
5
+ The `InlineCitation` component provides a way to display citations inline with text content, similar to academic papers or research documents. It consists of a citation pill that shows detailed source information on hover, making it perfect for AI-generated content that needs to reference sources.
6
+
7
+ See `scripts/inline-citation.tsx` for this example.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npx ai-elements@latest add inline-citation
13
+ ```
14
+
15
+ ## Usage with AI SDK
16
+
17
+ Build citations for AI-generated content using [`experimental_generateObject`](/docs/reference/ai-sdk-ui/use-object).
18
+
19
+ Add the following component to your frontend:
20
+
21
+ ```tsx title="app/page.tsx"
22
+ "use client";
23
+
24
+ import { experimental_useObject as useObject } from "@ai-sdk/react";
25
+ import {
26
+ InlineCitation,
27
+ InlineCitationText,
28
+ InlineCitationCard,
29
+ InlineCitationCardTrigger,
30
+ InlineCitationCardBody,
31
+ InlineCitationCarousel,
32
+ InlineCitationCarouselContent,
33
+ InlineCitationCarouselItem,
34
+ InlineCitationCarouselHeader,
35
+ InlineCitationCarouselIndex,
36
+ InlineCitationCarouselPrev,
37
+ InlineCitationCarouselNext,
38
+ InlineCitationSource,
39
+ InlineCitationQuote,
40
+ } from "@/components/ai-elements/inline-citation";
41
+ import { Button } from "@/components/ui/button";
42
+ import { citationSchema } from "@/app/api/citation/route";
43
+
44
+ const CitationDemo = () => {
45
+ const { object, submit, isLoading } = useObject({
46
+ api: "/api/citation",
47
+ schema: citationSchema,
48
+ });
49
+
50
+ const handleSubmit = (topic: string) => {
51
+ submit({ prompt: topic });
52
+ };
53
+
54
+ return (
55
+ <div className="max-w-4xl mx-auto p-6 space-y-6">
56
+ <div className="flex gap-2 mb-6">
57
+ <Button
58
+ onClick={() => handleSubmit("artificial intelligence")}
59
+ disabled={isLoading}
60
+ variant="outline"
61
+ >
62
+ Generate AI Content
63
+ </Button>
64
+ <Button
65
+ onClick={() => handleSubmit("climate change")}
66
+ disabled={isLoading}
67
+ variant="outline"
68
+ >
69
+ Generate Climate Content
70
+ </Button>
71
+ </div>
72
+
73
+ {isLoading && !object && (
74
+ <div className="text-muted-foreground">
75
+ Generating content with citations...
76
+ </div>
77
+ )}
78
+
79
+ {object?.content && (
80
+ <div className="prose prose-sm max-w-none">
81
+ <p className="leading-relaxed">
82
+ {object.content.split(/(\[\d+\])/).map((part, index) => {
83
+ const citationMatch = part.match(/\[(\d+)\]/);
84
+ if (citationMatch) {
85
+ const citationNumber = citationMatch[1];
86
+ const citation = object.citations?.find(
87
+ (c: any) => c.number === citationNumber
88
+ );
89
+
90
+ if (citation) {
91
+ return (
92
+ <InlineCitation key={index}>
93
+ <InlineCitationCard>
94
+ <InlineCitationCardTrigger sources={[citation.url]} />
95
+ <InlineCitationCardBody>
96
+ <InlineCitationCarousel>
97
+ <InlineCitationCarouselHeader>
98
+ <InlineCitationCarouselPrev />
99
+ <InlineCitationCarouselNext />
100
+ <InlineCitationCarouselIndex />
101
+ </InlineCitationCarouselHeader>
102
+ <InlineCitationCarouselContent>
103
+ <InlineCitationCarouselItem>
104
+ <InlineCitationSource
105
+ title={citation.title}
106
+ url={citation.url}
107
+ description={citation.description}
108
+ />
109
+ {citation.quote && (
110
+ <InlineCitationQuote>
111
+ {citation.quote}
112
+ </InlineCitationQuote>
113
+ )}
114
+ </InlineCitationCarouselItem>
115
+ </InlineCitationCarouselContent>
116
+ </InlineCitationCarousel>
117
+ </InlineCitationCardBody>
118
+ </InlineCitationCard>
119
+ </InlineCitation>
120
+ );
121
+ }
122
+ }
123
+ return part;
124
+ })}
125
+ </p>
126
+ </div>
127
+ )}
128
+ </div>
129
+ );
130
+ };
131
+
132
+ export default CitationDemo;
133
+ ```
134
+
135
+ Add the following route to your backend:
136
+
137
+ ```ts title="app/api/citation/route.ts"
138
+ import { streamObject } from "ai";
139
+ import { z } from "zod";
140
+
141
+ export const citationSchema = z.object({
142
+ content: z.string(),
143
+ citations: z.array(
144
+ z.object({
145
+ number: z.string(),
146
+ title: z.string(),
147
+ url: z.string(),
148
+ description: z.string().optional(),
149
+ quote: z.string().optional(),
150
+ })
151
+ ),
152
+ });
153
+
154
+ // Allow streaming responses up to 30 seconds
155
+ export const maxDuration = 30;
156
+
157
+ export async function POST(req: Request) {
158
+ const { prompt } = await req.json();
159
+
160
+ const result = streamObject({
161
+ model: "openai/gpt-4o",
162
+ schema: citationSchema,
163
+ prompt: `Generate a well-researched paragraph about ${prompt} with proper citations.
164
+
165
+ Include:
166
+ - A comprehensive paragraph with inline citations marked as [1], [2], etc.
167
+ - 2-3 citations with realistic source information
168
+ - Each citation should have a title, URL, and optional description/quote
169
+ - Make the content informative and the sources credible
170
+
171
+ Format citations as numbered references within the text.`,
172
+ });
173
+
174
+ return result.toTextStreamResponse();
175
+ }
176
+ ```
177
+
178
+ ## Features
179
+
180
+ - Hover interaction to reveal detailed citation information
181
+ - **Carousel navigation** for multiple citations with prev/next controls
182
+ - **Live index tracking** showing current slide position (e.g., "1/5")
183
+ - Support for source titles, URLs, and descriptions
184
+ - Optional quote blocks for relevant excerpts
185
+ - Composable architecture for flexible citation formats
186
+ - Accessible design with proper keyboard navigation
187
+ - Seamless integration with AI-generated content
188
+ - Clean visual design that doesn't disrupt reading flow
189
+ - Smart badge display showing source hostname and count
190
+
191
+ ## Usage with AI SDK
192
+
193
+ Currently, there is no official support for inline citations with Streamdown or the Response component. This is because:
194
+
195
+ - There isn't any good markdown syntax for inline citations
196
+ - Language models don't naturally respond with inline citation syntax
197
+ - The AI SDK doesn't have built-in support for inline citations
198
+
199
+ ### Potential Approaches
200
+
201
+ While these methods are hypothetical and not officially supported, there are two conceptual ways inline citations could work with Streamdown:
202
+
203
+ 1. **Footnote conversion**: GitHub Flavored Markdown (GFM) handles footnotes using `[^1]` syntax. You could hypothetically remove the default footnote rendering and convert footnotes to inline citations instead.
204
+
205
+ 2. **Custom HTML syntax**: You could add a system prompt instructing the model to use a special HTML syntax like `<citation />` and pass that as a custom component to Streamdown.
206
+
207
+ These approaches require custom implementation and are not currently supported out of the box. We will investigate official support for this use case in the future.
208
+
209
+ For now, the recommended approach is to use `experimental_useObject` (as shown in the usage example above) to generate structured citation data, then manually parse and render inline citations.
210
+
211
+ ## Props
212
+
213
+ ### `<InlineCitation />`
214
+
215
+ | Prop | Type | Default | Description |
216
+ |------|------|---------|-------------|
217
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the root span element. |
218
+
219
+ ### `<InlineCitationText />`
220
+
221
+ | Prop | Type | Default | Description |
222
+ |------|------|---------|-------------|
223
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying span element. |
224
+
225
+ ### `<InlineCitationCard />`
226
+
227
+ | Prop | Type | Default | Description |
228
+ |------|------|---------|-------------|
229
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the HoverCard component. |
230
+
231
+ ### `<InlineCitationCardTrigger />`
232
+
233
+ | Prop | Type | Default | Description |
234
+ |------|------|---------|-------------|
235
+ | `sources` | `string[]` | - | Array of source URLs. The length determines the number displayed in the badge. |
236
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying button element. |
237
+
238
+ ### `<InlineCitationCardBody />`
239
+
240
+ | Prop | Type | Default | Description |
241
+ |------|------|---------|-------------|
242
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying div. |
243
+
244
+ ### `<InlineCitationCarousel />`
245
+
246
+ | Prop | Type | Default | Description |
247
+ |------|------|---------|-------------|
248
+ | `...props` | `React.ComponentProps<typeof Carousel>` | - | Any other props are spread to the underlying Carousel component. |
249
+
250
+ ### `<InlineCitationCarouselContent />`
251
+
252
+ | Prop | Type | Default | Description |
253
+ |------|------|---------|-------------|
254
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying CarouselContent component. |
255
+
256
+ ### `<InlineCitationCarouselItem />`
257
+
258
+ | Prop | Type | Default | Description |
259
+ |------|------|---------|-------------|
260
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying div. |
261
+
262
+ ### `<InlineCitationCarouselHeader />`
263
+
264
+ | Prop | Type | Default | Description |
265
+ |------|------|---------|-------------|
266
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying div. |
267
+
268
+ ### `<InlineCitationCarouselIndex />`
269
+
270
+ | Prop | Type | Default | Description |
271
+ |------|------|---------|-------------|
272
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying div. Children will override the default index display. |
273
+
274
+ ### `<InlineCitationCarouselPrev />`
275
+
276
+ | Prop | Type | Default | Description |
277
+ |------|------|---------|-------------|
278
+ | `...props` | `React.ComponentProps<typeof CarouselPrevious>` | - | Any other props are spread to the underlying CarouselPrevious component. |
279
+
280
+ ### `<InlineCitationCarouselNext />`
281
+
282
+ | Prop | Type | Default | Description |
283
+ |------|------|---------|-------------|
284
+ | `...props` | `React.ComponentProps<typeof CarouselNext>` | - | Any other props are spread to the underlying CarouselNext component. |
285
+
286
+ ### `<InlineCitationSource />`
287
+
288
+ | Prop | Type | Default | Description |
289
+ |------|------|---------|-------------|
290
+ | `title` | `string` | - | The title of the source. |
291
+ | `url` | `string` | - | The URL of the source. |
292
+ | `description` | `string` | - | A brief description of the source. |
293
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying div. |
294
+
295
+ ### `<InlineCitationQuote />`
296
+
297
+ | Prop | Type | Default | Description |
298
+ |------|------|---------|-------------|
299
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying blockquote element. |
@@ -0,0 +1,104 @@
1
+ # JSX Preview
2
+
3
+ A component that dynamically renders JSX strings with streaming support for AI-generated UI.
4
+
5
+ The `JSXPreview` component renders JSX strings dynamically, supporting streaming scenarios where JSX may be incomplete. It automatically closes unclosed tags during streaming, making it ideal for displaying AI-generated UI components in real-time.
6
+
7
+ See `scripts/jsx-preview.tsx` for this example.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npx ai-elements@latest add jsx-preview
13
+ ```
14
+
15
+ ## Features
16
+
17
+ - Renders JSX strings dynamically using `react-jsx-parser`
18
+ - Streaming support with automatic tag completion
19
+ - Custom component injection for rendering your own components
20
+ - Error handling with customizable error display
21
+ - Context-based architecture for flexible composition
22
+
23
+ ## Usage with AI SDK
24
+
25
+ The JSXPreview component integrates with the AI SDK to render generated UI in real-time:
26
+
27
+ ```tsx title="components/generated-ui.tsx"
28
+ "use client";
29
+
30
+ import {
31
+ JSXPreview,
32
+ JSXPreviewContent,
33
+ JSXPreviewError,
34
+ } from "@/components/ai-elements/jsx-preview";
35
+
36
+ type GeneratedUIProps = {
37
+ jsx: string;
38
+ isStreaming: boolean;
39
+ };
40
+
41
+ export const GeneratedUI = ({ jsx, isStreaming }: GeneratedUIProps) => (
42
+ <JSXPreview
43
+ jsx={jsx}
44
+ isStreaming={isStreaming}
45
+ onError={(error) => console.error("JSX Parse Error:", error)}
46
+ >
47
+ <JSXPreviewContent />
48
+ <JSXPreviewError />
49
+ </JSXPreview>
50
+ );
51
+ ```
52
+
53
+ ### With Custom Components
54
+
55
+ You can inject custom components to be used within the rendered JSX:
56
+
57
+ ```tsx title="components/generated-ui-with-components.tsx"
58
+ "use client";
59
+
60
+ import {
61
+ JSXPreview,
62
+ JSXPreviewContent,
63
+ } from "@/components/ai-elements/jsx-preview";
64
+ import { Button } from "@/components/ui/button";
65
+ import { Card } from "@/components/ui/card";
66
+
67
+ const customComponents = {
68
+ Button,
69
+ Card,
70
+ };
71
+
72
+ export const GeneratedUIWithComponents = ({ jsx }: { jsx: string }) => (
73
+ <JSXPreview jsx={jsx} components={customComponents}>
74
+ <JSXPreviewContent />
75
+ </JSXPreview>
76
+ );
77
+ ```
78
+
79
+ ## Props
80
+
81
+ ### `<JSXPreview />`
82
+
83
+ | Prop | Type | Default | Description |
84
+ |------|------|---------|-------------|
85
+ | `jsx` | `string` | Required | The JSX string to render. |
86
+ | `isStreaming` | `boolean` | `false` | When true, automatically completes unclosed tags. |
87
+ | `components` | `Record<string, React.ComponentType>` | - | Custom components available within the rendered JSX. |
88
+ | `bindings` | `Record<string, unknown>` | - | Variables and functions available within the JSX scope. |
89
+ | `onError` | `(error: Error) => void` | - | Callback fired when a parsing or rendering error occurs. |
90
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying div element. |
91
+
92
+ ### `<JSXPreviewContent />`
93
+
94
+ | Prop | Type | Default | Description |
95
+ |------|------|---------|-------------|
96
+ | `renderError` | `JsxParserProps[` | - | Custom error renderer passed to react-jsx-parser. |
97
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying div element. |
98
+
99
+ ### `<JSXPreviewError />`
100
+
101
+ | Prop | Type | Default | Description |
102
+ |------|------|---------|-------------|
103
+ | `children` | `ReactNode | ((error: Error) => ReactNode)` | - | Custom error content or render function receiving the error. |
104
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the underlying div element. |