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,109 @@
1
+ ---
2
+ name: parameters
3
+ description: Make a video parametrizable by adding a Zod schema
4
+ metadata:
5
+ tags: parameters, zod, schema
6
+ ---
7
+
8
+ To make a video parametrizable, a Zod schema can be added to a composition.
9
+
10
+ First, `zod` must be installed .
11
+
12
+ Search the project for lockfiles and run the correct command depending on the package manager:
13
+
14
+ If `package-lock.json` is found, use the following command:
15
+
16
+ ```bash
17
+ npm i zod
18
+ ```
19
+
20
+ If `bun.lockb` is found, use the following command:
21
+
22
+ ```bash
23
+ bun i zod
24
+ ```
25
+
26
+ If `yarn.lock` is found, use the following command:
27
+
28
+ ```bash
29
+ yarn add zod
30
+ ```
31
+
32
+ If `pnpm-lock.yaml` is found, use the following command:
33
+
34
+ ```bash
35
+ pnpm i zod
36
+ ```
37
+
38
+ Then, a Zod schema can be defined alongside the component:
39
+
40
+ ```tsx title="src/MyComposition.tsx"
41
+ import { z } from "zod";
42
+
43
+ export const MyCompositionSchema = z.object({
44
+ title: z.string(),
45
+ });
46
+
47
+ const MyComponent: React.FC<z.infer<typeof MyCompositionSchema>> = () => {
48
+ return (
49
+ <div>
50
+ <h1>{props.title}</h1>
51
+ </div>
52
+ );
53
+ };
54
+ ```
55
+
56
+ In the root file, the schema can be passed to the composition:
57
+
58
+ ```tsx title="src/Root.tsx"
59
+ import { Composition } from "remotion";
60
+ import { MycComponent, MyCompositionSchema } from "./MyComposition";
61
+
62
+ export const RemotionRoot = () => {
63
+ return (
64
+ <Composition
65
+ id="MyComposition"
66
+ component={MyComponent}
67
+ durationInFrames={100}
68
+ fps={30}
69
+ width={1080}
70
+ height={1080}
71
+ defaultProps={{ title: "Hello World" }}
72
+ schema={MyCompositionSchema}
73
+ />
74
+ );
75
+ };
76
+ ```
77
+
78
+ Now, the user can edit the parameter visually in the sidebar.
79
+
80
+ All schemas that are supported by Zod are supported by Remotion.
81
+
82
+ Remotion requires that the top-level type is a z.object(), because the collection of props of a React component is always an object.
83
+
84
+ ## Color picker
85
+
86
+ For adding a color picker, use `zColor()` from `@remotion/zod-types`.
87
+
88
+ If it is not installed, use the following command:
89
+
90
+ ```bash
91
+ npx remotion add @remotion/zod-types # If project uses npm
92
+ bunx remotion add @remotion/zod-types # If project uses bun
93
+ yarn remotion add @remotion/zod-types # If project uses yarn
94
+ pnpm exec remotion add @remotion/zod-types # If project uses pnpm
95
+ ```
96
+
97
+ Then import `zColor` from `@remotion/zod-types`:
98
+
99
+ ```tsx
100
+ import { zColor } from "@remotion/zod-types";
101
+ ```
102
+
103
+ Then use it in the schema:
104
+
105
+ ```tsx
106
+ export const MyCompositionSchema = z.object({
107
+ color: zColor(),
108
+ });
109
+ ```
@@ -0,0 +1,144 @@
1
+ ---
2
+ name: sequencing
3
+ description: Sequencing patterns for Remotion - delay, trim, limit duration of items
4
+ metadata:
5
+ tags: sequence, series, timing, delay, trim
6
+ ---
7
+
8
+ Use `<Sequence>` to delay when an element appears in the timeline.
9
+
10
+ ```tsx
11
+ import { Sequence } from "remotion";
12
+
13
+ export const Title = () => {
14
+ const frame = useCurrentFrame();
15
+ const { fps } = useVideoConfig();
16
+
17
+ const opacity = interpolate(frame, [0, 2 * fps], [0, 1], {
18
+ extrapolateRight: "clamp",
19
+ extrapolateLeft: "clamp",
20
+ easing: Easing.bezier(0.16, 1, 0.3, 1),
21
+ });
22
+
23
+ return <div style={{ opacity }}>Title</div>;
24
+ };
25
+
26
+ export const Subtitle = () => {
27
+ return <div>Subtitle</div>;
28
+ };
29
+
30
+ const Main = () => {
31
+ const {fps} = useVideoConfig();
32
+
33
+ return (
34
+ <AbsoluteFill>
35
+ <Sequence>
36
+ <Background />
37
+ </Sequence>
38
+ <Sequence from={1 * fps} durationInFrames={2 * fps} layout="none">
39
+ <Title />
40
+ </Sequence>
41
+ <Sequence from={2 * fps} durationInFrames={2 * fps} layout="none">
42
+ <Subtitle />
43
+ </Sequence>
44
+ </AbsoluteFill>
45
+ );
46
+ }
47
+ ```
48
+
49
+ This will by default wrap the component in an absolute fill element.
50
+ If the items should not be wrapped, use the `layout` prop:
51
+
52
+ ```tsx
53
+ <Sequence layout="none">
54
+ <Title />
55
+ </Sequence>
56
+ ```
57
+
58
+ ## Premounting
59
+
60
+ This loads the component in the timeline before it is actually played.
61
+ Always premount any `<Sequence>`!
62
+
63
+ ```tsx
64
+ <Sequence premountFor={1 * fps}>
65
+ <Title />
66
+ </Sequence>
67
+ ```
68
+
69
+ ## Series
70
+
71
+ Use `<Series>` when elements should play one after another without overlap.
72
+
73
+ ```tsx
74
+ import { Series } from "remotion";
75
+
76
+ <Series>
77
+ <Series.Sequence durationInFrames={45}>
78
+ <Intro />
79
+ </Series.Sequence>
80
+ <Series.Sequence durationInFrames={60}>
81
+ <MainContent />
82
+ </Series.Sequence>
83
+ <Series.Sequence durationInFrames={30}>
84
+ <Outro />
85
+ </Series.Sequence>
86
+ </Series>;
87
+ ```
88
+
89
+ Same as with `<Sequence>`, the items will be wrapped in an absolute fill element by default when using `<Series.Sequence>`, unless the `layout` prop is set to `none`.
90
+
91
+ ### Series with overlaps
92
+
93
+ Use negative offset for overlapping sequences:
94
+
95
+ ```tsx
96
+ <Series>
97
+ <Series.Sequence durationInFrames={60}>
98
+ <SceneA />
99
+ </Series.Sequence>
100
+ <Series.Sequence offset={-15} durationInFrames={60}>
101
+ {/* Starts 15 frames before SceneA ends */}
102
+ <SceneB />
103
+ </Series.Sequence>
104
+ </Series>
105
+ ```
106
+
107
+ ## Frame References Inside Sequences
108
+
109
+ Inside a Sequence, `useCurrentFrame()` returns the local frame (starting from 0):
110
+
111
+ ```tsx
112
+ <Sequence from={60} durationInFrames={30}>
113
+ <MyComponent />
114
+ {/* Inside MyComponent, useCurrentFrame() returns 0-29, not 60-89 */}
115
+ </Sequence>
116
+ ```
117
+
118
+ ## Nested Sequences
119
+
120
+ Sequences can be nested for complex timing:
121
+
122
+ ```tsx
123
+ <Sequence from={0} durationInFrames={120}>
124
+ <Background />
125
+ <Sequence from={15} durationInFrames={90} layout="none">
126
+ <Title />
127
+ </Sequence>
128
+ <Sequence from={45} durationInFrames={60} layout="none">
129
+ <Subtitle />
130
+ </Sequence>
131
+ </Sequence>
132
+ ```
133
+
134
+ ## Nesting compositions within another
135
+
136
+ To add a composition within another composition, you can use the `<Sequence>` component with a `width` and `height` prop to specify the size of the composition.
137
+
138
+ ```tsx
139
+ <AbsoluteFill>
140
+ <Sequence width={COMPOSITION_WIDTH} height={COMPOSITION_HEIGHT}>
141
+ <CompositionComponent />
142
+ </Sequence>
143
+ </AbsoluteFill>
144
+ ```
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: sfx
3
+ description: Including sound effects
4
+ metadata:
5
+ tags: sfx, sound, effect, audio
6
+ ---
7
+
8
+ To include a sound effect, use the `<Audio>` tag:
9
+
10
+ ```tsx
11
+ import { Audio } from "@remotion/sfx";
12
+
13
+ <Audio src={"https://remotion.media/whoosh.wav"} />;
14
+ ```
15
+
16
+ The following sound effects are available:
17
+
18
+ - `https://remotion.media/whoosh.wav`
19
+ - `https://remotion.media/whip.wav`
20
+ - `https://remotion.media/page-turn.wav`
21
+ - `https://remotion.media/switch.wav`
22
+ - `https://remotion.media/mouse-click.wav`
23
+ - `https://remotion.media/shutter-modern.wav`
24
+ - `https://remotion.media/shutter-old.wav`
25
+ - `https://remotion.media/ding.wav`
26
+ - `https://remotion.media/bruh.wav`
27
+ - `https://remotion.media/vine-boom.wav`
28
+ - `https://remotion.media/windows-xp-error.wav`
29
+
30
+ For more sound effects, search the internet. A good resource is https://github.com/kapishdima/soundcn/tree/main/assets.
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: silence-detection
3
+ description: Adaptive silence detection for video/audio files using FFmpeg loudnorm and silencedetect
4
+ metadata:
5
+ tags: silence, detection, trimming, ffmpeg, loudnorm, audio
6
+ ---
7
+
8
+ # Adaptive Silence Detection
9
+
10
+ Detect silent segments in video or audio files.
11
+
12
+ Requires FFmpeg — see [ffmpeg.md](./ffmpeg.md) for how to invoke it in Remotion projects.
13
+
14
+ ## Step 1: Measure loudness with `loudnorm`
15
+
16
+ Use the `loudnorm` filter in JSON mode to get the EBU R128 integrated loudness and gating threshold for each file:
17
+
18
+ ```bash
19
+ npx remotion ffmpeg -i public/video.mov -map 0:a -af loudnorm=print_format=json -f null /dev/null
20
+ ```
21
+
22
+ As output you will get:
23
+ - `input_i`: Integrated loudness (dB) — the overall perceived volume
24
+ - `input_thresh`: EBU R128 gating threshold (dB) — the level below which audio is considered too quiet to count toward loudness measurement
25
+
26
+ ## Step 2: Detect silences using adaptive threshold
27
+
28
+ Pass the `input_thresh` value from step 1 as the `noise` parameter to `silencedetect`:
29
+
30
+ ```bash
31
+ npx remotion ffmpeg -i public/video.mov -map 0:a -af "silencedetect=noise=${THRESH}dB:d=0.5" -f null /dev/null
32
+ ```
33
+
34
+ Parameters:
35
+ - `noise`: The threshold below which audio is considered silent. Use `input_thresh` from step 1.
36
+ - `d`: Minimum silence duration in seconds. `0.5` is a good default.
37
+
38
+ ## Interpreting the output
39
+
40
+ The filter outputs pairs of `silence_start` and `silence_end` timestamps:
41
+
42
+ ```
43
+ [silencedetect] silence_start: 0
44
+ [silencedetect] silence_end: 2.241021 | silence_duration: 2.241021
45
+ [silencedetect] silence_start: 38.77425
46
+ [silencedetect] silence_end: 39.619604 | silence_duration: 0.845354
47
+ ```
48
+
49
+ ## Identifying leading and trailing silence
50
+
51
+ - **Leading silence**: Consecutive silence segments starting at or near 0. If the first `silence_start` is > 0.5s, there is no leading silence.
52
+ - **Trailing silence**: The last silence segment that extends to (or near) the end of the file. Compare the last `silence_end` with the file's total duration.
53
+
54
+ When multiple silences are nearly contiguous at the start or end (gap < 0.2s), treat them as a single leading/trailing silence block.
55
+
56
+ ## Using with Remotion's `<Video>` component
57
+
58
+ Apply the detected trim points using `trimBefore` and `trimAfter` (values are in frames):
59
+
60
+ ```tsx
61
+ import { Video } from "@remotion/media";
62
+ import { staticFile, useVideoConfig } from "remotion";
63
+
64
+ const { fps } = useVideoConfig();
65
+
66
+ <Video
67
+ src={staticFile("video.mov")}
68
+ trimBefore={Math.floor(leadingEnd * fps)}
69
+ trimAfter={Math.ceil(trailingStart * fps)}
70
+ />
71
+ ```
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: subtitles
3
+ description: subtitles and caption rules
4
+ metadata:
5
+ tags: subtitles, captions, remotion, json
6
+ ---
7
+
8
+ All captions must be processed in JSON. The captions must use the `Caption` type which is the following:
9
+
10
+ ```ts
11
+ import type { Caption } from "@remotion/captions";
12
+ ```
13
+
14
+ This is the definition:
15
+
16
+ ```ts
17
+ type Caption = {
18
+ text: string;
19
+ startMs: number;
20
+ endMs: number;
21
+ timestampMs: number | null;
22
+ confidence: number | null;
23
+ };
24
+ ```
25
+
26
+ ## Generating captions
27
+
28
+ To transcribe video and audio files to generate captions, load the [./transcribe-captions.md](./transcribe-captions.md) file for more instructions.
29
+
30
+ ## Displaying captions
31
+
32
+ To display captions in your video, load the [./display-captions.md](./display-captions.md) file for more instructions.
33
+
34
+ ## Importing captions
35
+
36
+ To import captions from a .srt file, load the [./import-srt-captions.md](./import-srt-captions.md) file for more instructions.
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: tailwind
3
+ description: Using TailwindCSS in Remotion.
4
+ metadata:
5
+ ---
6
+
7
+ You can and should use TailwindCSS in Remotion, if TailwindCSS is installed in the project.
8
+
9
+ Don't use `transition-*` or `animate-*` classes - always animate using the `useCurrentFrame()` hook.
10
+
11
+ Tailwind must be installed and enabled first in a Remotion project - fetch https://www.remotion.dev/docs/tailwind using WebFetch for instructions.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: text-animations
3
+ description: Typography and text animation patterns for Remotion.
4
+ metadata:
5
+ tags: typography, text, typewriter, highlighter ken
6
+ ---
7
+
8
+ ## Text animations
9
+
10
+ Based on `useCurrentFrame()`, reduce the string character by character to create a typewriter effect.
11
+
12
+ ## Typewriter Effect
13
+
14
+ See [Typewriter](assets/text-animations-typewriter.tsx) for an advanced example with a blinking cursor and a pause after the first sentence.
15
+
16
+ Always use string slicing for typewriter effects. Never use per-character opacity.
17
+
18
+ ## Word Highlighting
19
+
20
+ See [Word Highlight](assets/text-animations-word-highlight.tsx) for an example for how a word highlight is animated, like with a highlighter pen.
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: timing
3
+ description: Interpolation and timing in Remotion—prefer interpolate with Bézier easing; springs as a specialized option
4
+ metadata:
5
+ tags: easing, bezier, interpolation, spring, timing
6
+ ---
7
+
8
+ Drive motion with `interpolate()` over explicit frame range. To customize timing, use **`Easing.bezier`**. The four parameters are the same as CSS `cubic-bezier(x1, y1, x2, y2)`.
9
+
10
+ A simple linear interpolation is done using the `interpolate` function.
11
+
12
+ ```ts title="Going from 0 to 1 over 100 frames"
13
+ import { interpolate } from "remotion";
14
+
15
+ const opacity = interpolate(frame, [0, 100], [0, 1]);
16
+ ```
17
+
18
+ By default, the values are not clamped, so the value can go outside the range [0, 1].
19
+ Here is how they can be clamped:
20
+
21
+ ```ts title="Going from 0 to 1 over 100 frames with extrapolation"
22
+ const opacity = interpolate(frame, [0, 100], [0, 1], {
23
+ extrapolateRight: "clamp",
24
+ extrapolateLeft: "clamp",
25
+ });
26
+ ```
27
+
28
+ ## Bézier easing
29
+
30
+ Use `Easing.bezier(x1, y1, x2, y2)` inside the `interpolate` options object. The curve is identical in spirit to CSS animations and transitions, which helps when you are stealing timing from the web or from a designer’s spec.
31
+
32
+ ```ts
33
+ import { interpolate, Easing } from "remotion";
34
+
35
+ const opacity = interpolate(frame, [0, 60], [0, 1], {
36
+ easing: Easing.bezier(0.16, 1, 0.3, 1),
37
+ extrapolateLeft: "clamp",
38
+ extrapolateRight: "clamp",
39
+ });
40
+ ```
41
+
42
+ ### Examples (copy-paste curves)
43
+
44
+ **1. Crisp UI entrance (strong ease-out, no overshoot)** — slows nicely into the rest value; similar to many system “deceleration” curves.
45
+
46
+ ```tsx
47
+ const enter = interpolate(frame, [0, 45], [0, 1], {
48
+ easing: Easing.bezier(0.16, 1, 0.3, 1),
49
+ extrapolateLeft: "clamp",
50
+ extrapolateRight: "clamp",
51
+ });
52
+ ```
53
+
54
+ **2. Editorial / slow fade (balanced ease-in-out)** — symmetric acceleration and deceleration over a hold-friendly move.
55
+
56
+ ```tsx
57
+ const progress = interpolate(frame, [0, 90], [0, 1], {
58
+ easing: Easing.bezier(0.45, 0, 0.55, 1),
59
+ extrapolateLeft: "clamp",
60
+ extrapolateRight: "clamp",
61
+ });
62
+ ```
63
+
64
+ **3. Playful overshoot (control point y > 1)** — a little past the target then settles; use sparingly for emphasis.
65
+
66
+ ```tsx
67
+ const pop = interpolate(frame, [0, 30], [0, 1], {
68
+ easing: Easing.bezier(0.34, 1.56, 0.64, 1),
69
+ extrapolateLeft: "clamp",
70
+ extrapolateRight: "clamp",
71
+ });
72
+ ```
73
+
74
+ ## Preset easings (`Easing.in` / `Easing.out` / named curves)
75
+
76
+ Easing can be added to the `interpolate` function without a custom cubic:
77
+
78
+ ```ts
79
+ import { interpolate, Easing } from "remotion";
80
+
81
+ const value1 = interpolate(frame, [0, 100], [0, 1], {
82
+ easing: Easing.inOut(Easing.cubic),
83
+ extrapolateLeft: "clamp",
84
+ extrapolateRight: "clamp",
85
+ });
86
+ ```
87
+
88
+ The default easing is `Easing.linear`.
89
+ Convexities:
90
+
91
+ - `Easing.in` — starting slow and accelerating
92
+ - `Easing.out` — starting fast and slowing down
93
+ - `Easing.inOut`
94
+
95
+ Named curves (from most linear to most curved):
96
+
97
+ - `Easing.quad`
98
+ - `Easing.cubic` (good default when you do not need a custom cubic)
99
+ - `Easing.sin`
100
+ - `Easing.exp`
101
+ - `Easing.circle`
102
+
103
+ ### Easing direction for enter/exit animations
104
+
105
+ Use `Easing.out` for enter animations (starts fast, decelerates into place) and `Easing.in` for exit animations (starts slow, accelerates away). This feels natural because elements arrive with momentum and leave with gravity. When you need a specific curve from design, prefer a single `Easing.bezier(...)` instead of stacking presets.
106
+
107
+ ## Composing interpolations
108
+
109
+ When multiple properties share the same timing (e.g. a slide-in panel and a video shift), avoid duplicating the full interpolation for each property. Instead, create a single normalized progress value (0 to 1) and derive each property from it:
110
+
111
+ ```tsx
112
+ const slideIn = interpolate(
113
+ frame,
114
+ [slideInStart, slideInStart + slideInDuration],
115
+ [0, 1],
116
+ {
117
+ easing: Easing.bezier(0.22, 1, 0.36, 1),
118
+ extrapolateLeft: "clamp",
119
+ extrapolateRight: "clamp",
120
+ },
121
+ );
122
+ const slideOut = interpolate(
123
+ frame,
124
+ [slideOutStart, slideOutStart + slideOutDuration],
125
+ [0, 1],
126
+ { easing: Easing.in(Easing.cubic), extrapolateLeft: "clamp", extrapolateRight: "clamp" },
127
+ );
128
+ const progress = slideIn - slideOut;
129
+
130
+ // Derive multiple properties from the same progress
131
+ const overlayX = interpolate(progress, [0, 1], [100, 0]);
132
+ const videoX = interpolate(progress, [0, 1], [0, -20]);
133
+ const opacity = interpolate(progress, [0, 1], [0, 1]);
134
+ ```
135
+
136
+ The key idea: separate **timing** (when and how fast) from **mapping** (what values to animate between).
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: transcribe-captions
3
+ description: Transcribing audio to generate captions in Remotion
4
+ metadata:
5
+ tags: captions, transcribe, whisper, audio, speech-to-text
6
+ ---
7
+
8
+ # Transcribing audio
9
+
10
+ To transcribe audio to generate captions in Remotion, you can use the [`transcribe()`](https://www.remotion.dev/docs/install-whisper-cpp/transcribe) function from the [`@remotion/install-whisper-cpp`](https://www.remotion.dev/docs/install-whisper-cpp) package.
11
+
12
+ ## Prerequisites
13
+
14
+ First, the @remotion/install-whisper-cpp package needs to be installed.
15
+ If it is not installed, use the following command:
16
+
17
+ ```bash
18
+ npx remotion add @remotion/install-whisper-cpp
19
+ ```
20
+
21
+ ## Transcribing
22
+
23
+ Make a Node.js script to download Whisper.cpp and a model, and transcribe the audio.
24
+
25
+ ```ts
26
+ import path from "path";
27
+ import {
28
+ downloadWhisperModel,
29
+ installWhisperCpp,
30
+ transcribe,
31
+ toCaptions,
32
+ } from "@remotion/install-whisper-cpp";
33
+ import fs from "fs";
34
+
35
+ const to = path.join(process.cwd(), "whisper.cpp");
36
+
37
+ await installWhisperCpp({
38
+ to,
39
+ version: "1.5.5",
40
+ });
41
+
42
+ await downloadWhisperModel({
43
+ model: "medium.en",
44
+ folder: to,
45
+ });
46
+
47
+ // Convert the audio to a 16KHz wav file first if needed:
48
+ // import {execSync} from 'child_process';
49
+ // execSync('ffmpeg -i /path/to/audio.mp4 -ar 16000 /path/to/audio.wav -y');
50
+
51
+ const whisperCppOutput = await transcribe({
52
+ model: "medium.en",
53
+ whisperPath: to,
54
+ whisperCppVersion: "1.5.5",
55
+ inputPath: "/path/to/audio123.wav",
56
+ tokenLevelTimestamps: true,
57
+ });
58
+
59
+ // Optional: Apply our recommended postprocessing
60
+ const { captions } = toCaptions({
61
+ whisperCppOutput,
62
+ });
63
+
64
+ // Write it to the public/ folder so it can be fetched from Remotion
65
+ fs.writeFileSync("captions123.json", JSON.stringify(captions, null, 2));
66
+ ```
67
+
68
+ Transcribe each clip individually and create multiple JSON files.
69
+
70
+ See [Displaying captions](display-captions.md) for how to display the captions in Remotion.