codexkit 1.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 (655) hide show
  1. package/.codex/.env.example +27 -0
  2. package/.codex/.template-manifest.json +631 -0
  3. package/.codex/.version +1 -0
  4. package/.codex/agents/builder.toml +104 -0
  5. package/.codex/agents/debugger.toml +67 -0
  6. package/.codex/agents/general.toml +41 -0
  7. package/.codex/agents/painter.toml +40 -0
  8. package/.codex/agents/planner.toml +60 -0
  9. package/.codex/agents/refactorer.toml +76 -0
  10. package/.codex/agents/reviewer.toml +60 -0
  11. package/.codex/agents/runner.toml +40 -0
  12. package/.codex/agents/scout.toml +133 -0
  13. package/.codex/agents/shipper.toml +69 -0
  14. package/.codex/agents/vision.toml +69 -0
  15. package/.codex/config.toml +146 -0
  16. package/.codex/context/architecture.md +66 -0
  17. package/.codex/context/conventions.md +98 -0
  18. package/.codex/context/current-priorities.md +33 -0
  19. package/.codex/context/decision-log.md +93 -0
  20. package/.codex/context/gotchas.md +42 -0
  21. package/.codex/context/index.md +21 -0
  22. package/.codex/context/session-context.md +11 -0
  23. package/.codex/context/worklog.md +9 -0
  24. package/.codex/hooks/README.md +17 -0
  25. package/.codex/hooks/after_agent.sh +11 -0
  26. package/.codex/hooks/after_tool_use.sh +10 -0
  27. package/.codex/hooks/post_commit.sh +10 -0
  28. package/.codex/hooks/pre_commit.sh +6 -0
  29. package/.codex/hooks/session_start.sh +18 -0
  30. package/.codex/hooks/stop.sh +10 -0
  31. package/.codex/mcp/README.md +143 -0
  32. package/.codex/mcp/basic-memory.toml.example +10 -0
  33. package/.codex/mcp/context7.toml.example +13 -0
  34. package/.codex/mcp/exa.toml.example +12 -0
  35. package/.codex/mcp/memory-bridge.toml.example +15 -0
  36. package/.codex/mcp/memory.toml.example +6 -0
  37. package/.codex/mcp/ref.toml.example +13 -0
  38. package/.codex/mcp/tilth.toml.example +10 -0
  39. package/.codex/memory/README.md +29 -0
  40. package/.codex/memory/_templates/README.md +26 -0
  41. package/.codex/memory/_templates/design.md +15 -0
  42. package/.codex/memory/_templates/gotcha.md +9 -0
  43. package/.codex/memory/_templates/handoff.md +9 -0
  44. package/.codex/memory/_templates/prd.md +13 -0
  45. package/.codex/memory/_templates/project.md +9 -0
  46. package/.codex/memory/_templates/proposal.md +13 -0
  47. package/.codex/memory/_templates/research.md +9 -0
  48. package/.codex/memory/_templates/roadmap.md +11 -0
  49. package/.codex/memory/_templates/session-context.md +7 -0
  50. package/.codex/memory/_templates/state.md +11 -0
  51. package/.codex/memory/_templates/tasks.md +9 -0
  52. package/.codex/memory/_templates/tech-stack.md +9 -0
  53. package/.codex/memory/_templates/user.md +7 -0
  54. package/.codex/memory/project/gotchas.md +5 -0
  55. package/.codex/memory/project/project.md +12 -0
  56. package/.codex/memory/project/roadmap.md +15 -0
  57. package/.codex/memory/project/state.md +22 -0
  58. package/.codex/memory/project/tech-stack.md +19 -0
  59. package/.codex/memory/project/user.md +10 -0
  60. package/.codex/memory/research/.gitkeep +1 -0
  61. package/.codex/memory/session-context.md +18 -0
  62. package/.codex/plans/README.md +7 -0
  63. package/.codex/prompts/compound.md +154 -0
  64. package/.codex/prompts/create.md +238 -0
  65. package/.codex/prompts/design.md +90 -0
  66. package/.codex/prompts/handoff.md +184 -0
  67. package/.codex/prompts/init-context.md +185 -0
  68. package/.codex/prompts/init-user.md +93 -0
  69. package/.codex/prompts/init.md +103 -0
  70. package/.codex/prompts/lfg.md +140 -0
  71. package/.codex/prompts/plan.md +140 -0
  72. package/.codex/prompts/pr.md +150 -0
  73. package/.codex/prompts/research.md +137 -0
  74. package/.codex/prompts/resume.md +105 -0
  75. package/.codex/prompts/review-codebase.md +147 -0
  76. package/.codex/prompts/ship.md +334 -0
  77. package/.codex/prompts/start.md +141 -0
  78. package/.codex/prompts/status.md +102 -0
  79. package/.codex/prompts/ui-inspire.md +151 -0
  80. package/.codex/prompts/ui-review.md +86 -0
  81. package/.codex/prompts/verify.md +181 -0
  82. package/.codex/scripts/append_worklog.sh +20 -0
  83. package/.codex/scripts/apply_worklog_archive.sh +48 -0
  84. package/.codex/scripts/audit_memory_hygiene.sh +102 -0
  85. package/.codex/scripts/build_memory_index.sh +167 -0
  86. package/.codex/scripts/build_prior_related_work.sh +127 -0
  87. package/.codex/scripts/build_startup_brief.sh +52 -0
  88. package/.codex/scripts/close_bead.sh +103 -0
  89. package/.codex/scripts/detect_changed_files.sh +38 -0
  90. package/.codex/scripts/ensure_beads.sh +14 -0
  91. package/.codex/scripts/memory_search.sh +292 -0
  92. package/.codex/scripts/prepare_worklog_archive.sh +115 -0
  93. package/.codex/scripts/search_bead_context.sh +214 -0
  94. package/.codex/scripts/start_bead.sh +129 -0
  95. package/.codex/scripts/sync_bead_context.sh +288 -0
  96. package/.codex/scripts/validate_memory_docs.sh +44 -0
  97. package/.codex/scripts/verify_bead.sh +154 -0
  98. package/.codex/skills/accessibility-audit/SKILL.md +191 -0
  99. package/.codex/skills/agent-browser/SKILL.md +413 -0
  100. package/.codex/skills/agent-teams/SKILL.md +268 -0
  101. package/.codex/skills/augment-context-engine/SKILL.md +115 -0
  102. package/.codex/skills/augment-context-engine/mcp.json +6 -0
  103. package/.codex/skills/beads/SKILL.md +181 -0
  104. package/.codex/skills/beads/references/BEST_PRACTICES.md +27 -0
  105. package/.codex/skills/beads/references/BOUNDARIES.md +219 -0
  106. package/.codex/skills/beads/references/DEPENDENCIES.md +124 -0
  107. package/.codex/skills/beads/references/EXAMPLES.md +45 -0
  108. package/.codex/skills/beads/references/FILE_CLAIMING.md +101 -0
  109. package/.codex/skills/beads/references/GIT_SYNC.md +25 -0
  110. package/.codex/skills/beads/references/HIERARCHY.md +71 -0
  111. package/.codex/skills/beads/references/MULTI_AGENT.md +40 -0
  112. package/.codex/skills/beads/references/RESUMABILITY.md +177 -0
  113. package/.codex/skills/beads/references/SESSION_PROTOCOL.md +61 -0
  114. package/.codex/skills/beads/references/TASK_CREATION.md +38 -0
  115. package/.codex/skills/beads/references/TROUBLESHOOTING.md +38 -0
  116. package/.codex/skills/beads/references/WORKFLOWS.md +226 -0
  117. package/.codex/skills/beads-bridge/SKILL.md +321 -0
  118. package/.codex/skills/brainstorming/SKILL.md +114 -0
  119. package/.codex/skills/bug-triage/SKILL.md +191 -0
  120. package/.codex/skills/chrome-devtools/SKILL.md +76 -0
  121. package/.codex/skills/chrome-devtools/mcp.json +19 -0
  122. package/.codex/skills/cloudflare/SKILL.md +253 -0
  123. package/.codex/skills/cloudflare/references/agents-sdk/README.md +35 -0
  124. package/.codex/skills/cloudflare/references/agents-sdk/api.md +100 -0
  125. package/.codex/skills/cloudflare/references/agents-sdk/configuration.md +99 -0
  126. package/.codex/skills/cloudflare/references/agents-sdk/gotchas.md +59 -0
  127. package/.codex/skills/cloudflare/references/agents-sdk/patterns.md +89 -0
  128. package/.codex/skills/cloudflare/references/ai-gateway/README.md +695 -0
  129. package/.codex/skills/cloudflare/references/ai-search/README.md +14 -0
  130. package/.codex/skills/cloudflare/references/ai-search/api.md +38 -0
  131. package/.codex/skills/cloudflare/references/ai-search/configuration.md +52 -0
  132. package/.codex/skills/cloudflare/references/ai-search/gotchas.md +41 -0
  133. package/.codex/skills/cloudflare/references/ai-search/patterns.md +45 -0
  134. package/.codex/skills/cloudflare/references/analytics-engine/README.md +14 -0
  135. package/.codex/skills/cloudflare/references/analytics-engine/api.md +27 -0
  136. package/.codex/skills/cloudflare/references/analytics-engine/configuration.md +45 -0
  137. package/.codex/skills/cloudflare/references/analytics-engine/gotchas.md +3 -0
  138. package/.codex/skills/cloudflare/references/analytics-engine/patterns.md +36 -0
  139. package/.codex/skills/cloudflare/references/api/README.md +21 -0
  140. package/.codex/skills/cloudflare/references/api/api.md +31 -0
  141. package/.codex/skills/cloudflare/references/api/configuration.md +20 -0
  142. package/.codex/skills/cloudflare/references/api/gotchas.md +28 -0
  143. package/.codex/skills/cloudflare/references/api/patterns.md +47 -0
  144. package/.codex/skills/cloudflare/references/api-shield/README.md +20 -0
  145. package/.codex/skills/cloudflare/references/api-shield/api.md +78 -0
  146. package/.codex/skills/cloudflare/references/api-shield/configuration.md +128 -0
  147. package/.codex/skills/cloudflare/references/api-shield/gotchas.md +51 -0
  148. package/.codex/skills/cloudflare/references/api-shield/patterns.md +145 -0
  149. package/.codex/skills/cloudflare/references/argo-smart-routing/README.md +16 -0
  150. package/.codex/skills/cloudflare/references/argo-smart-routing/api.md +50 -0
  151. package/.codex/skills/cloudflare/references/argo-smart-routing/configuration.md +53 -0
  152. package/.codex/skills/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
  153. package/.codex/skills/cloudflare/references/argo-smart-routing/patterns.md +45 -0
  154. package/.codex/skills/cloudflare/references/bindings/README.md +14 -0
  155. package/.codex/skills/cloudflare/references/bindings/api.md +3 -0
  156. package/.codex/skills/cloudflare/references/bindings/configuration.md +58 -0
  157. package/.codex/skills/cloudflare/references/bindings/gotchas.md +35 -0
  158. package/.codex/skills/cloudflare/references/bindings/patterns.md +37 -0
  159. package/.codex/skills/cloudflare/references/bot-management/README.md +71 -0
  160. package/.codex/skills/cloudflare/references/bot-management/api.md +168 -0
  161. package/.codex/skills/cloudflare/references/bot-management/configuration.md +114 -0
  162. package/.codex/skills/cloudflare/references/bot-management/gotchas.md +99 -0
  163. package/.codex/skills/cloudflare/references/bot-management/patterns.md +125 -0
  164. package/.codex/skills/cloudflare/references/browser-rendering/README.md +16 -0
  165. package/.codex/skills/cloudflare/references/browser-rendering/api.md +54 -0
  166. package/.codex/skills/cloudflare/references/browser-rendering/configuration.md +47 -0
  167. package/.codex/skills/cloudflare/references/browser-rendering/gotchas.md +29 -0
  168. package/.codex/skills/cloudflare/references/browser-rendering/patterns.md +29 -0
  169. package/.codex/skills/cloudflare/references/c3/README.md +264 -0
  170. package/.codex/skills/cloudflare/references/cache-reserve/README.md +93 -0
  171. package/.codex/skills/cloudflare/references/cache-reserve/api.md +176 -0
  172. package/.codex/skills/cloudflare/references/cache-reserve/configuration.md +164 -0
  173. package/.codex/skills/cloudflare/references/cache-reserve/gotchas.md +203 -0
  174. package/.codex/skills/cloudflare/references/cache-reserve/patterns.md +180 -0
  175. package/.codex/skills/cloudflare/references/containers/README.md +16 -0
  176. package/.codex/skills/cloudflare/references/containers/api.md +43 -0
  177. package/.codex/skills/cloudflare/references/containers/configuration.md +56 -0
  178. package/.codex/skills/cloudflare/references/containers/gotchas.md +21 -0
  179. package/.codex/skills/cloudflare/references/containers/patterns.md +40 -0
  180. package/.codex/skills/cloudflare/references/cron-triggers/README.md +85 -0
  181. package/.codex/skills/cloudflare/references/cron-triggers/api.md +198 -0
  182. package/.codex/skills/cloudflare/references/cron-triggers/configuration.md +151 -0
  183. package/.codex/skills/cloudflare/references/cron-triggers/gotchas.md +129 -0
  184. package/.codex/skills/cloudflare/references/cron-triggers/patterns.md +122 -0
  185. package/.codex/skills/cloudflare/references/d1/README.md +92 -0
  186. package/.codex/skills/cloudflare/references/d1/api.md +141 -0
  187. package/.codex/skills/cloudflare/references/d1/configuration.md +127 -0
  188. package/.codex/skills/cloudflare/references/d1/gotchas.md +70 -0
  189. package/.codex/skills/cloudflare/references/d1/patterns.md +144 -0
  190. package/.codex/skills/cloudflare/references/ddos/README.md +34 -0
  191. package/.codex/skills/cloudflare/references/ddos/api.md +136 -0
  192. package/.codex/skills/cloudflare/references/ddos/configuration.md +67 -0
  193. package/.codex/skills/cloudflare/references/ddos/gotchas.md +114 -0
  194. package/.codex/skills/cloudflare/references/ddos/patterns.md +158 -0
  195. package/.codex/skills/cloudflare/references/do-storage/README.md +62 -0
  196. package/.codex/skills/cloudflare/references/do-storage/api.md +89 -0
  197. package/.codex/skills/cloudflare/references/do-storage/configuration.md +116 -0
  198. package/.codex/skills/cloudflare/references/do-storage/gotchas.md +93 -0
  199. package/.codex/skills/cloudflare/references/do-storage/patterns.md +112 -0
  200. package/.codex/skills/cloudflare/references/durable-objects/README.md +125 -0
  201. package/.codex/skills/cloudflare/references/durable-objects/api.md +152 -0
  202. package/.codex/skills/cloudflare/references/durable-objects/configuration.md +148 -0
  203. package/.codex/skills/cloudflare/references/durable-objects/gotchas.md +158 -0
  204. package/.codex/skills/cloudflare/references/durable-objects/patterns.md +255 -0
  205. package/.codex/skills/cloudflare/references/email-routing/README.md +18 -0
  206. package/.codex/skills/cloudflare/references/email-routing/api.md +46 -0
  207. package/.codex/skills/cloudflare/references/email-routing/configuration.md +63 -0
  208. package/.codex/skills/cloudflare/references/email-routing/gotchas.md +16 -0
  209. package/.codex/skills/cloudflare/references/email-routing/patterns.md +46 -0
  210. package/.codex/skills/cloudflare/references/email-workers/README.md +598 -0
  211. package/.codex/skills/cloudflare/references/hyperdrive/README.md +62 -0
  212. package/.codex/skills/cloudflare/references/hyperdrive/api.md +137 -0
  213. package/.codex/skills/cloudflare/references/hyperdrive/configuration.md +133 -0
  214. package/.codex/skills/cloudflare/references/hyperdrive/gotchas.md +184 -0
  215. package/.codex/skills/cloudflare/references/hyperdrive/patterns.md +176 -0
  216. package/.codex/skills/cloudflare/references/images/README.md +14 -0
  217. package/.codex/skills/cloudflare/references/images/api.md +3 -0
  218. package/.codex/skills/cloudflare/references/images/configuration.md +45 -0
  219. package/.codex/skills/cloudflare/references/images/gotchas.md +23 -0
  220. package/.codex/skills/cloudflare/references/images/patterns.md +31 -0
  221. package/.codex/skills/cloudflare/references/kv/README.md +60 -0
  222. package/.codex/skills/cloudflare/references/kv/api.md +114 -0
  223. package/.codex/skills/cloudflare/references/kv/configuration.md +92 -0
  224. package/.codex/skills/cloudflare/references/kv/gotchas.md +117 -0
  225. package/.codex/skills/cloudflare/references/kv/patterns.md +139 -0
  226. package/.codex/skills/cloudflare/references/miniflare/README.md +64 -0
  227. package/.codex/skills/cloudflare/references/miniflare/api.md +144 -0
  228. package/.codex/skills/cloudflare/references/miniflare/configuration.md +203 -0
  229. package/.codex/skills/cloudflare/references/miniflare/gotchas.md +187 -0
  230. package/.codex/skills/cloudflare/references/miniflare/patterns.md +211 -0
  231. package/.codex/skills/cloudflare/references/network-interconnect/README.md +60 -0
  232. package/.codex/skills/cloudflare/references/network-interconnect/api.md +240 -0
  233. package/.codex/skills/cloudflare/references/network-interconnect/configuration.md +127 -0
  234. package/.codex/skills/cloudflare/references/network-interconnect/gotchas.md +171 -0
  235. package/.codex/skills/cloudflare/references/network-interconnect/patterns.md +171 -0
  236. package/.codex/skills/cloudflare/references/observability/README.md +18 -0
  237. package/.codex/skills/cloudflare/references/observability/api.md +51 -0
  238. package/.codex/skills/cloudflare/references/observability/configuration.md +60 -0
  239. package/.codex/skills/cloudflare/references/observability/gotchas.md +36 -0
  240. package/.codex/skills/cloudflare/references/observability/patterns.md +42 -0
  241. package/.codex/skills/cloudflare/references/pages/README.md +76 -0
  242. package/.codex/skills/cloudflare/references/pages/api.md +200 -0
  243. package/.codex/skills/cloudflare/references/pages/configuration.md +228 -0
  244. package/.codex/skills/cloudflare/references/pages/gotchas.md +161 -0
  245. package/.codex/skills/cloudflare/references/pages/patterns.md +145 -0
  246. package/.codex/skills/cloudflare/references/pages-functions/README.md +57 -0
  247. package/.codex/skills/cloudflare/references/pages-functions/api.md +201 -0
  248. package/.codex/skills/cloudflare/references/pages-functions/configuration.md +159 -0
  249. package/.codex/skills/cloudflare/references/pages-functions/gotchas.md +151 -0
  250. package/.codex/skills/cloudflare/references/pages-functions/patterns.md +190 -0
  251. package/.codex/skills/cloudflare/references/pipelines/README.md +664 -0
  252. package/.codex/skills/cloudflare/references/pulumi/README.md +107 -0
  253. package/.codex/skills/cloudflare/references/pulumi/api.md +194 -0
  254. package/.codex/skills/cloudflare/references/pulumi/configuration.md +216 -0
  255. package/.codex/skills/cloudflare/references/pulumi/gotchas.md +223 -0
  256. package/.codex/skills/cloudflare/references/pulumi/patterns.md +139 -0
  257. package/.codex/skills/cloudflare/references/queues/README.md +69 -0
  258. package/.codex/skills/cloudflare/references/queues/api.md +138 -0
  259. package/.codex/skills/cloudflare/references/queues/configuration.md +125 -0
  260. package/.codex/skills/cloudflare/references/queues/gotchas.md +112 -0
  261. package/.codex/skills/cloudflare/references/queues/patterns.md +155 -0
  262. package/.codex/skills/cloudflare/references/r2/README.md +61 -0
  263. package/.codex/skills/cloudflare/references/r2/api.md +127 -0
  264. package/.codex/skills/cloudflare/references/r2/configuration.md +76 -0
  265. package/.codex/skills/cloudflare/references/r2/gotchas.md +94 -0
  266. package/.codex/skills/cloudflare/references/r2/patterns.md +127 -0
  267. package/.codex/skills/cloudflare/references/r2-data-catalog/README.md +18 -0
  268. package/.codex/skills/cloudflare/references/r2-data-catalog/api.md +29 -0
  269. package/.codex/skills/cloudflare/references/r2-data-catalog/configuration.md +39 -0
  270. package/.codex/skills/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
  271. package/.codex/skills/cloudflare/references/r2-data-catalog/patterns.md +46 -0
  272. package/.codex/skills/cloudflare/references/r2-sql/README.md +512 -0
  273. package/.codex/skills/cloudflare/references/realtime-sfu/README.md +21 -0
  274. package/.codex/skills/cloudflare/references/realtime-sfu/api.md +135 -0
  275. package/.codex/skills/cloudflare/references/realtime-sfu/configuration.md +63 -0
  276. package/.codex/skills/cloudflare/references/realtime-sfu/gotchas.md +75 -0
  277. package/.codex/skills/cloudflare/references/realtime-sfu/patterns.md +102 -0
  278. package/.codex/skills/cloudflare/references/realtimekit/README.md +81 -0
  279. package/.codex/skills/cloudflare/references/realtimekit/api.md +164 -0
  280. package/.codex/skills/cloudflare/references/realtimekit/configuration.md +147 -0
  281. package/.codex/skills/cloudflare/references/realtimekit/gotchas.md +172 -0
  282. package/.codex/skills/cloudflare/references/realtimekit/patterns.md +155 -0
  283. package/.codex/skills/cloudflare/references/sandbox/README.md +90 -0
  284. package/.codex/skills/cloudflare/references/sandbox/api.md +178 -0
  285. package/.codex/skills/cloudflare/references/sandbox/configuration.md +131 -0
  286. package/.codex/skills/cloudflare/references/sandbox/gotchas.md +156 -0
  287. package/.codex/skills/cloudflare/references/sandbox/patterns.md +203 -0
  288. package/.codex/skills/cloudflare/references/secrets-store/README.md +58 -0
  289. package/.codex/skills/cloudflare/references/secrets-store/api.md +182 -0
  290. package/.codex/skills/cloudflare/references/secrets-store/configuration.md +140 -0
  291. package/.codex/skills/cloudflare/references/secrets-store/gotchas.md +129 -0
  292. package/.codex/skills/cloudflare/references/secrets-store/patterns.md +218 -0
  293. package/.codex/skills/cloudflare/references/smart-placement/README.md +91 -0
  294. package/.codex/skills/cloudflare/references/smart-placement/api.md +139 -0
  295. package/.codex/skills/cloudflare/references/smart-placement/configuration.md +129 -0
  296. package/.codex/skills/cloudflare/references/smart-placement/gotchas.md +87 -0
  297. package/.codex/skills/cloudflare/references/smart-placement/patterns.md +135 -0
  298. package/.codex/skills/cloudflare/references/snippets/README.md +15 -0
  299. package/.codex/skills/cloudflare/references/snippets/api.md +47 -0
  300. package/.codex/skills/cloudflare/references/snippets/configuration.md +33 -0
  301. package/.codex/skills/cloudflare/references/snippets/gotchas.md +21 -0
  302. package/.codex/skills/cloudflare/references/snippets/patterns.md +34 -0
  303. package/.codex/skills/cloudflare/references/spectrum/README.md +16 -0
  304. package/.codex/skills/cloudflare/references/spectrum/api.md +24 -0
  305. package/.codex/skills/cloudflare/references/spectrum/configuration.md +43 -0
  306. package/.codex/skills/cloudflare/references/spectrum/gotchas.md +42 -0
  307. package/.codex/skills/cloudflare/references/spectrum/patterns.md +40 -0
  308. package/.codex/skills/cloudflare/references/static-assets/README.md +14 -0
  309. package/.codex/skills/cloudflare/references/static-assets/api.md +3 -0
  310. package/.codex/skills/cloudflare/references/static-assets/configuration.md +47 -0
  311. package/.codex/skills/cloudflare/references/static-assets/gotchas.md +44 -0
  312. package/.codex/skills/cloudflare/references/static-assets/patterns.md +42 -0
  313. package/.codex/skills/cloudflare/references/stream/README.md +103 -0
  314. package/.codex/skills/cloudflare/references/stream/api.md +204 -0
  315. package/.codex/skills/cloudflare/references/stream/configuration.md +127 -0
  316. package/.codex/skills/cloudflare/references/stream/gotchas.md +131 -0
  317. package/.codex/skills/cloudflare/references/stream/patterns.md +152 -0
  318. package/.codex/skills/cloudflare/references/tail-workers/README.md +640 -0
  319. package/.codex/skills/cloudflare/references/terraform/README.md +76 -0
  320. package/.codex/skills/cloudflare/references/terraform/api.md +159 -0
  321. package/.codex/skills/cloudflare/references/terraform/configuration.md +156 -0
  322. package/.codex/skills/cloudflare/references/terraform/gotchas.md +207 -0
  323. package/.codex/skills/cloudflare/references/terraform/patterns.md +135 -0
  324. package/.codex/skills/cloudflare/references/tunnel/README.md +82 -0
  325. package/.codex/skills/cloudflare/references/tunnel/api.md +105 -0
  326. package/.codex/skills/cloudflare/references/tunnel/configuration.md +113 -0
  327. package/.codex/skills/cloudflare/references/tunnel/gotchas.md +115 -0
  328. package/.codex/skills/cloudflare/references/tunnel/patterns.md +157 -0
  329. package/.codex/skills/cloudflare/references/turn/README.md +699 -0
  330. package/.codex/skills/cloudflare/references/turnstile/README.md +14 -0
  331. package/.codex/skills/cloudflare/references/turnstile/api.md +3 -0
  332. package/.codex/skills/cloudflare/references/turnstile/configuration.md +19 -0
  333. package/.codex/skills/cloudflare/references/turnstile/gotchas.md +27 -0
  334. package/.codex/skills/cloudflare/references/turnstile/patterns.md +41 -0
  335. package/.codex/skills/cloudflare/references/vectorize/README.md +682 -0
  336. package/.codex/skills/cloudflare/references/waf/README.md +14 -0
  337. package/.codex/skills/cloudflare/references/waf/api.md +3 -0
  338. package/.codex/skills/cloudflare/references/waf/configuration.md +44 -0
  339. package/.codex/skills/cloudflare/references/waf/gotchas.md +24 -0
  340. package/.codex/skills/cloudflare/references/waf/patterns.md +29 -0
  341. package/.codex/skills/cloudflare/references/web-analytics/README.md +19 -0
  342. package/.codex/skills/cloudflare/references/web-analytics/api.md +52 -0
  343. package/.codex/skills/cloudflare/references/web-analytics/configuration.md +31 -0
  344. package/.codex/skills/cloudflare/references/web-analytics/gotchas.md +28 -0
  345. package/.codex/skills/cloudflare/references/web-analytics/patterns.md +52 -0
  346. package/.codex/skills/cloudflare/references/workerd/README.md +47 -0
  347. package/.codex/skills/cloudflare/references/workerd/api.md +199 -0
  348. package/.codex/skills/cloudflare/references/workerd/configuration.md +185 -0
  349. package/.codex/skills/cloudflare/references/workerd/gotchas.md +203 -0
  350. package/.codex/skills/cloudflare/references/workerd/patterns.md +216 -0
  351. package/.codex/skills/cloudflare/references/workers/README.md +96 -0
  352. package/.codex/skills/cloudflare/references/workers/api.md +137 -0
  353. package/.codex/skills/cloudflare/references/workers/configuration.md +147 -0
  354. package/.codex/skills/cloudflare/references/workers/gotchas.md +99 -0
  355. package/.codex/skills/cloudflare/references/workers/patterns.md +149 -0
  356. package/.codex/skills/cloudflare/references/workers-ai/README.md +116 -0
  357. package/.codex/skills/cloudflare/references/workers-for-platforms/README.md +48 -0
  358. package/.codex/skills/cloudflare/references/workers-for-platforms/api.md +169 -0
  359. package/.codex/skills/cloudflare/references/workers-for-platforms/configuration.md +136 -0
  360. package/.codex/skills/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
  361. package/.codex/skills/cloudflare/references/workers-for-platforms/patterns.md +170 -0
  362. package/.codex/skills/cloudflare/references/workers-playground/README.md +16 -0
  363. package/.codex/skills/cloudflare/references/workers-playground/api.md +20 -0
  364. package/.codex/skills/cloudflare/references/workers-playground/configuration.md +3 -0
  365. package/.codex/skills/cloudflare/references/workers-playground/gotchas.md +35 -0
  366. package/.codex/skills/cloudflare/references/workers-playground/patterns.md +42 -0
  367. package/.codex/skills/cloudflare/references/workers-vpc/README.md +579 -0
  368. package/.codex/skills/cloudflare/references/workflows/README.md +62 -0
  369. package/.codex/skills/cloudflare/references/workflows/api.md +125 -0
  370. package/.codex/skills/cloudflare/references/workflows/configuration.md +177 -0
  371. package/.codex/skills/cloudflare/references/workflows/gotchas.md +136 -0
  372. package/.codex/skills/cloudflare/references/workflows/patterns.md +132 -0
  373. package/.codex/skills/cloudflare/references/wrangler/README.md +90 -0
  374. package/.codex/skills/cloudflare/references/wrangler/api.md +140 -0
  375. package/.codex/skills/cloudflare/references/wrangler/configuration.md +128 -0
  376. package/.codex/skills/cloudflare/references/wrangler/gotchas.md +93 -0
  377. package/.codex/skills/cloudflare/references/wrangler/patterns.md +150 -0
  378. package/.codex/skills/cloudflare/references/zaraz/README.md +360 -0
  379. package/.codex/skills/code-navigation/SKILL.md +130 -0
  380. package/.codex/skills/code-review/SKILL.md +208 -0
  381. package/.codex/skills/compaction/SKILL.md +317 -0
  382. package/.codex/skills/condition-based-waiting/SKILL.md +123 -0
  383. package/.codex/skills/condition-based-waiting/example.ts +158 -0
  384. package/.codex/skills/context-engineering/SKILL.md +176 -0
  385. package/.codex/skills/context-initialization/SKILL.md +70 -0
  386. package/.codex/skills/context-management/SKILL.md +163 -0
  387. package/.codex/skills/core-data-expert/SKILL.md +93 -0
  388. package/.codex/skills/core-data-expert/references/batch-operations.md +543 -0
  389. package/.codex/skills/core-data-expert/references/cloudkit-integration.md +259 -0
  390. package/.codex/skills/core-data-expert/references/concurrency.md +522 -0
  391. package/.codex/skills/core-data-expert/references/fetch-requests.md +643 -0
  392. package/.codex/skills/core-data-expert/references/glossary.md +233 -0
  393. package/.codex/skills/core-data-expert/references/migration.md +393 -0
  394. package/.codex/skills/core-data-expert/references/model-configuration.md +597 -0
  395. package/.codex/skills/core-data-expert/references/performance.md +300 -0
  396. package/.codex/skills/core-data-expert/references/persistent-history.md +553 -0
  397. package/.codex/skills/core-data-expert/references/project-audit.md +60 -0
  398. package/.codex/skills/core-data-expert/references/saving.md +574 -0
  399. package/.codex/skills/core-data-expert/references/stack-setup.md +625 -0
  400. package/.codex/skills/core-data-expert/references/testing.md +300 -0
  401. package/.codex/skills/core-data-expert/references/threading.md +589 -0
  402. package/.codex/skills/debugging/SKILL.md +203 -0
  403. package/.codex/skills/deep-research/SKILL.md +384 -0
  404. package/.codex/skills/defense-in-depth/SKILL.md +166 -0
  405. package/.codex/skills/dependency-upgrades/SKILL.md +198 -0
  406. package/.codex/skills/design-system-audit/SKILL.md +153 -0
  407. package/.codex/skills/development-lifecycle/SKILL.md +356 -0
  408. package/.codex/skills/dispatching-parallel-agents/SKILL.md +191 -0
  409. package/.codex/skills/docs-handoff/SKILL.md +175 -0
  410. package/.codex/skills/executing-plans/SKILL.md +247 -0
  411. package/.codex/skills/figma/SKILL.md +224 -0
  412. package/.codex/skills/figma/mcp.json +6 -0
  413. package/.codex/skills/finishing-a-development-branch/SKILL.md +357 -0
  414. package/.codex/skills/frontend-design/SKILL.md +176 -0
  415. package/.codex/skills/gemini-large-context/SKILL.md +216 -0
  416. package/.codex/skills/git-pr-prep/SKILL.md +179 -0
  417. package/.codex/skills/index-knowledge/SKILL.md +413 -0
  418. package/.codex/skills/jira/SKILL.md +283 -0
  419. package/.codex/skills/jira/mcp.json +6 -0
  420. package/.codex/skills/memory-system/SKILL.md +93 -0
  421. package/.codex/skills/mockup-to-code/SKILL.md +184 -0
  422. package/.codex/skills/mqdh/SKILL.md +171 -0
  423. package/.codex/skills/obsidian/SKILL.md +187 -0
  424. package/.codex/skills/obsidian/mcp.json +22 -0
  425. package/.codex/skills/opensrc/SKILL.md +127 -0
  426. package/.codex/skills/opensrc/references/architecture.md +176 -0
  427. package/.codex/skills/opensrc/references/cli-usage.md +176 -0
  428. package/.codex/skills/opensrc/references/registry-support.md +137 -0
  429. package/.codex/skills/pdf-extract/SKILL.md +438 -0
  430. package/.codex/skills/playwright/SKILL.md +320 -0
  431. package/.codex/skills/playwright/mcp.json +16 -0
  432. package/.codex/skills/playwriter/SKILL.md +158 -0
  433. package/.codex/skills/polar/SKILL.md +102 -0
  434. package/.codex/skills/prd/SKILL.md +146 -0
  435. package/.codex/skills/prd-task/SKILL.md +182 -0
  436. package/.codex/skills/prd-task/references/prd-schema.json +124 -0
  437. package/.codex/skills/prompt-leverage/SKILL.md +69 -0
  438. package/.codex/skills/prompt-leverage/agents/openai.yaml +4 -0
  439. package/.codex/skills/prompt-leverage/references/framework.md +91 -0
  440. package/.codex/skills/prompt-leverage/scripts/augment_prompt.py +114 -0
  441. package/.codex/skills/ralph/SKILL.md +296 -0
  442. package/.codex/skills/react-best-practices/AGENTS.md +2410 -0
  443. package/.codex/skills/react-best-practices/README.md +123 -0
  444. package/.codex/skills/react-best-practices/SKILL.md +133 -0
  445. package/.codex/skills/react-best-practices/metadata.json +15 -0
  446. package/.codex/skills/react-best-practices/rules/_sections.md +46 -0
  447. package/.codex/skills/react-best-practices/rules/_template.md +28 -0
  448. package/.codex/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  449. package/.codex/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  450. package/.codex/skills/react-best-practices/rules/async-api-routes.md +38 -0
  451. package/.codex/skills/react-best-practices/rules/async-defer-await.md +80 -0
  452. package/.codex/skills/react-best-practices/rules/async-dependencies.md +36 -0
  453. package/.codex/skills/react-best-practices/rules/async-parallel.md +28 -0
  454. package/.codex/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  455. package/.codex/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  456. package/.codex/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  457. package/.codex/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  458. package/.codex/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  459. package/.codex/skills/react-best-practices/rules/bundle-preload.md +50 -0
  460. package/.codex/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  461. package/.codex/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  462. package/.codex/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  463. package/.codex/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  464. package/.codex/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  465. package/.codex/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  466. package/.codex/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  467. package/.codex/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  468. package/.codex/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  469. package/.codex/skills/react-best-practices/rules/js-early-exit.md +50 -0
  470. package/.codex/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  471. package/.codex/skills/react-best-practices/rules/js-index-maps.md +37 -0
  472. package/.codex/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  473. package/.codex/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  474. package/.codex/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  475. package/.codex/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  476. package/.codex/skills/react-best-practices/rules/rendering-activity.md +26 -0
  477. package/.codex/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  478. package/.codex/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  479. package/.codex/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  480. package/.codex/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  481. package/.codex/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  482. package/.codex/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  483. package/.codex/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  484. package/.codex/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  485. package/.codex/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  486. package/.codex/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  487. package/.codex/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  488. package/.codex/skills/react-best-practices/rules/rerender-memo.md +44 -0
  489. package/.codex/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  490. package/.codex/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  491. package/.codex/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  492. package/.codex/skills/react-best-practices/rules/server-cache-react.md +76 -0
  493. package/.codex/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  494. package/.codex/skills/react-best-practices/rules/server-serialization.md +38 -0
  495. package/.codex/skills/receiving-code-review/SKILL.md +252 -0
  496. package/.codex/skills/refactoring/SKILL.md +217 -0
  497. package/.codex/skills/repo-orientation/SKILL.md +156 -0
  498. package/.codex/skills/requesting-code-review/SKILL.md +397 -0
  499. package/.codex/skills/resend/SKILL.md +177 -0
  500. package/.codex/skills/resend/references/react-email.md +287 -0
  501. package/.codex/skills/resend/references/receive-email.md +248 -0
  502. package/.codex/skills/resend/references/send-email.md +318 -0
  503. package/.codex/skills/root-cause-tracing/SKILL.md +192 -0
  504. package/.codex/skills/root-cause-tracing/find-polluter.sh +63 -0
  505. package/.codex/skills/safe-implementation/SKILL.md +205 -0
  506. package/.codex/skills/session-management/SKILL.md +10 -0
  507. package/.codex/skills/sharing-skills/SKILL.md +214 -0
  508. package/.codex/skills/skill-creator/SKILL.md +156 -0
  509. package/.codex/skills/source-code-research/SKILL.md +293 -0
  510. package/.codex/skills/source-code-research/references/analysis-tips.md +43 -0
  511. package/.codex/skills/source-code-research/references/anti-patterns.md +36 -0
  512. package/.codex/skills/source-code-research/references/common-patterns.md +57 -0
  513. package/.codex/skills/source-code-research/references/example-workflow.md +60 -0
  514. package/.codex/skills/source-code-research/references/further-reading.md +5 -0
  515. package/.codex/skills/source-code-research/references/source-structure.md +45 -0
  516. package/.codex/skills/stitch/SKILL.md +147 -0
  517. package/.codex/skills/stitch/mcp.json +9 -0
  518. package/.codex/skills/structured-edit/SKILL.md +181 -0
  519. package/.codex/skills/subagent-driven-development/SKILL.md +237 -0
  520. package/.codex/skills/supabase/SKILL.md +130 -0
  521. package/.codex/skills/supabase/mcp.json +27 -0
  522. package/.codex/skills/supabase-postgres-best-practices/AGENTS.md +1490 -0
  523. package/.codex/skills/supabase-postgres-best-practices/SKILL.md +65 -0
  524. package/.codex/skills/supabase-postgres-best-practices/rules/advanced-full-text-search.md +55 -0
  525. package/.codex/skills/supabase-postgres-best-practices/rules/advanced-jsonb-indexing.md +49 -0
  526. package/.codex/skills/supabase-postgres-best-practices/rules/conn-idle-timeout.md +46 -0
  527. package/.codex/skills/supabase-postgres-best-practices/rules/conn-limits.md +44 -0
  528. package/.codex/skills/supabase-postgres-best-practices/rules/conn-pooling.md +41 -0
  529. package/.codex/skills/supabase-postgres-best-practices/rules/conn-prepared-statements.md +46 -0
  530. package/.codex/skills/supabase-postgres-best-practices/rules/data-batch-inserts.md +54 -0
  531. package/.codex/skills/supabase-postgres-best-practices/rules/data-n-plus-one.md +53 -0
  532. package/.codex/skills/supabase-postgres-best-practices/rules/data-pagination.md +50 -0
  533. package/.codex/skills/supabase-postgres-best-practices/rules/data-upsert.md +50 -0
  534. package/.codex/skills/supabase-postgres-best-practices/rules/lock-advisory.md +56 -0
  535. package/.codex/skills/supabase-postgres-best-practices/rules/lock-deadlock-prevention.md +68 -0
  536. package/.codex/skills/supabase-postgres-best-practices/rules/lock-short-transactions.md +50 -0
  537. package/.codex/skills/supabase-postgres-best-practices/rules/lock-skip-locked.md +54 -0
  538. package/.codex/skills/supabase-postgres-best-practices/rules/monitor-explain-analyze.md +45 -0
  539. package/.codex/skills/supabase-postgres-best-practices/rules/monitor-pg-stat-statements.md +55 -0
  540. package/.codex/skills/supabase-postgres-best-practices/rules/monitor-vacuum-analyze.md +55 -0
  541. package/.codex/skills/supabase-postgres-best-practices/rules/query-composite-indexes.md +44 -0
  542. package/.codex/skills/supabase-postgres-best-practices/rules/query-covering-indexes.md +40 -0
  543. package/.codex/skills/supabase-postgres-best-practices/rules/query-index-types.md +45 -0
  544. package/.codex/skills/supabase-postgres-best-practices/rules/query-missing-indexes.md +43 -0
  545. package/.codex/skills/supabase-postgres-best-practices/rules/query-partial-indexes.md +45 -0
  546. package/.codex/skills/supabase-postgres-best-practices/rules/schema-data-types.md +46 -0
  547. package/.codex/skills/supabase-postgres-best-practices/rules/schema-foreign-key-indexes.md +59 -0
  548. package/.codex/skills/supabase-postgres-best-practices/rules/schema-lowercase-identifiers.md +55 -0
  549. package/.codex/skills/supabase-postgres-best-practices/rules/schema-partitioning.md +55 -0
  550. package/.codex/skills/supabase-postgres-best-practices/rules/schema-primary-keys.md +61 -0
  551. package/.codex/skills/supabase-postgres-best-practices/rules/security-privileges.md +54 -0
  552. package/.codex/skills/supabase-postgres-best-practices/rules/security-rls-basics.md +50 -0
  553. package/.codex/skills/supabase-postgres-best-practices/rules/security-rls-performance.md +57 -0
  554. package/.codex/skills/swarm-coordination/SKILL.md +179 -0
  555. package/.codex/skills/swarm-coordination/references/architecture.md +39 -0
  556. package/.codex/skills/swarm-coordination/references/delegation-worker-protocol.md +145 -0
  557. package/.codex/skills/swarm-coordination/references/dependency-graph.md +50 -0
  558. package/.codex/skills/swarm-coordination/references/drift-check.md +90 -0
  559. package/.codex/skills/swarm-coordination/references/integration-beads.md +20 -0
  560. package/.codex/skills/swarm-coordination/references/launch-flow.md +186 -0
  561. package/.codex/skills/swarm-coordination/references/reconciler.md +172 -0
  562. package/.codex/skills/swarm-coordination/references/tier-enforcement.md +78 -0
  563. package/.codex/skills/swarm-coordination/references/tmux-integration.md +134 -0
  564. package/.codex/skills/swift-concurrency/SKILL.md +266 -0
  565. package/.codex/skills/swift-concurrency/references/actors.md +640 -0
  566. package/.codex/skills/swift-concurrency/references/async-algorithms.md +822 -0
  567. package/.codex/skills/swift-concurrency/references/async-await-basics.md +249 -0
  568. package/.codex/skills/swift-concurrency/references/async-sequences.md +670 -0
  569. package/.codex/skills/swift-concurrency/references/core-data.md +533 -0
  570. package/.codex/skills/swift-concurrency/references/glossary.md +128 -0
  571. package/.codex/skills/swift-concurrency/references/linting.md +142 -0
  572. package/.codex/skills/swift-concurrency/references/memory-management.md +542 -0
  573. package/.codex/skills/swift-concurrency/references/migration.md +1076 -0
  574. package/.codex/skills/swift-concurrency/references/performance.md +574 -0
  575. package/.codex/skills/swift-concurrency/references/sendable.md +578 -0
  576. package/.codex/skills/swift-concurrency/references/tasks.md +604 -0
  577. package/.codex/skills/swift-concurrency/references/testing.md +565 -0
  578. package/.codex/skills/swift-concurrency/references/threading.md +452 -0
  579. package/.codex/skills/swiftui-expert-skill/SKILL.md +329 -0
  580. package/.codex/skills/swiftui-expert-skill/references/animation-advanced.md +351 -0
  581. package/.codex/skills/swiftui-expert-skill/references/animation-basics.md +284 -0
  582. package/.codex/skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
  583. package/.codex/skills/swiftui-expert-skill/references/image-optimization.md +286 -0
  584. package/.codex/skills/swiftui-expert-skill/references/layout-best-practices.md +312 -0
  585. package/.codex/skills/swiftui-expert-skill/references/liquid-glass.md +377 -0
  586. package/.codex/skills/swiftui-expert-skill/references/list-patterns.md +153 -0
  587. package/.codex/skills/swiftui-expert-skill/references/modern-apis.md +400 -0
  588. package/.codex/skills/swiftui-expert-skill/references/performance-patterns.md +377 -0
  589. package/.codex/skills/swiftui-expert-skill/references/scroll-patterns.md +305 -0
  590. package/.codex/skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
  591. package/.codex/skills/swiftui-expert-skill/references/state-management.md +447 -0
  592. package/.codex/skills/swiftui-expert-skill/references/text-formatting.md +285 -0
  593. package/.codex/skills/swiftui-expert-skill/references/view-structure.md +276 -0
  594. package/.codex/skills/systematic-debugging/SKILL.md +402 -0
  595. package/.codex/skills/task-planning/SKILL.md +205 -0
  596. package/.codex/skills/test-driven-development/SKILL.md +388 -0
  597. package/.codex/skills/test-strategy/SKILL.md +186 -0
  598. package/.codex/skills/testing-anti-patterns/SKILL.md +320 -0
  599. package/.codex/skills/testing-skills-with-subagents/SKILL.md +405 -0
  600. package/.codex/skills/tilth-cli/SKILL.md +180 -0
  601. package/.codex/skills/tool-priority/SKILL.md +299 -0
  602. package/.codex/skills/ui-inspiration-scout/SKILL.md +203 -0
  603. package/.codex/skills/ui-ux-research/SKILL.md +35 -0
  604. package/.codex/skills/using-git-worktrees/SKILL.md +259 -0
  605. package/.codex/skills/using-skills/SKILL.md +117 -0
  606. package/.codex/skills/v0/SKILL.md +158 -0
  607. package/.codex/skills/v0/mcp.json +6 -0
  608. package/.codex/skills/v1-run/SKILL.md +175 -0
  609. package/.codex/skills/v1-run/mcp.json +6 -0
  610. package/.codex/skills/vercel-deploy-claimable/SKILL.md +124 -0
  611. package/.codex/skills/vercel-deploy-claimable/scripts/deploy.sh +249 -0
  612. package/.codex/skills/verification/SKILL.md +191 -0
  613. package/.codex/skills/verification-before-completion/SKILL.md +236 -0
  614. package/.codex/skills/visual-analysis/SKILL.md +154 -0
  615. package/.codex/skills/web-design-guidelines/SKILL.md +46 -0
  616. package/.codex/skills/writing-plans/SKILL.md +320 -0
  617. package/.codex/skills/writing-skills/SKILL.md +287 -0
  618. package/.codex/skills/writing-skills/anthropic-best-practices.md +1173 -0
  619. package/.codex/skills/writing-skills/graphviz-conventions.dot +172 -0
  620. package/.codex/skills/writing-skills/persuasion-principles.md +220 -0
  621. package/.codex/skills/writing-skills/references/anti-patterns.md +25 -0
  622. package/.codex/skills/writing-skills/references/claude-search-optimization.md +140 -0
  623. package/.codex/skills/writing-skills/references/discovery-workflow.md +11 -0
  624. package/.codex/skills/writing-skills/references/file-organization.md +32 -0
  625. package/.codex/skills/writing-skills/references/flowcharts-and-examples.md +57 -0
  626. package/.codex/skills/writing-skills/references/rationalization-hardening.md +75 -0
  627. package/.codex/skills/writing-skills/references/testing-skill-types.md +52 -0
  628. package/.template-manifest.json +631 -0
  629. package/AGENTS.md +719 -0
  630. package/AGENTS.override.md.example +7 -0
  631. package/CHANGELOG.md +28 -0
  632. package/LICENSE +21 -0
  633. package/README.md +641 -0
  634. package/bin/codexkit +148 -0
  635. package/install/bead-close.sh +20 -0
  636. package/install/bead-search.sh +18 -0
  637. package/install/bead-start.sh +20 -0
  638. package/install/bead-sync.sh +19 -0
  639. package/install/bead-verify.sh +20 -0
  640. package/install/generate-manifest.sh +55 -0
  641. package/install/install-global.sh +150 -0
  642. package/install/install-project.sh +704 -0
  643. package/install/install-remote.sh +152 -0
  644. package/install/patch.sh +478 -0
  645. package/install/plugin.sh +565 -0
  646. package/install/run-codex.sh +68 -0
  647. package/install/template.sh +620 -0
  648. package/install/validate.sh +653 -0
  649. package/package.json +39 -0
  650. package/templates/global/.codex-config-template.toml +87 -0
  651. package/templates/global/AGENTS.override.md +18 -0
  652. package/templates/global/README.md +29 -0
  653. package/templates/project/.codex-config-template.toml +26 -0
  654. package/templates/project/AGENTS.md.template +27 -0
  655. package/templates/project/README.md +24 -0
