opencodekit 0.15.4 → 0.15.5

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 (319) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/command/cloudflare.md +70 -0
  3. package/dist/template/.opencode/package.json +1 -1
  4. package/dist/template/.opencode/skill/cloudflare/SKILL.md +233 -0
  5. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/README.md +35 -0
  6. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/api.md +100 -0
  7. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/configuration.md +99 -0
  8. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/gotchas.md +59 -0
  9. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/patterns.md +89 -0
  10. package/dist/template/.opencode/skill/cloudflare/references/ai-gateway/README.md +695 -0
  11. package/dist/template/.opencode/skill/cloudflare/references/ai-search/README.md +14 -0
  12. package/dist/template/.opencode/skill/cloudflare/references/ai-search/api.md +38 -0
  13. package/dist/template/.opencode/skill/cloudflare/references/ai-search/configuration.md +52 -0
  14. package/dist/template/.opencode/skill/cloudflare/references/ai-search/gotchas.md +41 -0
  15. package/dist/template/.opencode/skill/cloudflare/references/ai-search/patterns.md +45 -0
  16. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/README.md +14 -0
  17. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/api.md +27 -0
  18. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/configuration.md +45 -0
  19. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/gotchas.md +3 -0
  20. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/patterns.md +36 -0
  21. package/dist/template/.opencode/skill/cloudflare/references/api/README.md +21 -0
  22. package/dist/template/.opencode/skill/cloudflare/references/api/api.md +31 -0
  23. package/dist/template/.opencode/skill/cloudflare/references/api/configuration.md +20 -0
  24. package/dist/template/.opencode/skill/cloudflare/references/api/gotchas.md +28 -0
  25. package/dist/template/.opencode/skill/cloudflare/references/api/patterns.md +47 -0
  26. package/dist/template/.opencode/skill/cloudflare/references/api-shield/README.md +20 -0
  27. package/dist/template/.opencode/skill/cloudflare/references/api-shield/api.md +78 -0
  28. package/dist/template/.opencode/skill/cloudflare/references/api-shield/configuration.md +128 -0
  29. package/dist/template/.opencode/skill/cloudflare/references/api-shield/gotchas.md +51 -0
  30. package/dist/template/.opencode/skill/cloudflare/references/api-shield/patterns.md +145 -0
  31. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/README.md +16 -0
  32. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/api.md +50 -0
  33. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/configuration.md +53 -0
  34. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
  35. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/patterns.md +45 -0
  36. package/dist/template/.opencode/skill/cloudflare/references/bindings/README.md +14 -0
  37. package/dist/template/.opencode/skill/cloudflare/references/bindings/api.md +3 -0
  38. package/dist/template/.opencode/skill/cloudflare/references/bindings/configuration.md +58 -0
  39. package/dist/template/.opencode/skill/cloudflare/references/bindings/gotchas.md +35 -0
  40. package/dist/template/.opencode/skill/cloudflare/references/bindings/patterns.md +37 -0
  41. package/dist/template/.opencode/skill/cloudflare/references/bot-management/README.md +71 -0
  42. package/dist/template/.opencode/skill/cloudflare/references/bot-management/api.md +168 -0
  43. package/dist/template/.opencode/skill/cloudflare/references/bot-management/configuration.md +114 -0
  44. package/dist/template/.opencode/skill/cloudflare/references/bot-management/gotchas.md +99 -0
  45. package/dist/template/.opencode/skill/cloudflare/references/bot-management/patterns.md +125 -0
  46. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/README.md +16 -0
  47. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/api.md +54 -0
  48. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/configuration.md +47 -0
  49. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/gotchas.md +29 -0
  50. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/patterns.md +29 -0
  51. package/dist/template/.opencode/skill/cloudflare/references/c3/README.md +264 -0
  52. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/README.md +93 -0
  53. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/api.md +176 -0
  54. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/configuration.md +164 -0
  55. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/gotchas.md +203 -0
  56. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/patterns.md +180 -0
  57. package/dist/template/.opencode/skill/cloudflare/references/containers/README.md +16 -0
  58. package/dist/template/.opencode/skill/cloudflare/references/containers/api.md +43 -0
  59. package/dist/template/.opencode/skill/cloudflare/references/containers/configuration.md +56 -0
  60. package/dist/template/.opencode/skill/cloudflare/references/containers/gotchas.md +21 -0
  61. package/dist/template/.opencode/skill/cloudflare/references/containers/patterns.md +40 -0
  62. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/README.md +85 -0
  63. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/api.md +198 -0
  64. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/configuration.md +151 -0
  65. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/gotchas.md +129 -0
  66. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/patterns.md +122 -0
  67. package/dist/template/.opencode/skill/cloudflare/references/d1/README.md +92 -0
  68. package/dist/template/.opencode/skill/cloudflare/references/d1/api.md +141 -0
  69. package/dist/template/.opencode/skill/cloudflare/references/d1/configuration.md +127 -0
  70. package/dist/template/.opencode/skill/cloudflare/references/d1/gotchas.md +70 -0
  71. package/dist/template/.opencode/skill/cloudflare/references/d1/patterns.md +144 -0
  72. package/dist/template/.opencode/skill/cloudflare/references/ddos/README.md +34 -0
  73. package/dist/template/.opencode/skill/cloudflare/references/ddos/api.md +136 -0
  74. package/dist/template/.opencode/skill/cloudflare/references/ddos/configuration.md +67 -0
  75. package/dist/template/.opencode/skill/cloudflare/references/ddos/gotchas.md +114 -0
  76. package/dist/template/.opencode/skill/cloudflare/references/ddos/patterns.md +158 -0
  77. package/dist/template/.opencode/skill/cloudflare/references/do-storage/README.md +62 -0
  78. package/dist/template/.opencode/skill/cloudflare/references/do-storage/api.md +89 -0
  79. package/dist/template/.opencode/skill/cloudflare/references/do-storage/configuration.md +116 -0
  80. package/dist/template/.opencode/skill/cloudflare/references/do-storage/gotchas.md +93 -0
  81. package/dist/template/.opencode/skill/cloudflare/references/do-storage/patterns.md +112 -0
  82. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/README.md +125 -0
  83. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/api.md +152 -0
  84. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/configuration.md +148 -0
  85. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/gotchas.md +158 -0
  86. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/patterns.md +255 -0
  87. package/dist/template/.opencode/skill/cloudflare/references/email-routing/README.md +18 -0
  88. package/dist/template/.opencode/skill/cloudflare/references/email-routing/api.md +46 -0
  89. package/dist/template/.opencode/skill/cloudflare/references/email-routing/configuration.md +63 -0
  90. package/dist/template/.opencode/skill/cloudflare/references/email-routing/gotchas.md +16 -0
  91. package/dist/template/.opencode/skill/cloudflare/references/email-routing/patterns.md +46 -0
  92. package/dist/template/.opencode/skill/cloudflare/references/email-workers/README.md +598 -0
  93. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/README.md +62 -0
  94. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/api.md +137 -0
  95. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/configuration.md +133 -0
  96. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/gotchas.md +184 -0
  97. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/patterns.md +176 -0
  98. package/dist/template/.opencode/skill/cloudflare/references/images/README.md +14 -0
  99. package/dist/template/.opencode/skill/cloudflare/references/images/api.md +3 -0
  100. package/dist/template/.opencode/skill/cloudflare/references/images/configuration.md +45 -0
  101. package/dist/template/.opencode/skill/cloudflare/references/images/gotchas.md +23 -0
  102. package/dist/template/.opencode/skill/cloudflare/references/images/patterns.md +31 -0
  103. package/dist/template/.opencode/skill/cloudflare/references/kv/README.md +60 -0
  104. package/dist/template/.opencode/skill/cloudflare/references/kv/api.md +114 -0
  105. package/dist/template/.opencode/skill/cloudflare/references/kv/configuration.md +92 -0
  106. package/dist/template/.opencode/skill/cloudflare/references/kv/gotchas.md +117 -0
  107. package/dist/template/.opencode/skill/cloudflare/references/kv/patterns.md +139 -0
  108. package/dist/template/.opencode/skill/cloudflare/references/miniflare/README.md +64 -0
  109. package/dist/template/.opencode/skill/cloudflare/references/miniflare/api.md +144 -0
  110. package/dist/template/.opencode/skill/cloudflare/references/miniflare/configuration.md +203 -0
  111. package/dist/template/.opencode/skill/cloudflare/references/miniflare/gotchas.md +187 -0
  112. package/dist/template/.opencode/skill/cloudflare/references/miniflare/patterns.md +211 -0
  113. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/README.md +60 -0
  114. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/api.md +240 -0
  115. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/configuration.md +127 -0
  116. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/gotchas.md +171 -0
  117. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/patterns.md +171 -0
  118. package/dist/template/.opencode/skill/cloudflare/references/observability/README.md +18 -0
  119. package/dist/template/.opencode/skill/cloudflare/references/observability/api.md +51 -0
  120. package/dist/template/.opencode/skill/cloudflare/references/observability/configuration.md +60 -0
  121. package/dist/template/.opencode/skill/cloudflare/references/observability/gotchas.md +36 -0
  122. package/dist/template/.opencode/skill/cloudflare/references/observability/patterns.md +42 -0
  123. package/dist/template/.opencode/skill/cloudflare/references/pages/README.md +76 -0
  124. package/dist/template/.opencode/skill/cloudflare/references/pages/api.md +200 -0
  125. package/dist/template/.opencode/skill/cloudflare/references/pages/configuration.md +228 -0
  126. package/dist/template/.opencode/skill/cloudflare/references/pages/gotchas.md +161 -0
  127. package/dist/template/.opencode/skill/cloudflare/references/pages/patterns.md +145 -0
  128. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/README.md +57 -0
  129. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/api.md +201 -0
  130. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/configuration.md +159 -0
  131. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/gotchas.md +151 -0
  132. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/patterns.md +190 -0
  133. package/dist/template/.opencode/skill/cloudflare/references/pipelines/README.md +664 -0
  134. package/dist/template/.opencode/skill/cloudflare/references/pulumi/README.md +107 -0
  135. package/dist/template/.opencode/skill/cloudflare/references/pulumi/api.md +194 -0
  136. package/dist/template/.opencode/skill/cloudflare/references/pulumi/configuration.md +216 -0
  137. package/dist/template/.opencode/skill/cloudflare/references/pulumi/gotchas.md +223 -0
  138. package/dist/template/.opencode/skill/cloudflare/references/pulumi/patterns.md +139 -0
  139. package/dist/template/.opencode/skill/cloudflare/references/queues/README.md +69 -0
  140. package/dist/template/.opencode/skill/cloudflare/references/queues/api.md +138 -0
  141. package/dist/template/.opencode/skill/cloudflare/references/queues/configuration.md +125 -0
  142. package/dist/template/.opencode/skill/cloudflare/references/queues/gotchas.md +112 -0
  143. package/dist/template/.opencode/skill/cloudflare/references/queues/patterns.md +155 -0
  144. package/dist/template/.opencode/skill/cloudflare/references/r2/README.md +61 -0
  145. package/dist/template/.opencode/skill/cloudflare/references/r2/api.md +127 -0
  146. package/dist/template/.opencode/skill/cloudflare/references/r2/configuration.md +76 -0
  147. package/dist/template/.opencode/skill/cloudflare/references/r2/gotchas.md +94 -0
  148. package/dist/template/.opencode/skill/cloudflare/references/r2/patterns.md +127 -0
  149. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/README.md +18 -0
  150. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/api.md +29 -0
  151. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/configuration.md +39 -0
  152. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
  153. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/patterns.md +46 -0
  154. package/dist/template/.opencode/skill/cloudflare/references/r2-sql/README.md +512 -0
  155. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/README.md +21 -0
  156. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/api.md +135 -0
  157. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/configuration.md +63 -0
  158. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/gotchas.md +75 -0
  159. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/patterns.md +102 -0
  160. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/README.md +81 -0
  161. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/api.md +164 -0
  162. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/configuration.md +147 -0
  163. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/gotchas.md +172 -0
  164. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/patterns.md +155 -0
  165. package/dist/template/.opencode/skill/cloudflare/references/sandbox/README.md +90 -0
  166. package/dist/template/.opencode/skill/cloudflare/references/sandbox/api.md +178 -0
  167. package/dist/template/.opencode/skill/cloudflare/references/sandbox/configuration.md +131 -0
  168. package/dist/template/.opencode/skill/cloudflare/references/sandbox/gotchas.md +156 -0
  169. package/dist/template/.opencode/skill/cloudflare/references/sandbox/patterns.md +203 -0
  170. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/README.md +58 -0
  171. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/api.md +182 -0
  172. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/configuration.md +140 -0
  173. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/gotchas.md +129 -0
  174. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/patterns.md +218 -0
  175. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/README.md +91 -0
  176. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/api.md +139 -0
  177. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/configuration.md +129 -0
  178. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/gotchas.md +87 -0
  179. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/patterns.md +135 -0
  180. package/dist/template/.opencode/skill/cloudflare/references/snippets/README.md +15 -0
  181. package/dist/template/.opencode/skill/cloudflare/references/snippets/api.md +47 -0
  182. package/dist/template/.opencode/skill/cloudflare/references/snippets/configuration.md +33 -0
  183. package/dist/template/.opencode/skill/cloudflare/references/snippets/gotchas.md +21 -0
  184. package/dist/template/.opencode/skill/cloudflare/references/snippets/patterns.md +34 -0
  185. package/dist/template/.opencode/skill/cloudflare/references/spectrum/README.md +16 -0
  186. package/dist/template/.opencode/skill/cloudflare/references/spectrum/api.md +24 -0
  187. package/dist/template/.opencode/skill/cloudflare/references/spectrum/configuration.md +43 -0
  188. package/dist/template/.opencode/skill/cloudflare/references/spectrum/gotchas.md +42 -0
  189. package/dist/template/.opencode/skill/cloudflare/references/spectrum/patterns.md +40 -0
  190. package/dist/template/.opencode/skill/cloudflare/references/static-assets/README.md +14 -0
  191. package/dist/template/.opencode/skill/cloudflare/references/static-assets/api.md +3 -0
  192. package/dist/template/.opencode/skill/cloudflare/references/static-assets/configuration.md +47 -0
  193. package/dist/template/.opencode/skill/cloudflare/references/static-assets/gotchas.md +44 -0
  194. package/dist/template/.opencode/skill/cloudflare/references/static-assets/patterns.md +42 -0
  195. package/dist/template/.opencode/skill/cloudflare/references/stream/README.md +103 -0
  196. package/dist/template/.opencode/skill/cloudflare/references/stream/api.md +204 -0
  197. package/dist/template/.opencode/skill/cloudflare/references/stream/configuration.md +127 -0
  198. package/dist/template/.opencode/skill/cloudflare/references/stream/gotchas.md +131 -0
  199. package/dist/template/.opencode/skill/cloudflare/references/stream/patterns.md +152 -0
  200. package/dist/template/.opencode/skill/cloudflare/references/tail-workers/README.md +640 -0
  201. package/dist/template/.opencode/skill/cloudflare/references/terraform/README.md +76 -0
  202. package/dist/template/.opencode/skill/cloudflare/references/terraform/api.md +159 -0
  203. package/dist/template/.opencode/skill/cloudflare/references/terraform/configuration.md +156 -0
  204. package/dist/template/.opencode/skill/cloudflare/references/terraform/gotchas.md +207 -0
  205. package/dist/template/.opencode/skill/cloudflare/references/terraform/patterns.md +135 -0
  206. package/dist/template/.opencode/skill/cloudflare/references/tunnel/README.md +82 -0
  207. package/dist/template/.opencode/skill/cloudflare/references/tunnel/api.md +105 -0
  208. package/dist/template/.opencode/skill/cloudflare/references/tunnel/configuration.md +113 -0
  209. package/dist/template/.opencode/skill/cloudflare/references/tunnel/gotchas.md +115 -0
  210. package/dist/template/.opencode/skill/cloudflare/references/tunnel/patterns.md +157 -0
  211. package/dist/template/.opencode/skill/cloudflare/references/turn/README.md +699 -0
  212. package/dist/template/.opencode/skill/cloudflare/references/turnstile/README.md +14 -0
  213. package/dist/template/.opencode/skill/cloudflare/references/turnstile/api.md +3 -0
  214. package/dist/template/.opencode/skill/cloudflare/references/turnstile/configuration.md +19 -0
  215. package/dist/template/.opencode/skill/cloudflare/references/turnstile/gotchas.md +27 -0
  216. package/dist/template/.opencode/skill/cloudflare/references/turnstile/patterns.md +41 -0
  217. package/dist/template/.opencode/skill/cloudflare/references/vectorize/README.md +682 -0
  218. package/dist/template/.opencode/skill/cloudflare/references/waf/README.md +14 -0
  219. package/dist/template/.opencode/skill/cloudflare/references/waf/api.md +3 -0
  220. package/dist/template/.opencode/skill/cloudflare/references/waf/configuration.md +44 -0
  221. package/dist/template/.opencode/skill/cloudflare/references/waf/gotchas.md +24 -0
  222. package/dist/template/.opencode/skill/cloudflare/references/waf/patterns.md +29 -0
  223. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/README.md +19 -0
  224. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/api.md +52 -0
  225. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/configuration.md +31 -0
  226. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/gotchas.md +28 -0
  227. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/patterns.md +52 -0
  228. package/dist/template/.opencode/skill/cloudflare/references/workerd/README.md +47 -0
  229. package/dist/template/.opencode/skill/cloudflare/references/workerd/api.md +199 -0
  230. package/dist/template/.opencode/skill/cloudflare/references/workerd/configuration.md +185 -0
  231. package/dist/template/.opencode/skill/cloudflare/references/workerd/gotchas.md +203 -0
  232. package/dist/template/.opencode/skill/cloudflare/references/workerd/patterns.md +216 -0
  233. package/dist/template/.opencode/skill/cloudflare/references/workers/README.md +96 -0
  234. package/dist/template/.opencode/skill/cloudflare/references/workers/api.md +137 -0
  235. package/dist/template/.opencode/skill/cloudflare/references/workers/configuration.md +147 -0
  236. package/dist/template/.opencode/skill/cloudflare/references/workers/gotchas.md +99 -0
  237. package/dist/template/.opencode/skill/cloudflare/references/workers/patterns.md +149 -0
  238. package/dist/template/.opencode/skill/cloudflare/references/workers-ai/README.md +116 -0
  239. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/README.md +48 -0
  240. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/api.md +169 -0
  241. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/configuration.md +136 -0
  242. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
  243. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/patterns.md +170 -0
  244. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/README.md +16 -0
  245. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/api.md +20 -0
  246. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/configuration.md +3 -0
  247. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/gotchas.md +35 -0
  248. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/patterns.md +42 -0
  249. package/dist/template/.opencode/skill/cloudflare/references/workers-vpc/README.md +579 -0
  250. package/dist/template/.opencode/skill/cloudflare/references/workflows/README.md +62 -0
  251. package/dist/template/.opencode/skill/cloudflare/references/workflows/api.md +125 -0
  252. package/dist/template/.opencode/skill/cloudflare/references/workflows/configuration.md +177 -0
  253. package/dist/template/.opencode/skill/cloudflare/references/workflows/gotchas.md +136 -0
  254. package/dist/template/.opencode/skill/cloudflare/references/workflows/patterns.md +132 -0
  255. package/dist/template/.opencode/skill/cloudflare/references/wrangler/README.md +90 -0
  256. package/dist/template/.opencode/skill/cloudflare/references/wrangler/api.md +140 -0
  257. package/dist/template/.opencode/skill/cloudflare/references/wrangler/configuration.md +128 -0
  258. package/dist/template/.opencode/skill/cloudflare/references/wrangler/gotchas.md +93 -0
  259. package/dist/template/.opencode/skill/cloudflare/references/wrangler/patterns.md +150 -0
  260. package/dist/template/.opencode/skill/cloudflare/references/zaraz/README.md +360 -0
  261. package/dist/template/.opencode/skill/react-best-practices/AGENTS.md +2410 -0
  262. package/dist/template/.opencode/skill/react-best-practices/README.md +123 -0
  263. package/dist/template/.opencode/skill/react-best-practices/SKILL.md +125 -0
  264. package/dist/template/.opencode/skill/react-best-practices/metadata.json +15 -0
  265. package/dist/template/.opencode/skill/react-best-practices/rules/_sections.md +46 -0
  266. package/dist/template/.opencode/skill/react-best-practices/rules/_template.md +28 -0
  267. package/dist/template/.opencode/skill/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  268. package/dist/template/.opencode/skill/react-best-practices/rules/advanced-use-latest.md +49 -0
  269. package/dist/template/.opencode/skill/react-best-practices/rules/async-api-routes.md +38 -0
  270. package/dist/template/.opencode/skill/react-best-practices/rules/async-defer-await.md +80 -0
  271. package/dist/template/.opencode/skill/react-best-practices/rules/async-dependencies.md +36 -0
  272. package/dist/template/.opencode/skill/react-best-practices/rules/async-parallel.md +28 -0
  273. package/dist/template/.opencode/skill/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  274. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  275. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-conditional.md +31 -0
  276. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  277. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  278. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-preload.md +50 -0
  279. package/dist/template/.opencode/skill/react-best-practices/rules/client-event-listeners.md +74 -0
  280. package/dist/template/.opencode/skill/react-best-practices/rules/client-localstorage-schema.md +71 -0
  281. package/dist/template/.opencode/skill/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  282. package/dist/template/.opencode/skill/react-best-practices/rules/client-swr-dedup.md +56 -0
  283. package/dist/template/.opencode/skill/react-best-practices/rules/js-batch-dom-css.md +82 -0
  284. package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-function-results.md +80 -0
  285. package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-property-access.md +28 -0
  286. package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-storage.md +70 -0
  287. package/dist/template/.opencode/skill/react-best-practices/rules/js-combine-iterations.md +32 -0
  288. package/dist/template/.opencode/skill/react-best-practices/rules/js-early-exit.md +50 -0
  289. package/dist/template/.opencode/skill/react-best-practices/rules/js-hoist-regexp.md +45 -0
  290. package/dist/template/.opencode/skill/react-best-practices/rules/js-index-maps.md +37 -0
  291. package/dist/template/.opencode/skill/react-best-practices/rules/js-length-check-first.md +49 -0
  292. package/dist/template/.opencode/skill/react-best-practices/rules/js-min-max-loop.md +82 -0
  293. package/dist/template/.opencode/skill/react-best-practices/rules/js-set-map-lookups.md +24 -0
  294. package/dist/template/.opencode/skill/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  295. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-activity.md +26 -0
  296. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  297. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-conditional-render.md +40 -0
  298. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-content-visibility.md +38 -0
  299. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  300. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  301. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-svg-precision.md +28 -0
  302. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-defer-reads.md +39 -0
  303. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-dependencies.md +45 -0
  304. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-derived-state.md +29 -0
  305. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  306. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  307. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-memo.md +44 -0
  308. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-transitions.md +40 -0
  309. package/dist/template/.opencode/skill/react-best-practices/rules/server-after-nonblocking.md +73 -0
  310. package/dist/template/.opencode/skill/react-best-practices/rules/server-cache-lru.md +41 -0
  311. package/dist/template/.opencode/skill/react-best-practices/rules/server-cache-react.md +76 -0
  312. package/dist/template/.opencode/skill/react-best-practices/rules/server-parallel-fetching.md +83 -0
  313. package/dist/template/.opencode/skill/react-best-practices/rules/server-serialization.md +38 -0
  314. package/dist/template/.opencode/skill/supabase/SKILL.md +120 -0
  315. package/dist/template/.opencode/skill/supabase/mcp.json +27 -0
  316. package/dist/template/.opencode/skill/vercel-deploy-claimable/SKILL.md +112 -0
  317. package/dist/template/.opencode/skill/vercel-deploy-claimable/scripts/deploy.sh +249 -0
  318. package/dist/template/.opencode/skill/web-design-guidelines/SKILL.md +39 -0
  319. package/package.json +1 -1
