@macpaw/cctk 1.0.0-beta.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 (415) hide show
  1. package/License +21 -0
  2. package/README.md +142 -0
  3. package/bin/index.js +5 -0
  4. package/dist/index.js +1 -0
  5. package/package.json +65 -0
  6. package/templates/claude/agents/brainstormer.md +113 -0
  7. package/templates/claude/agents/code-reviewer.md +157 -0
  8. package/templates/claude/agents/copywriter.md +110 -0
  9. package/templates/claude/agents/database-admin.md +92 -0
  10. package/templates/claude/agents/debugger.md +137 -0
  11. package/templates/claude/agents/docs-manager.md +208 -0
  12. package/templates/claude/agents/fullstack-developer.md +95 -0
  13. package/templates/claude/agents/git-manager.md +394 -0
  14. package/templates/claude/agents/journal-writer.md +113 -0
  15. package/templates/claude/agents/mcp-manager.md +89 -0
  16. package/templates/claude/agents/planner.md +108 -0
  17. package/templates/claude/agents/project-manager.md +125 -0
  18. package/templates/claude/agents/registry.json +304 -0
  19. package/templates/claude/agents/researcher.md +37 -0
  20. package/templates/claude/agents/scout-external.md +140 -0
  21. package/templates/claude/agents/scout.md +106 -0
  22. package/templates/claude/agents/tester.md +105 -0
  23. package/templates/claude/agents/ui-ux-designer.md +208 -0
  24. package/templates/claude/commands/ask.md +56 -0
  25. package/templates/claude/commands/bootstrap/auto/fast.md +106 -0
  26. package/templates/claude/commands/bootstrap/auto/parallel.md +64 -0
  27. package/templates/claude/commands/bootstrap/auto.md +110 -0
  28. package/templates/claude/commands/bootstrap.md +130 -0
  29. package/templates/claude/commands/brainstorm.md +75 -0
  30. package/templates/claude/commands/code/auto.md +198 -0
  31. package/templates/claude/commands/code/no-test.md +172 -0
  32. package/templates/claude/commands/code/parallel.md +100 -0
  33. package/templates/claude/commands/code.md +197 -0
  34. package/templates/claude/commands/coding-level.md +37 -0
  35. package/templates/claude/commands/content/cro.md +41 -0
  36. package/templates/claude/commands/content/enhance.md +12 -0
  37. package/templates/claude/commands/content/fast.md +11 -0
  38. package/templates/claude/commands/content/good.md +14 -0
  39. package/templates/claude/commands/cook/auto/fast.md +26 -0
  40. package/templates/claude/commands/cook/auto/parallel.md +49 -0
  41. package/templates/claude/commands/cook/auto.md +15 -0
  42. package/templates/claude/commands/cook.md +101 -0
  43. package/templates/claude/commands/debug.md +13 -0
  44. package/templates/claude/commands/docs/init.md +37 -0
  45. package/templates/claude/commands/docs/summarize.md +22 -0
  46. package/templates/claude/commands/docs/update.md +78 -0
  47. package/templates/claude/commands/fix/ci.md +17 -0
  48. package/templates/claude/commands/fix/fast.md +18 -0
  49. package/templates/claude/commands/fix/hard.md +35 -0
  50. package/templates/claude/commands/fix/logs.md +26 -0
  51. package/templates/claude/commands/fix/parallel.md +54 -0
  52. package/templates/claude/commands/fix/test.md +20 -0
  53. package/templates/claude/commands/fix/types.md +9 -0
  54. package/templates/claude/commands/fix/ui.md +33 -0
  55. package/templates/claude/commands/fix.md +43 -0
  56. package/templates/claude/commands/git/cm.md +5 -0
  57. package/templates/claude/commands/git/cp.md +4 -0
  58. package/templates/claude/commands/git/merge.md +40 -0
  59. package/templates/claude/commands/git/pr.md +50 -0
  60. package/templates/claude/commands/journal.md +7 -0
  61. package/templates/claude/commands/kanban.md +99 -0
  62. package/templates/claude/commands/plan/archive.md +57 -0
  63. package/templates/claude/commands/plan/ci.md +33 -0
  64. package/templates/claude/commands/plan/cro.md +67 -0
  65. package/templates/claude/commands/plan/fast.md +66 -0
  66. package/templates/claude/commands/plan/hard.md +92 -0
  67. package/templates/claude/commands/plan/parallel.md +129 -0
  68. package/templates/claude/commands/plan/two.md +45 -0
  69. package/templates/claude/commands/plan/validate.md +117 -0
  70. package/templates/claude/commands/plan.md +30 -0
  71. package/templates/claude/commands/preview.md +87 -0
  72. package/templates/claude/commands/registry.json +313 -0
  73. package/templates/claude/commands/review/codebase/parallel.md +122 -0
  74. package/templates/claude/commands/review/codebase.md +47 -0
  75. package/templates/claude/commands/scout/ext.md +35 -0
  76. package/templates/claude/commands/scout.md +28 -0
  77. package/templates/claude/commands/skill/add.md +36 -0
  78. package/templates/claude/commands/skill/create.md +29 -0
  79. package/templates/claude/commands/skill/fix-logs.md +22 -0
  80. package/templates/claude/commands/skill/optimize/auto.md +25 -0
  81. package/templates/claude/commands/skill/optimize.md +34 -0
  82. package/templates/claude/commands/skill/plan.md +45 -0
  83. package/templates/claude/commands/test/ui.md +91 -0
  84. package/templates/claude/commands/test.md +8 -0
  85. package/templates/claude/commands/use-mcp.md +34 -0
  86. package/templates/claude/commands/watzup.md +8 -0
  87. package/templates/claude/commands/worktree.md +126 -0
  88. package/templates/claude/hooks/dev-rules-reminder.cjs +258 -0
  89. package/templates/claude/hooks/docs/README.md +42 -0
  90. package/templates/claude/hooks/lib/cctk-config-utils.cjs +751 -0
  91. package/templates/claude/hooks/lib/cctk-paths.cjs +106 -0
  92. package/templates/claude/hooks/lib/context-tracker.cjs +346 -0
  93. package/templates/claude/hooks/privacy-block.cjs +289 -0
  94. package/templates/claude/hooks/registry.json +77 -0
  95. package/templates/claude/hooks/scout-block/broad-pattern-detector.cjs +293 -0
  96. package/templates/claude/hooks/scout-block/error-formatter.cjs +156 -0
  97. package/templates/claude/hooks/scout-block/path-extractor.cjs +359 -0
  98. package/templates/claude/hooks/scout-block/pattern-matcher.cjs +184 -0
  99. package/templates/claude/hooks/scout-block/vendor/ignore.js +626 -0
  100. package/templates/claude/hooks/scout-block.cjs +167 -0
  101. package/templates/claude/hooks/session-end.cjs +35 -0
  102. package/templates/claude/hooks/session-init.cjs +214 -0
  103. package/templates/claude/hooks/subagent-init.cjs +161 -0
  104. package/templates/claude/hooks/write-compact-marker.cjs +153 -0
  105. package/templates/claude/output-styles/coding-level-1.md +148 -0
  106. package/templates/claude/output-styles/coding-level-2.md +159 -0
  107. package/templates/claude/output-styles/coding-level-3.md +91 -0
  108. package/templates/claude/scripts/README.md +33 -0
  109. package/templates/claude/scripts/generate-catalogs.cjs +318 -0
  110. package/templates/claude/scripts/registry.json +48 -0
  111. package/templates/claude/scripts/set-active-plan.cjs +45 -0
  112. package/templates/claude/scripts/validate-docs.cjs +447 -0
  113. package/templates/claude/scripts/worktree.cjs +658 -0
  114. package/templates/claude/skills/README.md +112 -0
  115. package/templates/claude/skills/ai-artist/SKILL.md +75 -0
  116. package/templates/claude/skills/ai-artist/references/advanced-techniques.md +184 -0
  117. package/templates/claude/skills/ai-artist/references/domain-code.md +66 -0
  118. package/templates/claude/skills/ai-artist/references/domain-data.md +72 -0
  119. package/templates/claude/skills/ai-artist/references/domain-marketing.md +66 -0
  120. package/templates/claude/skills/ai-artist/references/domain-patterns.md +33 -0
  121. package/templates/claude/skills/ai-artist/references/domain-writing.md +68 -0
  122. package/templates/claude/skills/ai-artist/references/image-prompting.md +141 -0
  123. package/templates/claude/skills/ai-artist/references/llm-prompting.md +165 -0
  124. package/templates/claude/skills/ai-artist/references/nano-banana.md +59 -0
  125. package/templates/claude/skills/ai-artist/references/reasoning-techniques.md +201 -0
  126. package/templates/claude/skills/backend-development/SKILL.md +95 -0
  127. package/templates/claude/skills/backend-development/references/backend-api-design.md +495 -0
  128. package/templates/claude/skills/backend-development/references/backend-architecture.md +454 -0
  129. package/templates/claude/skills/backend-development/references/backend-authentication.md +338 -0
  130. package/templates/claude/skills/backend-development/references/backend-code-quality.md +659 -0
  131. package/templates/claude/skills/backend-development/references/backend-debugging.md +904 -0
  132. package/templates/claude/skills/backend-development/references/backend-devops.md +494 -0
  133. package/templates/claude/skills/backend-development/references/backend-mindset.md +387 -0
  134. package/templates/claude/skills/backend-development/references/backend-performance.md +397 -0
  135. package/templates/claude/skills/backend-development/references/backend-security.md +290 -0
  136. package/templates/claude/skills/backend-development/references/backend-technologies.md +256 -0
  137. package/templates/claude/skills/backend-development/references/backend-testing.md +429 -0
  138. package/templates/claude/skills/better-auth/SKILL.md +204 -0
  139. package/templates/claude/skills/better-auth/references/advanced-features.md +553 -0
  140. package/templates/claude/skills/better-auth/references/database-integration.md +577 -0
  141. package/templates/claude/skills/better-auth/references/email-password-auth.md +416 -0
  142. package/templates/claude/skills/better-auth/references/oauth-providers.md +430 -0
  143. package/templates/claude/skills/better-auth/scripts/better_auth_init.py +521 -0
  144. package/templates/claude/skills/chrome-devtools/SKILL.md +473 -0
  145. package/templates/claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
  146. package/templates/claude/skills/chrome-devtools/references/performance-guide.md +940 -0
  147. package/templates/claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
  148. package/templates/claude/skills/chrome-devtools/scripts/README.md +288 -0
  149. package/templates/claude/skills/chrome-devtools/scripts/aria-snapshot.js +368 -0
  150. package/templates/claude/skills/chrome-devtools/scripts/click.js +92 -0
  151. package/templates/claude/skills/chrome-devtools/scripts/console.js +85 -0
  152. package/templates/claude/skills/chrome-devtools/scripts/evaluate.js +59 -0
  153. package/templates/claude/skills/chrome-devtools/scripts/fill.js +84 -0
  154. package/templates/claude/skills/chrome-devtools/scripts/inject-auth.js +247 -0
  155. package/templates/claude/skills/chrome-devtools/scripts/install-deps.sh +11 -0
  156. package/templates/claude/skills/chrome-devtools/scripts/install.sh +36 -0
  157. package/templates/claude/skills/chrome-devtools/scripts/lib/browser.js +335 -0
  158. package/templates/claude/skills/chrome-devtools/scripts/lib/selector.js +183 -0
  159. package/templates/claude/skills/chrome-devtools/scripts/navigate.js +60 -0
  160. package/templates/claude/skills/chrome-devtools/scripts/network.js +113 -0
  161. package/templates/claude/skills/chrome-devtools/scripts/package.json +16 -0
  162. package/templates/claude/skills/chrome-devtools/scripts/performance.js +159 -0
  163. package/templates/claude/skills/chrome-devtools/scripts/screenshot.js +212 -0
  164. package/templates/claude/skills/chrome-devtools/scripts/select-ref.js +151 -0
  165. package/templates/claude/skills/chrome-devtools/scripts/snapshot.js +143 -0
  166. package/templates/claude/skills/chrome-devtools/scripts/ws-debug.js +47 -0
  167. package/templates/claude/skills/chrome-devtools/scripts/ws-full-debug.js +115 -0
  168. package/templates/claude/skills/claude-code/references/advanced-features.md +399 -0
  169. package/templates/claude/skills/claude-code/references/agent-skills.md +399 -0
  170. package/templates/claude/skills/claude-code/references/api-reference.md +498 -0
  171. package/templates/claude/skills/claude-code/references/best-practices.md +447 -0
  172. package/templates/claude/skills/claude-code/references/cicd-integration.md +428 -0
  173. package/templates/claude/skills/claude-code/references/common-workflows.md +107 -0
  174. package/templates/claude/skills/claude-code/references/configuration.md +480 -0
  175. package/templates/claude/skills/claude-code/references/enterprise-features.md +472 -0
  176. package/templates/claude/skills/claude-code/references/getting-started.md +244 -0
  177. package/templates/claude/skills/claude-code/references/hooks-and-plugins.md +444 -0
  178. package/templates/claude/skills/claude-code/references/hooks-comprehensive.md +622 -0
  179. package/templates/claude/skills/claude-code/references/ide-integration.md +316 -0
  180. package/templates/claude/skills/claude-code/references/mcp-integration.md +386 -0
  181. package/templates/claude/skills/claude-code/references/slash-commands.md +460 -0
  182. package/templates/claude/skills/claude-code/references/troubleshooting.md +455 -0
  183. package/templates/claude/skills/claude-code/skill.md +60 -0
  184. package/templates/claude/skills/code-review/SKILL.md +143 -0
  185. package/templates/claude/skills/code-review/references/code-review-reception.md +209 -0
  186. package/templates/claude/skills/code-review/references/requesting-code-review.md +105 -0
  187. package/templates/claude/skills/code-review/references/verification-before-completion.md +139 -0
  188. package/templates/claude/skills/context-engineering/SKILL.md +86 -0
  189. package/templates/claude/skills/context-engineering/references/context-compression.md +84 -0
  190. package/templates/claude/skills/context-engineering/references/context-degradation.md +93 -0
  191. package/templates/claude/skills/context-engineering/references/context-fundamentals.md +75 -0
  192. package/templates/claude/skills/context-engineering/references/context-optimization.md +82 -0
  193. package/templates/claude/skills/context-engineering/references/evaluation.md +89 -0
  194. package/templates/claude/skills/context-engineering/references/memory-systems.md +88 -0
  195. package/templates/claude/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  196. package/templates/claude/skills/context-engineering/references/project-development.md +97 -0
  197. package/templates/claude/skills/context-engineering/references/tool-design.md +86 -0
  198. package/templates/claude/skills/context-engineering/scripts/compression_evaluator.py +329 -0
  199. package/templates/claude/skills/context-engineering/scripts/context_analyzer.py +294 -0
  200. package/templates/claude/skills/databases/SKILL.md +232 -0
  201. package/templates/claude/skills/databases/references/mongodb-aggregation.md +447 -0
  202. package/templates/claude/skills/databases/references/mongodb-atlas.md +465 -0
  203. package/templates/claude/skills/databases/references/mongodb-crud.md +408 -0
  204. package/templates/claude/skills/databases/references/mongodb-indexing.md +442 -0
  205. package/templates/claude/skills/databases/references/postgresql-administration.md +594 -0
  206. package/templates/claude/skills/databases/references/postgresql-performance.md +527 -0
  207. package/templates/claude/skills/databases/references/postgresql-psql-cli.md +467 -0
  208. package/templates/claude/skills/databases/references/postgresql-queries.md +475 -0
  209. package/templates/claude/skills/databases/scripts/db_backup.py +502 -0
  210. package/templates/claude/skills/databases/scripts/db_migrate.py +414 -0
  211. package/templates/claude/skills/databases/scripts/db_performance_check.py +445 -0
  212. package/templates/claude/skills/debugging/SKILL.md +84 -0
  213. package/templates/claude/skills/debugging/references/defense-in-depth.md +124 -0
  214. package/templates/claude/skills/debugging/references/root-cause-tracing.md +122 -0
  215. package/templates/claude/skills/debugging/references/systematic-debugging.md +102 -0
  216. package/templates/claude/skills/debugging/references/verification.md +123 -0
  217. package/templates/claude/skills/debugging/scripts/find-polluter.sh +63 -0
  218. package/templates/claude/skills/debugging/scripts/find-polluter.test.md +102 -0
  219. package/templates/claude/skills/devops/SKILL.md +293 -0
  220. package/templates/claude/skills/devops/references/browser-rendering.md +305 -0
  221. package/templates/claude/skills/devops/references/cloudflare-d1-kv.md +123 -0
  222. package/templates/claude/skills/devops/references/cloudflare-platform.md +271 -0
  223. package/templates/claude/skills/devops/references/cloudflare-r2-storage.md +280 -0
  224. package/templates/claude/skills/devops/references/cloudflare-workers-advanced.md +312 -0
  225. package/templates/claude/skills/devops/references/cloudflare-workers-apis.md +309 -0
  226. package/templates/claude/skills/devops/references/cloudflare-workers-basics.md +418 -0
  227. package/templates/claude/skills/devops/references/docker-basics.md +297 -0
  228. package/templates/claude/skills/devops/references/docker-compose.md +292 -0
  229. package/templates/claude/skills/devops/references/gcloud-platform.md +307 -0
  230. package/templates/claude/skills/devops/references/gcloud-services.md +304 -0
  231. package/templates/claude/skills/devops/scripts/cloudflare_deploy.py +269 -0
  232. package/templates/claude/skills/devops/scripts/docker_optimize.py +320 -0
  233. package/templates/claude/skills/docs-seeker/SKILL.md +95 -0
  234. package/templates/claude/skills/docs-seeker/package.json +24 -0
  235. package/templates/claude/skills/docs-seeker/references/advanced.md +78 -0
  236. package/templates/claude/skills/docs-seeker/references/context7-patterns.md +68 -0
  237. package/templates/claude/skills/docs-seeker/references/errors.md +68 -0
  238. package/templates/claude/skills/docs-seeker/scripts/analyze-llms-txt.js +245 -0
  239. package/templates/claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
  240. package/templates/claude/skills/docs-seeker/scripts/fetch-docs.js +212 -0
  241. package/templates/claude/skills/docs-seeker/workflows/library-search.md +87 -0
  242. package/templates/claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
  243. package/templates/claude/skills/docs-seeker/workflows/topic-search.md +77 -0
  244. package/templates/claude/skills/frontend-design/SKILL.md +85 -0
  245. package/templates/claude/skills/frontend-design/references/analysis-best-practices.md +80 -0
  246. package/templates/claude/skills/frontend-design/references/analysis-prompts.md +141 -0
  247. package/templates/claude/skills/frontend-design/references/analysis-techniques.md +118 -0
  248. package/templates/claude/skills/frontend-design/references/animejs.md +396 -0
  249. package/templates/claude/skills/frontend-design/references/design-extraction-overview.md +71 -0
  250. package/templates/claude/skills/frontend-design/references/extraction-best-practices.md +141 -0
  251. package/templates/claude/skills/frontend-design/references/extraction-output-templates.md +162 -0
  252. package/templates/claude/skills/frontend-design/references/extraction-prompts.md +127 -0
  253. package/templates/claude/skills/frontend-design/references/technical-accessibility.md +119 -0
  254. package/templates/claude/skills/frontend-design/references/technical-best-practices.md +97 -0
  255. package/templates/claude/skills/frontend-design/references/technical-optimization.md +44 -0
  256. package/templates/claude/skills/frontend-design/references/technical-overview.md +90 -0
  257. package/templates/claude/skills/frontend-design/references/technical-workflows.md +150 -0
  258. package/templates/claude/skills/frontend-design/references/visual-analysis-overview.md +95 -0
  259. package/templates/claude/skills/frontend-development/SKILL.md +399 -0
  260. package/templates/claude/skills/frontend-development/resources/common-patterns.md +331 -0
  261. package/templates/claude/skills/frontend-development/resources/complete-examples.md +872 -0
  262. package/templates/claude/skills/frontend-development/resources/component-patterns.md +502 -0
  263. package/templates/claude/skills/frontend-development/resources/data-fetching.md +767 -0
  264. package/templates/claude/skills/frontend-development/resources/file-organization.md +502 -0
  265. package/templates/claude/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  266. package/templates/claude/skills/frontend-development/resources/performance.md +406 -0
  267. package/templates/claude/skills/frontend-development/resources/routing-guide.md +364 -0
  268. package/templates/claude/skills/frontend-development/resources/styling-guide.md +428 -0
  269. package/templates/claude/skills/frontend-development/resources/typescript-standards.md +418 -0
  270. package/templates/claude/skills/markdown-novel-viewer/SKILL.md +272 -0
  271. package/templates/claude/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
  272. package/templates/claude/skills/markdown-novel-viewer/assets/favicon.png +0 -0
  273. package/templates/claude/skills/markdown-novel-viewer/assets/novel-theme.css +872 -0
  274. package/templates/claude/skills/markdown-novel-viewer/assets/reader.js +378 -0
  275. package/templates/claude/skills/markdown-novel-viewer/assets/template.html +85 -0
  276. package/templates/claude/skills/markdown-novel-viewer/package.json +15 -0
  277. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  278. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +335 -0
  279. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
  280. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +49 -0
  281. package/templates/claude/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  282. package/templates/claude/skills/markdown-novel-viewer/scripts/server.cjs +398 -0
  283. package/templates/claude/skills/mcp-builder/SKILL.md +328 -0
  284. package/templates/claude/skills/mcp-builder/reference/evaluation.md +602 -0
  285. package/templates/claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
  286. package/templates/claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
  287. package/templates/claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
  288. package/templates/claude/skills/mcp-builder/scripts/connections.py +151 -0
  289. package/templates/claude/skills/mcp-builder/scripts/evaluation.py +381 -0
  290. package/templates/claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  291. package/templates/claude/skills/mcp-builder/scripts/requirements.txt +2 -0
  292. package/templates/claude/skills/mcp-management/README.md +219 -0
  293. package/templates/claude/skills/mcp-management/SKILL.md +209 -0
  294. package/templates/claude/skills/mcp-management/assets/tools.json +3146 -0
  295. package/templates/claude/skills/mcp-management/references/configuration.md +114 -0
  296. package/templates/claude/skills/mcp-management/references/gemini-cli-integration.md +209 -0
  297. package/templates/claude/skills/mcp-management/references/mcp-protocol.md +116 -0
  298. package/templates/claude/skills/mcp-management/scripts/.env.example +10 -0
  299. package/templates/claude/skills/mcp-management/scripts/cli.ts +202 -0
  300. package/templates/claude/skills/mcp-management/scripts/mcp-client.ts +247 -0
  301. package/templates/claude/skills/mcp-management/scripts/package.json +20 -0
  302. package/templates/claude/skills/mcp-management/scripts/tsconfig.json +15 -0
  303. package/templates/claude/skills/media-processing/SKILL.md +91 -0
  304. package/templates/claude/skills/media-processing/references/common-workflows.md +132 -0
  305. package/templates/claude/skills/media-processing/references/ffmpeg-encoding.md +358 -0
  306. package/templates/claude/skills/media-processing/references/ffmpeg-filters.md +503 -0
  307. package/templates/claude/skills/media-processing/references/ffmpeg-streaming.md +395 -0
  308. package/templates/claude/skills/media-processing/references/format-compatibility.md +375 -0
  309. package/templates/claude/skills/media-processing/references/imagemagick-batch.md +612 -0
  310. package/templates/claude/skills/media-processing/references/imagemagick-editing.md +623 -0
  311. package/templates/claude/skills/media-processing/references/rmbg-background-removal.md +66 -0
  312. package/templates/claude/skills/media-processing/references/troubleshooting.md +109 -0
  313. package/templates/claude/skills/media-processing/scripts/README.md +102 -0
  314. package/templates/claude/skills/media-processing/scripts/batch-remove-background.sh +124 -0
  315. package/templates/claude/skills/media-processing/scripts/batch_resize.py +342 -0
  316. package/templates/claude/skills/media-processing/scripts/media_convert.py +311 -0
  317. package/templates/claude/skills/media-processing/scripts/remove-background.sh +96 -0
  318. package/templates/claude/skills/media-processing/scripts/remove-bg-node.js +181 -0
  319. package/templates/claude/skills/mermaidjs-v11/SKILL.md +115 -0
  320. package/templates/claude/skills/mermaidjs-v11/references/cli-usage.md +228 -0
  321. package/templates/claude/skills/mermaidjs-v11/references/configuration.md +232 -0
  322. package/templates/claude/skills/mermaidjs-v11/references/diagram-types.md +315 -0
  323. package/templates/claude/skills/mermaidjs-v11/references/examples.md +344 -0
  324. package/templates/claude/skills/mermaidjs-v11/references/integration.md +310 -0
  325. package/templates/claude/skills/planning/SKILL.md +115 -0
  326. package/templates/claude/skills/planning/references/codebase-understanding.md +62 -0
  327. package/templates/claude/skills/planning/references/output-standards.md +127 -0
  328. package/templates/claude/skills/planning/references/plan-organization.md +150 -0
  329. package/templates/claude/skills/planning/references/research-phase.md +49 -0
  330. package/templates/claude/skills/planning/references/solution-design.md +63 -0
  331. package/templates/claude/skills/plans-kanban/SKILL.md +157 -0
  332. package/templates/claude/skills/plans-kanban/assets/dashboard-template.html +119 -0
  333. package/templates/claude/skills/plans-kanban/assets/dashboard.css +1594 -0
  334. package/templates/claude/skills/plans-kanban/assets/dashboard.js +659 -0
  335. package/templates/claude/skills/plans-kanban/assets/favicon.png +0 -0
  336. package/templates/claude/skills/plans-kanban/package.json +13 -0
  337. package/templates/claude/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +941 -0
  338. package/templates/claude/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
  339. package/templates/claude/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
  340. package/templates/claude/skills/plans-kanban/scripts/lib/plan-parser.cjs +194 -0
  341. package/templates/claude/skills/plans-kanban/scripts/lib/plan-scanner.cjs +277 -0
  342. package/templates/claude/skills/plans-kanban/scripts/lib/port-finder.cjs +49 -0
  343. package/templates/claude/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
  344. package/templates/claude/skills/plans-kanban/scripts/server.cjs +249 -0
  345. package/templates/claude/skills/problem-solving/SKILL.md +96 -0
  346. package/templates/claude/skills/problem-solving/references/attribution.md +69 -0
  347. package/templates/claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  348. package/templates/claude/skills/problem-solving/references/inversion-exercise.md +91 -0
  349. package/templates/claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  350. package/templates/claude/skills/problem-solving/references/scale-game.md +95 -0
  351. package/templates/claude/skills/problem-solving/references/simplification-cascades.md +80 -0
  352. package/templates/claude/skills/problem-solving/references/when-stuck.md +72 -0
  353. package/templates/claude/skills/registry.json +258 -0
  354. package/templates/claude/skills/repomix/SKILL.md +247 -0
  355. package/templates/claude/skills/repomix/references/configuration.md +211 -0
  356. package/templates/claude/skills/repomix/references/usage-patterns.md +232 -0
  357. package/templates/claude/skills/repomix/scripts/README.md +179 -0
  358. package/templates/claude/skills/repomix/scripts/repomix_batch.py +455 -0
  359. package/templates/claude/skills/repomix/scripts/repos.example.json +15 -0
  360. package/templates/claude/skills/research/SKILL.md +168 -0
  361. package/templates/claude/skills/sequential-thinking/.env.example +8 -0
  362. package/templates/claude/skills/sequential-thinking/README.md +183 -0
  363. package/templates/claude/skills/sequential-thinking/SKILL.md +94 -0
  364. package/templates/claude/skills/sequential-thinking/package.json +31 -0
  365. package/templates/claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  366. package/templates/claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  367. package/templates/claude/skills/sequential-thinking/references/core-patterns.md +95 -0
  368. package/templates/claude/skills/sequential-thinking/references/examples-api.md +88 -0
  369. package/templates/claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
  370. package/templates/claude/skills/sequential-thinking/references/examples-debug.md +90 -0
  371. package/templates/claude/skills/sequential-thinking/scripts/format-thought.js +182 -0
  372. package/templates/claude/skills/sequential-thinking/scripts/process-thought.js +252 -0
  373. package/templates/claude/skills/skill-creator/LICENSE.txt +202 -0
  374. package/templates/claude/skills/skill-creator/SKILL.md +266 -0
  375. package/templates/claude/skills/skill-creator/references/agent-skills-spec.md +51 -0
  376. package/templates/claude/skills/skill-creator/scripts/encoding_utils.py +21 -0
  377. package/templates/claude/skills/skill-creator/scripts/init_skill.py +304 -0
  378. package/templates/claude/skills/skill-creator/scripts/package_skill.py +110 -0
  379. package/templates/claude/skills/skill-creator/scripts/quick_validate.py +66 -0
  380. package/templates/claude/skills/template-skill/SKILL.md +6 -0
  381. package/templates/claude/skills/vitest/SKILL.md +595 -0
  382. package/templates/claude/skills/vitest/references/async-patterns.md +82 -0
  383. package/templates/claude/skills/vitest/references/mock-patterns.md +78 -0
  384. package/templates/claude/skills/vitest/references/monorepo-setup.md +185 -0
  385. package/templates/claude/skills/vitest/references/turborepo-setup.md +332 -0
  386. package/templates/claude/skills/web-frameworks/SKILL.md +324 -0
  387. package/templates/claude/skills/web-frameworks/references/nextjs-app-router.md +465 -0
  388. package/templates/claude/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
  389. package/templates/claude/skills/web-frameworks/references/nextjs-optimization.md +511 -0
  390. package/templates/claude/skills/web-frameworks/references/nextjs-server-components.md +495 -0
  391. package/templates/claude/skills/web-frameworks/references/remix-icon-integration.md +603 -0
  392. package/templates/claude/skills/web-frameworks/references/turborepo-caching.md +551 -0
  393. package/templates/claude/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
  394. package/templates/claude/skills/web-frameworks/references/turborepo-setup.md +542 -0
  395. package/templates/claude/skills/web-frameworks/scripts/nextjs_init.py +547 -0
  396. package/templates/claude/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
  397. package/templates/claude/workflows/development-rules.md +40 -0
  398. package/templates/claude/workflows/documentation-management.md +121 -0
  399. package/templates/claude/workflows/orchestration-protocol.md +16 -0
  400. package/templates/claude/workflows/primary-workflow.md +45 -0
  401. package/templates/claude/workflows/registry.json +37 -0
  402. package/templates/common/.cct.json +41 -0
  403. package/templates/common/.cctkignore +22 -0
  404. package/templates/common/.env.example +39 -0
  405. package/templates/common/.mcp.json.example +16 -0
  406. package/templates/common/metadata.json +15 -0
  407. package/templates/common/settings.json +79 -0
  408. package/templates/common/statusline.cjs +271 -0
  409. package/templates/config/.repomixignore +22 -0
  410. package/templates/config/AGENTS.md +55 -0
  411. package/templates/config/CLAUDE.md +87 -0
  412. package/templates/plans/bug-fix-template.md +69 -0
  413. package/templates/plans/feature-implementation-template.md +84 -0
  414. package/templates/plans/refactor-template.md +82 -0
  415. package/templates/plans/template-usage-guide.md +58 -0