@@ -0,0 +1,63 @@
1
+ # Configuration & Deployment
2
+
3
+ ## Wrangler Setup
4
+
5
+ ```toml
6
+ name = "my-calls-app"
7
+ main = "src/index.ts"
8
+ compatibility_date = "2024-01-01"
9
+
10
+ [vars]
11
+ CALLS_APP_ID = "your-app-id"
12
+ MAX_WEBCAM_BITRATE = "1200000"
13
+ MAX_WEBCAM_FRAMERATE = "24"
14
+ MAX_WEBCAM_QUALITY_LEVEL = "1080"
15
+
16
+ # Set secret: wrangler secret put CALLS_APP_SECRET
17
+
18
+ [[durable_objects.bindings]]
19
+ name = "ROOM"
20
+ class_name = "Room"
21
+ ```
22
+
23
+ ## Deploy
24
+
25
+ ```bash
26
+ wrangler login
27
+ wrangler secret put CALLS_APP_SECRET
28
+ wrangler deploy
29
+ ```
30
+
31
+ ## Environment Variables
32
+
33
+ **Required:**
34
+ - `CALLS_APP_ID`: From dashboard
35
+ - `CALLS_APP_SECRET`: From dashboard (secret)
36
+
37
+ **Optional:**
38
+ - `MAX_WEBCAM_BITRATE` (default: 1200000)
39
+ - `MAX_WEBCAM_FRAMERATE` (default: 24)
40
+ - `MAX_WEBCAM_QUALITY_LEVEL` (default: 1080)
41
+ - `TURN_SERVICE_ID`: TURN service
42
+ - `TURN_SERVICE_TOKEN`: TURN auth (secret)
43
+
44
+ ## TURN Configuration
45
+
46
+ ```javascript
47
+ const pc = new RTCPeerConnection({
48
+ iceServers: [
49
+ { urls: 'stun:stun.cloudflare.com:3478' },
50
+ {
51
+ urls: [
52
+ 'turn:turn.cloudflare.com:3478?transport=udp',
53
+ 'turn:turn.cloudflare.com:3478?transport=tcp',
54
+ 'turns:turn.cloudflare.com:5349?transport=tcp'
55
+ ],
56
+ username: turnUsername,
57
+ credential: turnCredential
58
+ }
59
+ ]
60
+ });
61
+ ```
62
+
63
+ **Ports:** 3478 (UDP/TCP), 53 (UDP), 80 (TCP), 443 (TLS), 5349 (TLS)
@@ -0,0 +1,75 @@
1
+ # Gotchas & Troubleshooting
2
+
3
+ ## Common Issues
4
+
5
+ **Slow connect (~1.8s):** First STUN delayed (consensus forming), normal, subsequent faster
6
+ **USE-CANDIDATE delay (Chrome):** CF detects DTLS ClientHello early to compensate
7
+
8
+ **No media flow checklist:**
9
+ 1. SDP exchange done? 2. `pc.connectionState === 'connected'`? 3. Tracks added before offer? 4. Browser perms? 5. `chrome://webrtc-internals`
10
+
11
+ **Track not RX checklist:**
12
+ 1. Published OK? 2. Track ID shared? 3. Session IDs match? 4. `pc.ontrack` before answer? 5. Renegotiation done?
13
+
14
+ ## Debug
15
+
16
+ `chrome://webrtc-internals`: ICE pairs, DTLS, media stats, bandwidth
17
+
18
+ Logging:
19
+ ```ts
20
+ pc.addEventListener('icecandidateerror', (e) => console.error('ICE err:', e));
21
+ pc.addEventListener('connectionstatechange', () => console.log('Conn:', pc.connectionState));
22
+ pc.addEventListener('iceconnectionstatechange', () => console.log('ICE:', pc.iceConnectionState));
23
+ ```
24
+
25
+ Quality:
26
+ ```ts
27
+ setInterval(async () => {
28
+ const stats = await pc.getStats();
29
+ stats.forEach(r => {
30
+ if (r.type === 'inbound-rtp' && r.kind === 'video')
31
+ console.log('Loss:', r.packetsLost, 'Jitter:', r.jitter, 'Bytes:', r.bytesReceived);
32
+ });
33
+ }, 1000);
34
+ ```
35
+
36
+ ## Security
37
+
38
+ ❌ Never expose App Secret client-side (use backend env vars, Wrangler secrets)
39
+ Track IDs = capabilities, authz required:
40
+ ```ts
41
+ app.post('/api/sessions/:sid/tracks', async (req, res) => {
42
+ for (const t of req.body.tracks)
43
+ if (!await canAccessTrack(req.user.id, t.trackName)) return res.status(403).json({error: 'Unauth'});
44
+ // CF API call
45
+ });
46
+ ```
47
+ Validate session ownership, timeouts, cleanup abandoned
48
+
49
+ ## Pricing & Limits
50
+
51
+ Free: 1TB/mo egress. Paid: $0.05/GB. Inbound free. TURN free w/SFU. No participant/track limits (client bandwidth/CPU bound). Optimize: bitrates, simulcast, adaptive, cleanup
52
+
53
+ ## vs Traditional SFUs
54
+
55
+ | Aspect | Traditional | Cloudflare |
56
+ |--------|------------|------------|
57
+ | Deploy | Single region | 310+ DCs |
58
+ | Route | Manual | Anycast |
59
+ | SDK | Often required | Pure WebRTC |
60
+ | Arch | Rooms | Sessions/tracks |
61
+ | Scale | Vertical/horiz | Auto global |
62
+ | TURN | Separate | Integrated |
63
+ | State | Centralized | Distributed |
64
+
65
+ ## Quick Ref
66
+
67
+ ```bash
68
+ POST /v1/apps/{appId}/sessions/new # Create
69
+ POST .../sessions/{sid}/tracks/new # Pub: {sessionDescription, tracks: [{location:'local',trackName}]}
70
+ POST .../sessions/{sid}/tracks/new # Sub: {tracks:[{location:'remote',trackName,sessionId}]}
71
+ PUT .../sessions/{sid}/renegotiate # Renegotiate
72
+ PUT .../sessions/{sid}/tracks/close # Close
73
+ ```
74
+
75
+ CF SFU: unopinionated, full WebRTC control, max flexibility, needs fundamentals
@@ -0,0 +1,102 @@
1
+ # Patterns & Use Cases
2
+
3
+ ## Architecture
4
+
5
+ ```
6
+ Client (WebRTC) <---> CF Edge <---> Backend (HTTP)
7
+ |
8
+ CF Backbone (310+ DCs)
9
+ |
10
+ Other Edges <---> Other Clients
11
+ ```
12
+
13
+ Anycast: Last-mile <50ms (95%), no region select, NACK shield, distributed consensus
14
+
15
+ Cascading trees auto-scale to millions:
16
+ ```
17
+ Publisher -> Edge A -> Edge B -> Sub1
18
+ \-> Edge C -> Sub2,3
19
+ ```
20
+
21
+ ## Use Cases
22
+
23
+ **1:1:** A creates session+publishes, B creates+subscribes to A+publishes, A subscribes to B
24
+ **N:N:** All create session+publish, backend broadcasts track IDs, all subscribe to others
25
+ **1:N:** Publisher creates+publishes, viewers each create+subscribe (no fan-out limit)
26
+ **Breakout:** Same PeerConnection! Backend closes/adds tracks, no recreation
27
+
28
+ ## Backend
29
+
30
+ Express:
31
+ ```js
32
+ app.post('/api/new-session', async (req, res) => {
33
+ const r = await fetch(`${CALLS_API}/apps/${process.env.CALLS_APP_ID}/sessions/new`,
34
+ {method: 'POST', headers: {'Authorization': `Bearer ${process.env.CALLS_APP_SECRET}`}});
35
+ res.json(await r.json());
36
+ });
37
+ ```
38
+
39
+ Workers:
40
+ ```ts
41
+ export default {
42
+ async fetch(req: Request, env: Env) {
43
+ return fetch(`https://rtc.live/v1/apps/${env.CALLS_APP_ID}/sessions/new`,
44
+ {method: 'POST', headers: {'Authorization': `Bearer ${env.CALLS_APP_SECRET}`}});
45
+ }
46
+ };
47
+ ```
48
+
49
+ DO Presence:
50
+ ```ts
51
+ export class Room {
52
+ sessions = new Map(); // sessionId -> {userId, tracks: [{trackName, kind}]}
53
+
54
+ async fetch(req: Request) {
55
+ const {pathname} = new URL(req.url);
56
+ if (pathname === '/join') {
57
+ const {sessionId, userId} = await req.json();
58
+ this.sessions.set(sessionId, {userId, tracks: []});
59
+ const existingTracks = Array.from(this.sessions.entries())
60
+ .filter(([id]) => id !== sessionId)
61
+ .flatMap(([id, data]) => data.tracks.map(t => ({...t, sessionId: id})));
62
+ return Response.json({existingTracks});
63
+ }
64
+ if (pathname === '/publish') {
65
+ const {sessionId, tracks} = await req.json();
66
+ this.sessions.get(sessionId)?.tracks.push(...tracks); // Notify others via WS
67
+ return new Response('OK');
68
+ }
69
+ }
70
+ }
71
+ ```
72
+
73
+ ## Advanced
74
+
75
+ Bandwidth mgmt:
76
+ ```ts
77
+ const s = pc.getSenders().find(s => s.track?.kind === 'video');
78
+ const p = s.getParameters();
79
+ if (!p.encodings) p.encodings = [{}];
80
+ p.encodings[0].maxBitrate = 1200000; p.encodings[0].maxFramerate = 24;
81
+ await s.setParameters(p);
82
+ ```
83
+
84
+ Simulcast (CF auto-forwards best layer):
85
+ ```ts
86
+ pc.addTransceiver('video', {direction: 'sendonly', sendEncodings: [
87
+ {rid: 'high', maxBitrate: 1200000},
88
+ {rid: 'med', maxBitrate: 600000, scaleResolutionDownBy: 2},
89
+ {rid: 'low', maxBitrate: 200000, scaleResolutionDownBy: 4}
90
+ ]});
91
+ ```
92
+
93
+ DataChannel:
94
+ ```ts
95
+ const dc = pc.createDataChannel('chat', {ordered: true, maxRetransmits: 3});
96
+ dc.onopen = () => dc.send(JSON.stringify({type: 'chat', text: 'Hi'}));
97
+ dc.onmessage = (e) => console.log('RX:', JSON.parse(e.data));
98
+ ```
99
+
100
+ Integrations: R2 for recording `env.R2_BUCKET.put(...)`, Queues for analytics
101
+
102
+ Perf: 100-250ms connect, ~50ms latency (95%), 200-400ms glass-to-glass, no participant limit (client: 10-50 tracks)
@@ -0,0 +1,81 @@
1
+ # Cloudflare RealtimeKit
2
+
3
+ Expert guidance for building real-time video and audio applications using **Cloudflare RealtimeKit** - a comprehensive SDK suite for adding customizable live video and voice to web or mobile applications.
4
+
5
+ ## Overview
6
+
7
+ RealtimeKit is Cloudflare's SDK suite built on Realtime SFU, abstracting WebRTC complexity with fast integration, pre-built UI components, global performance (300+ cities), and production features (recording, transcription, chat, polls).
8
+
9
+ **Use cases**: Team meetings, webinars, social video, audio calls, interactive plugins
10
+
11
+ ## Core Concepts
12
+
13
+ - **App**: Workspace grouping meetings, participants, presets, recordings. Use separate Apps for staging/production
14
+ - **Meeting**: Re-usable virtual room. Each join creates new **Session**
15
+ - **Session**: Live meeting instance. Created on first join, ends after last leave
16
+ - **Participant**: User added via REST API. Returns `authToken` for client SDK. **Do not reuse tokens**
17
+ - **Preset**: Reusable permission/UI template (permissions, meeting type, theme). Applied at participant creation
18
+ - **Peer ID** (`id`): Unique per session, changes on rejoin
19
+ - **Participant ID** (`userId`): Persistent across sessions
20
+
21
+ ## Quick Start
22
+
23
+ ### 1. Create App & Meeting (Backend)
24
+
25
+ ```bash
26
+ # Create app
27
+ curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/apps' \
28
+ -H 'Authorization: Bearer <api_token>' \
29
+ -d '{"name": "My RealtimeKit App"}'
30
+
31
+ # Create meeting
32
+ curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/meetings' \
33
+ -H 'Authorization: Bearer <api_token>' \
34
+ -d '{"title": "Team Standup"}'
35
+
36
+ # Add participant
37
+ curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/meetings/<meeting_id>/participants' \
38
+ -H 'Authorization: Bearer <api_token>' \
39
+ -d '{"name": "Alice", "preset_name": "host"}'
40
+ # Returns: { authToken }
41
+ ```
42
+
43
+ ### 2. Client Integration
44
+
45
+ **React**:
46
+ ```tsx
47
+ import { RtkMeeting } from '@cloudflare/realtimekit-react-ui';
48
+
49
+ function App() {
50
+ return <RtkMeeting authToken="<participant_auth_token>" onLeave={() => {}} />;
51
+ }
52
+ ```
53
+
54
+ **Core SDK**:
55
+ ```typescript
56
+ import RealtimeKitClient from '@cloudflare/realtimekit';
57
+
58
+ const meeting = new RealtimeKitClient({ authToken: '<token>', video: true, audio: true });
59
+ await meeting.join();
60
+ ```
61
+
62
+ ## In This Reference
63
+
64
+ - [Configuration](./configuration.md) - Setup, installation, wrangler config
65
+ - [API](./api.md) - Meeting object, REST API, SDK methods
66
+ - [Patterns](./patterns.md) - Common workflows, code examples
67
+ - [Gotchas](./gotchas.md) - Common issues, troubleshooting
68
+
69
+ ## See Also
70
+
71
+ - [Workers](../workers/) - Backend integration
72
+ - [D1](../d1/) - Meeting metadata storage
73
+ - [R2](../r2/) - Recording storage
74
+ - [KV](../kv/) - Session management
75
+
76
+ ## Reference Links
77
+
78
+ - **Official Docs**: https://developers.cloudflare.com/realtime/realtimekit/
79
+ - **API Reference**: https://developers.cloudflare.com/api/resources/realtime_kit/
80
+ - **Examples**: https://github.com/cloudflare/realtimekit-web-examples
81
+ - **Dashboard**: https://dash.cloudflare.com/?to=/:account/realtime/kit
@@ -0,0 +1,164 @@
1
+ # RealtimeKit API Reference
2
+
3
+ Complete API reference for Meeting object, REST endpoints, and SDK methods.
4
+
5
+ ## Meeting Object API
6
+
7
+ ### `meeting.self` - Local Participant
8
+
9
+ ```typescript
10
+ // Properties: id, userId, name, audioEnabled, videoEnabled, screenShareEnabled, audioTrack, videoTrack, screenShareTracks, roomJoined, roomState
11
+ // Methods
12
+ await meeting.self.enableAudio() / disableAudio() / enableVideo() / disableVideo() / enableScreenShare() / disableScreenShare()
13
+ await meeting.self.setName("Name") // Before join only
14
+ await meeting.self.setDevice(device)
15
+ const devices = await meeting.self.getAllDevices() / getAudioDevices() / getVideoDevices() / getSpeakerDevices()
16
+ // Events: 'roomJoined', 'audioUpdate', 'videoUpdate', 'screenShareUpdate', 'deviceUpdate', 'deviceListUpdate'
17
+ meeting.self.on('roomJoined', () => {})
18
+ meeting.self.on('audioUpdate', ({ audioEnabled, audioTrack }) => {})
19
+ ```
20
+
21
+ ### `meeting.participants` - Remote Participants
22
+
23
+ **Collections**:
24
+ ```typescript
25
+ meeting.participants.joined / active / waitlisted / pinned // Maps
26
+ const participants = meeting.participants.joined.toArray()
27
+ const count = meeting.participants.joined.size()
28
+ const p = meeting.participants.joined.get('peer-id')
29
+ ```
30
+
31
+ **Participant Properties**:
32
+ ```typescript
33
+ participant.id / userId / name
34
+ participant.audioEnabled / videoEnabled / screenShareEnabled
35
+ participant.audioTrack / videoTrack / screenShareTracks
36
+ ```
37
+
38
+ **Events**:
39
+ ```typescript
40
+ meeting.participants.joined.on('participantJoined', (participant) => {})
41
+ meeting.participants.joined.on('participantLeft', (participant) => {})
42
+ ```
43
+
44
+ ### `meeting.meta` - Metadata
45
+ ```typescript
46
+ meeting.meta.meetingId / meetingTitle / meetingStartedTimestamp
47
+ ```
48
+
49
+ ### `meeting.chat` - Chat
50
+ ```typescript
51
+ meeting.chat.messages // Array
52
+ await meeting.chat.sendTextMessage("Hello") / sendImageMessage(file)
53
+ meeting.chat.on('chatUpdate', ({ message, messages }) => {})
54
+ ```
55
+
56
+ ### `meeting.polls` - Polling
57
+ ```typescript
58
+ meeting.polls.items // Array
59
+ await meeting.polls.create(question, options, anonymous, hideVotes)
60
+ await meeting.polls.vote(pollId, optionIndex)
61
+ ```
62
+
63
+ ### `meeting.plugins` - Collaborative Apps
64
+ ```typescript
65
+ meeting.plugins.all // Array
66
+ await meeting.plugins.activate(pluginId) / deactivate()
67
+ ```
68
+
69
+ ### `meeting.ai` - AI Features
70
+ ```typescript
71
+ meeting.ai.transcripts // Live transcriptions (when enabled in Preset)
72
+ ```
73
+
74
+ ### Core Methods
75
+ ```typescript
76
+ await meeting.join() // Emits 'roomJoined' on meeting.self
77
+ await meeting.leave()
78
+ ```
79
+
80
+ ## REST API
81
+
82
+ Base: `https://api.cloudflare.com/client/v4/accounts/{account_id}/realtime/kit/{app_id}`
83
+
84
+ ### Meetings
85
+ ```bash
86
+ GET /meetings # List all
87
+ GET /meetings/{meeting_id} # Get details
88
+ POST /meetings # Create: {"title": "..."}
89
+ PATCH /meetings/{meeting_id} # Update: {"title": "...", "record_on_start": true}
90
+ ```
91
+
92
+ ### Participants
93
+ ```bash
94
+ GET /meetings/{meeting_id}/participants # List all
95
+ GET /meetings/{meeting_id}/participants/{participant_id} # Get details
96
+ POST /meetings/{meeting_id}/participants # Add: {"name": "...", "preset_name": "...", "custom_participant_id": "..."}
97
+ PATCH /meetings/{meeting_id}/participants/{participant_id} # Update: {"name": "...", "preset_name": "..."}
98
+ DELETE /meetings/{meeting_id}/participants/{participant_id} # Delete
99
+ POST /meetings/{meeting_id}/participants/{participant_id}/token # Refresh token
100
+ ```
101
+
102
+ ### Active Session
103
+ ```bash
104
+ GET /meetings/{meeting_id}/active-session # Get active session
105
+ POST /meetings/{meeting_id}/active-session/kick # Kick users: {"user_ids": ["id1", "id2"]}
106
+ POST /meetings/{meeting_id}/active-session/kick-all # Kick all
107
+ POST /meetings/{meeting_id}/active-session/poll # Create poll: {"question": "...", "options": [...], "anonymous": false}
108
+ ```
109
+
110
+ ### Recording
111
+ ```bash
112
+ GET /recordings?meeting_id={meeting_id} # List recordings
113
+ GET /recordings/active-recording/{meeting_id} # Get active recording
114
+ POST /recordings # Start: {"meeting_id": "...", "type": "composite"} (or "track")
115
+ PUT /recordings/{recording_id} # Control: {"action": "pause"} (or "resume", "stop")
116
+ POST /recordings/track # Track recording: {"meeting_id": "...", "layers": [...]}
117
+ ```
118
+
119
+ ### Livestreaming
120
+ ```bash
121
+ GET /livestreams?exclude_meetings=false # List all
122
+ GET /livestreams/{livestream_id} # Get details
123
+ POST /meetings/{meeting_id}/livestreams # Start for meeting
124
+ POST /meetings/{meeting_id}/active-livestream/stop # Stop
125
+ POST /livestreams # Create independent: returns {ingest_server, stream_key, playback_url}
126
+ ```
127
+
128
+ ### Sessions & Analytics
129
+ ```bash
130
+ GET /sessions # List all
131
+ GET /sessions/{session_id} # Get details
132
+ GET /sessions/{session_id}/participants # List participants
133
+ GET /sessions/{session_id}/participants/{participant_id} # Call stats
134
+ GET /sessions/{session_id}/chat # Download chat CSV
135
+ GET /sessions/{session_id}/transcript # Download transcript CSV
136
+ GET /sessions/{session_id}/summary # Get summary
137
+ POST /sessions/{session_id}/summary # Generate summary
138
+ GET /analytics/daywise?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD # Day-wise analytics
139
+ GET /analytics/livestreams/overall # Livestream analytics
140
+ ```
141
+
142
+ ### Webhooks
143
+ ```bash
144
+ GET /webhooks # List all
145
+ POST /webhooks # Create: {"url": "https://...", "events": ["session.started", "session.ended"]}
146
+ PATCH /webhooks/{webhook_id} # Update
147
+ DELETE /webhooks/{webhook_id} # Delete
148
+ ```
149
+
150
+ ## Session Lifecycle
151
+
152
+ ```
153
+ Initialization → Join Intent → [Waitlist?] → Meeting Screen (Stage) → Ended
154
+ ↓ Approved
155
+ [Rejected → Ended]
156
+ ```
157
+
158
+ UI Kit handles state transitions automatically.
159
+
160
+ ## See Also
161
+
162
+ - [Configuration](./configuration.md) - Setup and installation
163
+ - [Patterns](./patterns.md) - Usage examples
164
+ - [README](./README.md) - Overview and quick start
@@ -0,0 +1,147 @@
1
+ # RealtimeKit Configuration
2
+
3
+ Configuration guide for RealtimeKit setup, client SDKs, and wrangler integration.
4
+
5
+ ## Installation
6
+
7
+ ### React
8
+ ```bash
9
+ npm install @cloudflare/realtimekit @cloudflare/realtimekit-react-ui
10
+ ```
11
+
12
+ ### Angular
13
+ ```bash
14
+ npm install @cloudflare/realtimekit @cloudflare/realtimekit-angular-ui
15
+ ```
16
+
17
+ ### Web Components/HTML
18
+ ```bash
19
+ npm install @cloudflare/realtimekit @cloudflare/realtimekit-ui
20
+ ```
21
+
22
+ ## Client SDK Configuration
23
+
24
+ ### React UI Kit
25
+ ```tsx
26
+ import { RtkMeeting } from '@cloudflare/realtimekit-react-ui';
27
+ <RtkMeeting authToken="<token>" onLeave={() => {}} />
28
+ ```
29
+
30
+ ### Angular UI Kit
31
+ ```typescript
32
+ @Component({ template: `<rtk-meeting [authToken]="authToken" (rtkLeave)="onLeave($event)"></rtk-meeting>` })
33
+ export class AppComponent { authToken = '<token>'; onLeave() {} }
34
+ ```
35
+
36
+ ### Web Components
37
+ ```html
38
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@cloudflare/realtimekit-ui/dist/realtimekit-ui/realtimekit-ui.esm.js"></script>
39
+ <rtk-meeting id="meeting"></rtk-meeting>
40
+ <script>
41
+ document.getElementById('meeting').authToken = '<token>';
42
+ </script>
43
+ ```
44
+
45
+ ### Core SDK Configuration
46
+ ```typescript
47
+ import RealtimeKitClient from '@cloudflare/realtimekit';
48
+
49
+ const meeting = new RealtimeKitClient({
50
+ authToken: '<token>',
51
+ video: true, audio: true, autoSwitchAudioDevice: true,
52
+ mediaConfiguration: {
53
+ video: { width: { ideal: 1280 }, height: { ideal: 720 }, frameRate: { ideal: 30 } },
54
+ audio: { echoCancellation: true, noiseSuppression: true, autoGainControl: true },
55
+ screenshare: { width: { max: 1920 }, height: { max: 1080 }, frameRate: { ideal: 15 } }
56
+ }
57
+ });
58
+ await meeting.join();
59
+ ```
60
+
61
+ ## Backend Setup
62
+
63
+ ### Create App & Credentials
64
+
65
+ **Dashboard**: https://dash.cloudflare.com/?to=/:account/realtime/kit
66
+
67
+ **API**:
68
+ ```bash
69
+ curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/apps' \
70
+ -H 'Content-Type: application/json' \
71
+ -H 'Authorization: Bearer <api_token>' \
72
+ -d '{"name": "My RealtimeKit App"}'
73
+ ```
74
+
75
+ **Required Permissions**: API token with **Realtime / Realtime Admin** permissions
76
+
77
+ ### Create Presets
78
+
79
+ ```bash
80
+ curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<account_id>/realtime/kit/<app_id>/presets' \
81
+ -H 'Authorization: Bearer <api_token>' \
82
+ -d '{
83
+ "name": "host",
84
+ "permissions": {
85
+ "canShareAudio": true,
86
+ "canShareVideo": true,
87
+ "canRecord": true,
88
+ "canLivestream": true,
89
+ "canStartStopRecording": true
90
+ }
91
+ }'
92
+ ```
93
+
94
+ ## Wrangler Configuration
95
+
96
+ ### Basic Configuration
97
+ ```jsonc
98
+ // wrangler.jsonc
99
+ {
100
+ "name": "realtimekit-app",
101
+ "main": "src/index.ts",
102
+ "compatibility_date": "2025-01-01", // Use current date
103
+ "vars": {
104
+ "CLOUDFLARE_ACCOUNT_ID": "abc123",
105
+ "REALTIMEKIT_APP_ID": "xyz789"
106
+ }
107
+ // Secrets: wrangler secret put CLOUDFLARE_API_TOKEN
108
+ }
109
+ ```
110
+
111
+ ### With Database & Storage
112
+ ```jsonc
113
+ {
114
+ "d1_databases": [{ "binding": "DB", "database_name": "meetings", "database_id": "d1-id" }],
115
+ "r2_buckets": [{ "binding": "RECORDINGS", "bucket_name": "recordings" }],
116
+ "kv_namespaces": [{ "binding": "SESSIONS", "id": "kv-id" }]
117
+ }
118
+ ```
119
+
120
+ ### Multi-Environment
121
+ ```bash
122
+ # Deploy to environments
123
+ wrangler deploy --env staging
124
+ wrangler deploy --env production
125
+ ```
126
+
127
+ ## TURN Service Configuration
128
+
129
+ RealtimeKit can use Cloudflare's TURN service for connectivity through restrictive networks:
130
+
131
+ ```jsonc
132
+ // wrangler.jsonc
133
+ {
134
+ "vars": {
135
+ "TURN_SERVICE_ID": "your_turn_service_id"
136
+ }
137
+ // Set secret: wrangler secret put TURN_SERVICE_TOKEN
138
+ }
139
+ ```
140
+
141
+ TURN automatically configured when enabled in account - no client-side changes needed.
142
+
143
+ ## See Also
144
+
145
+ - [API](./api.md) - Meeting APIs, REST endpoints
146
+ - [Patterns](./patterns.md) - Backend integration examples
147
+ - [README](./README.md) - Overview and quick start