jfl 0.0.0

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 (381) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +313 -0
  3. package/clawdbot-skill/README.md +328 -0
  4. package/clawdbot-skill/SKILL.md +362 -0
  5. package/clawdbot-skill/index.ts +486 -0
  6. package/clawdbot-skill/package.json +28 -0
  7. package/clawdbot-skill/skill.json +28 -0
  8. package/dist/commands/agents.d.ts +5 -0
  9. package/dist/commands/agents.d.ts.map +1 -0
  10. package/dist/commands/agents.js +399 -0
  11. package/dist/commands/agents.js.map +1 -0
  12. package/dist/commands/context-hub.d.ts +12 -0
  13. package/dist/commands/context-hub.d.ts.map +1 -0
  14. package/dist/commands/context-hub.js +642 -0
  15. package/dist/commands/context-hub.js.map +1 -0
  16. package/dist/commands/deploy.d.ts +5 -0
  17. package/dist/commands/deploy.d.ts.map +1 -0
  18. package/dist/commands/deploy.js +370 -0
  19. package/dist/commands/deploy.js.map +1 -0
  20. package/dist/commands/feedback.d.ts +2 -0
  21. package/dist/commands/feedback.d.ts.map +1 -0
  22. package/dist/commands/feedback.js +178 -0
  23. package/dist/commands/feedback.js.map +1 -0
  24. package/dist/commands/hud.d.ts +4 -0
  25. package/dist/commands/hud.d.ts.map +1 -0
  26. package/dist/commands/hud.js +262 -0
  27. package/dist/commands/hud.js.map +1 -0
  28. package/dist/commands/init.d.ts +4 -0
  29. package/dist/commands/init.d.ts.map +1 -0
  30. package/dist/commands/init.js +553 -0
  31. package/dist/commands/init.js.map +1 -0
  32. package/dist/commands/login.d.ts +23 -0
  33. package/dist/commands/login.d.ts.map +1 -0
  34. package/dist/commands/login.js +818 -0
  35. package/dist/commands/login.js.map +1 -0
  36. package/dist/commands/ralph.d.ts +9 -0
  37. package/dist/commands/ralph.d.ts.map +1 -0
  38. package/dist/commands/ralph.js +67 -0
  39. package/dist/commands/ralph.js.map +1 -0
  40. package/dist/commands/repair.d.ts +7 -0
  41. package/dist/commands/repair.d.ts.map +1 -0
  42. package/dist/commands/repair.js +283 -0
  43. package/dist/commands/repair.js.map +1 -0
  44. package/dist/commands/session-mgmt.d.ts +33 -0
  45. package/dist/commands/session-mgmt.d.ts.map +1 -0
  46. package/dist/commands/session-mgmt.js +404 -0
  47. package/dist/commands/session-mgmt.js.map +1 -0
  48. package/dist/commands/session.d.ts +2 -0
  49. package/dist/commands/session.d.ts.map +1 -0
  50. package/dist/commands/session.js +639 -0
  51. package/dist/commands/session.js.map +1 -0
  52. package/dist/commands/skills.d.ts +31 -0
  53. package/dist/commands/skills.d.ts.map +1 -0
  54. package/dist/commands/skills.js +314 -0
  55. package/dist/commands/skills.js.map +1 -0
  56. package/dist/commands/status.d.ts +2 -0
  57. package/dist/commands/status.d.ts.map +1 -0
  58. package/dist/commands/status.js +127 -0
  59. package/dist/commands/status.js.map +1 -0
  60. package/dist/commands/synopsis.d.ts +10 -0
  61. package/dist/commands/synopsis.d.ts.map +1 -0
  62. package/dist/commands/synopsis.js +277 -0
  63. package/dist/commands/synopsis.js.map +1 -0
  64. package/dist/commands/update.d.ts +10 -0
  65. package/dist/commands/update.d.ts.map +1 -0
  66. package/dist/commands/update.js +165 -0
  67. package/dist/commands/update.js.map +1 -0
  68. package/dist/commands/voice.d.ts +410 -0
  69. package/dist/commands/voice.d.ts.map +1 -0
  70. package/dist/commands/voice.js +4763 -0
  71. package/dist/commands/voice.js.map +1 -0
  72. package/dist/index.d.ts +9 -0
  73. package/dist/index.d.ts.map +1 -0
  74. package/dist/index.js +512 -0
  75. package/dist/index.js.map +1 -0
  76. package/dist/mcp/context-hub-mcp.d.ts +11 -0
  77. package/dist/mcp/context-hub-mcp.d.ts.map +1 -0
  78. package/dist/mcp/context-hub-mcp.js +548 -0
  79. package/dist/mcp/context-hub-mcp.js.map +1 -0
  80. package/dist/telegram/voice.d.ts +146 -0
  81. package/dist/telegram/voice.d.ts.map +1 -0
  82. package/dist/telegram/voice.js +351 -0
  83. package/dist/telegram/voice.js.map +1 -0
  84. package/dist/types/skills.d.ts +44 -0
  85. package/dist/types/skills.d.ts.map +1 -0
  86. package/dist/types/skills.js +5 -0
  87. package/dist/types/skills.js.map +1 -0
  88. package/dist/ui/banner.d.ts +18 -0
  89. package/dist/ui/banner.d.ts.map +1 -0
  90. package/dist/ui/banner.js +323 -0
  91. package/dist/ui/banner.js.map +1 -0
  92. package/dist/ui/index.d.ts +8 -0
  93. package/dist/ui/index.d.ts.map +1 -0
  94. package/dist/ui/index.js +8 -0
  95. package/dist/ui/index.js.map +1 -0
  96. package/dist/ui/prompts.d.ts +52 -0
  97. package/dist/ui/prompts.d.ts.map +1 -0
  98. package/dist/ui/prompts.js +72 -0
  99. package/dist/ui/prompts.js.map +1 -0
  100. package/dist/ui/theme.d.ts +82 -0
  101. package/dist/ui/theme.d.ts.map +1 -0
  102. package/dist/ui/theme.js +142 -0
  103. package/dist/ui/theme.js.map +1 -0
  104. package/dist/utils/auth-guard.d.ts +66 -0
  105. package/dist/utils/auth-guard.d.ts.map +1 -0
  106. package/dist/utils/auth-guard.js +348 -0
  107. package/dist/utils/auth-guard.js.map +1 -0
  108. package/dist/utils/ensure-project.d.ts +11 -0
  109. package/dist/utils/ensure-project.d.ts.map +1 -0
  110. package/dist/utils/ensure-project.js +70 -0
  111. package/dist/utils/ensure-project.js.map +1 -0
  112. package/dist/utils/git.d.ts +73 -0
  113. package/dist/utils/git.d.ts.map +1 -0
  114. package/dist/utils/git.js +219 -0
  115. package/dist/utils/git.js.map +1 -0
  116. package/dist/utils/github-auth.d.ts +54 -0
  117. package/dist/utils/github-auth.d.ts.map +1 -0
  118. package/dist/utils/github-auth.js +375 -0
  119. package/dist/utils/github-auth.js.map +1 -0
  120. package/dist/utils/github-repo.d.ts +30 -0
  121. package/dist/utils/github-repo.d.ts.map +1 -0
  122. package/dist/utils/github-repo.js +219 -0
  123. package/dist/utils/github-repo.js.map +1 -0
  124. package/dist/utils/platform-auth.d.ts +81 -0
  125. package/dist/utils/platform-auth.d.ts.map +1 -0
  126. package/dist/utils/platform-auth.js +191 -0
  127. package/dist/utils/platform-auth.js.map +1 -0
  128. package/dist/utils/project-config.d.ts +43 -0
  129. package/dist/utils/project-config.d.ts.map +1 -0
  130. package/dist/utils/project-config.js +97 -0
  131. package/dist/utils/project-config.js.map +1 -0
  132. package/dist/utils/skill-registry.d.ts +49 -0
  133. package/dist/utils/skill-registry.d.ts.map +1 -0
  134. package/dist/utils/skill-registry.js +192 -0
  135. package/dist/utils/skill-registry.js.map +1 -0
  136. package/dist/utils/wallet.d.ts +62 -0
  137. package/dist/utils/wallet.d.ts.map +1 -0
  138. package/dist/utils/wallet.js +252 -0
  139. package/dist/utils/wallet.js.map +1 -0
  140. package/dist/utils/x402-client.d.ts +86 -0
  141. package/dist/utils/x402-client.d.ts.map +1 -0
  142. package/dist/utils/x402-client.js +265 -0
  143. package/dist/utils/x402-client.js.map +1 -0
  144. package/package.json +76 -0
  145. package/scripts/postinstall.js +116 -0
  146. package/scripts/test-onboarding.sh +121 -0
  147. package/scripts/voice-start.sh +128 -0
  148. package/scripts/voice-stop.sh +33 -0
  149. package/template/.claude/settings.json +92 -0
  150. package/template/.claude/skills/agent-browser/SKILL.md +116 -0
  151. package/template/.claude/skills/brand-architect/SKILL.md +240 -0
  152. package/template/.claude/skills/brand-architect/config.yaml +137 -0
  153. package/template/.claude/skills/campaign-hud/config.yaml +112 -0
  154. package/template/.claude/skills/content-creator/SKILL.md +294 -0
  155. package/template/.claude/skills/debug/MULTI_AGENT.md +360 -0
  156. package/template/.claude/skills/debug/SKILL.md +549 -0
  157. package/template/.claude/skills/fly-deploy/SKILL.md +676 -0
  158. package/template/.claude/skills/founder-video/SKILL.md +467 -0
  159. package/template/.claude/skills/hud/SKILL.md +157 -0
  160. package/template/.claude/skills/ralph-tui/SKILL.md +210 -0
  161. package/template/.claude/skills/react-best-practices/AGENTS.md +2249 -0
  162. package/template/.claude/skills/react-best-practices/README.md +123 -0
  163. package/template/.claude/skills/react-best-practices/SKILL.md +125 -0
  164. package/template/.claude/skills/react-best-practices/metadata.json +15 -0
  165. package/template/.claude/skills/react-best-practices/rules/_sections.md +46 -0
  166. package/template/.claude/skills/react-best-practices/rules/_template.md +28 -0
  167. package/template/.claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  168. package/template/.claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  169. package/template/.claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
  170. package/template/.claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
  171. package/template/.claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
  172. package/template/.claude/skills/react-best-practices/rules/async-parallel.md +28 -0
  173. package/template/.claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  174. package/template/.claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  175. package/template/.claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  176. package/template/.claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  177. package/template/.claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  178. package/template/.claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
  179. package/template/.claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  180. package/template/.claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  181. package/template/.claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  182. package/template/.claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  183. package/template/.claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  184. package/template/.claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  185. package/template/.claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  186. package/template/.claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
  187. package/template/.claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  188. package/template/.claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
  189. package/template/.claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  190. package/template/.claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  191. package/template/.claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  192. package/template/.claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  193. package/template/.claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
  194. package/template/.claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  195. package/template/.claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  196. package/template/.claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  197. package/template/.claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  198. package/template/.claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  199. package/template/.claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  200. package/template/.claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  201. package/template/.claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  202. package/template/.claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  203. package/template/.claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  204. package/template/.claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  205. package/template/.claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
  206. package/template/.claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  207. package/template/.claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  208. package/template/.claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  209. package/template/.claude/skills/react-best-practices/rules/server-cache-react.md +26 -0
  210. package/template/.claude/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
  211. package/template/.claude/skills/react-best-practices/rules/server-serialization.md +38 -0
  212. package/template/.claude/skills/remotion-best-practices/SKILL.md +43 -0
  213. package/template/.claude/skills/remotion-best-practices/rules/3d.md +86 -0
  214. package/template/.claude/skills/remotion-best-practices/rules/animations.md +29 -0
  215. package/template/.claude/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  216. package/template/.claude/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  217. package/template/.claude/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  218. package/template/.claude/skills/remotion-best-practices/rules/assets.md +78 -0
  219. package/template/.claude/skills/remotion-best-practices/rules/audio.md +172 -0
  220. package/template/.claude/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
  221. package/template/.claude/skills/remotion-best-practices/rules/can-decode.md +75 -0
  222. package/template/.claude/skills/remotion-best-practices/rules/charts.md +58 -0
  223. package/template/.claude/skills/remotion-best-practices/rules/compositions.md +146 -0
  224. package/template/.claude/skills/remotion-best-practices/rules/display-captions.md +126 -0
  225. package/template/.claude/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  226. package/template/.claude/skills/remotion-best-practices/rules/fonts.md +152 -0
  227. package/template/.claude/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  228. package/template/.claude/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  229. package/template/.claude/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
  230. package/template/.claude/skills/remotion-best-practices/rules/gifs.md +138 -0
  231. package/template/.claude/skills/remotion-best-practices/rules/images.md +130 -0
  232. package/template/.claude/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
  233. package/template/.claude/skills/remotion-best-practices/rules/lottie.md +68 -0
  234. package/template/.claude/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
  235. package/template/.claude/skills/remotion-best-practices/rules/measuring-text.md +143 -0
  236. package/template/.claude/skills/remotion-best-practices/rules/sequencing.md +106 -0
  237. package/template/.claude/skills/remotion-best-practices/rules/tailwind.md +11 -0
  238. package/template/.claude/skills/remotion-best-practices/rules/text-animations.md +20 -0
  239. package/template/.claude/skills/remotion-best-practices/rules/timing.md +179 -0
  240. package/template/.claude/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
  241. package/template/.claude/skills/remotion-best-practices/rules/transitions.md +122 -0
  242. package/template/.claude/skills/remotion-best-practices/rules/trimming.md +53 -0
  243. package/template/.claude/skills/remotion-best-practices/rules/videos.md +171 -0
  244. package/template/.claude/skills/search/SKILL.md +220 -0
  245. package/template/.claude/skills/spec/SKILL.md +377 -0
  246. package/template/.claude/skills/startup/SKILL.md +310 -0
  247. package/template/.claude/skills/web-architect/SKILL.md +309 -0
  248. package/template/.claude/skills/x-algorithm/SKILL.md +305 -0
  249. package/template/.jfl/config.json +8 -0
  250. package/template/.mcp.json +11 -0
  251. package/template/CLAUDE.md +960 -0
  252. package/template/content/.gitkeep +0 -0
  253. package/template/context-hub +3 -0
  254. package/template/knowledge/BRAND_BRIEF.md +124 -0
  255. package/template/knowledge/BRAND_DECISIONS.md +168 -0
  256. package/template/knowledge/NARRATIVE.md +114 -0
  257. package/template/knowledge/ROADMAP.md +128 -0
  258. package/template/knowledge/THESIS.md +108 -0
  259. package/template/knowledge/VISION.md +74 -0
  260. package/template/knowledge/VOICE_AND_TONE.md +146 -0
  261. package/template/previews/.gitkeep +0 -0
  262. package/template/scripts/session/auto-commit.sh +245 -0
  263. package/template/scripts/session/auto-merge.sh +325 -0
  264. package/template/scripts/session/jfl-doctor.sh +587 -0
  265. package/template/scripts/session/session-end.sh +194 -0
  266. package/template/scripts/session/session-init.sh +163 -0
  267. package/template/scripts/session/session-sync.sh +167 -0
  268. package/template/scripts/session/test-context-preservation.sh +160 -0
  269. package/template/skills/agent-browser/SKILL.md +116 -0
  270. package/template/skills/brand-architect/SKILL.md +240 -0
  271. package/template/skills/brand-architect/config.yaml +137 -0
  272. package/template/skills/campaign-hud/config.yaml +112 -0
  273. package/template/skills/content-creator/SKILL.md +294 -0
  274. package/template/skills/debug/MULTI_AGENT.md +360 -0
  275. package/template/skills/debug/SKILL.md +549 -0
  276. package/template/skills/fly-deploy/SKILL.md +676 -0
  277. package/template/skills/founder-video/SKILL.md +467 -0
  278. package/template/skills/hud/SKILL.md +204 -0
  279. package/template/skills/ralph-tui/SKILL.md +210 -0
  280. package/template/skills/react-best-practices/AGENTS.md +2249 -0
  281. package/template/skills/react-best-practices/README.md +123 -0
  282. package/template/skills/react-best-practices/SKILL.md +125 -0
  283. package/template/skills/react-best-practices/metadata.json +15 -0
  284. package/template/skills/react-best-practices/rules/_sections.md +46 -0
  285. package/template/skills/react-best-practices/rules/_template.md +28 -0
  286. package/template/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  287. package/template/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  288. package/template/skills/react-best-practices/rules/async-api-routes.md +38 -0
  289. package/template/skills/react-best-practices/rules/async-defer-await.md +80 -0
  290. package/template/skills/react-best-practices/rules/async-dependencies.md +36 -0
  291. package/template/skills/react-best-practices/rules/async-parallel.md +28 -0
  292. package/template/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  293. package/template/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  294. package/template/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  295. package/template/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  296. package/template/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  297. package/template/skills/react-best-practices/rules/bundle-preload.md +50 -0
  298. package/template/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  299. package/template/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  300. package/template/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  301. package/template/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  302. package/template/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  303. package/template/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  304. package/template/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  305. package/template/skills/react-best-practices/rules/js-early-exit.md +50 -0
  306. package/template/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  307. package/template/skills/react-best-practices/rules/js-index-maps.md +37 -0
  308. package/template/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  309. package/template/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  310. package/template/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  311. package/template/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  312. package/template/skills/react-best-practices/rules/rendering-activity.md +26 -0
  313. package/template/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  314. package/template/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  315. package/template/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  316. package/template/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  317. package/template/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  318. package/template/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  319. package/template/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  320. package/template/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  321. package/template/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  322. package/template/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  323. package/template/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  324. package/template/skills/react-best-practices/rules/rerender-memo.md +44 -0
  325. package/template/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  326. package/template/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  327. package/template/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  328. package/template/skills/react-best-practices/rules/server-cache-react.md +26 -0
  329. package/template/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
  330. package/template/skills/react-best-practices/rules/server-serialization.md +38 -0
  331. package/template/skills/remotion-best-practices/SKILL.md +43 -0
  332. package/template/skills/remotion-best-practices/rules/3d.md +86 -0
  333. package/template/skills/remotion-best-practices/rules/animations.md +29 -0
  334. package/template/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  335. package/template/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  336. package/template/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  337. package/template/skills/remotion-best-practices/rules/assets.md +78 -0
  338. package/template/skills/remotion-best-practices/rules/audio.md +172 -0
  339. package/template/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
  340. package/template/skills/remotion-best-practices/rules/can-decode.md +75 -0
  341. package/template/skills/remotion-best-practices/rules/charts.md +58 -0
  342. package/template/skills/remotion-best-practices/rules/compositions.md +146 -0
  343. package/template/skills/remotion-best-practices/rules/display-captions.md +126 -0
  344. package/template/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  345. package/template/skills/remotion-best-practices/rules/fonts.md +152 -0
  346. package/template/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  347. package/template/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  348. package/template/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
  349. package/template/skills/remotion-best-practices/rules/gifs.md +138 -0
  350. package/template/skills/remotion-best-practices/rules/images.md +130 -0
  351. package/template/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
  352. package/template/skills/remotion-best-practices/rules/lottie.md +68 -0
  353. package/template/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
  354. package/template/skills/remotion-best-practices/rules/measuring-text.md +143 -0
  355. package/template/skills/remotion-best-practices/rules/sequencing.md +106 -0
  356. package/template/skills/remotion-best-practices/rules/tailwind.md +11 -0
  357. package/template/skills/remotion-best-practices/rules/text-animations.md +20 -0
  358. package/template/skills/remotion-best-practices/rules/timing.md +179 -0
  359. package/template/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
  360. package/template/skills/remotion-best-practices/rules/transitions.md +122 -0
  361. package/template/skills/remotion-best-practices/rules/trimming.md +53 -0
  362. package/template/skills/remotion-best-practices/rules/videos.md +171 -0
  363. package/template/skills/search/SKILL.md +220 -0
  364. package/template/skills/spec/SKILL.md +377 -0
  365. package/template/skills/startup/SKILL.md +310 -0
  366. package/template/skills/web-architect/SKILL.md +309 -0
  367. package/template/skills/x-algorithm/SKILL.md +305 -0
  368. package/template/suggestions/.gitkeep +0 -0
  369. package/template/templates/QUICKSTART_SKILL_TO_PRODUCT.md +242 -0
  370. package/template/templates/brand/BRAND_BRIEF.md +124 -0
  371. package/template/templates/brand/BRAND_DECISIONS.md +168 -0
  372. package/template/templates/brand/BRAND_GUIDELINES.md +251 -0
  373. package/template/templates/brand/VOICE_AND_TONE.md +146 -0
  374. package/template/templates/brand/global.css +240 -0
  375. package/template/templates/collaboration/CONTRIBUTOR.md +74 -0
  376. package/template/templates/collaboration/CRM.md +97 -0
  377. package/template/templates/collaboration/TASKS.md +83 -0
  378. package/template/templates/strategic/NARRATIVE.md +114 -0
  379. package/template/templates/strategic/ROADMAP.md +128 -0
  380. package/template/templates/strategic/THESIS.md +108 -0
  381. package/template/templates/strategic/VISION.md +74 -0