@@ -0,0 +1,395 @@
1
+ # FFmpeg Streaming & Live Video
2
+
3
+ Complete guide to HLS/DASH streaming, live streaming platforms, and adaptive bitrate encoding.
4
+
5
+ ## HLS (HTTP Live Streaming)
6
+
7
+ ### Basic HLS Stream
8
+ Generate playlist for on-demand streaming.
9
+
10
+ ```bash
11
+ # Simple HLS with default settings
12
+ ffmpeg -i input.mp4 \
13
+ -c:v libx264 -c:a aac \
14
+ -f hls -hls_time 6 -hls_playlist_type vod \
15
+ -hls_segment_filename "segment_%03d.ts" \
16
+ playlist.m3u8
17
+ ```
18
+
19
+ **Key parameters:**
20
+ - `-hls_time` - Segment duration (seconds, default 2)
21
+ - `-hls_playlist_type` - `vod` (on-demand) or `event` (live)
22
+ - `-hls_segment_filename` - Naming pattern for segments
23
+
24
+ ### Optimized HLS
25
+ Better quality and compatibility.
26
+
27
+ ```bash
28
+ ffmpeg -i input.mp4 \
29
+ -c:v libx264 -preset fast -crf 22 \
30
+ -g 48 -sc_threshold 0 \
31
+ -c:a aac -b:a 128k \
32
+ -f hls -hls_time 6 -hls_playlist_type vod \
33
+ -hls_segment_filename "segment_%03d.ts" \
34
+ playlist.m3u8
35
+ ```
36
+
37
+ **Parameters explained:**
38
+ - `-g 48` - Keyframe every 48 frames (2s @ 24fps)
39
+ - `-sc_threshold 0` - Disable scene detection (consistent segments)
40
+
41
+ ### Multi-Bitrate HLS (Adaptive)
42
+ Create multiple quality levels for adaptive streaming.
43
+
44
+ ```bash
45
+ ffmpeg -i input.mp4 \
46
+ -map 0:v -map 0:a -map 0:v -map 0:a -map 0:v -map 0:a \
47
+ -c:v libx264 -crf 22 -c:a aac -b:a 128k \
48
+ -b:v:0 800k -s:v:0 640x360 -maxrate:v:0 856k -bufsize:v:0 1200k \
49
+ -b:v:1 1400k -s:v:1 842x480 -maxrate:v:1 1498k -bufsize:v:1 2100k \
50
+ -b:v:2 2800k -s:v:2 1280x720 -maxrate:v:2 2996k -bufsize:v:2 4200k \
51
+ -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2" \
52
+ -master_pl_name master.m3u8 \
53
+ -f hls -hls_time 6 -hls_list_size 0 \
54
+ -hls_segment_filename "stream_%v/segment_%03d.ts" \
55
+ stream_%v/playlist.m3u8
56
+ ```
57
+
58
+ **Creates:**
59
+ - `master.m3u8` - Master playlist (entry point)
60
+ - `stream_0/playlist.m3u8` - 360p stream
61
+ - `stream_1/playlist.m3u8` - 480p stream
62
+ - `stream_2/playlist.m3u8` - 720p stream
63
+
64
+ ### HLS with Encryption
65
+ Protect content with AES-128 encryption.
66
+
67
+ ```bash
68
+ # Generate encryption key
69
+ openssl rand 16 > enc.key
70
+ echo "enc.key" > enc.keyinfo
71
+ echo "enc.key" >> enc.keyinfo
72
+ openssl rand -hex 16 >> enc.keyinfo
73
+
74
+ # Encode with encryption
75
+ ffmpeg -i input.mp4 \
76
+ -c:v libx264 -c:a aac \
77
+ -f hls -hls_time 6 \
78
+ -hls_key_info_file enc.keyinfo \
79
+ -hls_segment_filename "segment_%03d.ts" \
80
+ playlist.m3u8
81
+ ```
82
+
83
+ ## DASH (Dynamic Adaptive Streaming)
84
+
85
+ ### Basic DASH
86
+ MPEG-DASH format for adaptive streaming.
87
+
88
+ ```bash
89
+ ffmpeg -i input.mp4 \
90
+ -c:v libx264 -c:a aac \
91
+ -f dash -seg_duration 6 \
92
+ -use_template 1 -use_timeline 1 \
93
+ manifest.mpd
94
+ ```
95
+
96
+ ### Multi-Bitrate DASH
97
+ Multiple quality levels.
98
+
99
+ ```bash
100
+ ffmpeg -i input.mp4 \
101
+ -map 0:v -map 0:a -map 0:v -map 0:a \
102
+ -c:v libx264 -c:a aac \
103
+ -b:v:0 800k -s:v:0 640x360 \
104
+ -b:v:1 1400k -s:v:1 1280x720 \
105
+ -b:a:0 128k -b:a:1 128k \
106
+ -f dash -seg_duration 6 \
107
+ -use_template 1 -use_timeline 1 \
108
+ manifest.mpd
109
+ ```
110
+
111
+ ## RTMP Live Streaming
112
+
113
+ ### Stream to Twitch
114
+ ```bash
115
+ ffmpeg -re -i input.mp4 \
116
+ -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k \
117
+ -pix_fmt yuv420p -g 50 -c:a aac -b:a 128k -ar 44100 \
118
+ -f flv rtmp://live.twitch.tv/app/STREAM_KEY
119
+ ```
120
+
121
+ ### Stream to YouTube
122
+ ```bash
123
+ ffmpeg -re -i input.mp4 \
124
+ -c:v libx264 -preset veryfast -maxrate 2500k -bufsize 5000k \
125
+ -pix_fmt yuv420p -g 60 -c:a aac -b:a 128k \
126
+ -f flv rtmp://a.rtmp.youtube.com/live2/STREAM_KEY
127
+ ```
128
+
129
+ ### Stream to Facebook
130
+ ```bash
131
+ ffmpeg -re -i input.mp4 \
132
+ -c:v libx264 -preset veryfast -maxrate 4000k -bufsize 8000k \
133
+ -pix_fmt yuv420p -g 60 -c:a aac -b:a 128k \
134
+ -f flv rtmps://live-api-s.facebook.com:443/rtmp/STREAM_KEY
135
+ ```
136
+
137
+ ### Custom RTMP Server
138
+ ```bash
139
+ ffmpeg -re -i input.mp4 \
140
+ -c:v libx264 -preset veryfast -tune zerolatency \
141
+ -maxrate 2500k -bufsize 5000k \
142
+ -pix_fmt yuv420p -g 50 \
143
+ -c:a aac -b:a 128k -ar 44100 \
144
+ -f flv rtmp://your-server.com/live/stream-key
145
+ ```
146
+
147
+ ## Screen Capture + Stream
148
+
149
+ ### Linux (X11)
150
+ ```bash
151
+ ffmpeg -f x11grab -s 1920x1080 -framerate 30 -i :0.0 \
152
+ -f pulse -ac 2 -i default \
153
+ -c:v libx264 -preset veryfast -tune zerolatency \
154
+ -maxrate 2500k -bufsize 5000k -pix_fmt yuv420p \
155
+ -c:a aac -b:a 128k -ar 44100 \
156
+ -f flv rtmp://live.twitch.tv/app/STREAM_KEY
157
+ ```
158
+
159
+ ### macOS (AVFoundation)
160
+ ```bash
161
+ # List devices
162
+ ffmpeg -f avfoundation -list_devices true -i ""
163
+
164
+ # Capture and stream
165
+ ffmpeg -f avfoundation -framerate 30 -i "1:0" \
166
+ -c:v libx264 -preset veryfast -tune zerolatency \
167
+ -maxrate 2500k -bufsize 5000k -pix_fmt yuv420p \
168
+ -c:a aac -b:a 128k \
169
+ -f flv rtmp://live.twitch.tv/app/STREAM_KEY
170
+ ```
171
+
172
+ ## Thumbnail Generation
173
+
174
+ ### Single Thumbnail
175
+ Extract frame at specific time.
176
+
177
+ ```bash
178
+ # At 5 seconds
179
+ ffmpeg -ss 00:00:05 -i input.mp4 -vframes 1 -vf scale=320:-1 thumb.jpg
180
+
181
+ # At 10% duration
182
+ ffmpeg -ss $(ffprobe -v error -show_entries format=duration \
183
+ -of default=noprint_wrappers=1:nokey=1 input.mp4 | \
184
+ awk '{print $1*0.1}') -i input.mp4 -vframes 1 thumb.jpg
185
+ ```
186
+
187
+ ### Multiple Thumbnails
188
+ Generate thumbnails at intervals.
189
+
190
+ ```bash
191
+ # One per minute
192
+ ffmpeg -i input.mp4 -vf fps=1/60,scale=320:-1 thumb_%03d.jpg
193
+
194
+ # One per 10 seconds
195
+ ffmpeg -i input.mp4 -vf fps=1/10,scale=320:-1 thumb_%03d.jpg
196
+
197
+ # First 10 frames
198
+ ffmpeg -i input.mp4 -vframes 10 -vf scale=320:-1 thumb_%02d.jpg
199
+ ```
200
+
201
+ ### Thumbnail Sprite Sheet
202
+ Create single image with multiple thumbnails.
203
+
204
+ ```bash
205
+ # Generate frames
206
+ ffmpeg -i input.mp4 -vf fps=1/10,scale=160:90 frames/thumb_%03d.jpg
207
+
208
+ # Combine into sprite (requires ImageMagick)
209
+ montage frames/thumb_*.jpg -tile 5x -geometry +0+0 sprite.jpg
210
+ ```
211
+
212
+ ## Preview Generation
213
+
214
+ ### Video Preview (Trailer)
215
+ Extract multiple short clips.
216
+
217
+ ```bash
218
+ # Extract 3 segments
219
+ ffmpeg -i input.mp4 \
220
+ -ss 00:00:30 -t 00:00:10 -c copy segment1.mp4
221
+ ffmpeg -i input.mp4 \
222
+ -ss 00:05:00 -t 00:00:10 -c copy segment2.mp4
223
+ ffmpeg -i input.mp4 \
224
+ -ss 00:10:00 -t 00:00:10 -c copy segment3.mp4
225
+
226
+ # Concatenate segments
227
+ echo "file 'segment1.mp4'" > concat.txt
228
+ echo "file 'segment2.mp4'" >> concat.txt
229
+ echo "file 'segment3.mp4'" >> concat.txt
230
+ ffmpeg -f concat -safe 0 -i concat.txt -c copy preview.mp4
231
+ ```
232
+
233
+ ### Fast Preview (Low Quality)
234
+ Quick preview for review.
235
+
236
+ ```bash
237
+ ffmpeg -i input.mp4 \
238
+ -vf scale=640:-1 \
239
+ -c:v libx264 -preset ultrafast -crf 28 \
240
+ -c:a aac -b:a 64k \
241
+ preview.mp4
242
+ ```
243
+
244
+ ## Streaming Parameters
245
+
246
+ ### Important RTMP Parameters
247
+
248
+ **Real-time reading:**
249
+ - `-re` - Read input at native frame rate
250
+
251
+ **Low latency:**
252
+ - `-tune zerolatency` - Optimize for minimal latency
253
+ - `-preset ultrafast` or `veryfast` - Fast encoding
254
+
255
+ **Keyframes:**
256
+ - `-g 50` - Keyframe interval (GOP size)
257
+ - Recommended: 2 seconds (fps * 2)
258
+
259
+ **Rate control:**
260
+ - `-maxrate` - Maximum bitrate (e.g., 3000k)
261
+ - `-bufsize` - Buffer size (typically 2x maxrate)
262
+
263
+ **Compatibility:**
264
+ - `-pix_fmt yuv420p` - Compatible pixel format
265
+
266
+ ### Bitrate Recommendations
267
+
268
+ **1080p 60fps:**
269
+ - 4500-6000 kbps video
270
+ - 160 kbps audio
271
+
272
+ **1080p 30fps:**
273
+ - 3000-4500 kbps video
274
+ - 128 kbps audio
275
+
276
+ **720p 60fps:**
277
+ - 2500-4000 kbps video
278
+ - 128 kbps audio
279
+
280
+ **720p 30fps:**
281
+ - 1500-2500 kbps video
282
+ - 128 kbps audio
283
+
284
+ **480p:**
285
+ - 500-1000 kbps video
286
+ - 128 kbps audio
287
+
288
+ ## UDP/RTP Streaming
289
+
290
+ ### UDP Stream
291
+ Simple network streaming.
292
+
293
+ ```bash
294
+ # Sender
295
+ ffmpeg -re -i input.mp4 -c copy -f mpegts udp://192.168.1.100:1234
296
+
297
+ # Receiver
298
+ ffplay udp://192.168.1.100:1234
299
+ ```
300
+
301
+ ### RTP Stream
302
+ Real-Time Protocol for low latency.
303
+
304
+ ```bash
305
+ # Audio only
306
+ ffmpeg -re -i audio.mp3 -c:a libopus -f rtp rtp://192.168.1.100:5004
307
+
308
+ # Video + audio
309
+ ffmpeg -re -i input.mp4 \
310
+ -c:v libx264 -preset ultrafast \
311
+ -c:a aac -f rtp rtp://192.168.1.100:5004
312
+ ```
313
+
314
+ ### Multicast Stream
315
+ Stream to multiple receivers.
316
+
317
+ ```bash
318
+ # Sender (multicast address)
319
+ ffmpeg -re -i input.mp4 -c copy -f mpegts udp://239.255.0.1:1234
320
+
321
+ # Receiver
322
+ ffplay udp://239.255.0.1:1234
323
+ ```
324
+
325
+ ## Advanced Streaming
326
+
327
+ ### Hardware-Accelerated Streaming
328
+ Use GPU for faster encoding.
329
+
330
+ ```bash
331
+ # NVIDIA NVENC
332
+ ffmpeg -re -i input.mp4 \
333
+ -c:v h264_nvenc -preset fast -maxrate 3000k -bufsize 6000k \
334
+ -c:a aac -b:a 128k \
335
+ -f flv rtmp://live.twitch.tv/app/STREAM_KEY
336
+
337
+ # Intel QSV
338
+ ffmpeg -re -hwaccel qsv -i input.mp4 \
339
+ -c:v h264_qsv -preset fast -maxrate 3000k -bufsize 6000k \
340
+ -c:a aac -b:a 128k \
341
+ -f flv rtmp://live.twitch.tv/app/STREAM_KEY
342
+ ```
343
+
344
+ ### Stream with Overlay
345
+ Add graphics during stream.
346
+
347
+ ```bash
348
+ ffmpeg -re -i input.mp4 -i logo.png \
349
+ -filter_complex "[0:v][1:v]overlay=10:10" \
350
+ -c:v libx264 -preset veryfast -maxrate 3000k \
351
+ -c:a copy \
352
+ -f flv rtmp://live.twitch.tv/app/STREAM_KEY
353
+ ```
354
+
355
+ ### Loop Stream
356
+ Continuously loop video for 24/7 stream.
357
+
358
+ ```bash
359
+ ffmpeg -stream_loop -1 -re -i input.mp4 \
360
+ -c:v libx264 -preset veryfast -maxrate 2500k \
361
+ -c:a aac -b:a 128k \
362
+ -f flv rtmp://live.twitch.tv/app/STREAM_KEY
363
+ ```
364
+
365
+ ## Troubleshooting
366
+
367
+ ### Buffering Issues
368
+ ```bash
369
+ # Reduce buffer size
370
+ ffmpeg -re -i input.mp4 -maxrate 2000k -bufsize 2000k -c:v libx264 -f flv rtmp://...
371
+
372
+ # Use faster preset
373
+ ffmpeg -re -i input.mp4 -preset ultrafast -c:v libx264 -f flv rtmp://...
374
+ ```
375
+
376
+ ### Audio/Video Desync
377
+ ```bash
378
+ # Force constant frame rate
379
+ ffmpeg -re -i input.mp4 -r 30 -c:v libx264 -f flv rtmp://...
380
+
381
+ # Use -vsync 1
382
+ ffmpeg -re -i input.mp4 -vsync 1 -c:v libx264 -f flv rtmp://...
383
+ ```
384
+
385
+ ### Connection Drops
386
+ ```bash
387
+ # Increase timeout
388
+ ffmpeg -timeout 5000000 -re -i input.mp4 -c:v libx264 -f flv rtmp://...
389
+
390
+ # Reconnect on failure (use wrapper script)
391
+ while true; do
392
+ ffmpeg -re -i input.mp4 -c:v libx264 -f flv rtmp://...
393
+ sleep 5
394
+ done
395
+ ```