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,398 @@
1
+ # Existing Project Integration
2
+
3
+ > **Complete Walkthrough**: This is a self-contained, step-by-step guide with its own numbered phases (Phase 1-8).
4
+ > Follow each phase in order to safely add Drizzle to your existing application.
5
+
6
+ Guide for adding Drizzle ORM to an existing application with Neon.
7
+
8
+ ### Important:
9
+ - Remember to run the neon-plugin:add-neon-docs skill with the parameter SKILL_NAME="neon-drizzle" after completing the guide.
10
+
11
+ ## Table of Contents
12
+
13
+ - [Workflow Checklist](#workflow-checklist)
14
+ - [Phase 1: Pre-Integration Check](#phase-1-pre-integration-check)
15
+ - [Phase 2: Incremental Installation](#phase-2-incremental-installation)
16
+ - [Phase 3: Configuration](#phase-3-configuration)
17
+ - [Phase 4: Schema Strategy](#phase-4-schema-strategy)
18
+ - [Phase 5: Migration Handling](#phase-5-migration-handling)
19
+ - [Phase 6: Coexistence Patterns](#phase-6-coexistence-patterns)
20
+ - [Phase 7: Verification](#phase-7-verification)
21
+ - [Phase 8: Add Best Practices References](#phase-8-add-best-practices-references)
22
+
23
+ ---
24
+
25
+ ## Workflow Checklist
26
+
27
+ When following this guide, I will track these high-level tasks:
28
+
29
+ - [ ] Pre-integration check (detect existing ORMs, database schema, environment)
30
+ - [ ] Install Drizzle dependencies without disrupting existing setup
31
+ - [ ] Create isolated Drizzle configuration (separate from existing code)
32
+ - [ ] Choose and implement schema strategy (new tables vs mirroring existing)
33
+ - [ ] Handle migrations safely based on schema strategy
34
+ - [ ] Set up coexistence patterns and gradual migration approach
35
+ - [ ] Verify Drizzle integration without breaking existing functionality
36
+ - [ ] Add Neon Drizzle best practices to project docs
37
+
38
+ ---
39
+
40
+ ## Phase 1: Pre-Integration Check
41
+
42
+ Before adding Drizzle, check for conflicts:
43
+
44
+ ### 1.1. Check for Other ORMs
45
+
46
+ ```bash
47
+ grep -E '"(prisma|typeorm|sequelize|mongoose)"' package.json
48
+ ```
49
+
50
+ **If found:**
51
+ - Consider migration strategy (coexistence vs replacement)
52
+ - Document which tables use which ORM
53
+ - Plan gradual migration if needed
54
+
55
+ ### 1.2. Check Database Schema
56
+
57
+ Connect to your database and verify existing tables:
58
+ ```bash
59
+ psql $DATABASE_URL -c "\dt"
60
+ ```
61
+
62
+ **Important:** Note existing tables - Drizzle should not conflict with them.
63
+
64
+ ### 1.3. Check Environment Setup
65
+
66
+ ```bash
67
+ ls .env .env.local .env.production
68
+ grep DATABASE_URL .env*
69
+ ```
70
+
71
+ **If DATABASE_URL exists:**
72
+ - Verify connection string format is compatible with Neon (`postgresql://...`)
73
+ - If it's a different database provider, you'll need to migrate or provision a Neon database
74
+
75
+ **If DATABASE_URL does NOT exist:**
76
+ Follow the database provisioning steps from `guides/new-project.md` Phase 3.1:
77
+ 1. List the projects using the neon MCP Server to check existing projects
78
+ 2. Create a new project using the neon MCP Server if needed
79
+ 3. Get the connection string using the neon MCP Server
80
+ 4. Write to appropriate environment file (.env.local for Next.js, .env for others)
81
+ 5. Add environment file to .gitignore
82
+
83
+ ## Phase 2: Incremental Installation
84
+
85
+ Add Drizzle without disrupting existing setup:
86
+
87
+ ### 2.1. Install Dependencies
88
+
89
+ **For Vercel/Edge:**
90
+ ```bash
91
+ [package-manager] add drizzle-orm @neondatabase/serverless
92
+ [package-manager] add -D drizzle-kit dotenv
93
+ ```
94
+
95
+ **For Node.js:**
96
+ ```bash
97
+ [package-manager] add drizzle-orm @neondatabase/serverless ws
98
+ [package-manager] add -D drizzle-kit dotenv @types/ws
99
+ ```
100
+
101
+ ### 2.2. Create Isolated Drizzle Directory
102
+
103
+ Keep Drizzle separate from existing code:
104
+ ```bash
105
+ mkdir -p src/drizzle
106
+ ```
107
+
108
+ Structure:
109
+ ```
110
+ src/drizzle/
111
+ ├── index.ts # Connection
112
+ ├── schema.ts # New schemas only
113
+ └── migrations/ # Drizzle migrations
114
+ ```
115
+
116
+ ## Phase 3: Configuration
117
+
118
+ ### 3.1. Create Drizzle Config
119
+
120
+ Create `drizzle.config.ts` with explicit environment loading:
121
+
122
+ **CRITICAL:** The `config({ path: '...' })` must match your environment file name.
123
+
124
+ **For Next.js (using .env.local):**
125
+ ```typescript
126
+ import { defineConfig } from 'drizzle-kit';
127
+ import { config } from 'dotenv';
128
+
129
+ // Load .env.local explicitly
130
+ config({ path: '.env.local' });
131
+
132
+ export default defineConfig({
133
+ schema: './src/drizzle/schema.ts',
134
+ out: './src/drizzle/migrations',
135
+ dialect: 'postgresql',
136
+ dbCredentials: {
137
+ url: process.env.DATABASE_URL!,
138
+ },
139
+ });
140
+ ```
141
+
142
+ **For other projects (using .env):**
143
+ ```typescript
144
+ import { defineConfig } from 'drizzle-kit';
145
+ import { config } from 'dotenv';
146
+
147
+ // Load .env explicitly
148
+ config({ path: '.env' });
149
+
150
+ export default defineConfig({
151
+ schema: './src/drizzle/schema.ts',
152
+ out: './src/drizzle/migrations',
153
+ dialect: 'postgresql',
154
+ dbCredentials: {
155
+ url: process.env.DATABASE_URL!,
156
+ },
157
+ });
158
+ ```
159
+
160
+ **Notes:**
161
+ - Point schema and migrations to `src/drizzle/` to avoid conflicts with existing code
162
+ - Explicit dotenv path prevents "url: undefined" errors during migrations
163
+
164
+ ### 3.2. Create Connection
165
+
166
+ `src/drizzle/index.ts` - Choose adapter based on environment (see `references/adapters.md`):
167
+
168
+ **HTTP (Vercel/Edge):**
169
+ ```typescript
170
+ import { drizzle } from 'drizzle-orm/neon-http';
171
+ import { neon } from '@neondatabase/serverless';
172
+
173
+ const sql = neon(process.env.DATABASE_URL!);
174
+ export const drizzleDb = drizzle(sql);
175
+ ```
176
+
177
+ **WebSocket (Node.js):**
178
+ ```typescript
179
+ import { drizzle } from 'drizzle-orm/neon-serverless';
180
+ import { Pool, neonConfig } from '@neondatabase/serverless';
181
+ import ws from 'ws';
182
+
183
+ neonConfig.webSocketConstructor = ws;
184
+ const pool = new Pool({ connectionString: process.env.DATABASE_URL! });
185
+ export const drizzleDb = drizzle(pool);
186
+ ```
187
+
188
+ **Important:** Name export as `drizzleDb` to avoid conflicts with existing `db` exports.
189
+
190
+ ## Phase 4: Schema Strategy
191
+
192
+ Choose integration approach:
193
+
194
+ ### 4.1. Option A: New Tables Only
195
+
196
+ Create schemas for new features only, leave existing tables alone:
197
+
198
+ `src/drizzle/schema.ts`:
199
+ ```typescript
200
+ import { pgTable, serial, text, timestamp } from 'drizzle-orm/pg-core';
201
+
202
+ export const newFeatureTable = pgTable('new_feature', {
203
+ id: serial('id').primaryKey(),
204
+ data: text('data').notNull(),
205
+ createdAt: timestamp('created_at').defaultNow(),
206
+ });
207
+ ```
208
+
209
+ **Pros:**
210
+ - No migration of existing data
211
+ - Zero risk to current functionality
212
+ - Gradual adoption
213
+
214
+ **Cons:**
215
+ - Mixed query patterns (Drizzle + existing ORM)
216
+ - Two connection patterns in codebase
217
+
218
+ ### 4.2. Option B: Mirror Existing Tables
219
+
220
+ Define schemas for existing tables to gradually migrate queries:
221
+
222
+ ```typescript
223
+ import { pgTable, serial, varchar, timestamp } from 'drizzle-orm/pg-core';
224
+
225
+ export const existingUsers = pgTable('users', {
226
+ id: serial('id').primaryKey(),
227
+ email: varchar('email', { length: 255 }).notNull(),
228
+ name: varchar('name', { length: 255 }),
229
+ createdAt: timestamp('created_at'),
230
+ });
231
+ ```
232
+
233
+ **Pros:**
234
+ - Can query existing data with Drizzle
235
+ - Gradually replace old ORM queries
236
+ - Type-safe access to existing tables
237
+
238
+ **Cons:**
239
+ - Must match existing schema exactly
240
+ - Requires careful migration strategy
241
+
242
+ ### 4.3. Recommended: Hybrid Approach
243
+
244
+ 1. Start with Option A (new tables only)
245
+ 2. Once comfortable, add schemas for frequently-queried existing tables (Option B)
246
+ 3. Gradually migrate queries from old ORM to Drizzle
247
+ 4. Eventually remove old ORM
248
+
249
+ ## Phase 5: Migration Handling
250
+
251
+ ### 5.1. For New Tables
252
+
253
+ Generate and run migrations normally:
254
+ ```bash
255
+ [package-manager] drizzle-kit generate
256
+ export DATABASE_URL="$(grep DATABASE_URL .env.local | cut -d '=' -f2)" && \
257
+ [package-manager] drizzle-kit migrate
258
+ ```
259
+
260
+ ### 5.2. For Existing Tables
261
+
262
+ **Do NOT run migrations** - tables already exist!
263
+
264
+ Instead, use Drizzle schemas for querying only:
265
+ ```typescript
266
+ import { drizzleDb } from './drizzle';
267
+ import { existingUsers } from './drizzle/schema';
268
+
269
+ const users = await drizzleDb.select().from(existingUsers);
270
+ ```
271
+
272
+ ### 5.3. Mixed Scenario
273
+
274
+ If you have both new and existing tables:
275
+ 1. Define all schemas in `schema.ts`
276
+ 2. Run `drizzle-kit generate`
277
+ 3. **Manually edit** generated migration to remove SQL for existing tables
278
+ 4. Apply migration
279
+
280
+ See `references/migrations.md` for advanced patterns.
281
+
282
+ ### 5.4. Add Migration Scripts
283
+
284
+ Add these convenience scripts to your `package.json`:
285
+
286
+ ```json
287
+ {
288
+ "scripts": {
289
+ "db:generate": "drizzle-kit generate",
290
+ "db:migrate": "drizzle-kit migrate",
291
+ "db:push": "drizzle-kit push",
292
+ "db:studio": "drizzle-kit studio"
293
+ }
294
+ }
295
+ ```
296
+
297
+ **Usage:**
298
+ ```bash
299
+ npm run db:generate # Generate migrations from schema changes
300
+ npm run db:migrate # Apply pending migrations
301
+ npm run db:push # Push schema directly (dev only)
302
+ npm run db:studio # Open Drizzle Studio
303
+ ```
304
+
305
+ **Note:** Replace `npm run` with your package manager's equivalent (`pnpm`, `yarn`, `bun`).
306
+
307
+ ## Phase 6: Coexistence Patterns
308
+
309
+ ### 6.1. Naming Conventions
310
+
311
+ Keep clear separation:
312
+ ```typescript
313
+ import { db as prismaDb } from './lib/prisma';
314
+ import { drizzleDb } from './drizzle';
315
+
316
+ const prismaUsers = await prismaDb.user.findMany();
317
+ const drizzleFeatures = await drizzleDb.select().from(newFeatureTable);
318
+ ```
319
+
320
+ ### 6.2. Gradual Migration
321
+
322
+ **Step 1:** New features use Drizzle
323
+ ```typescript
324
+ async function createFeature(data: NewFeatureInput) {
325
+ return drizzleDb.insert(newFeatureTable).values(data).returning();
326
+ }
327
+ ```
328
+
329
+ **Step 2:** Migrate read queries (safe, no data changes)
330
+ ```typescript
331
+ async function getUsers() {
332
+ return drizzleDb.select().from(existingUsers);
333
+ }
334
+ ```
335
+
336
+ **Step 3:** Migrate write queries (after thorough testing)
337
+ ```typescript
338
+ async function updateUser(id: number, data: UserUpdate) {
339
+ return drizzleDb.update(existingUsers)
340
+ .set(data)
341
+ .where(eq(existingUsers.id, id));
342
+ }
343
+ ```
344
+
345
+ **Step 4:** Remove old ORM once all queries migrated
346
+
347
+ ## Phase 7: Verification
348
+
349
+ Test integration without breaking existing functionality:
350
+
351
+ ### 7.1. Test New Tables
352
+
353
+ ```typescript
354
+ import { drizzleDb } from './drizzle';
355
+ import { newFeatureTable } from './drizzle/schema';
356
+
357
+ const result = await drizzleDb.insert(newFeatureTable)
358
+ .values({ data: 'test' })
359
+ .returning();
360
+
361
+ console.log('New table works:', result);
362
+ ```
363
+
364
+ ### 7.2. Test Existing Tables (if mirrored)
365
+
366
+ ```typescript
367
+ import { drizzleDb } from './drizzle';
368
+ import { existingUsers } from './drizzle/schema';
369
+
370
+ const users = await drizzleDb.select().from(existingUsers);
371
+ console.log('Existing table accessible:', users);
372
+ ```
373
+
374
+ ### 7.3. Verify Old ORM Still Works
375
+
376
+ ```typescript
377
+ import { db as oldDb } from './lib/your-orm';
378
+
379
+ const oldQuery = await oldDb.users.findMany();
380
+ console.log('Old ORM still works:', oldQuery);
381
+ ```
382
+
383
+ ## Phase 8: Add Best Practices References
384
+
385
+ Before executing the add-neon-docs skill, provide a summary of everything that has been done:
386
+
387
+ "✅ ... Drizzle integration is complete! Now adding documentation references..."
388
+
389
+ Then execute the neon-plugin:add-neon-docs skill with the parameter SKILL_NAME="neon-drizzle"
390
+
391
+ This will add reference links to Neon + Drizzle best practices documentation in your project's AI documentation file, helping AI assistants provide better guidance in future conversations.
392
+
393
+ ---
394
+
395
+ ## ✅ Integration Complete!
396
+
397
+ Your Drizzle integration with the existing project is ready to use.
398
+
@@ -0,0 +1,312 @@
1
+ # New Project Setup
2
+
3
+ > **Complete Walkthrough**: This is a self-contained, step-by-step guide with its own numbered phases (Phase 1-6).
4
+ > Follow each phase in order for a full Drizzle + Neon setup from scratch.
5
+
6
+ Complete guide for setting up Drizzle ORM with Neon from scratch.
7
+
8
+ ### Important:
9
+ - Remember to run the neon-plugin:add-neon-docs skill with the parameter SKILL_NAME="neon-drizzle" after completing the guide.
10
+
11
+ ## Table of Contents
12
+
13
+ - [New Project Setup](#new-project-setup)
14
+ - [Important:](#important)
15
+ - [Table of Contents](#table-of-contents)
16
+ - [Workflow Checklist](#workflow-checklist)
17
+ - [Phase 1: Context Detection](#phase-1-context-detection)
18
+ - [Phase 2: Installation](#phase-2-installation)
19
+ - [Phase 3: Configuration](#phase-3-configuration)
20
+ - [3.1. Neon Database Provisioning \& Environment File](#31-neon-database-provisioning--environment-file)
21
+ - [3.2. Drizzle Config](#32-drizzle-config)
22
+ - [3.3. Database Connection](#33-database-connection)
23
+ - [Phase 4: Schema Generation](#phase-4-schema-generation)
24
+ - [4.1. Common Patterns](#41-common-patterns)
25
+ - [Phase 5: Migrations](#phase-5-migrations)
26
+ - [5.1. Generate Migration](#51-generate-migration)
27
+ - [5.2. Apply Migration](#52-apply-migration)
28
+ - [5.3. Add Migration Scripts](#53-add-migration-scripts)
29
+ - [5.4. If Migration Fails](#54-if-migration-fails)
30
+ - [Phase 6: Add Best Practices References](#phase-6-add-best-practices-references)
31
+ - [✅ Setup Complete!](#-setup-complete)
32
+
33
+ ---
34
+
35
+ ## Workflow Checklist
36
+
37
+ When following this guide, I will track these high-level tasks:
38
+
39
+ - [ ] Detect project context (package manager, framework, existing setup)
40
+ - [ ] Install Drizzle dependencies based on deployment target
41
+ - [ ] Provision Neon database (list projects, create if needed, get connection string)
42
+ - [ ] Write connection string to environment file and verify
43
+ - [ ] Create Drizzle configuration files (drizzle.config.ts, db connection)
44
+ - [ ] Generate schema based on app type
45
+ - [ ] Run and verify migrations
46
+ - [ ] Add Neon Drizzle best practices to project docs
47
+
48
+ ---
49
+
50
+ ## Phase 1: Context Detection
51
+
52
+ Auto-detect project context:
53
+
54
+ **Check Package Manager:**
55
+ ```bash
56
+ ls package-lock.json # → npm
57
+ ls bun.lockb # → bun
58
+ ls pnpm-lock.yaml # → pnpm
59
+ ls yarn.lock # → yarn
60
+ ```
61
+
62
+ **Check Framework:**
63
+ ```bash
64
+ grep '"next"' package.json # → Next.js
65
+ grep '"express"' package.json # → Express
66
+ grep '"vite"' package.json # → Vite
67
+ ```
68
+
69
+ **Check Existing Setup:**
70
+ ```bash
71
+ ls drizzle.config.ts # Already configured?
72
+ ls src/db/schema.ts # Schema exists?
73
+ ```
74
+
75
+ **Check Environment Files:**
76
+ ```bash
77
+ ls .env .env.local .env.production
78
+ ```
79
+
80
+ ## Phase 2: Installation
81
+
82
+ Based on detection, install dependencies:
83
+
84
+ **For Vercel/Edge Environments (Next.js, Vite on Vercel):**
85
+ ```bash
86
+ [package-manager] add drizzle-orm @neondatabase/serverless
87
+ [package-manager] add -D drizzle-kit dotenv @vercel/node
88
+ ```
89
+
90
+ **For Node.js Servers (Express, Fastify, standard Node):**
91
+ ```bash
92
+ [package-manager] add drizzle-orm @neondatabase/serverless ws
93
+ [package-manager] add -D drizzle-kit dotenv @types/ws
94
+ ```
95
+
96
+ ## Phase 3: Configuration
97
+
98
+ Create configuration files in dependency order:
99
+
100
+ ### 3.1. Neon Database Provisioning & Environment File
101
+
102
+ **Outcome**: A working `.env` or `.env.local` file with a real Neon connection string that the application can use immediately.
103
+
104
+ Use MCP tools to list or create a Neon project and get its connection string. Write the actual credentials to the environment file (`.env.local` for Next.js, `.env` for other projects). Add the file to `.gitignore`.
105
+
106
+ **Environment file format:**
107
+ ```bash
108
+ DATABASE_URL=postgresql://user:password@host/database?sslmode=require
109
+ ```
110
+
111
+ ### 3.2. Drizzle Config
112
+
113
+ Create `drizzle.config.ts` with explicit environment loading:
114
+
115
+ **CRITICAL:** The `config({ path: '...' })` line must match the environment file from Step 3.1.
116
+
117
+ **For Next.js (using .env.local):**
118
+ ```typescript
119
+ import { defineConfig } from 'drizzle-kit';
120
+ import { config } from 'dotenv';
121
+
122
+ // Load .env.local explicitly
123
+ config({ path: '.env.local' });
124
+
125
+ export default defineConfig({
126
+ schema: './src/db/schema.ts',
127
+ out: './src/db/migrations',
128
+ dialect: 'postgresql',
129
+ dbCredentials: {
130
+ url: process.env.DATABASE_URL!,
131
+ },
132
+ });
133
+ ```
134
+
135
+ **For other projects (using .env):**
136
+ ```typescript
137
+ import { defineConfig } from 'drizzle-kit';
138
+ import { config } from 'dotenv';
139
+
140
+ // Load .env explicitly
141
+ config({ path: '.env' });
142
+
143
+ export default defineConfig({
144
+ schema: './src/db/schema.ts',
145
+ out: './src/db/migrations',
146
+ dialect: 'postgresql',
147
+ dbCredentials: {
148
+ url: process.env.DATABASE_URL!,
149
+ },
150
+ });
151
+ ```
152
+
153
+ **Why this matters:**
154
+ - Without explicit `config({ path: '...' })`, drizzle-kit may not load environment variables
155
+ - This prevents "url: undefined" errors during migrations
156
+ - The path must match your environment file name from Phase 3.1
157
+
158
+ ### 3.3. Database Connection
159
+
160
+ Create `src/db/index.ts` with appropriate adapter (see `references/adapters.md` for decision guide):
161
+
162
+ **For Vercel/Edge:**
163
+ ```typescript
164
+ import { drizzle } from 'drizzle-orm/neon-http';
165
+ import { neon } from '@neondatabase/serverless';
166
+
167
+ const sql = neon(process.env.DATABASE_URL!);
168
+ export const db = drizzle(sql);
169
+ ```
170
+
171
+ **For Node.js:**
172
+ ```typescript
173
+ import { drizzle } from 'drizzle-orm/neon-serverless';
174
+ import { Pool, neonConfig } from '@neondatabase/serverless';
175
+ import ws from 'ws';
176
+
177
+ neonConfig.webSocketConstructor = ws;
178
+ const pool = new Pool({ connectionString: process.env.DATABASE_URL! });
179
+ export const db = drizzle(pool);
180
+ ```
181
+
182
+ See `templates/db-http.ts` and `templates/db-websocket.ts` for complete examples.
183
+
184
+ ## Phase 4: Schema Generation
185
+
186
+ Based on app type, create appropriate schema:
187
+
188
+ ### 4.1. Common Patterns
189
+
190
+ **Todo App:**
191
+ ```typescript
192
+ import { pgTable, serial, text, boolean, timestamp, varchar } from 'drizzle-orm/pg-core';
193
+
194
+ export const users = pgTable('users', {
195
+ id: serial('id').primaryKey(),
196
+ email: varchar('email', { length: 255 }).notNull().unique(),
197
+ name: varchar('name', { length: 255 }).notNull(),
198
+ createdAt: timestamp('created_at').defaultNow(),
199
+ });
200
+
201
+ export const todos = pgTable('todos', {
202
+ id: serial('id').primaryKey(),
203
+ userId: serial('user_id').notNull().references(() => users.id),
204
+ title: text('title').notNull(),
205
+ completed: boolean('completed').default(false),
206
+ createdAt: timestamp('created_at').defaultNow(),
207
+ });
208
+ ```
209
+
210
+ **Blog App:**
211
+ ```typescript
212
+ import { pgTable, serial, text, timestamp, varchar, index } from 'drizzle-orm/pg-core';
213
+ import { relations } from 'drizzle-orm';
214
+
215
+ export const users = pgTable('users', {
216
+ id: serial('id').primaryKey(),
217
+ email: varchar('email', { length: 255 }).notNull().unique(),
218
+ name: varchar('name', { length: 255 }).notNull(),
219
+ createdAt: timestamp('created_at').defaultNow(),
220
+ });
221
+
222
+ export const posts = pgTable('posts', {
223
+ id: serial('id').primaryKey(),
224
+ userId: serial('user_id').notNull().references(() => users.id),
225
+ title: text('title').notNull(),
226
+ content: text('content').notNull(),
227
+ createdAt: timestamp('created_at').defaultNow(),
228
+ }, (table) => ({
229
+ userIdIdx: index('posts_user_id_idx').on(table.userId),
230
+ }));
231
+
232
+ export const usersRelations = relations(users, ({ many }) => ({
233
+ posts: many(posts),
234
+ }));
235
+
236
+ export const postsRelations = relations(posts, ({ one }) => ({
237
+ author: one(users, {
238
+ fields: [posts.userId],
239
+ references: [users.id],
240
+ }),
241
+ }));
242
+ ```
243
+
244
+ See `templates/schema-example.ts` for more complex examples.
245
+
246
+ ## Phase 5: Migrations
247
+
248
+ Run migrations with proper error handling:
249
+
250
+ ### 5.1. Generate Migration
251
+
252
+ ```bash
253
+ [package-manager] drizzle-kit generate
254
+ ```
255
+
256
+ This creates SQL files in `src/db/migrations/`.
257
+
258
+ ### 5.2. Apply Migration
259
+
260
+ **Recommended approach (explicit env loading):**
261
+ ```bash
262
+ export DATABASE_URL="$(grep DATABASE_URL .env.local | cut -d '=' -f2)" && \
263
+ [package-manager] drizzle-kit migrate
264
+ ```
265
+
266
+ **Why this works:** Ensures `DATABASE_URL` is available, preventing "url: undefined" errors.
267
+
268
+ ### 5.3. Add Migration Scripts
269
+
270
+ Add these convenience scripts to your `package.json`:
271
+
272
+ ```json
273
+ {
274
+ "scripts": {
275
+ "db:generate": "drizzle-kit generate",
276
+ "db:migrate": "drizzle-kit migrate",
277
+ "db:push": "drizzle-kit push",
278
+ "db:studio": "drizzle-kit studio"
279
+ }
280
+ }
281
+ ```
282
+
283
+ **Usage:**
284
+ ```bash
285
+ npm run db:generate # Generate migrations from schema changes
286
+ npm run db:migrate # Apply pending migrations
287
+ npm run db:push # Push schema directly (dev only)
288
+ npm run db:studio # Open Drizzle Studio
289
+ ```
290
+
291
+ **Note:** Replace `npm run` with your package manager's equivalent (`pnpm`, `yarn`, `bun`).
292
+
293
+ ### 5.4. If Migration Fails
294
+
295
+ See `guides/troubleshooting.md` for common issues and fixes.
296
+
297
+ Also reference `references/migrations.md` for deep dive on migration patterns.
298
+
299
+ ## Phase 6: Add Best Practices References
300
+
301
+ Before executing the add-neon-docs skill, provide a summary of everything that has been done:
302
+
303
+ "✅ ... Drizzle integration is complete! Now adding documentation references..."
304
+
305
+ Then execute the neon-plugin:add-neon-docs skill with the parameter SKILL_NAME="neon-drizzle"
306
+
307
+ This will add reference links to Neon + Drizzle best practices documentation in your project's AI documentation file, helping AI assistants provide better guidance in future conversations.
308
+
309
+ ## ✅ Setup Complete!
310
+
311
+ Your Drizzle + Neon integration is ready to use.
312
+