@@ -0,0 +1,51 @@
1
+ # Gotchas & Troubleshooting
2
+
3
+ ## Schema Blocking Valid Reqs
4
+
5
+ Firewall Events show violations? 1) Check details 2) Review schema (Settings) 3) Test Swagger Editor 4) Log mode 5) Update schema
6
+
7
+ Validated: date-time,time,date,email,hostname,ipv4/6,uri(-reference),iri(-reference),int32/64,float,double,password,uuid,byte,uint64
8
+
9
+ oneOf: Zero matches (missing discriminator), Multiple (ambiguous)
10
+
11
+ ## JWT Failing
12
+
13
+ 1) JWKS match IdP? 2) `exp` valid? 3) Header/cookie name? 4) Test jwt.io 5) Clock skew?
14
+
15
+ ## Discovery Missing
16
+
17
+ Needs 500+ reqs/10d, 2xx from edge, not Workers direct. Check threshold, codes, session ID config. ML updates daily. Path norm: `/profile/238` → `/profile/{var1}`
18
+
19
+ ## Sequence False Positives
20
+
21
+ Lookback: 10 reqs to managed endpoints, 10min (contact for adjust). Check session ID uniqueness, neg vs pos model
22
+
23
+ ## Perf
24
+
25
+ Schema: ~1-2ms, JWT: ~0.5-1ms, mTLS: ~2-5ms, Sequence: ~0.5ms
26
+
27
+ ## Best Practices
28
+
29
+ 1. Discovery first (map before enforce)
30
+ 2. Progressive: Log → Block critical → Full
31
+ 3. Session IDs unique per user
32
+ 4. Validate schema (Swagger Editor)
33
+ 5. Automate JWKS rotation (Worker cron)
34
+ 6. Fallthrough rules (zombie APIs)
35
+ 7. Logpush + alerts
36
+ 8. Rate limit w/JWT claims
37
+ 9. Layer Bot Management
38
+ 10. Test staging
39
+
40
+ ## Limits
41
+
42
+ Schema: OpenAPI v3.0.x only, no ext refs/non-basic paths, 10K ops, need `type`+`schema`, default `style`/`explode`, no `content` in params, no obj param validation, no `anyOf` in params
43
+ JWT: Headers/cookies only, validates managed endpoints only
44
+ Sequence (Beta): Needs endpoints+session ID, contact team
45
+
46
+ ## Errors
47
+
48
+ "Token invalid": Config wrong, JWKS mismatch, expired
49
+ "Schema violation": Missing fields, wrong types, spec mismatch
50
+ "Fallthrough": Unknown endpoint, pattern mismatch
51
+ "mTLS failed": Cert untrusted/expired, wrong CA
@@ -0,0 +1,145 @@
1
+ # Patterns & Use Cases
2
+
3
+ ## Protect API with Schema + JWT
4
+
5
+ ```bash
6
+ # 1. Upload OpenAPI schema
7
+ POST /zones/{zone_id}/api_gateway/user_schemas
8
+
9
+ # 2. Configure JWT validation
10
+ POST /zones/{zone_id}/api_gateway/token_validation
11
+ {
12
+ "name": "Auth0",
13
+ "location": {"header": "Authorization"},
14
+ "jwks": "{...}"
15
+ }
16
+
17
+ # 3. Create JWT rule
18
+ POST /zones/{zone_id}/api_gateway/jwt_validation_rules
19
+
20
+ # 4. Set schema validation action
21
+ PUT /zones/{zone_id}/api_gateway/settings/schema_validation
22
+ {"validation_default_mitigation_action": "block"}
23
+ ```
24
+
25
+ ## Progressive Rollout
26
+
27
+ ```
28
+ 1. Log mode: Observe false positives
29
+ - Schema: Action = Log
30
+ - JWT: Action = Log
31
+
32
+ 2. Block subset: Protect critical endpoints
33
+ - Change specific endpoint actions to Block
34
+ - Monitor firewall events
35
+
36
+ 3. Full enforcement: Block all violations
37
+ - Change default action to Block
38
+ - Handle fallthrough with custom rule
39
+ ```
40
+
41
+ ## Fallthrough Detection (Zombie APIs)
42
+
43
+ ```javascript
44
+ // WAF Custom Rule
45
+ (cf.api_gateway.fallthrough_triggered and http.host eq "api.example.com")
46
+ // Action: Log (discover unknown) or Block (strict)
47
+ ```
48
+
49
+ ## Rate Limiting by User
50
+
51
+ ```javascript
52
+ // Rate Limiting Rule
53
+ (http.host eq "api.example.com" and
54
+ lookup_json_string(http.request.jwt.claims["{config_id}"][0], "sub") ne "")
55
+
56
+ // Rate: 100 req/60s
57
+ // Counting: lookup_json_string(http.request.jwt.claims["{config_id}"][0], "sub")
58
+ ```
59
+
60
+ ## Architecture Patterns
61
+
62
+ ### Public API (High Security)
63
+ ```
64
+ Cloudflare Edge
65
+ ├── API Discovery (identify endpoints)
66
+ ├── Schema Validation (enforce OpenAPI)
67
+ ├── JWT Validation (verify tokens)
68
+ ├── Rate Limiting (per-user)
69
+ ├── Bot Management (filter abuse)
70
+ └── Origin → API server
71
+ ```
72
+
73
+ ### Partner API (mTLS + Schema)
74
+ ```
75
+ Cloudflare Edge
76
+ ├── mTLS (verify client certs)
77
+ ├── Schema Validation (validate payloads)
78
+ ├── Sequence Mitigation (enforce order)
79
+ └── Origin → API server
80
+ ```
81
+
82
+ ### Internal API (Discovery + Monitoring)
83
+ ```
84
+ Cloudflare Edge
85
+ ├── API Discovery (map shadow APIs)
86
+ ├── Schema Learning (auto-generate specs)
87
+ ├── Authentication Posture (audit coverage)
88
+ └── Origin → API server
89
+ ```
90
+
91
+ ## OWASP API Security Top 10 Mapping
92
+
93
+ | OWASP Issue | API Shield Solutions |
94
+ |-------------|---------------------|
95
+ | Broken Object Level Authorization | BOLA detection, Sequence mitigation, Schema, JWT, Rate Limiting |
96
+ | Broken Authentication | Auth Posture, mTLS, JWT, Credential Checks, Bot Management |
97
+ | Broken Object Property Auth | Schema validation, JWT validation |
98
+ | Unrestricted Resource | Rate Limiting, Sequence, Bot Management, GraphQL protection |
99
+ | Broken Function Level Auth | Schema validation, JWT validation |
100
+ | Unrestricted Business Flows | Sequence mitigation, Bot Management, GraphQL |
101
+ | SSRF | Schema, WAF managed rules, WAF custom |
102
+ | Security Misconfiguration | Sequence, Schema, WAF managed, GraphQL |
103
+ | Improper Inventory | Discovery, Schema learning |
104
+ | Unsafe API Consumption | JWT validation, WAF managed |
105
+
106
+ ## Monitoring
107
+
108
+ **Security Events:**
109
+ ```
110
+ Security > Events
111
+ Filter: Action = block, Service = API Shield
112
+ ```
113
+
114
+ **Firewall Analytics:**
115
+ ```
116
+ Analytics > Security
117
+ Filter by cf.api_gateway.* fields
118
+ ```
119
+
120
+ **Logpush fields:**
121
+ ```json
122
+ {
123
+ "APIGatewayAuthIDPresent": true,
124
+ "APIGatewayRequestViolatesSchema": false,
125
+ "APIGatewayFallthroughDetected": false,
126
+ "JWTValidationResult": "valid",
127
+ "ClientCertFingerprint": "abc123..."
128
+ }
129
+ ```
130
+
131
+ ## Availability
132
+
133
+ | Feature | Availability |
134
+ |---------|-------------|
135
+ | mTLS (CF-managed CA) | All plans |
136
+ | Endpoint Management | All plans (limited ops) |
137
+ | Schema Validation | All plans (limited ops) |
138
+ | API Discovery | Enterprise only |
139
+ | JWT Validation | Enterprise (add-on) |
140
+ | Sequence Mitigation | Enterprise (closed beta) |
141
+ | BOLA Detection | Enterprise (add-on) |
142
+ | Volumetric Abuse | Enterprise (add-on) |
143
+ | Full Suite | Enterprise add-on |
144
+
145
+ Enterprise: 10K ops (contact for higher), non-contract preview available.
@@ -0,0 +1,16 @@
1
+ # Cloudflare Argo Smart Routing Skill Reference
2
+
3
+ ## Overview
4
+
5
+ Cloudflare Argo Smart Routing is a performance optimization service that detects real-time network issues and routes web traffic across the most efficient network path. This skill provides comprehensive guidance for implementing, configuring, and managing Argo Smart Routing via API, CLI...
6
+
7
+ ## In This Reference
8
+
9
+ - **[configuration.md](./configuration.md)** - Setup, deployment, configuration
10
+ - **[api.md](./api.md)** - API endpoints, methods, interfaces
11
+ - **[patterns.md](./patterns.md)** - Common patterns, use cases, examples
12
+ - **[gotchas.md](./gotchas.md)** - Troubleshooting, best practices, limitations
13
+
14
+ ## See Also
15
+
16
+ - [Cloudflare Docs](https://developers.cloudflare.com/)
@@ -0,0 +1,50 @@
1
+ ## API Reference
2
+
3
+ ### Base Endpoint
4
+ ```
5
+ https://api.cloudflare.com/client/v4
6
+ ```
7
+
8
+ ### Authentication
9
+ Use API tokens with Zone:Argo Smart Routing:Edit permissions:
10
+
11
+ ```bash
12
+ # Headers required
13
+ X-Auth-Email: user@example.com
14
+ Authorization: Bearer YOUR_API_TOKEN
15
+ ```
16
+
17
+ ### Get Argo Smart Routing Status
18
+
19
+ **Endpoint:** `GET /zones/{zone_id}/argo/smart_routing`
20
+
21
+ **Description:** Retrieves current Argo Smart Routing enablement status.
22
+
23
+ **cURL Example:**
24
+ ```bash
25
+ curl -X GET "https://api.cloudflare.com/client/v4/zones/{zone_id}/argo/smart_routing" \
26
+ -H "Authorization: Bearer YOUR_API_TOKEN" \
27
+ -H "Content-Type: application/json"
28
+ ```
29
+
30
+ **Response:**
31
+ ```json
32
+ {
33
+ "result": {
34
+ "id": "smart_routing",
35
+ "value": "on",
36
+ "editable": true,
37
+ "modified_on": "2024-01-11T12:00:00Z"
38
+ },
39
+ "success": true,
40
+ "errors": [],
41
+ "messages": []
42
+ }
43
+ ```
44
+
45
+ **TypeScript SDK Example:**
46
+ ```typescript
47
+ import Cloudflare from 'cloudflare';
48
+
49
+ const client = new Cloudflare({
50
+ apiToken: process.env.CLOUDFLARE_API_TOKE
@@ -0,0 +1,53 @@
1
+ ## Configuration Management
2
+
3
+ ### Infrastructure as Code (Terraform)
4
+
5
+ ```hcl
6
+ # terraform/argo.tf
7
+ # Note: Use Cloudflare Terraform provider
8
+
9
+ resource "cloudflare_argo" "example" {
10
+ zone_id = var.zone_id
11
+ smart_routing = "on"
12
+ tiered_caching = "on"
13
+ }
14
+
15
+ variable "zone_id" {
16
+ description = "Cloudflare Zone ID"
17
+ type = string
18
+ }
19
+
20
+ output "argo_enabled" {
21
+ value = cloudflare_argo.example.smart_routing
22
+ description = "Argo Smart Routing status"
23
+ }
24
+ ```
25
+
26
+ ### Environment-Based Configuration
27
+
28
+ ```typescript
29
+ // config/argo.ts
30
+ interface ArgoEnvironmentConfig {
31
+ enabled: boolean;
32
+ tieredCache: boolean;
33
+ monitoring: {
34
+ usageAlerts: boolean;
35
+ threshold: number;
36
+ };
37
+ }
38
+
39
+ const configs: Record<string, ArgoEnvironmentConfig> = {
40
+ production: {
41
+ enabled: true,
42
+ tieredCache: true,
43
+ monitoring: {
44
+ usageAlerts: true,
45
+ threshold: 1000, // GB
46
+ },
47
+ },
48
+ staging: {
49
+ enabled: true,
50
+ tieredCache: false,
51
+ monitoring: {
52
+ usageAlerts: false,
53
+ th
@@ -0,0 +1,16 @@
1
+ ## Best Practices Summary
2
+
3
+ 1. **Always check editability** before attempting to enable/disable Argo
4
+ 2. **Set up billing notifications** to avoid unexpected costs
5
+ 3. **Combine with Tiered Cache** for maximum performance benefit
6
+ 4. **Use in production only** - disable for dev/staging to control costs
7
+ 5. **Monitor analytics** - require 500+ requests in 48h for detailed metrics
8
+ 6. **Handle errors gracefully** - check for billing, permissions, zone compatibility
9
+ 7. **Test configuration changes** in staging before production
10
+ 8. **Use TypeScript SDK** for type safety and better developer experience
11
+ 9. **Implement retry logic** for API calls in production systems
12
+ 10. **Document zone-specific settings** for team visibility
13
+
14
+ ## Additional Resources
15
+
16
+ - [Official Argo Smart Routing Docs](https://devel
@@ -0,0 +1,45 @@
1
+ ## Integration with Tiered Cache
2
+
3
+ Combine Argo Smart Routing with Tiered Cache for maximum performance:
4
+
5
+ **Endpoint:** `PATCH /zones/{zone_id}/argo/tiered_caching`
6
+
7
+ **Benefits:**
8
+ - Argo optimizes routing between edge and origin
9
+ - Tiered Cache reduces origin requests via cache hierarchy
10
+ - Combined: optimal network path + reduced origin load
11
+
12
+ **Enable Both Services:**
13
+ ```typescript
14
+ async function enableArgoWithTieredCache(
15
+ client: Cloudflare,
16
+ zoneId: string
17
+ ) {
18
+ // Enable Argo Smart Routing
19
+ await client.argo.smartRouting.edit({
20
+ zone_id: zoneId,
21
+ value: 'on',
22
+ });
23
+
24
+ // Enable Tiered Caching
25
+ await client.argo.tieredCaching.edit({
26
+ zone_id: zoneId,
27
+ value: 'on',
28
+ });
29
+
30
+ console.log('Argo Smart Routing and Tiered Cache enabled');
31
+ }
32
+ ```
33
+
34
+ **Architecture Flow:**
35
+ ```
36
+ Visitor → Edge Data Center (Lower-Tier)
37
+ ↓ [Cache Miss]
38
+ Upper-Tier Data Center
39
+ ↓ [Cache Miss + Argo Smart Route]
40
+ Origin Server
41
+ ```
42
+
43
+ ## Usage-Based Billing Management
44
+
45
+ ### S
@@ -0,0 +1,14 @@
1
+ # Cloudflare Bindings Skill Reference
2
+
3
+ Expert guidance on Cloudflare Workers Bindings - the runtime APIs that connect Workers to Cloudflare platform resources....
4
+
5
+ ## In This Reference
6
+
7
+ - **[configuration.md](./configuration.md)** - Setup, deployment, configuration
8
+ - **[api.md](./api.md)** - API endpoints, methods, interfaces
9
+ - **[patterns.md](./patterns.md)** - Common patterns, use cases, examples
10
+ - **[gotchas.md](./gotchas.md)** - Troubleshooting, best practices, limitations
11
+
12
+ ## See Also
13
+
14
+ - [Cloudflare Docs](https://developers.cloudflare.com/)
@@ -0,0 +1,3 @@
1
+ # API Reference
2
+
3
+ See main documentation.
@@ -0,0 +1,58 @@
1
+ ## Wrangler Configuration Patterns
2
+
3
+ ### JSON vs TOML
4
+
5
+ **JSON (Recommended for new projects):**
6
+ ```jsonc
7
+ // wrangler.jsonc
8
+ {
9
+ "$schema": "./node_modules/wrangler/config-schema.json",
10
+ "name": "my-worker",
11
+ "main": "src/index.ts",
12
+ "compatibility_date": "2024-01-01",
13
+ "vars": {
14
+ "API_URL": "https://api.example.com"
15
+ }
16
+ }
17
+ ```
18
+
19
+ **TOML (Legacy):**
20
+ ```toml
21
+ # wrangler.toml
22
+ name = "my-worker"
23
+ main = "src/index.ts"
24
+ compatibility_date = "2024-01-01"
25
+
26
+ [vars]
27
+ API_URL = "https://api.example.com"
28
+ ```
29
+
30
+ ### Environment-Specific Configuration
31
+
32
+ ```jsonc
33
+ {
34
+ "name": "my-worker",
35
+ "main": "src/index.ts",
36
+ "compatibility_date": "2024-01-01",
37
+
38
+ // Production bindings
39
+ "vars": {
40
+ "ENV": "production"
41
+ },
42
+ "kv_namespaces": [
43
+ {
44
+ "binding": "CACHE",
45
+ "id": "prod-kv-id"
46
+ }
47
+ ],
48
+
49
+ // Environment overrides
50
+ "env": {
51
+ "staging": {
52
+ "vars": {
53
+ "ENV": "staging"
54
+ },
55
+ "kv_namespaces": [
56
+ {
57
+ "binding": "CACHE",
58
+ "id": "staging-kv-id
@@ -0,0 +1,35 @@
1
+ ## Troubleshooting
2
+
3
+ ### Binding Not Found
4
+ ```
5
+ Error: env.MY_KV is undefined
6
+ ```
7
+ **Solutions:**
8
+ 1. Check binding name matches config
9
+ 2. Run `npx wrangler types` to regenerate types
10
+ 3. Verify binding exists in current environment
11
+ 4. Check for typos in `wrangler.jsonc`
12
+
13
+ ### Type Errors
14
+ ```
15
+ Property 'MY_KV' does not exist on type 'Env'
16
+ ```
17
+ **Solution:** Run `npx wrangler types`
18
+
19
+ ### Preview Binding Required
20
+ ```
21
+ Error: preview_id is required for --remote
22
+ ```
23
+ **Solution:** Add preview_id to config or use local mode
24
+
25
+ ### Stale Binding Values
26
+ ```
27
+ Secret updated but Worker still uses old value
28
+ ```
29
+ **Solution:** Avoid caching `env` values in global scope
30
+
31
+ ## Security Best Practices
32
+
33
+ 1. **Never commit secrets to config files**
34
+ - Use `npx wrangler secret put` for sensitive values
35
+ - Secrets are e
@@ -0,0 +1,37 @@
1
+ ## Common Anti-Patterns
2
+
3
+ ### ❌ Hardcoding Credentials
4
+ ```typescript
5
+ // DON'T
6
+ const apiKey = 'sk_live_abc123';
7
+ ```
8
+ **✅ Use secrets:**
9
+ ```bash
10
+ npx wrangler secret put API_KEY
11
+ ```
12
+
13
+ ### ❌ Using REST API from Worker
14
+ ```typescript
15
+ // DON'T
16
+ await fetch('https://api.cloudflare.com/client/v4/accounts/.../kv/...');
17
+ ```
18
+ **✅ Use bindings:**
19
+ ```typescript
20
+ await env.MY_KV.get('key');
21
+ ```
22
+
23
+ ### ❌ Polling KV/D1 for Changes
24
+ ```typescript
25
+ // DON'T
26
+ setInterval(() => {
27
+ const config = await env.KV.get('config');
28
+ }, 1000);
29
+ ```
30
+ **✅ Use Durable Objects for real-time state**
31
+
32
+ ### ❌ Storing Large Data in env.vars
33
+ ```typescript
34
+ // DON'T
35
+ { "vars": { "HUGE_CONFIG": "..." } } // Max 5KB per var
36
+ ```
37
+ **✅ Use KV/R2 for large data**
@@ -0,0 +1,71 @@
1
+ # Cloudflare Bot Management
2
+
3
+ Enterprise-grade bot detection, protection, and mitigation using ML/heuristics, bot scores, JavaScript detections, and verified bot handling.
4
+
5
+ ## Overview
6
+
7
+ Bot Management provides multi-tier protection:
8
+ - **Free (Bot Fight Mode)**: Auto-blocks definite bots, no config
9
+ - **Pro/Business (Super Bot Fight Mode)**: Configurable actions, static resource protection, analytics groupings
10
+ - **Enterprise (Bot Management)**: Granular 1-99 scores, WAF integration, JA3/JA4 fingerprinting, Workers API, Advanced Analytics
11
+
12
+ ## Quick Start
13
+
14
+ ```txt
15
+ # Dashboard: Security > Bots
16
+ # Enterprise: Deploy rule template
17
+ (cf.bot_management.score eq 1 and not cf.bot_management.verified_bot) → Block
18
+ (cf.bot_management.score le 29 and not cf.bot_management.verified_bot) → Managed Challenge
19
+ ```
20
+
21
+ ## Core Concepts
22
+
23
+ **Bot Scores**: 1-99 (1 = definitely automated, 99 = definitely human). Threshold: <30 indicates bot traffic. Enterprise gets granular 1-99; Pro/Business get groupings only.
24
+
25
+ **Detection Engines**: Heuristics (known fingerprints, assigns score=1), ML (majority of detections, supervised learning on billions of requests), Anomaly Detection (optional, baseline traffic analysis), JavaScript Detections (headless browser detection).
26
+
27
+ **Verified Bots**: Allowlisted good bots (search engines, AI crawlers) verified via reverse DNS or Web Bot Auth. Access via `cf.bot_management.verified_bot` or `cf.verified_bot_category`.
28
+
29
+ ## Platform Limits
30
+
31
+ | Plan | Bot Scores | JA3/JA4 | Custom Rules | Analytics Retention |
32
+ |------|------------|---------|--------------|---------------------|
33
+ | Free | No (auto-block only) | No | 5 | N/A (no analytics) |
34
+ | Pro/Business | Groupings only | No | 20/100 | 30 days (72h at a time) |
35
+ | Enterprise | 1-99 granular | Yes | 1,000+ | 30 days (1 week at a time) |
36
+
37
+ ## Basic Patterns
38
+
39
+ ```typescript
40
+ // Workers: Check bot score
41
+ export default {
42
+ async fetch(request: Request): Promise<Response> {
43
+ const botScore = request.cf?.botManagement?.score;
44
+ if (botScore && botScore < 30 && !request.cf?.botManagement?.verifiedBot) {
45
+ return new Response('Bot detected', { status: 403 });
46
+ }
47
+ return fetch(request);
48
+ }
49
+ };
50
+ ```
51
+
52
+ ```txt
53
+ # WAF: Block definite bots
54
+ (cf.bot_management.score eq 1 and not cf.bot_management.verified_bot)
55
+
56
+ # WAF: Protect sensitive endpoints
57
+ (cf.bot_management.score lt 50 and http.request.uri.path in {"/login" "/checkout"} and not cf.bot_management.verified_bot)
58
+ ```
59
+
60
+ ## In This Reference
61
+
62
+ - [configuration.md](./configuration.md) - Product tiers, WAF rule setup, JavaScript Detections, ML auto-updates
63
+ - [api.md](./api.md) - Workers BotManagement interface, WAF fields, JA4 Signals
64
+ - [patterns.md](./patterns.md) - E-commerce, API protection, mobile app allowlisting, SEO-friendly handling
65
+ - [gotchas.md](./gotchas.md) - False positives/negatives, score=0 issues, JSD limitations, CSP requirements
66
+
67
+ ## See Also
68
+
69
+ - [waf](../waf/) - WAF custom rules for bot enforcement
70
+ - [workers](../workers/) - Workers request.cf.botManagement API
71
+ - [api-shield](../api-shield/) - API-specific bot protection