zilmate 1.7.8 → 1.8.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 (446) 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/cli/update.d.ts.map +1 -1
  441. package/dist/cli/update.js +19 -4
  442. package/dist/cli/update.js.map +1 -1
  443. package/dist/index.js +1 -1
  444. package/dist/tools/daytona-browser.tool.js +1 -1
  445. package/dist/tools/daytona-browser.tool.js.map +1 -1
  446. package/package.json +3 -2
@@ -0,0 +1,263 @@
1
+ # WebSockets
2
+
3
+ WebSockets provide real-time, low-latency email event streaming over a persistent connection. No public URL required.
4
+
5
+ ## When to Use
6
+
7
+ - Local development (no ngrok needed)
8
+ - Client-side applications
9
+ - When you need bidirectional communication
10
+ - Lower latency than webhooks
11
+
12
+ For production with public endpoints, [webhooks.md](webhooks.md) may be simpler.
13
+
14
+ ## Comparison
15
+
16
+ | Feature | Webhook | WebSocket |
17
+ | ---------- | ---------------------- | ----------------- |
18
+ | Setup | Requires public URL | No external tools |
19
+ | Connection | HTTP request per event | Persistent |
20
+ | Latency | HTTP round-trip | Instant streaming |
21
+ | Firewall | Must expose port | Outbound only |
22
+
23
+ ## TypeScript SDK
24
+
25
+ ### Basic Usage
26
+
27
+ ```typescript
28
+ import { AgentMailClient, AgentMail } from "agentmail";
29
+
30
+ const client = new AgentMailClient({ apiKey: process.env.AGENTMAIL_API_KEY });
31
+
32
+ async function main() {
33
+ const socket = await client.websockets.connect();
34
+
35
+ socket.on("open", () => {
36
+ console.log("Connected");
37
+ socket.sendSubscribe({
38
+ type: "subscribe",
39
+ inboxIds: ["agent@agentmail.to"],
40
+ });
41
+ });
42
+
43
+ socket.on("message", (event: AgentMail.MessageReceivedEvent) => {
44
+ if (event.eventType === "message.received") {
45
+ console.log("From:", event.message.from);
46
+ console.log("Subject:", event.message.subject);
47
+ }
48
+ });
49
+
50
+ socket.on("close", (event) => console.log("Disconnected:", event.code));
51
+ socket.on("error", (error) => console.error("Error:", error));
52
+ }
53
+
54
+ main();
55
+ ```
56
+
57
+ ### React Hook
58
+
59
+ ```typescript
60
+ import { useEffect, useState } from "react";
61
+ import { AgentMailClient, AgentMail } from "agentmail";
62
+
63
+ function useAgentMailWebSocket(apiKey: string, inboxIds: string[]) {
64
+ const [lastMessage, setLastMessage] =
65
+ useState<AgentMail.MessageReceivedEvent | null>(null);
66
+ const [isConnected, setIsConnected] = useState(false);
67
+
68
+ useEffect(() => {
69
+ const client = new AgentMailClient({ apiKey });
70
+ let socket: Awaited<ReturnType<typeof client.websockets.connect>>;
71
+
72
+ async function connect() {
73
+ socket = await client.websockets.connect();
74
+
75
+ socket.on("open", () => {
76
+ setIsConnected(true);
77
+ socket.sendSubscribe({ type: "subscribe", inboxIds });
78
+ });
79
+
80
+ socket.on("message", (event) => {
81
+ if (event.eventType === "message.received") {
82
+ setLastMessage(event);
83
+ }
84
+ });
85
+
86
+ socket.on("close", () => setIsConnected(false));
87
+ }
88
+
89
+ connect();
90
+ return () => socket?.close();
91
+ }, [apiKey, inboxIds.join(",")]);
92
+
93
+ return { lastMessage, isConnected };
94
+ }
95
+ ```
96
+
97
+ ## Python SDK
98
+
99
+ ### Sync Usage
100
+
101
+ ```python
102
+ from agentmail import AgentMail, Subscribe, Subscribed, MessageReceivedEvent
103
+
104
+ client = AgentMail(api_key="YOUR_API_KEY")
105
+
106
+ with client.websockets.connect() as socket:
107
+ # Subscribe to inboxes
108
+ socket.send_subscribe(Subscribe(inbox_ids=["agent@agentmail.to"]))
109
+
110
+ # Process events
111
+ for event in socket:
112
+ if isinstance(event, Subscribed):
113
+ print(f"Subscribed to: {event.inbox_ids}")
114
+ elif isinstance(event, MessageReceivedEvent):
115
+ print(f"From: {event.message.from_}")
116
+ print(f"Subject: {event.message.subject}")
117
+ ```
118
+
119
+ ### Async Usage
120
+
121
+ ```python
122
+ import asyncio
123
+ from agentmail import AsyncAgentMail, Subscribe, MessageReceivedEvent
124
+
125
+ client = AsyncAgentMail(api_key="YOUR_API_KEY")
126
+
127
+ async def main():
128
+ async with client.websockets.connect() as socket:
129
+ await socket.send_subscribe(Subscribe(inbox_ids=["agent@agentmail.to"]))
130
+
131
+ async for event in socket:
132
+ if isinstance(event, MessageReceivedEvent):
133
+ print(f"New: {event.message.subject}")
134
+
135
+ asyncio.run(main())
136
+ ```
137
+
138
+ ### Event Handler Pattern
139
+
140
+ ```python
141
+ import threading
142
+ from agentmail import AgentMail, Subscribe, EventType
143
+
144
+ client = AgentMail(api_key="YOUR_API_KEY")
145
+
146
+ with client.websockets.connect() as socket:
147
+ socket.on(EventType.OPEN, lambda _: print("Connected"))
148
+ socket.on(EventType.MESSAGE, lambda msg: print("Received:", msg))
149
+ socket.on(EventType.CLOSE, lambda _: print("Disconnected"))
150
+ socket.on(EventType.ERROR, lambda err: print("Error:", err))
151
+
152
+ socket.send_subscribe(Subscribe(inbox_ids=["agent@agentmail.to"]))
153
+
154
+ # Run listener in background thread
155
+ listener = threading.Thread(target=socket.start_listening, daemon=True)
156
+ listener.start()
157
+ listener.join()
158
+ ```
159
+
160
+ ## Subscribe Options
161
+
162
+ Filter events by inbox, pod, or event type.
163
+
164
+ ```typescript
165
+ socket.sendSubscribe({
166
+ type: "subscribe",
167
+ inboxIds: ["agent@agentmail.to"],
168
+ eventTypes: ["message.received", "message.sent"],
169
+ });
170
+
171
+ // By pods
172
+ socket.sendSubscribe({
173
+ type: "subscribe",
174
+ podIds: ["pod_123", "pod_456"],
175
+ });
176
+ ```
177
+
178
+ ```python
179
+ from agentmail import Subscribe
180
+
181
+ # By inboxes
182
+ Subscribe(inbox_ids=["inbox1@agentmail.to", "inbox2@agentmail.to"])
183
+
184
+ # By pods
185
+ Subscribe(pod_ids=["pod_123", "pod_456"])
186
+
187
+ # By event types
188
+ Subscribe(
189
+ inbox_ids=["agent@agentmail.to"],
190
+ event_types=["message.received", "message.sent"]
191
+ )
192
+ ```
193
+
194
+ ## Event Types
195
+
196
+ | Event | TypeScript Type | Python Class |
197
+ | ---------------------- | ---------------------------------- | ------------------------ |
198
+ | Subscription confirmed | `AgentMail.Subscribed` | `Subscribed` |
199
+ | New email received | `AgentMail.MessageReceivedEvent` | `MessageReceivedEvent` |
200
+ | Email sent | `AgentMail.MessageSentEvent` | `MessageSentEvent` |
201
+ | Email delivered | `AgentMail.MessageDeliveredEvent` | `MessageDeliveredEvent` |
202
+ | Email bounced | `AgentMail.MessageBouncedEvent` | `MessageBouncedEvent` |
203
+ | Spam complaint | `AgentMail.MessageComplainedEvent` | `MessageComplainedEvent` |
204
+ | Email rejected | `AgentMail.MessageRejectedEvent` | `MessageRejectedEvent` |
205
+ | Domain verified | `AgentMail.DomainVerifiedEvent` | `DomainVerifiedEvent` |
206
+
207
+ ## Message Properties
208
+
209
+ The `event.message` object contains (Python snake_case / TypeScript camelCase):
210
+
211
+ | Python | TypeScript | Description |
212
+ | ------------------ | --------------- | ------------------------------------- |
213
+ | `inbox_id` | `inboxId` | Inbox that received the email |
214
+ | `message_id` | `messageId` | Unique message ID |
215
+ | `thread_id` | `threadId` | Conversation thread ID |
216
+ | `from_` | `from` | Sender address (string) |
217
+ | `to` | `to` | Recipients list (list of strings) |
218
+ | `subject` | `subject` | Subject line |
219
+ | `text` | `text` | Plain text body |
220
+ | `html` | `html` | HTML body (if present) |
221
+ | `extracted_text` | `extractedText` | Reply content, quoted history stripped |
222
+ | `attachments` | `attachments` | List of attachments |
223
+ | `labels` | `labels` | List of labels |
224
+
225
+ Python uses `from_` because `from` is a reserved keyword; TypeScript uses `from` directly.
226
+
227
+ ## Error Handling
228
+
229
+ ```typescript
230
+ import { AgentMailClient, AgentMailError } from "agentmail";
231
+
232
+ try {
233
+ const socket = await client.websockets.connect();
234
+ // ...
235
+ } catch (err) {
236
+ if (err instanceof AgentMailError) {
237
+ console.error(`API error: ${err.statusCode} - ${err.message}`);
238
+ } else {
239
+ console.error("Connection error:", err);
240
+ }
241
+ }
242
+ ```
243
+
244
+ ```python
245
+ from agentmail import AsyncAgentMail, Subscribe, MessageReceivedEvent
246
+ from agentmail.core.api_error import ApiError
247
+
248
+ client = AsyncAgentMail(api_key="YOUR_API_KEY")
249
+
250
+ async def main():
251
+ try:
252
+ async with client.websockets.connect() as socket:
253
+ await socket.send_subscribe(Subscribe(inbox_ids=["agent@agentmail.to"]))
254
+
255
+ async for event in socket:
256
+ if isinstance(event, MessageReceivedEvent):
257
+ await process_email(event.message)
258
+
259
+ except ApiError as e:
260
+ print(f"API error: {e.status_code} - {e.body}")
261
+ except Exception as e:
262
+ print(f"Connection error: {e}")
263
+ ```
@@ -0,0 +1,160 @@
1
+ ---
2
+ name: ai-elements
3
+ description: Build AI chat interfaces using ai-elements components — conversations, messages, tool displays, prompt inputs, and more. Use when the user wants to build a chatbot, AI assistant UI, or any AI-powered chat interface.
4
+ ---
5
+
6
+ # AI Elements
7
+
8
+ [AI Elements](https://www.npmjs.com/package/ai-elements) is a component library and custom registry built on top of [shadcn/ui](https://ui.shadcn.com/) to help you build AI-native applications faster. It provides pre-built components like conversations, messages and more.
9
+
10
+ Installing AI Elements is straightforward and can be done in a couple of ways. You can use the dedicated CLI command for the fastest setup, or integrate via the standard shadcn/ui CLI if you've already adopted shadcn's workflow.
11
+
12
+ > **IMPORTANT:** Run all CLI commands using the project's package runner: `npx ai-elements@latest`, `pnpm dlx ai-elements@latest`, or `bunx --bun ai-elements@latest` — based on the project's `packageManager`. Examples below use `npx ai-elements@latest` but substitute the correct runner for the project.
13
+
14
+ ## Prerequisites
15
+
16
+ Before installing AI Elements, make sure your environment meets the following requirements:
17
+
18
+ - [Node.js](https://nodejs.org/en/download/), version 18 or later
19
+ - A [Next.js](https://nextjs.org/) project with the [AI SDK](https://ai-sdk.dev/) installed.
20
+ - [shadcn/ui](https://ui.shadcn.com/) installed in your project. If you don't have it installed, running any install command will automatically install it for you.
21
+ - We also highly recommend using the [AI Gateway](https://vercel.com/docs/ai-gateway) and adding `AI_GATEWAY_API_KEY` to your `env.local` so you don't have to use an API key from every provider. AI Gateway also gives $5 in usage per month so you can experiment with models. You can obtain an API key [here](https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys&title=Get%20your%20AI%20Gateway%20key).
22
+
23
+ ## Installing Components
24
+
25
+ You can install AI Elements components using either the AI Elements CLI or the shadcn/ui CLI. Both achieve the same result: adding the selected component’s code and any needed dependencies to your project.
26
+
27
+ The CLI will download the component’s code and integrate it into your project’s directory (usually under your components folder). By default, AI Elements components are added to the `@/components/ai-elements/` directory (or whatever folder you’ve configured in your shadcn components settings).
28
+
29
+ After running the command, you should see a confirmation in your terminal that the files were added. You can then proceed to use the component in your code.
30
+
31
+ ## Usage
32
+
33
+ Once an AI Elements component is installed, you can import it and use it in your application like any other React component. The components are added as part of your codebase (not hidden in a library), so the usage feels very natural.
34
+
35
+ ## Example
36
+
37
+ After installing AI Elements components, you can use them in your application like any other React component. For example:
38
+
39
+ ```tsx title="conversation.tsx"
40
+ "use client";
41
+
42
+ import {
43
+ Message,
44
+ MessageContent,
45
+ MessageResponse,
46
+ } from "@/components/ai-elements/message";
47
+ import { useChat } from "@ai-sdk/react";
48
+
49
+ const Example = () => {
50
+ const { messages } = useChat();
51
+
52
+ return (
53
+ <>
54
+ {messages.map(({ role, parts }, index) => (
55
+ <Message from={role} key={index}>
56
+ <MessageContent>
57
+ {parts.map((part, i) => {
58
+ switch (part.type) {
59
+ case "text":
60
+ return (
61
+ <MessageResponse key={`${role}-${i}`}>
62
+ {part.text}
63
+ </MessageResponse>
64
+ );
65
+ }
66
+ })}
67
+ </MessageContent>
68
+ </Message>
69
+ ))}
70
+ </>
71
+ );
72
+ };
73
+
74
+ export default Example;
75
+ ```
76
+
77
+ In the example above, we import the `Message` component from our AI Elements directory and include it in our JSX. Then, we compose the component with the `MessageContent` and `MessageResponse` subcomponents. You can style or configure the component just as you would if you wrote it yourself – since the code lives in your project, you can even open the component file to see how it works or make custom modifications.
78
+
79
+ ## Extensibility
80
+
81
+ All AI Elements components take as many primitive attributes as possible. For example, the `Message` component extends `HTMLAttributes<HTMLDivElement>`, so you can pass any props that a `div` supports. This makes it easy to extend the component with your own styles or functionality.
82
+
83
+ ## Customization
84
+
85
+ After installation, no additional setup is needed. The component’s styles (Tailwind CSS classes) and scripts are already integrated. You can start interacting with the component in your app immediately.
86
+
87
+ For example, if you'd like to remove the rounding on `Message`, you can go to `components/ai-elements/message.tsx` and remove `rounded-lg` as follows:
88
+
89
+ ```tsx title="components/ai-elements/message.tsx" highlight="8"
90
+ export const MessageContent = ({
91
+ children,
92
+ className,
93
+ ...props
94
+ }: MessageContentProps) => (
95
+ <div
96
+ className={cn(
97
+ "flex flex-col gap-2 text-sm text-foreground",
98
+ "group-[.is-user]:bg-primary group-[.is-user]:text-primary-foreground group-[.is-user]:px-4 group-[.is-user]:py-3",
99
+ className
100
+ )}
101
+ {...props}
102
+ >
103
+ <div className="is-user:dark">{children}</div>
104
+ </div>
105
+ );
106
+ ```
107
+
108
+ ## Troubleshooting
109
+
110
+ ### Why are my components not styled?
111
+
112
+ Make sure your project is configured correctly for shadcn/ui in Tailwind 4 - this means having a `globals.css` file that imports Tailwind and includes the shadcn/ui base styles.
113
+
114
+ ### I ran the AI Elements CLI but nothing was added to my project
115
+
116
+ Double-check that:
117
+
118
+ - Your current working directory is the root of your project (where `package.json` lives).
119
+ - Your components.json file (if using shadcn-style config) is set up correctly.
120
+ - You’re using the latest version of the AI Elements CLI:
121
+
122
+ ```bash title="Terminal"
123
+ npx ai-elements@latest
124
+ ```
125
+
126
+ If all else fails, feel free to open an [issue on GitHub](https://github.com/vercel/ai-elements/issues).
127
+
128
+ ### Theme switching doesn’t work — my app stays in light mode
129
+
130
+ Ensure your app is using the same data-theme system that shadcn/ui and AI Elements expect. The default implementation toggles a data-theme attribute on the `<html>` element. Make sure your tailwind.config.js is using class or data- selectors accordingly.
131
+
132
+ ### The component imports fail with “module not found”
133
+
134
+ Check the file exists. If it does, make sure your `tsconfig.json` has a proper paths alias for `@/` i.e.
135
+
136
+ ```json title="tsconfig.json"
137
+ {
138
+ "compilerOptions": {
139
+ "baseUrl": ".",
140
+ "paths": {
141
+ "@/*": ["./*"]
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
147
+ ### My AI coding assistant can't access AI Elements components
148
+
149
+ 1. Verify your config file syntax is valid JSON.
150
+ 2. Check that the file path is correct for your AI tool.
151
+ 3. Restart your coding assistant after making changes.
152
+ 4. Ensure you have a stable internet connection.
153
+
154
+ ### Still stuck?
155
+
156
+ If none of these answers help, open an [issue on GitHub](https://github.com/vercel/ai-elements/issues) and someone will be happy to assist.
157
+
158
+ ## Available Components
159
+
160
+ See the `references/` folder for detailed documentation on each component.
@@ -0,0 +1,134 @@
1
+ # Agent
2
+
3
+ A composable component for displaying AI agent configuration with model, instructions, tools, and output schema.
4
+
5
+ The `Agent` component displays an interface for showing AI agent configuration details. It's designed to represent a configured agent from the AI SDK, showing the agent's model, system instructions, available tools (with expandable input schemas), and output schema.
6
+
7
+ See `scripts/agent.tsx` for this example.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npx ai-elements@latest add agent
13
+ ```
14
+
15
+ ## Usage with AI SDK
16
+
17
+ Display an agent's configuration alongside your chat interface. Tools are displayed in an accordion where clicking the description expands to show the input schema.
18
+
19
+ ```tsx title="app/page.tsx"
20
+ "use client";
21
+
22
+ import { tool } from "ai";
23
+ import { z } from "zod";
24
+ import {
25
+ Agent,
26
+ AgentContent,
27
+ AgentHeader,
28
+ AgentInstructions,
29
+ AgentOutput,
30
+ AgentTool,
31
+ AgentTools,
32
+ } from "@/components/ai-elements/agent";
33
+
34
+ const webSearch = tool({
35
+ description: "Search the web for information",
36
+ inputSchema: z.object({
37
+ query: z.string().describe("The search query"),
38
+ }),
39
+ });
40
+
41
+ const readUrl = tool({
42
+ description: "Read and parse content from a URL",
43
+ inputSchema: z.object({
44
+ url: z.string().url().describe("The URL to read"),
45
+ }),
46
+ });
47
+
48
+ const outputSchema = `z.object({
49
+ sentiment: z.enum(['positive', 'negative', 'neutral']),
50
+ score: z.number(),
51
+ summary: z.string(),
52
+ })`;
53
+
54
+ export default function Page() {
55
+ return (
56
+ <Agent>
57
+ <AgentHeader
58
+ name="Sentiment Analyzer"
59
+ model="anthropic/claude-sonnet-4-5"
60
+ />
61
+ <AgentContent>
62
+ <AgentInstructions>
63
+ Analyze the sentiment of the provided text and return a structured
64
+ analysis with sentiment classification, confidence score, and summary.
65
+ </AgentInstructions>
66
+ <AgentTools>
67
+ <AgentTool tool={webSearch} value="web_search" />
68
+ <AgentTool tool={readUrl} value="read_url" />
69
+ </AgentTools>
70
+ <AgentOutput schema={outputSchema} />
71
+ </AgentContent>
72
+ </Agent>
73
+ );
74
+ }
75
+ ```
76
+
77
+ ## Features
78
+
79
+ - Model badge in header
80
+ - Instructions rendered as markdown
81
+ - Tools displayed as accordion items with expandable input schemas
82
+ - Output schema display with syntax highlighting
83
+ - Composable structure for flexible layouts
84
+ - Works with AI SDK `Tool` type
85
+
86
+ ## Props
87
+
88
+ ### `<Agent />`
89
+
90
+ | Prop | Type | Default | Description |
91
+ |------|------|---------|-------------|
92
+ | `...props` | `React.ComponentProps<` | - | Any props are spread to the root div. |
93
+
94
+ ### `<AgentHeader />`
95
+
96
+ | Prop | Type | Default | Description |
97
+ |------|------|---------|-------------|
98
+ | `name` | `string` | Required | The name of the agent. |
99
+ | `model` | `string` | - | The model identifier (e.g. |
100
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the container div. |
101
+
102
+ ### `<AgentContent />`
103
+
104
+ | Prop | Type | Default | Description |
105
+ |------|------|---------|-------------|
106
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the container div. |
107
+
108
+ ### `<AgentInstructions />`
109
+
110
+ | Prop | Type | Default | Description |
111
+ |------|------|---------|-------------|
112
+ | `children` | `string` | Required | The instruction text. |
113
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the container div. |
114
+
115
+ ### `<AgentTools />`
116
+
117
+ | Prop | Type | Default | Description |
118
+ |------|------|---------|-------------|
119
+ | `...props` | `React.ComponentProps<typeof Accordion>` | - | Any other props are spread to the Accordion component. |
120
+
121
+ ### `<AgentTool />`
122
+
123
+ | Prop | Type | Default | Description |
124
+ |------|------|---------|-------------|
125
+ | `tool` | `Tool` | Required | The tool object from the AI SDK containing description and inputSchema. |
126
+ | `value` | `string` | Required | Unique identifier for the accordion item. |
127
+ | `...props` | `React.ComponentProps<typeof AccordionItem>` | - | Any other props are spread to the AccordionItem component. |
128
+
129
+ ### `<AgentOutput />`
130
+
131
+ | Prop | Type | Default | Description |
132
+ |------|------|---------|-------------|
133
+ | `schema` | `string` | Required | The output schema as a string (displayed with syntax highlighting). |
134
+ | `...props` | `React.ComponentProps<` | - | Any other props are spread to the container div. |
@@ -0,0 +1,84 @@
1
+ # Artifact
2
+
3
+ A container component for displaying generated content like code, documents, or other outputs with built-in actions.
4
+
5
+ The `Artifact` component provides a structured container for displaying generated content like code, documents, or other outputs with built-in header actions.
6
+
7
+ See `scripts/artifact.tsx` for this example.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npx ai-elements@latest add artifact
13
+ ```
14
+
15
+ ## Features
16
+
17
+ - Structured container with header and content areas
18
+ - Built-in header with title and description support
19
+ - Flexible action buttons with tooltips
20
+ - Customizable styling for all subcomponents
21
+ - Support for close buttons and action groups
22
+ - Clean, modern design with border and shadow
23
+ - Responsive layout that adapts to content
24
+ - TypeScript support with proper type definitions
25
+ - Composable architecture for maximum flexibility
26
+
27
+ ## Examples
28
+
29
+ ### With Code Display
30
+
31
+ See `scripts/artifact.tsx` for this example.
32
+
33
+ ## Props
34
+
35
+ ### `<Artifact />`
36
+
37
+ | Prop | Type | Default | Description |
38
+ |------|------|---------|-------------|
39
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the underlying div element. |
40
+
41
+ ### `<ArtifactHeader />`
42
+
43
+ | Prop | Type | Default | Description |
44
+ |------|------|---------|-------------|
45
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the underlying div element. |
46
+
47
+ ### `<ArtifactTitle />`
48
+
49
+ | Prop | Type | Default | Description |
50
+ |------|------|---------|-------------|
51
+ | `...props` | `React.HTMLAttributes<HTMLParagraphElement>` | - | Any other props are spread to the underlying paragraph element. |
52
+
53
+ ### `<ArtifactDescription />`
54
+
55
+ | Prop | Type | Default | Description |
56
+ |------|------|---------|-------------|
57
+ | `...props` | `React.HTMLAttributes<HTMLParagraphElement>` | - | Any other props are spread to the underlying paragraph element. |
58
+
59
+ ### `<ArtifactActions />`
60
+
61
+ | Prop | Type | Default | Description |
62
+ |------|------|---------|-------------|
63
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the underlying div element. |
64
+
65
+ ### `<ArtifactAction />`
66
+
67
+ | Prop | Type | Default | Description |
68
+ |------|------|---------|-------------|
69
+ | `tooltip` | `string` | - | Tooltip text to display on hover. |
70
+ | `label` | `string` | - | Screen reader label for the action button. |
71
+ | `icon` | `LucideIcon` | - | Lucide icon component to display in the button. |
72
+ | `...props` | `React.ComponentProps<typeof Button>` | - | Any other props are spread to the underlying shadcn/ui Button component. |
73
+
74
+ ### `<ArtifactClose />`
75
+
76
+ | Prop | Type | Default | Description |
77
+ |------|------|---------|-------------|
78
+ | `...props` | `React.ComponentProps<typeof Button>` | - | Any other props are spread to the underlying shadcn/ui Button component. |
79
+
80
+ ### `<ArtifactContent />`
81
+
82
+ | Prop | Type | Default | Description |
83
+ |------|------|---------|-------------|
84
+ | `...props` | `React.HTMLAttributes<HTMLDivElement>` | - | Any other props are spread to the underlying div element. |