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,240 @@
1
+ /**
2
+ * Global CSS - Brand Tokens
3
+ * Generated by Brand Architect Toolkit
4
+ *
5
+ * This file contains your brand's design tokens.
6
+ * Import this in your app and use the CSS custom properties.
7
+ */
8
+
9
+ /* ============================================
10
+ COLOR TOKENS
11
+ ============================================ */
12
+
13
+ :root {
14
+ /* Dark mode (default) */
15
+ --brand-bg: #000000;
16
+ --brand-fg: #FFFFFF;
17
+ --brand-accent: #00ff88;
18
+
19
+ /* Semantic colors */
20
+ --brand-success: var(--brand-accent);
21
+ --brand-error: #ff4444;
22
+ --brand-warning: #ffff00;
23
+ --brand-info: #4488ff;
24
+
25
+ /* Surfaces */
26
+ --brand-surface: #111111;
27
+ --brand-surface-hover: #222222;
28
+ --brand-border: #333333;
29
+
30
+ /* Text */
31
+ --brand-text: var(--brand-fg);
32
+ --brand-text-muted: #888888;
33
+ --brand-text-accent: var(--brand-accent);
34
+ }
35
+
36
+ /* Light mode */
37
+ @media (prefers-color-scheme: light) {
38
+ :root {
39
+ --brand-bg: #FFFFFF;
40
+ --brand-fg: #000000;
41
+ --brand-accent: #006400;
42
+
43
+ --brand-surface: #f5f5f5;
44
+ --brand-surface-hover: #eeeeee;
45
+ --brand-border: #dddddd;
46
+
47
+ --brand-text-muted: #666666;
48
+ }
49
+ }
50
+
51
+ /* Manual light mode class */
52
+ .light {
53
+ --brand-bg: #FFFFFF;
54
+ --brand-fg: #000000;
55
+ --brand-accent: #006400;
56
+
57
+ --brand-surface: #f5f5f5;
58
+ --brand-surface-hover: #eeeeee;
59
+ --brand-border: #dddddd;
60
+
61
+ --brand-text-muted: #666666;
62
+ }
63
+
64
+
65
+ /* ============================================
66
+ TYPOGRAPHY TOKENS
67
+ ============================================ */
68
+
69
+ :root {
70
+ /* Font families */
71
+ --brand-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco,
72
+ Consolas, 'Liberation Mono', 'Courier New', monospace;
73
+ --brand-font-sans: system-ui, -apple-system, BlinkMacSystemFont,
74
+ 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
75
+ --brand-font-serif: Georgia, 'Times New Roman', Times, serif;
76
+
77
+ /* Default font */
78
+ --brand-font: var(--brand-font-mono);
79
+
80
+ /* Font sizes */
81
+ --brand-text-xs: 0.75rem; /* 12px */
82
+ --brand-text-sm: 0.875rem; /* 14px */
83
+ --brand-text-base: 1rem; /* 16px */
84
+ --brand-text-lg: 1.125rem; /* 18px */
85
+ --brand-text-xl: 1.25rem; /* 20px */
86
+ --brand-text-2xl: 1.5rem; /* 24px */
87
+ --brand-text-3xl: 1.875rem; /* 30px */
88
+ --brand-text-4xl: 2.25rem; /* 36px */
89
+
90
+ /* Font weights */
91
+ --brand-font-normal: 400;
92
+ --brand-font-medium: 500;
93
+ --brand-font-semibold: 600;
94
+ --brand-font-bold: 700;
95
+
96
+ /* Line heights */
97
+ --brand-leading-tight: 1.25;
98
+ --brand-leading-normal: 1.5;
99
+ --brand-leading-relaxed: 1.75;
100
+
101
+ /* Letter spacing */
102
+ --brand-tracking-tight: -0.025em;
103
+ --brand-tracking-normal: 0;
104
+ --brand-tracking-wide: 0.025em;
105
+ }
106
+
107
+
108
+ /* ============================================
109
+ SPACING TOKENS
110
+ ============================================ */
111
+
112
+ :root {
113
+ --brand-space-1: 0.25rem; /* 4px */
114
+ --brand-space-2: 0.5rem; /* 8px */
115
+ --brand-space-3: 0.75rem; /* 12px */
116
+ --brand-space-4: 1rem; /* 16px */
117
+ --brand-space-5: 1.25rem; /* 20px */
118
+ --brand-space-6: 1.5rem; /* 24px */
119
+ --brand-space-8: 2rem; /* 32px */
120
+ --brand-space-10: 2.5rem; /* 40px */
121
+ --brand-space-12: 3rem; /* 48px */
122
+ --brand-space-16: 4rem; /* 64px */
123
+ --brand-space-20: 5rem; /* 80px */
124
+ }
125
+
126
+
127
+ /* ============================================
128
+ BORDER RADIUS TOKENS
129
+ ============================================ */
130
+
131
+ :root {
132
+ --brand-radius-none: 0;
133
+ --brand-radius-sm: 0.125rem; /* 2px */
134
+ --brand-radius-md: 0.25rem; /* 4px */
135
+ --brand-radius-lg: 0.5rem; /* 8px */
136
+ --brand-radius-xl: 1rem; /* 16px */
137
+ --brand-radius-full: 9999px;
138
+ }
139
+
140
+
141
+ /* ============================================
142
+ SHADOW TOKENS
143
+ ============================================ */
144
+
145
+ :root {
146
+ --brand-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
147
+ --brand-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
148
+ --brand-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
149
+ --brand-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
150
+ }
151
+
152
+
153
+ /* ============================================
154
+ TRANSITION TOKENS
155
+ ============================================ */
156
+
157
+ :root {
158
+ --brand-transition-fast: 150ms ease;
159
+ --brand-transition-base: 200ms ease;
160
+ --brand-transition-slow: 300ms ease;
161
+ }
162
+
163
+
164
+ /* ============================================
165
+ BASE STYLES
166
+ ============================================ */
167
+
168
+ html {
169
+ font-family: var(--brand-font);
170
+ font-size: var(--brand-text-base);
171
+ line-height: var(--brand-leading-normal);
172
+ color: var(--brand-text);
173
+ background-color: var(--brand-bg);
174
+ }
175
+
176
+ body {
177
+ margin: 0;
178
+ padding: 0;
179
+ }
180
+
181
+ /* Links */
182
+ a {
183
+ color: var(--brand-accent);
184
+ text-decoration: none;
185
+ }
186
+
187
+ a:hover {
188
+ text-decoration: underline;
189
+ }
190
+
191
+ /* Code */
192
+ code, pre {
193
+ font-family: var(--brand-font-mono);
194
+ font-size: var(--brand-text-sm);
195
+ }
196
+
197
+ pre {
198
+ background-color: var(--brand-surface);
199
+ padding: var(--brand-space-4);
200
+ border-radius: var(--brand-radius-md);
201
+ overflow-x: auto;
202
+ }
203
+
204
+ /* Selection */
205
+ ::selection {
206
+ background-color: var(--brand-accent);
207
+ color: var(--brand-bg);
208
+ }
209
+
210
+
211
+ /* ============================================
212
+ UTILITY CLASSES
213
+ ============================================ */
214
+
215
+ /* Text colors */
216
+ .text-accent { color: var(--brand-accent); }
217
+ .text-muted { color: var(--brand-text-muted); }
218
+ .text-success { color: var(--brand-success); }
219
+ .text-error { color: var(--brand-error); }
220
+ .text-warning { color: var(--brand-warning); }
221
+
222
+ /* Background colors */
223
+ .bg-surface { background-color: var(--brand-surface); }
224
+ .bg-accent { background-color: var(--brand-accent); }
225
+
226
+ /* Font weights */
227
+ .font-normal { font-weight: var(--brand-font-normal); }
228
+ .font-medium { font-weight: var(--brand-font-medium); }
229
+ .font-semibold { font-weight: var(--brand-font-semibold); }
230
+ .font-bold { font-weight: var(--brand-font-bold); }
231
+
232
+ /* Text sizes */
233
+ .text-xs { font-size: var(--brand-text-xs); }
234
+ .text-sm { font-size: var(--brand-text-sm); }
235
+ .text-base { font-size: var(--brand-text-base); }
236
+ .text-lg { font-size: var(--brand-text-lg); }
237
+ .text-xl { font-size: var(--brand-text-xl); }
238
+ .text-2xl { font-size: var(--brand-text-2xl); }
239
+ .text-3xl { font-size: var(--brand-text-3xl); }
240
+ .text-4xl { font-size: var(--brand-text-4xl); }
@@ -0,0 +1,74 @@
1
+ # Suggestions - @{name}
2
+
3
+ > This file tracks {name}'s contributions and updates.
4
+ > Claude will update this automatically during conversations.
5
+
6
+ ---
7
+
8
+ ## Profile
9
+
10
+ **Name:** {name}
11
+ **Role:** {their role on the team}
12
+ **Strengths:** {what they're good at - be specific}
13
+ **Availability:** {hours per week}
14
+ **Started:** {date}
15
+ **Last Active:** {date}
16
+
17
+ ---
18
+
19
+ ## Current Tasks
20
+
21
+ | Task | Status | Notes |
22
+ |------|--------|-------|
23
+ | | | |
24
+
25
+ ---
26
+
27
+ ## Session Log
28
+
29
+ <!-- Claude adds entries here after each session -->
30
+
31
+ ### {date}
32
+
33
+ **Worked on:**
34
+ -
35
+
36
+ **Completed:**
37
+ -
38
+
39
+ **Notes:**
40
+ -
41
+
42
+ ---
43
+
44
+ ## CRM Updates (for sync)
45
+
46
+ <!-- Updates captured during conversation, synced by owner -->
47
+
48
+ | Handle | Action | Status | Date | Notes |
49
+ |--------|--------|--------|------|-------|
50
+ | | | | | |
51
+
52
+ ---
53
+
54
+ ## Task Updates (for sync)
55
+
56
+ | Task | Action | Status | Notes |
57
+ |------|--------|--------|-------|
58
+ | | | | |
59
+
60
+ ---
61
+
62
+ ## Ideas & Suggestions
63
+
64
+ <!-- Things they've proposed -->
65
+
66
+ -
67
+
68
+ ---
69
+
70
+ ## Peer Notes
71
+
72
+ <!-- Notes from other team members about this person -->
73
+
74
+ -
@@ -0,0 +1,97 @@
1
+ # CRM
2
+
3
+ > Contact relationship management.
4
+ > This is the master CRM - updated by owner from suggestions files.
5
+
6
+ ---
7
+
8
+ ## Status Key
9
+
10
+ | Status | Meaning |
11
+ |--------|---------|
12
+ | COLD | No contact yet |
13
+ | ENGAGED | Interacting with content |
14
+ | DM_SENT | Reached out, awaiting response |
15
+ | WARM | Responding, interested |
16
+ | HOT | Ready to act/convert |
17
+ | CONVERTED | Done what we wanted |
18
+ | DEAD | Not responding, moved on |
19
+
20
+ ---
21
+
22
+ ## Tier Definitions
23
+
24
+ | Tier | Description | Approval |
25
+ |------|-------------|----------|
26
+ | 0 | VIPs, major partners | Owner only |
27
+ | 1 | Key influencers, strategic | Owner approval |
28
+ | 2 | Mid-tier targets | Team can claim |
29
+ | 3 | General outreach | Anyone |
30
+ | 4 | Inbound, reactive | Anyone |
31
+
32
+ ---
33
+
34
+ ## Contacts
35
+
36
+ ### Tier 0 (VIP)
37
+
38
+ | Handle | Name | Why Important | Status | Owner | Notes |
39
+ |--------|------|---------------|--------|-------|-------|
40
+ | | | | | | |
41
+
42
+ ### Tier 1 (Key)
43
+
44
+ | Handle | Name | Why Important | Status | Owner | Notes |
45
+ |--------|------|---------------|--------|-------|-------|
46
+ | | | | | | |
47
+
48
+ ### Tier 2 (Mid)
49
+
50
+ | Handle | Name | Why Important | Status | Owner | Notes |
51
+ |--------|------|---------------|--------|-------|-------|
52
+ | | | | | | |
53
+
54
+ ### Tier 3-4 (General)
55
+
56
+ | Handle | Why Relevant | Status | Owner | Notes |
57
+ |--------|--------------|--------|-------|-------|
58
+ | | | | | |
59
+
60
+ ---
61
+
62
+ ## Communities
63
+
64
+ | Platform | Name | Status | Notes |
65
+ |----------|------|--------|-------|
66
+ | Discord | | | |
67
+ | Telegram | | | |
68
+ | Reddit | | | |
69
+
70
+ ---
71
+
72
+ ## Outreach Templates
73
+
74
+ ### Cold DM Template
75
+ ```
76
+ {your cold outreach template}
77
+ ```
78
+
79
+ ### Follow-up Template
80
+ ```
81
+ {your follow-up template}
82
+ ```
83
+
84
+ ### Warm Intro Request
85
+ ```
86
+ {template for asking for intros}
87
+ ```
88
+
89
+ ---
90
+
91
+ ## Update Log
92
+
93
+ <!-- Recent changes -->
94
+
95
+ | Date | Change | By |
96
+ |------|--------|-----|
97
+ | | | |
@@ -0,0 +1,83 @@
1
+ # Tasks
2
+
3
+ > Master task list for the campaign.
4
+ > Updates flow from suggestions files.
5
+
6
+ ---
7
+
8
+ ## Current Phase
9
+
10
+ **Phase:** {phase name}
11
+ **Focus:** {what this phase is about}
12
+ **Ends:** {date}
13
+
14
+ ---
15
+
16
+ ## This Week
17
+
18
+ ### Priority Tasks
19
+
20
+ | Task | Owner | Status | Due |
21
+ |------|-------|--------|-----|
22
+ | | | | |
23
+
24
+ ### Key Outcomes
25
+ - [ ] {outcome 1}
26
+ - [ ] {outcome 2}
27
+ - [ ] {outcome 3}
28
+
29
+ ---
30
+
31
+ ## By Area
32
+
33
+ ### Marketing
34
+
35
+ | Task | Owner | Status | Notes |
36
+ |------|-------|--------|-------|
37
+ | | | | |
38
+
39
+ ### Content
40
+
41
+ | Task | Owner | Status | Notes |
42
+ |------|-------|--------|-------|
43
+ | | | | |
44
+
45
+ ### Product/Tech
46
+
47
+ | Task | Owner | Status | Notes |
48
+ |------|-------|--------|-------|
49
+ | | | | |
50
+
51
+ ### Design
52
+
53
+ | Task | Owner | Status | Notes |
54
+ |------|-------|--------|-------|
55
+ | | | | |
56
+
57
+ ---
58
+
59
+ ## Backlog
60
+
61
+ <!-- Tasks for future phases -->
62
+
63
+ | Task | Phase | Notes |
64
+ |------|-------|-------|
65
+ | | | |
66
+
67
+ ---
68
+
69
+ ## Blocked
70
+
71
+ | Task | Blocker | Owner |
72
+ |------|---------|-------|
73
+ | | | |
74
+
75
+ ---
76
+
77
+ ## Completed
78
+
79
+ <!-- Recently completed for reference -->
80
+
81
+ | Task | Completed | By |
82
+ |------|-----------|-----|
83
+ | | | |
@@ -0,0 +1,114 @@
1
+ # Narrative
2
+
3
+ > Copy to `knowledge/NARRATIVE.md` and fill out.
4
+ > How you tell the story - from elevator pitch to deep dive.
5
+
6
+ ---
7
+
8
+ ## The Narrative Stack
9
+
10
+ Different depths for different contexts:
11
+
12
+ ### 1. Tagline (5 words)
13
+ <!-- The bumper sticker -->
14
+
15
+
16
+ ### 2. Tweet (280 chars)
17
+ <!-- One tweet explanation -->
18
+
19
+
20
+ ### 3. Elevator Pitch (30 seconds)
21
+ <!-- Verbal explanation to a stranger -->
22
+
23
+
24
+ ### 4. One-Pager (2 minutes read)
25
+ <!-- Written overview with key points -->
26
+
27
+
28
+ ### 5. Full Story (10 minutes)
29
+ <!-- Complete narrative arc -->
30
+
31
+
32
+ ---
33
+
34
+ ## Story Arc
35
+
36
+ ### The Setup (Problem)
37
+ <!-- Set the stage - what's wrong with the world? -->
38
+
39
+
40
+ ### The Shift (Insight)
41
+ <!-- The key realization that changes everything -->
42
+
43
+
44
+ ### The Solution (Product)
45
+ <!-- How you address the problem with this insight -->
46
+
47
+
48
+ ### The Stakes (Why Now)
49
+ <!-- Why this matters now, what happens if we don't act -->
50
+
51
+
52
+ ### The Invitation (CTA)
53
+ <!-- What you want them to do -->
54
+
55
+
56
+ ---
57
+
58
+ ## Audience-Specific Narratives
59
+
60
+ ### For Developers
61
+ <!-- Technical angle, implementation focus -->
62
+
63
+
64
+ ### For Business/Investors
65
+ <!-- Value creation, market opportunity -->
66
+
67
+
68
+ ### For End Users
69
+ <!-- Benefits, outcomes, simplicity -->
70
+
71
+
72
+ ### For Media
73
+ <!-- Newsworthy angle, trend connection -->
74
+
75
+
76
+ ---
77
+
78
+ ## Key Messages
79
+
80
+ ### Must Always Say
81
+ <!-- Core truths that must be in every communication -->
82
+ -
83
+ -
84
+ -
85
+
86
+ ### Never Say
87
+ <!-- Things to avoid -->
88
+ -
89
+ -
90
+ -
91
+
92
+ ### Proof Points
93
+ <!-- Evidence that backs up claims -->
94
+ -
95
+ -
96
+ -
97
+
98
+ ---
99
+
100
+ ## Analogies That Work
101
+
102
+ | Concept | Analogy |
103
+ |---------|---------|
104
+ | {your concept} | "It's like {familiar thing} for {new context}" |
105
+
106
+ ---
107
+
108
+ ## Objections & Responses
109
+
110
+ | Objection | Response |
111
+ |-----------|----------|
112
+ | "Why not just..." | {response} |
113
+ | "Isn't this like..." | {response} |
114
+ | "What about..." | {response} |
@@ -0,0 +1,128 @@
1
+ # Roadmap
2
+
3
+ > Copy to `knowledge/ROADMAP.md` and fill out.
4
+ > What ships when.
5
+
6
+ ---
7
+
8
+ ## Launch Date
9
+
10
+ **Target:** {date}
11
+
12
+ **What's shipping:**
13
+ <!-- The core deliverables for launch -->
14
+ -
15
+ -
16
+ -
17
+
18
+ ---
19
+
20
+ ## Current Phase
21
+
22
+ ```
23
+ [ ] Phase 1: {name}
24
+ └─ {description}
25
+
26
+ [ ] Phase 2: {name}
27
+ └─ {description}
28
+
29
+ [ ] Phase 3: {name}
30
+ └─ {description}
31
+
32
+ [ ] Launch
33
+ └─ {what launch means}
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Milestones
39
+
40
+ ### Pre-Launch
41
+
42
+ | Week | Focus | Deliverables |
43
+ |------|-------|--------------|
44
+ | -4 | | |
45
+ | -3 | | |
46
+ | -2 | | |
47
+ | -1 | | |
48
+
49
+ ### Launch Week
50
+
51
+ | Day | Activity |
52
+ |-----|----------|
53
+ | Mon | |
54
+ | Tue | |
55
+ | Wed | |
56
+ | Thu | |
57
+ | Fri | |
58
+
59
+ ### Post-Launch
60
+
61
+ | Week | Focus |
62
+ |------|-------|
63
+ | +1 | |
64
+ | +2 | |
65
+ | +4 | |
66
+
67
+ ---
68
+
69
+ ## Dependencies
70
+
71
+ ### Blockers
72
+ <!-- What must happen before we can proceed -->
73
+ -
74
+
75
+ ### External Dependencies
76
+ <!-- Things outside our control -->
77
+ -
78
+
79
+ ### Internal Dependencies
80
+ <!-- Things we need to complete first -->
81
+ -
82
+
83
+ ---
84
+
85
+ ## Success Metrics
86
+
87
+ ### Launch Day Goals
88
+ | Metric | Target |
89
+ |--------|--------|
90
+ | | |
91
+ | | |
92
+ | | |
93
+
94
+ ### 30-Day Goals
95
+ | Metric | Target |
96
+ |--------|--------|
97
+ | | |
98
+ | | |
99
+
100
+ ### 90-Day Goals
101
+ | Metric | Target |
102
+ |--------|--------|
103
+ | | |
104
+ | | |
105
+
106
+ ---
107
+
108
+ ## Team Assignments
109
+
110
+ | Area | Owner | Status |
111
+ |------|-------|--------|
112
+ | Product | | |
113
+ | Marketing | | |
114
+ | Content | | |
115
+ | Design | | |
116
+ | Dev | | |
117
+
118
+ ---
119
+
120
+ ## Updates Log
121
+
122
+ <!-- Reverse chronological - newest first -->
123
+
124
+ ### {date}
125
+ - {update}
126
+
127
+ ### {date}
128
+ - {update}