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,230 @@
1
+ ---
2
+ title: Setting Up API Keys for Your Project
3
+ impact: CRITICAL
4
+ description: Configure Composio, OpenAI, and Anthropic API keys to enable your AI agent projects
5
+ tags: [setup, api-keys, configuration, environment, composio, openai, anthropic]
6
+ ---
7
+
8
+ # Setting Up API Keys for Your Project
9
+
10
+ Before building AI agents with Composio, you need to configure the necessary API keys. This includes Composio for tool access and your preferred LLM provider (OpenAI or Anthropic).
11
+
12
+ ## Setting Up Composio API Key
13
+
14
+ ### Step 1: Get Your Composio API Key
15
+
16
+ 1. Visit [Composio Platform](https://platform.composio.dev)
17
+ 2. Sign up or log in to your account
18
+ 3. Select or create a project
19
+ 4. Navigate to **Project Settings**
20
+ 5. Switch to the **API Keys** tab
21
+ 6. Copy your project-level API key
22
+
23
+ ### Step 2: Add to Environment Variables
24
+
25
+ Create a `.env` file in your project root (if it doesn't exist) and add:
26
+
27
+ ```bash
28
+ COMPOSIO_API_KEY=your_composio_api_key_here
29
+ ```
30
+
31
+ ## Setting Up LLM Provider API Keys
32
+
33
+ ### OpenAI API Key
34
+
35
+ If you're using OpenAI models (GPT-4, GPT-4o, etc.):
36
+
37
+ 1. Visit [OpenAI Platform](https://platform.openai.com/api-keys)
38
+ 2. Sign in or create an account
39
+ 3. Navigate to API Keys section
40
+ 4. Create a new API key or copy an existing one
41
+ 5. Add to your `.env` file:
42
+
43
+ ```bash
44
+ OPENAI_API_KEY=your_openai_api_key_here
45
+ ```
46
+
47
+ ### Anthropic API Key
48
+
49
+ If you're using Anthropic models (Claude, Claude Sonnet, etc.):
50
+
51
+ 1. Visit [Anthropic Console](https://console.anthropic.com/settings/keys)
52
+ 2. Sign in or create an account
53
+ 3. Navigate to API Keys section
54
+ 4. Create a new API key or copy an existing one
55
+ 5. Add to your `.env` file:
56
+
57
+ ```bash
58
+ ANTHROPIC_API_KEY=your_anthropic_api_key_here
59
+ ```
60
+
61
+ ## ❌ Incorrect - Hardcoding API Keys
62
+
63
+ ```typescript
64
+ // DON'T: Never hardcode API keys in your code
65
+ const composio = new Composio({
66
+ apiKey: 'sk_composio_abc123xyz' // ❌ Security risk!
67
+ });
68
+
69
+ const openai = new OpenAI({
70
+ apiKey: 'sk-proj-abc123' // ❌ Will be exposed in version control
71
+ });
72
+ ```
73
+
74
+ ```python
75
+ # DON'T: Never hardcode API keys
76
+ composio = Composio(api_key="sk_composio_abc123xyz") # ❌ Security risk!
77
+
78
+ client = OpenAI(api_key="sk-proj-abc123") # ❌ Will be exposed in version control
79
+ ```
80
+
81
+ ## ✅ Correct - Using Environment Variables
82
+
83
+ ```typescript
84
+ // DO: Load API keys from environment variables
85
+ import { Composio } from '@composio/core';
86
+ import { OpenAI } from 'openai';
87
+
88
+ const composio = new Composio({
89
+ apiKey: process.env.COMPOSIO_API_KEY // ✅ Secure
90
+ });
91
+
92
+ const openai = new OpenAI({
93
+ apiKey: process.env.OPENAI_API_KEY // ✅ Secure
94
+ });
95
+ ```
96
+
97
+ ```python
98
+ # DO: Load API keys from environment variables
99
+ import os
100
+ from composio import Composio
101
+ from openai import OpenAI
102
+
103
+ composio = Composio(api_key=os.environ["COMPOSIO_API_KEY"]) # ✅ Secure
104
+
105
+ openai = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) # ✅ Secure
106
+ ```
107
+
108
+ ## Complete .env File Example
109
+
110
+ ```bash
111
+ # Composio Configuration
112
+ COMPOSIO_API_KEY=your_composio_api_key_here
113
+
114
+ # LLM Provider (choose one or both based on your needs)
115
+ OPENAI_API_KEY=your_openai_api_key_here
116
+ ANTHROPIC_API_KEY=your_anthropic_api_key_here
117
+
118
+ # Optional: Other configurations
119
+ NODE_ENV=development
120
+ PORT=3000
121
+ ```
122
+
123
+ ## Loading Environment Variables
124
+
125
+ ### Node.js / TypeScript
126
+
127
+ Install `dotenv`:
128
+
129
+ ```bash
130
+ npm install dotenv
131
+ ```
132
+
133
+ Load at the top of your entry file:
134
+
135
+ ```typescript
136
+ import 'dotenv/config';
137
+ // Or
138
+ require('dotenv').config();
139
+ ```
140
+
141
+ ### Python
142
+
143
+ Install `python-dotenv`:
144
+
145
+ ```bash
146
+ pip install python-dotenv
147
+ ```
148
+
149
+ Load in your code:
150
+
151
+ ```python
152
+ from dotenv import load_dotenv
153
+ load_dotenv()
154
+ ```
155
+
156
+ ## Security Best Practices
157
+
158
+ 1. **Never commit `.env` files** - Add `.env` to your `.gitignore`:
159
+ ```
160
+ # .gitignore
161
+ .env
162
+ .env.local
163
+ .env.*.local
164
+ ```
165
+
166
+ 2. **Use different keys for different environments** - Create separate API keys for development, staging, and production
167
+
168
+ 3. **Rotate keys regularly** - Periodically regenerate API keys for security
169
+
170
+ 4. **Restrict key permissions** - Use the minimum required permissions for each API key
171
+
172
+ 5. **Use secret management in production** - Consider using services like:
173
+ - AWS Secrets Manager
174
+ - Google Cloud Secret Manager
175
+ - HashiCorp Vault
176
+ - Vercel Environment Variables
177
+ - Railway Environment Variables
178
+
179
+ ## Verifying Your Setup
180
+
181
+ After setting up your API keys, verify they work:
182
+
183
+ ```typescript
184
+ import { Composio } from '@composio/core';
185
+
186
+ const composio = new Composio({
187
+ apiKey: process.env.COMPOSIO_API_KEY
188
+ });
189
+
190
+ // Test the connection
191
+ const apps = await composio.apps.list();
192
+ console.log('✅ Composio API key is working!');
193
+ ```
194
+
195
+ ```python
196
+ from composio import Composio
197
+
198
+ composio = Composio(api_key=os.environ["COMPOSIO_API_KEY"])
199
+
200
+ # Test the connection
201
+ apps = composio.apps.list()
202
+ print("✅ Composio API key is working!")
203
+ ```
204
+
205
+ ## Troubleshooting
206
+
207
+ ### "API key not found" error
208
+
209
+ - Ensure your `.env` file is in the project root
210
+ - Verify you're loading environment variables before using them
211
+ - Check for typos in variable names (`COMPOSIO_API_KEY`, not `COMPOSIO_KEY`)
212
+
213
+ ### "Invalid API key" error
214
+
215
+ - Verify you copied the complete API key
216
+ - Check that you're using a project-level API key from Composio
217
+ - Ensure the key hasn't been revoked or expired
218
+
219
+ ### Environment variables not loading
220
+
221
+ - Restart your development server after modifying `.env`
222
+ - Ensure `dotenv` is installed and configured correctly
223
+ - Check that `.env` is in the correct directory
224
+
225
+ ## Reference
226
+
227
+ - [Composio Platform](https://platform.composio.dev)
228
+ - [OpenAI API Keys](https://platform.openai.com/api-keys)
229
+ - [Anthropic Console](https://console.anthropic.com/settings/keys)
230
+ - [Composio Documentation](https://docs.composio.dev)
@@ -0,0 +1,110 @@
1
+ ---
2
+ title: Enable Auto Authentication in Chat
3
+ impact: HIGH
4
+ description: Allow users to authenticate toolkits directly within chat conversations
5
+ tags: [authentication, tool-router, user-experience, oauth]
6
+ ---
7
+
8
+ # Enable Auto Authentication in Chat
9
+
10
+ Enable `manageConnections` to allow users to authenticate toolkits on-demand during agent conversations.
11
+
12
+ ## ❌ Incorrect
13
+
14
+ ```typescript
15
+ // DON'T: Disable connection management for interactive apps
16
+ const session = await composio.create('user_123', {
17
+ toolkits: ['gmail'],
18
+ manageConnections: false // User can't authenticate!
19
+ });
20
+
21
+ // Agent tries to use Gmail but user isn't connected
22
+ // Tool execution will fail with no way to fix it
23
+ ```
24
+
25
+ ```python
26
+ # DON'T: Disable connection management for interactive apps
27
+ session = composio.create(
28
+ user_id="user_123",
29
+ toolkits=["gmail"],
30
+ manage_connections=False # User can't authenticate!
31
+ )
32
+
33
+ # Agent tries to use Gmail but user isn't connected
34
+ # Tool execution will fail with no way to fix it
35
+ ```
36
+
37
+ ## ✅ Correct
38
+
39
+ ```typescript
40
+ // DO: Enable connection management for interactive apps
41
+ import { Composio } from '@composio/core';
42
+
43
+ const composio = new Composio();
44
+ const session = await composio.create('user_123', {
45
+ toolkits: ['gmail', 'slack'],
46
+ manageConnections: true // Users can authenticate in chat
47
+ });
48
+
49
+ // When agent needs Gmail and user isn't connected:
50
+ // 1. Agent calls COMPOSIO_MANAGE_CONNECTIONS tool
51
+ // 2. User receives auth link in chat
52
+ // 3. User authenticates via OAuth
53
+ // 4. Agent continues with Gmail access
54
+ ```
55
+
56
+ ```python
57
+ # DO: Enable connection management for interactive apps
58
+ from composio import Composio
59
+
60
+ composio = Composio()
61
+ session = composio.create(
62
+ user_id="user_123",
63
+ toolkits=["gmail", "slack"],
64
+ manage_connections=True # Users can authenticate in chat
65
+ )
66
+
67
+ # When agent needs Gmail and user isn't connected:
68
+ # 1. Agent calls COMPOSIO_MANAGE_CONNECTIONS tool
69
+ # 2. User receives auth link in chat
70
+ # 3. User authenticates via OAuth
71
+ # 4. Agent continues with Gmail access
72
+ ```
73
+
74
+ ## Advanced: Custom Callback URL
75
+
76
+ ```typescript
77
+ // Configure custom callback for OAuth flow
78
+ const session = await composio.create('user_123', {
79
+ toolkits: ['gmail'],
80
+ manageConnections: {
81
+ enable: true,
82
+ callbackUrl: 'https://your-app.com/auth/callback'
83
+ }
84
+ });
85
+ ```
86
+
87
+ ```python
88
+ # Configure custom callback for OAuth flow
89
+ session = composio.create(
90
+ user_id="user_123",
91
+ toolkits=["gmail"],
92
+ manage_connections={
93
+ "enable": True,
94
+ "callback_url": "https://your-app.com/auth/callback"
95
+ }
96
+ )
97
+ ```
98
+
99
+ ## How It Works
100
+
101
+ 1. Agent detects missing connection for a toolkit
102
+ 2. Agent automatically calls meta tool `COMPOSIO_MANAGE_CONNECTIONS`
103
+ 3. Tool returns OAuth redirect URL
104
+ 4. User authenticates via the URL
105
+ 5. Agent resumes with access granted
106
+
107
+ ## Reference
108
+
109
+ - [Connection Management](https://docs.composio.dev/sdk/typescript/api/tool-router#manageconnections)
110
+ - [Authorization Flow](https://docs.composio.dev/sdk/typescript/api/tool-router#authorization-flow)
@@ -0,0 +1,167 @@
1
+ ---
2
+ title: Configure Connection Management Properly
3
+ impact: CRITICAL
4
+ description: Understand manageConnections settings to control authentication behavior in Tool Router
5
+ tags: [authentication, tool-router, connections, configuration]
6
+ ---
7
+
8
+ # Configure Connection Management Properly
9
+
10
+ The `manageConnections` setting determines how Tool Router handles missing toolkit connections. Configure it correctly based on your application type.
11
+
12
+ ## ❌ Incorrect
13
+
14
+ ```typescript
15
+ // DON'T: Disable connections in interactive applications
16
+ const session = await composio.create('user_123', {
17
+ toolkits: ['gmail'],
18
+ manageConnections: false // Tools will FAIL if user not connected!
19
+ });
20
+
21
+ // When agent tries to use Gmail:
22
+ // ❌ Error: No connected account found for gmail
23
+ // User has no way to authenticate
24
+ ```
25
+
26
+ ```python
27
+ # DON'T: Disable connections in interactive applications
28
+ session = composio.create(
29
+ user_id="user_123",
30
+ toolkits=["gmail"],
31
+ manage_connections=False # Tools will FAIL if user not connected!
32
+ )
33
+
34
+ # When agent tries to use Gmail:
35
+ # ❌ Error: No connected account found for gmail
36
+ # User has no way to authenticate
37
+ ```
38
+
39
+ ## ✅ Correct - Enable Auto Authentication (Default)
40
+
41
+ ```typescript
42
+ // DO: Enable connection management for interactive apps
43
+ import { Composio } from '@composio/core';
44
+
45
+ const composio = new Composio();
46
+
47
+ // Option 1: Use default (manageConnections: true)
48
+ const session1 = await composio.create('user_123', {
49
+ toolkits: ['gmail', 'slack']
50
+ // manageConnections defaults to true
51
+ });
52
+
53
+ // Option 2: Explicitly enable with boolean
54
+ const session2 = await composio.create('user_123', {
55
+ toolkits: ['gmail'],
56
+ manageConnections: true // Agent can prompt for auth
57
+ });
58
+
59
+ // How it works:
60
+ // 1. Agent tries to use Gmail tool
61
+ // 2. No connection exists
62
+ // 3. Agent calls COMPOSIO_MANAGE_CONNECTIONS meta tool
63
+ // 4. User receives auth link in chat
64
+ // 5. User authenticates
65
+ // 6. Agent continues with Gmail access
66
+ ```
67
+
68
+ ```python
69
+ # DO: Enable connection management for interactive apps
70
+ from composio import Composio
71
+
72
+ composio = Composio()
73
+
74
+ # Option 1: Use default (manage_connections: True)
75
+ session1 = composio.create(
76
+ user_id="user_123",
77
+ toolkits=["gmail", "slack"]
78
+ # manage_connections defaults to True
79
+ )
80
+
81
+ # Option 2: Explicitly enable with boolean
82
+ session2 = composio.create(
83
+ user_id="user_123",
84
+ toolkits=["gmail"],
85
+ manage_connections=True # Agent can prompt for auth
86
+ )
87
+
88
+ # How it works:
89
+ # 1. Agent tries to use Gmail tool
90
+ # 2. No connection exists
91
+ # 3. Agent calls COMPOSIO_MANAGE_CONNECTIONS meta tool
92
+ # 4. User receives auth link in chat
93
+ # 5. User authenticates
94
+ # 6. Agent continues with Gmail access
95
+ ```
96
+
97
+ ## ✅ Correct - Advanced Configuration
98
+
99
+ ```typescript
100
+ // DO: Configure with object for fine-grained control
101
+ const session = await composio.create('user_123', {
102
+ toolkits: ['gmail', 'slack'],
103
+ manageConnections: {
104
+ enable: true, // Allow in-chat authentication
105
+ callbackUrl: 'https://your-app.com/auth/callback', // Custom OAuth callback
106
+ waitForConnections: true // Wait for user to complete auth before proceeding
107
+ }
108
+ });
109
+
110
+ // With waitForConnections: true
111
+ // Session creation waits until user completes authentication
112
+ // Perfect for workflows where connections are required upfront
113
+ ```
114
+
115
+ ```python
116
+ # DO: Configure with object for fine-grained control
117
+ session = composio.create(
118
+ user_id="user_123",
119
+ toolkits=["gmail", "slack"],
120
+ manage_connections={
121
+ "enable": True, # Allow in-chat authentication
122
+ "callback_url": "https://your-app.com/auth/callback", # Custom OAuth callback
123
+ "wait_for_connections": True # Wait for user to complete auth before proceeding
124
+ }
125
+ )
126
+
127
+ # With wait_for_connections: True
128
+ # Session creation waits until user completes authentication
129
+ # Perfect for workflows where connections are required upfront
130
+ ```
131
+
132
+ ## Configuration Options
133
+
134
+ ```typescript
135
+ manageConnections: boolean | {
136
+ enable?: boolean; // Enable/disable connection management (default: true)
137
+ callbackUrl?: string; // Custom OAuth callback URL
138
+ waitForConnections?: boolean; // Block until connections complete (default: false)
139
+ }
140
+ ```
141
+
142
+ ## When to Use Each Setting
143
+
144
+ **`manageConnections: true` (Default)**
145
+ - Interactive chat applications
146
+ - User can authenticate on-demand
147
+ - Flexible, user-friendly experience
148
+
149
+ **`manageConnections: { waitForConnections: true }`**
150
+ - Workflows requiring connections upfront
151
+ - Onboarding flows
152
+ - Critical operations needing guaranteed access
153
+
154
+ **`manageConnections: false`**
155
+ - Backend automation (no user interaction)
156
+ - Pre-connected accounts only
157
+ - System-to-system integrations
158
+ - ⚠️ Tools WILL FAIL if connections are missing
159
+
160
+ ## Key Insight
161
+
162
+ With `manageConnections: true`, **you never need to check connections before agent execution**. The agent intelligently prompts users for authentication only when needed. This creates the smoothest user experience.
163
+
164
+ ## Reference
165
+
166
+ - [Connection Management](https://docs.composio.dev/sdk/typescript/api/tool-router#manageconnections)
167
+ - [Wait for Connections](https://docs.composio.dev/sdk/typescript/api/tool-router#wait-for-connections)
@@ -0,0 +1,161 @@
1
+ ---
2
+ title: Use Manual Authorization for Explicit Control
3
+ impact: MEDIUM
4
+ description: Control authentication flows explicitly using session.authorize() for onboarding and settings pages
5
+ tags: [authentication, tool-router, authorization, oauth]
6
+ ---
7
+
8
+ # Use Manual Authorization for Explicit Control
9
+
10
+ Use `session.authorize()` to explicitly control when users authenticate toolkits - perfect for onboarding flows, settings pages, or when you want authentication before starting agent workflows.
11
+
12
+ ## ❌ Incorrect
13
+
14
+ ```typescript
15
+ // DON'T: Mix auto and manual auth without clear purpose
16
+ const session = await composio.create('user_123', {
17
+ toolkits: ['gmail'],
18
+ manageConnections: true // Agent handles auth
19
+ });
20
+
21
+ // Then immediately force manual auth (redundant)
22
+ await session.authorize('gmail');
23
+ // Agent could have handled this automatically
24
+ ```
25
+
26
+ ```python
27
+ # DON'T: Mix auto and manual auth without clear purpose
28
+ session = composio.create(
29
+ user_id="user_123",
30
+ toolkits=["gmail"],
31
+ manage_connections=True # Agent handles auth
32
+ )
33
+
34
+ # Then immediately force manual auth (redundant)
35
+ session.authorize("gmail")
36
+ # Agent could have handled this automatically
37
+ ```
38
+
39
+ ## ✅ Correct - Onboarding Flow
40
+
41
+ ```typescript
42
+ // DO: Use manual auth for onboarding before agent starts
43
+ import { Composio } from '@composio/core';
44
+
45
+ const composio = new Composio();
46
+
47
+ // Step 1: Create session for onboarding
48
+ const session = await composio.create('user_123', {
49
+ toolkits: ['gmail', 'slack']
50
+ });
51
+
52
+ // Step 2: Explicitly connect required toolkits during onboarding
53
+ async function onboardUser() {
54
+ const requiredToolkits = ['gmail', 'slack'];
55
+
56
+ for (const toolkit of requiredToolkits) {
57
+ const connectionRequest = await session.authorize(toolkit, {
58
+ callbackUrl: 'https://your-app.com/onboarding/callback'
59
+ });
60
+
61
+ console.log(`Connect ${toolkit}:`, connectionRequest.redirectUrl);
62
+
63
+ // Wait for user to complete each connection
64
+ await connectionRequest.waitForConnection();
65
+ console.log(`✓ ${toolkit} connected`);
66
+ }
67
+
68
+ console.log('Onboarding complete! All toolkits connected.');
69
+ }
70
+ ```
71
+
72
+ ```python
73
+ # DO: Use manual auth for onboarding before agent starts
74
+ from composio import Composio
75
+
76
+ composio = Composio()
77
+
78
+ # Step 1: Create session for onboarding
79
+ session = composio.create(
80
+ user_id="user_123",
81
+ toolkits=["gmail", "slack"]
82
+ )
83
+
84
+ # Step 2: Explicitly connect required toolkits during onboarding
85
+ async def onboard_user():
86
+ required_toolkits = ["gmail", "slack"]
87
+
88
+ for toolkit in required_toolkits:
89
+ connection_request = session.authorize(
90
+ toolkit,
91
+ callback_url="https://your-app.com/onboarding/callback"
92
+ )
93
+
94
+ print(f"Connect {toolkit}: {connection_request.redirect_url}")
95
+
96
+ # Wait for user to complete each connection
97
+ connection_request.wait_for_connection()
98
+ print(f"✓ {toolkit} connected")
99
+
100
+ print("Onboarding complete! All toolkits connected.")
101
+ ```
102
+
103
+ ## ✅ Correct - Settings Page
104
+
105
+ ```typescript
106
+ // DO: Manual auth for connection management in settings
107
+ async function settingsPageHandler(userId: string, toolkit: string) {
108
+ const session = await composio.create(userId, {
109
+ toolkits: [toolkit]
110
+ });
111
+
112
+ // User clicked "Connect" button in settings
113
+ const connectionRequest = await session.authorize(toolkit, {
114
+ callbackUrl: 'https://your-app.com/settings/callback'
115
+ });
116
+
117
+ // Redirect user to OAuth flow
118
+ return { redirectUrl: connectionRequest.redirectUrl };
119
+ }
120
+ ```
121
+
122
+ ```python
123
+ # DO: Manual auth for connection management in settings
124
+ async def settings_page_handler(user_id: str, toolkit: str):
125
+ session = composio.create(
126
+ user_id=user_id,
127
+ toolkits=[toolkit]
128
+ )
129
+
130
+ # User clicked "Connect" button in settings
131
+ connection_request = session.authorize(
132
+ toolkit,
133
+ callback_url="https://your-app.com/settings/callback"
134
+ )
135
+
136
+ # Redirect user to OAuth flow
137
+ return {"redirect_url": connection_request.redirect_url}
138
+ ```
139
+
140
+ ## When to Use Manual Authorization
141
+
142
+ **Use `session.authorize()` for:**
143
+ - **Onboarding flows**: Connect required toolkits before user can proceed
144
+ - **Settings pages**: User explicitly manages connections via UI
145
+ - **Pre-authentication**: Ensure critical connections exist before starting workflows
146
+ - **Re-authorization**: Handle expired or revoked connections
147
+
148
+ **Use `manageConnections: true` (auto) for:**
149
+ - **Interactive agents**: Let agent prompt for auth when needed
150
+ - **Flexible workflows**: User may or may not have connections
151
+ - **Just-in-time auth**: Only authenticate when toolkit is actually used
152
+
153
+ ## Key Difference
154
+
155
+ - **Manual auth** = You control WHEN authentication happens
156
+ - **Auto auth** = Agent handles authentication ON-DEMAND when tools need it
157
+
158
+ ## Reference
159
+
160
+ - [session.authorize()](https://docs.composio.dev/sdk/typescript/api/tool-router#authorize)
161
+ - [Authorization Flow](https://docs.composio.dev/sdk/typescript/api/tool-router#authorization-flow)