@@ -0,0 +1,410 @@
1
+ import { Ora } from "ora";
2
+ import { EventEmitter } from "events";
3
+ /**
4
+ * Error types for voice-related failures
5
+ */
6
+ export declare enum VoiceErrorType {
7
+ SERVER_NOT_RUNNING = "SERVER_NOT_RUNNING",
8
+ MIC_UNAVAILABLE = "MIC_UNAVAILABLE",
9
+ CONNECTION_DROPPED = "CONNECTION_DROPPED",
10
+ TRANSCRIPTION_EMPTY = "TRANSCRIPTION_EMPTY",
11
+ PERMISSION_DENIED = "PERMISSION_DENIED",
12
+ MODEL_NOT_FOUND = "MODEL_NOT_FOUND",
13
+ AUTH_FAILED = "AUTH_FAILED",
14
+ SOX_NOT_INSTALLED = "SOX_NOT_INSTALLED",
15
+ RECORDING_FAILED = "RECORDING_FAILED",
16
+ TIMEOUT = "TIMEOUT",
17
+ ACCESSIBILITY_NOT_GRANTED = "ACCESSIBILITY_NOT_GRANTED",
18
+ PLATFORM_NOT_SUPPORTED = "PLATFORM_NOT_SUPPORTED",
19
+ WAYLAND_NOT_SUPPORTED = "WAYLAND_NOT_SUPPORTED"
20
+ }
21
+ /**
22
+ * Custom error class for voice-related errors
23
+ */
24
+ export declare class VoiceError extends Error {
25
+ readonly type: VoiceErrorType;
26
+ readonly originalError?: Error;
27
+ readonly context?: Record<string, unknown>;
28
+ readonly recoverable: boolean;
29
+ readonly audioBuffer?: Buffer;
30
+ constructor(type: VoiceErrorType, options?: {
31
+ originalError?: Error;
32
+ context?: Record<string, unknown>;
33
+ recoverable?: boolean;
34
+ audioBuffer?: Buffer;
35
+ });
36
+ /**
37
+ * Get user-friendly suggestions for recovering from this error
38
+ */
39
+ getSuggestions(): string[];
40
+ /**
41
+ * Get full error message including original error if present
42
+ */
43
+ getFullMessage(): string;
44
+ }
45
+ /**
46
+ * Display a voice error with formatted output and suggestions
47
+ */
48
+ export declare function handleVoiceError(error: VoiceError | Error, spinner?: Ora): void;
49
+ /**
50
+ * Create appropriate VoiceError based on error analysis
51
+ */
52
+ export declare function createVoiceError(error: Error, context?: Record<string, unknown>, audioBuffer?: Buffer): VoiceError;
53
+ /**
54
+ * Check if server is running and return appropriate error if not
55
+ * Checks both TCP port 9090 and Unix socket for backwards compatibility
56
+ */
57
+ export declare function checkServerRunning(): VoiceError | null;
58
+ /**
59
+ * Check if auth token exists and return appropriate error if not
60
+ */
61
+ export declare function checkAuthToken(): VoiceError | null;
62
+ /**
63
+ * Check if a model is available and return appropriate error if not
64
+ */
65
+ export declare function checkModelAvailable(modelName?: string): VoiceError | null;
66
+ export declare function getJflDir(): string;
67
+ export declare function readAuthToken(): string | null;
68
+ /** Connection state for the VoiceClient */
69
+ type ConnectionState = "disconnected" | "connecting" | "connected" | "reconnecting";
70
+ /** Options for VoiceClient */
71
+ export interface VoiceClientOptions {
72
+ /** Path to the Unix socket (default: ~/.jfl/voice.sock) - deprecated, use serverUrl */
73
+ socketPath?: string;
74
+ /** Server URL for direct TCP connection (default: ws://127.0.0.1:9090) */
75
+ serverUrl?: string;
76
+ /** Auth token (default: read from ~/.jfl/voice-server.token) */
77
+ authToken?: string;
78
+ /** Maximum reconnection attempts (default: 5) */
79
+ maxReconnectAttempts?: number;
80
+ /** Initial reconnection delay in ms (default: 1000) */
81
+ initialReconnectDelay?: number;
82
+ /** Maximum reconnection delay in ms (default: 30000) */
83
+ maxReconnectDelay?: number;
84
+ }
85
+ /**
86
+ * VoiceClient - Manages WebSocket connection to the whisper server
87
+ *
88
+ * Features:
89
+ * - Connects to Unix socket at ~/.jfl/voice.sock
90
+ * - Authenticates with token from ~/.jfl/voice-server.token
91
+ * - Streams 16-bit PCM audio at 16kHz mono
92
+ * - Receives partial and final transcripts
93
+ * - Auto-reconnects with exponential backoff
94
+ *
95
+ * Usage:
96
+ * ```typescript
97
+ * const client = new VoiceClient()
98
+ *
99
+ * client.onTranscript((text, isFinal) => {
100
+ * if (isFinal) console.log("Final:", text)
101
+ * else console.log("Partial:", text)
102
+ * })
103
+ *
104
+ * client.onError((error) => {
105
+ * console.error("Error:", error.message)
106
+ * })
107
+ *
108
+ * await client.connect()
109
+ *
110
+ * // Send audio chunks (16-bit PCM, 16kHz mono)
111
+ * client.sendAudio(audioBuffer)
112
+ *
113
+ * // When done
114
+ * client.disconnect()
115
+ * ```
116
+ */
117
+ export declare class VoiceClient extends EventEmitter {
118
+ private ws;
119
+ private serverUrl;
120
+ private authToken;
121
+ private state;
122
+ private reconnectAttempts;
123
+ private reconnectTimer;
124
+ private shouldReconnect;
125
+ private maxReconnectAttempts;
126
+ private initialReconnectDelay;
127
+ private maxReconnectDelay;
128
+ private transcriptCallbacks;
129
+ private errorCallbacks;
130
+ private connectionCallbacks;
131
+ constructor(options?: VoiceClientOptions);
132
+ /**
133
+ * Get the current connection state
134
+ */
135
+ getState(): ConnectionState;
136
+ /**
137
+ * Check if connected
138
+ */
139
+ isConnected(): boolean;
140
+ /**
141
+ * Connect to the whisper server
142
+ *
143
+ * @throws VoiceError if auth token is missing (AUTH_FAILED)
144
+ * @throws VoiceError if connection fails
145
+ */
146
+ connect(): Promise<void>;
147
+ /**
148
+ * Internal connection method
149
+ */
150
+ private doConnect;
151
+ /**
152
+ * Disconnect from the whisper server
153
+ */
154
+ disconnect(): void;
155
+ /**
156
+ * Send audio data to the whisper server
157
+ *
158
+ * @param buffer - 16-bit PCM audio data at 16kHz mono
159
+ * @throws Error if not connected
160
+ */
161
+ sendAudio(buffer: Buffer): void;
162
+ /**
163
+ * Send end-of-audio signal to get final transcript
164
+ */
165
+ endAudio(): void;
166
+ /**
167
+ * Register callback for transcript events
168
+ *
169
+ * @param callback - Called with transcript text and whether it's final
170
+ */
171
+ onTranscript(callback: (text: string, isFinal: boolean) => void): void;
172
+ /**
173
+ * Register callback for error events
174
+ *
175
+ * @param callback - Called with error
176
+ */
177
+ onError(callback: (error: Error) => void): void;
178
+ /**
179
+ * Register callback for connection state changes
180
+ *
181
+ * @param callback - Called with new connection state
182
+ */
183
+ onConnectionStateChange(callback: (state: ConnectionState) => void): void;
184
+ /**
185
+ * Remove all callbacks
186
+ */
187
+ removeAllCallbacks(): void;
188
+ private setState;
189
+ private handleMessage;
190
+ private handleError;
191
+ private handleClose;
192
+ private scheduleReconnect;
193
+ private clearReconnectTimer;
194
+ }
195
+ /** Represents an audio input device */
196
+ export interface AudioDevice {
197
+ /** Unique identifier for the device */
198
+ id: string;
199
+ /** Human-readable device name */
200
+ name: string;
201
+ /** Whether this is the system default device */
202
+ isDefault: boolean;
203
+ }
204
+ /** Options for AudioRecorder */
205
+ export interface AudioRecorderOptions {
206
+ /** Device ID to record from (default: system default device) */
207
+ device?: string;
208
+ /** Target sample rate in Hz (default: 16000) */
209
+ sampleRate?: number;
210
+ /** Recording backend to use: 'auto', 'sox', 'arecord', 'rec' (default: 'auto') */
211
+ recorder?: "auto" | "sox" | "arecord" | "rec";
212
+ }
213
+ /** Recording state */
214
+ type RecordingState = "idle" | "recording" | "stopping" | "error";
215
+ /**
216
+ * AudioRecorder - Cross-platform audio recording with sample rate conversion
217
+ *
218
+ * Records audio from the system microphone and outputs 16-bit PCM at 16kHz mono.
219
+ * Works on macOS, Linux, and Windows using sox/rec/arecord backends.
220
+ *
221
+ * Prerequisites:
222
+ * - macOS: `brew install sox`
223
+ * - Linux: `sudo apt-get install sox libsox-fmt-all` or `alsa-utils`
224
+ * - Windows: `choco install sox.portable`
225
+ *
226
+ * Usage:
227
+ * ```typescript
228
+ * const recorder = new AudioRecorder({ sampleRate: 16000 })
229
+ *
230
+ * recorder.on('data', (chunk: Buffer) => {
231
+ * // Process 16-bit PCM audio data
232
+ * voiceClient.sendAudio(chunk)
233
+ * })
234
+ *
235
+ * recorder.on('error', (error: Error) => {
236
+ * console.error('Recording error:', error)
237
+ * })
238
+ *
239
+ * await recorder.start()
240
+ *
241
+ * // Later...
242
+ * recorder.stop()
243
+ * ```
244
+ */
245
+ export declare class AudioRecorder extends EventEmitter {
246
+ private state;
247
+ private process;
248
+ private device;
249
+ private targetSampleRate;
250
+ private recorderBackend;
251
+ private currentPlatform;
252
+ private disconnectCheckInterval;
253
+ constructor(options?: AudioRecorderOptions);
254
+ /**
255
+ * List available audio input devices
256
+ *
257
+ * @returns Promise resolving to array of available audio devices
258
+ */
259
+ static listDevices(): Promise<AudioDevice[]>;
260
+ /**
261
+ * List audio devices on macOS using sox
262
+ */
263
+ private static listDevicesMacOS;
264
+ /**
265
+ * List audio devices on Linux using arecord or pactl
266
+ */
267
+ private static listDevicesLinux;
268
+ /**
269
+ * List audio devices on Windows using sox or powershell
270
+ */
271
+ private static listDevicesWindows;
272
+ /**
273
+ * Select the appropriate recorder backend based on platform and availability
274
+ */
275
+ private selectRecorder;
276
+ /**
277
+ * Check if a recorder binary is available
278
+ */
279
+ private isRecorderAvailable;
280
+ /**
281
+ * Check if currently recording
282
+ */
283
+ isRecording(): boolean;
284
+ /**
285
+ * Get current recording state
286
+ */
287
+ getState(): RecordingState;
288
+ /**
289
+ * Start recording audio
290
+ *
291
+ * @throws Error if already recording
292
+ * @throws Error if recorder is not available
293
+ */
294
+ start(): Promise<void>;
295
+ /**
296
+ * Stop recording
297
+ */
298
+ stop(): void;
299
+ /**
300
+ * Build command-line arguments for the recorder
301
+ */
302
+ private buildRecorderArgs;
303
+ /**
304
+ * Start monitoring for device disconnect
305
+ */
306
+ private startDisconnectMonitor;
307
+ /**
308
+ * Stop disconnect monitoring
309
+ */
310
+ private stopDisconnectMonitor;
311
+ /**
312
+ * Handle process end
313
+ */
314
+ private handleProcessEnd;
315
+ /**
316
+ * Handle recording error
317
+ */
318
+ private handleError;
319
+ }
320
+ export declare function listModelsCommand(): Promise<void>;
321
+ export declare function downloadModelCommand(modelName: string, options?: {
322
+ force?: boolean;
323
+ }): Promise<void>;
324
+ export declare function setDefaultModelCommand(modelName: string): Promise<void>;
325
+ export declare function listDevicesCommand(): Promise<void>;
326
+ export declare function voiceTestCommand(options?: {
327
+ device?: string;
328
+ }): Promise<void>;
329
+ export declare function testRecordingCommand(options?: {
330
+ device?: string;
331
+ duration?: number;
332
+ }): Promise<void>;
333
+ type HotkeyMode = "auto" | "tap" | "hold";
334
+ export declare function voiceSetupCommand(): Promise<void>;
335
+ /**
336
+ * Show system recording indicator via desktop notification
337
+ * This provides a visual indicator that recording is active, even when terminal is not visible
338
+ * VS-010/VS-011: Now works on macOS, Linux, and Windows
339
+ * Returns true on success, false on failure
340
+ */
341
+ export declare function showRecordingIndicator(): boolean;
342
+ /**
343
+ * Hide system recording indicator (show stopped notification)
344
+ * VS-010/VS-011: Now works on macOS, Linux, and Windows
345
+ * Returns true on success, false on failure
346
+ */
347
+ export declare function hideRecordingIndicator(reason?: "stopped" | "cancelled" | "completed"): boolean;
348
+ /** Voice recording with VAD options */
349
+ interface VoiceRecordOptions {
350
+ /** Audio device ID */
351
+ device?: string;
352
+ /** Silence threshold in dB (default: -40) */
353
+ silenceThresholdDb?: number;
354
+ /** Silence duration in ms before stopping (default: 1500) */
355
+ silenceDurationMs?: number;
356
+ /** Maximum recording duration in seconds (default: 60) */
357
+ maxDurationSecs?: number;
358
+ }
359
+ /**
360
+ * Voice Slash Command - /voice
361
+ *
362
+ * Records audio with VAD (voice activity detection), transcribes it,
363
+ * and offers to send to Claude Code or copy to clipboard.
364
+ */
365
+ export declare function voiceSlashCommand(options?: VoiceRecordOptions): Promise<void>;
366
+ /**
367
+ * Daemon Start Command - Launch voice hotkey listener in background
368
+ *
369
+ * Spawns a detached child process running the hotkey listener that survives
370
+ * terminal close. PID is stored in ~/.jfl/voice-daemon.pid
371
+ */
372
+ export declare function daemonStartCommand(options?: {
373
+ mode?: HotkeyMode;
374
+ }): Promise<void>;
375
+ /**
376
+ * Daemon Stop Command - Stop the voice daemon gracefully
377
+ *
378
+ * Reads PID from ~/.jfl/voice-daemon.pid and sends SIGTERM
379
+ */
380
+ export declare function daemonStopCommand(): Promise<void>;
381
+ /**
382
+ * Daemon Status Command - Show daemon running status
383
+ *
384
+ * Checks if daemon is running based on PID file and process existence
385
+ */
386
+ export declare function daemonStatusCommand(): Promise<void>;
387
+ /**
388
+ * Hotkey Command - Start global hotkey listener
389
+ *
390
+ * Listens for Ctrl+Shift+Space globally (even when other apps have focus).
391
+ * Supports multiple modes:
392
+ * - auto: Smart detection - tap to toggle, or hold for hold-to-talk
393
+ * - tap: Tap to start/stop recording
394
+ * - hold: Hold to record, release to stop
395
+ * VS-010/VS-011: Supported on macOS, Linux (X11), and Windows.
396
+ * Requires Accessibility permission on macOS. On Linux Wayland, hotkeys are not supported.
397
+ */
398
+ export declare function hotkeyCommand(options?: {
399
+ device?: string;
400
+ mode?: HotkeyMode;
401
+ }): Promise<void>;
402
+ export declare function voiceCommand(action?: string, subaction?: string, arg?: string, options?: {
403
+ force?: boolean;
404
+ device?: string;
405
+ duration?: number;
406
+ help?: boolean;
407
+ mode?: string;
408
+ }): Promise<void>;
409
+ export {};
410
+ //# sourceMappingURL=voice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../src/commands/voice.ts"],"names":[],"mappings":"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"}