opencodekit 0.15.4 → 0.15.6

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 (326) hide show
  1. package/dist/index.js +2 -2
  2. package/dist/template/.opencode/agent/explore.md +13 -12
  3. package/dist/template/.opencode/command/cloudflare.md +70 -0
  4. package/dist/template/.opencode/memory/observations/2026-01-19-learning-oh-my-opencode-slim-vs-opencodekit-templ.md +27 -0
  5. package/dist/template/.opencode/package.json +1 -1
  6. package/dist/template/.opencode/plugin/sessions.ts +38 -4
  7. package/dist/template/.opencode/skill/cloudflare/SKILL.md +233 -0
  8. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/README.md +35 -0
  9. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/api.md +100 -0
  10. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/configuration.md +99 -0
  11. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/gotchas.md +59 -0
  12. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/patterns.md +89 -0
  13. package/dist/template/.opencode/skill/cloudflare/references/ai-gateway/README.md +695 -0
  14. package/dist/template/.opencode/skill/cloudflare/references/ai-search/README.md +14 -0
  15. package/dist/template/.opencode/skill/cloudflare/references/ai-search/api.md +38 -0
  16. package/dist/template/.opencode/skill/cloudflare/references/ai-search/configuration.md +52 -0
  17. package/dist/template/.opencode/skill/cloudflare/references/ai-search/gotchas.md +41 -0
  18. package/dist/template/.opencode/skill/cloudflare/references/ai-search/patterns.md +45 -0
  19. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/README.md +14 -0
  20. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/api.md +27 -0
  21. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/configuration.md +45 -0
  22. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/gotchas.md +3 -0
  23. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/patterns.md +36 -0
  24. package/dist/template/.opencode/skill/cloudflare/references/api/README.md +21 -0
  25. package/dist/template/.opencode/skill/cloudflare/references/api/api.md +31 -0
  26. package/dist/template/.opencode/skill/cloudflare/references/api/configuration.md +20 -0
  27. package/dist/template/.opencode/skill/cloudflare/references/api/gotchas.md +28 -0
  28. package/dist/template/.opencode/skill/cloudflare/references/api/patterns.md +47 -0
  29. package/dist/template/.opencode/skill/cloudflare/references/api-shield/README.md +20 -0
  30. package/dist/template/.opencode/skill/cloudflare/references/api-shield/api.md +78 -0
  31. package/dist/template/.opencode/skill/cloudflare/references/api-shield/configuration.md +128 -0
  32. package/dist/template/.opencode/skill/cloudflare/references/api-shield/gotchas.md +51 -0
  33. package/dist/template/.opencode/skill/cloudflare/references/api-shield/patterns.md +145 -0
  34. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/README.md +16 -0
  35. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/api.md +50 -0
  36. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/configuration.md +53 -0
  37. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
  38. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/patterns.md +45 -0
  39. package/dist/template/.opencode/skill/cloudflare/references/bindings/README.md +14 -0
  40. package/dist/template/.opencode/skill/cloudflare/references/bindings/api.md +3 -0
  41. package/dist/template/.opencode/skill/cloudflare/references/bindings/configuration.md +58 -0
  42. package/dist/template/.opencode/skill/cloudflare/references/bindings/gotchas.md +35 -0
  43. package/dist/template/.opencode/skill/cloudflare/references/bindings/patterns.md +37 -0
  44. package/dist/template/.opencode/skill/cloudflare/references/bot-management/README.md +71 -0
  45. package/dist/template/.opencode/skill/cloudflare/references/bot-management/api.md +168 -0
  46. package/dist/template/.opencode/skill/cloudflare/references/bot-management/configuration.md +114 -0
  47. package/dist/template/.opencode/skill/cloudflare/references/bot-management/gotchas.md +99 -0
  48. package/dist/template/.opencode/skill/cloudflare/references/bot-management/patterns.md +125 -0
  49. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/README.md +16 -0
  50. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/api.md +54 -0
  51. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/configuration.md +47 -0
  52. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/gotchas.md +29 -0
  53. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/patterns.md +29 -0
  54. package/dist/template/.opencode/skill/cloudflare/references/c3/README.md +264 -0
  55. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/README.md +93 -0
  56. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/api.md +176 -0
  57. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/configuration.md +164 -0
  58. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/gotchas.md +203 -0
  59. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/patterns.md +180 -0
  60. package/dist/template/.opencode/skill/cloudflare/references/containers/README.md +16 -0
  61. package/dist/template/.opencode/skill/cloudflare/references/containers/api.md +43 -0
  62. package/dist/template/.opencode/skill/cloudflare/references/containers/configuration.md +56 -0
  63. package/dist/template/.opencode/skill/cloudflare/references/containers/gotchas.md +21 -0
  64. package/dist/template/.opencode/skill/cloudflare/references/containers/patterns.md +40 -0
  65. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/README.md +85 -0
  66. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/api.md +198 -0
  67. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/configuration.md +151 -0
  68. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/gotchas.md +129 -0
  69. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/patterns.md +122 -0
  70. package/dist/template/.opencode/skill/cloudflare/references/d1/README.md +92 -0
  71. package/dist/template/.opencode/skill/cloudflare/references/d1/api.md +141 -0
  72. package/dist/template/.opencode/skill/cloudflare/references/d1/configuration.md +127 -0
  73. package/dist/template/.opencode/skill/cloudflare/references/d1/gotchas.md +70 -0
  74. package/dist/template/.opencode/skill/cloudflare/references/d1/patterns.md +144 -0
  75. package/dist/template/.opencode/skill/cloudflare/references/ddos/README.md +34 -0
  76. package/dist/template/.opencode/skill/cloudflare/references/ddos/api.md +136 -0
  77. package/dist/template/.opencode/skill/cloudflare/references/ddos/configuration.md +67 -0
  78. package/dist/template/.opencode/skill/cloudflare/references/ddos/gotchas.md +114 -0
  79. package/dist/template/.opencode/skill/cloudflare/references/ddos/patterns.md +158 -0
  80. package/dist/template/.opencode/skill/cloudflare/references/do-storage/README.md +62 -0
  81. package/dist/template/.opencode/skill/cloudflare/references/do-storage/api.md +89 -0
  82. package/dist/template/.opencode/skill/cloudflare/references/do-storage/configuration.md +116 -0
  83. package/dist/template/.opencode/skill/cloudflare/references/do-storage/gotchas.md +93 -0
  84. package/dist/template/.opencode/skill/cloudflare/references/do-storage/patterns.md +112 -0
  85. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/README.md +125 -0
  86. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/api.md +152 -0
  87. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/configuration.md +148 -0
  88. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/gotchas.md +158 -0
  89. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/patterns.md +255 -0
  90. package/dist/template/.opencode/skill/cloudflare/references/email-routing/README.md +18 -0
  91. package/dist/template/.opencode/skill/cloudflare/references/email-routing/api.md +46 -0
  92. package/dist/template/.opencode/skill/cloudflare/references/email-routing/configuration.md +63 -0
  93. package/dist/template/.opencode/skill/cloudflare/references/email-routing/gotchas.md +16 -0
  94. package/dist/template/.opencode/skill/cloudflare/references/email-routing/patterns.md +46 -0
  95. package/dist/template/.opencode/skill/cloudflare/references/email-workers/README.md +598 -0
  96. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/README.md +62 -0
  97. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/api.md +137 -0
  98. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/configuration.md +133 -0
  99. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/gotchas.md +184 -0
  100. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/patterns.md +176 -0
  101. package/dist/template/.opencode/skill/cloudflare/references/images/README.md +14 -0
  102. package/dist/template/.opencode/skill/cloudflare/references/images/api.md +3 -0
  103. package/dist/template/.opencode/skill/cloudflare/references/images/configuration.md +45 -0
  104. package/dist/template/.opencode/skill/cloudflare/references/images/gotchas.md +23 -0
  105. package/dist/template/.opencode/skill/cloudflare/references/images/patterns.md +31 -0
  106. package/dist/template/.opencode/skill/cloudflare/references/kv/README.md +60 -0
  107. package/dist/template/.opencode/skill/cloudflare/references/kv/api.md +114 -0
  108. package/dist/template/.opencode/skill/cloudflare/references/kv/configuration.md +92 -0
  109. package/dist/template/.opencode/skill/cloudflare/references/kv/gotchas.md +117 -0
  110. package/dist/template/.opencode/skill/cloudflare/references/kv/patterns.md +139 -0
  111. package/dist/template/.opencode/skill/cloudflare/references/miniflare/README.md +64 -0
  112. package/dist/template/.opencode/skill/cloudflare/references/miniflare/api.md +144 -0
  113. package/dist/template/.opencode/skill/cloudflare/references/miniflare/configuration.md +203 -0
  114. package/dist/template/.opencode/skill/cloudflare/references/miniflare/gotchas.md +187 -0
  115. package/dist/template/.opencode/skill/cloudflare/references/miniflare/patterns.md +211 -0
  116. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/README.md +60 -0
  117. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/api.md +240 -0
  118. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/configuration.md +127 -0
  119. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/gotchas.md +171 -0
  120. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/patterns.md +171 -0
  121. package/dist/template/.opencode/skill/cloudflare/references/observability/README.md +18 -0
  122. package/dist/template/.opencode/skill/cloudflare/references/observability/api.md +51 -0
  123. package/dist/template/.opencode/skill/cloudflare/references/observability/configuration.md +60 -0
  124. package/dist/template/.opencode/skill/cloudflare/references/observability/gotchas.md +36 -0
  125. package/dist/template/.opencode/skill/cloudflare/references/observability/patterns.md +42 -0
  126. package/dist/template/.opencode/skill/cloudflare/references/pages/README.md +76 -0
  127. package/dist/template/.opencode/skill/cloudflare/references/pages/api.md +200 -0
  128. package/dist/template/.opencode/skill/cloudflare/references/pages/configuration.md +228 -0
  129. package/dist/template/.opencode/skill/cloudflare/references/pages/gotchas.md +161 -0
  130. package/dist/template/.opencode/skill/cloudflare/references/pages/patterns.md +145 -0
  131. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/README.md +57 -0
  132. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/api.md +201 -0
  133. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/configuration.md +159 -0
  134. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/gotchas.md +151 -0
  135. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/patterns.md +190 -0
  136. package/dist/template/.opencode/skill/cloudflare/references/pipelines/README.md +664 -0
  137. package/dist/template/.opencode/skill/cloudflare/references/pulumi/README.md +107 -0
  138. package/dist/template/.opencode/skill/cloudflare/references/pulumi/api.md +194 -0
  139. package/dist/template/.opencode/skill/cloudflare/references/pulumi/configuration.md +216 -0
  140. package/dist/template/.opencode/skill/cloudflare/references/pulumi/gotchas.md +223 -0
  141. package/dist/template/.opencode/skill/cloudflare/references/pulumi/patterns.md +139 -0
  142. package/dist/template/.opencode/skill/cloudflare/references/queues/README.md +69 -0
  143. package/dist/template/.opencode/skill/cloudflare/references/queues/api.md +138 -0
  144. package/dist/template/.opencode/skill/cloudflare/references/queues/configuration.md +125 -0
  145. package/dist/template/.opencode/skill/cloudflare/references/queues/gotchas.md +112 -0
  146. package/dist/template/.opencode/skill/cloudflare/references/queues/patterns.md +155 -0
  147. package/dist/template/.opencode/skill/cloudflare/references/r2/README.md +61 -0
  148. package/dist/template/.opencode/skill/cloudflare/references/r2/api.md +127 -0
  149. package/dist/template/.opencode/skill/cloudflare/references/r2/configuration.md +76 -0
  150. package/dist/template/.opencode/skill/cloudflare/references/r2/gotchas.md +94 -0
  151. package/dist/template/.opencode/skill/cloudflare/references/r2/patterns.md +127 -0
  152. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/README.md +18 -0
  153. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/api.md +29 -0
  154. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/configuration.md +39 -0
  155. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
  156. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/patterns.md +46 -0
  157. package/dist/template/.opencode/skill/cloudflare/references/r2-sql/README.md +512 -0
  158. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/README.md +21 -0
  159. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/api.md +135 -0
  160. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/configuration.md +63 -0
  161. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/gotchas.md +75 -0
  162. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/patterns.md +102 -0
  163. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/README.md +81 -0
  164. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/api.md +164 -0
  165. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/configuration.md +147 -0
  166. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/gotchas.md +172 -0
  167. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/patterns.md +155 -0
  168. package/dist/template/.opencode/skill/cloudflare/references/sandbox/README.md +90 -0
  169. package/dist/template/.opencode/skill/cloudflare/references/sandbox/api.md +178 -0
  170. package/dist/template/.opencode/skill/cloudflare/references/sandbox/configuration.md +131 -0
  171. package/dist/template/.opencode/skill/cloudflare/references/sandbox/gotchas.md +156 -0
  172. package/dist/template/.opencode/skill/cloudflare/references/sandbox/patterns.md +203 -0
  173. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/README.md +58 -0
  174. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/api.md +182 -0
  175. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/configuration.md +140 -0
  176. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/gotchas.md +129 -0
  177. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/patterns.md +218 -0
  178. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/README.md +91 -0
  179. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/api.md +139 -0
  180. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/configuration.md +129 -0
  181. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/gotchas.md +87 -0
  182. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/patterns.md +135 -0
  183. package/dist/template/.opencode/skill/cloudflare/references/snippets/README.md +15 -0
  184. package/dist/template/.opencode/skill/cloudflare/references/snippets/api.md +47 -0
  185. package/dist/template/.opencode/skill/cloudflare/references/snippets/configuration.md +33 -0
  186. package/dist/template/.opencode/skill/cloudflare/references/snippets/gotchas.md +21 -0
  187. package/dist/template/.opencode/skill/cloudflare/references/snippets/patterns.md +34 -0
  188. package/dist/template/.opencode/skill/cloudflare/references/spectrum/README.md +16 -0
  189. package/dist/template/.opencode/skill/cloudflare/references/spectrum/api.md +24 -0
  190. package/dist/template/.opencode/skill/cloudflare/references/spectrum/configuration.md +43 -0
  191. package/dist/template/.opencode/skill/cloudflare/references/spectrum/gotchas.md +42 -0
  192. package/dist/template/.opencode/skill/cloudflare/references/spectrum/patterns.md +40 -0
  193. package/dist/template/.opencode/skill/cloudflare/references/static-assets/README.md +14 -0
  194. package/dist/template/.opencode/skill/cloudflare/references/static-assets/api.md +3 -0
  195. package/dist/template/.opencode/skill/cloudflare/references/static-assets/configuration.md +47 -0
  196. package/dist/template/.opencode/skill/cloudflare/references/static-assets/gotchas.md +44 -0
  197. package/dist/template/.opencode/skill/cloudflare/references/static-assets/patterns.md +42 -0
  198. package/dist/template/.opencode/skill/cloudflare/references/stream/README.md +103 -0
  199. package/dist/template/.opencode/skill/cloudflare/references/stream/api.md +204 -0
  200. package/dist/template/.opencode/skill/cloudflare/references/stream/configuration.md +127 -0
  201. package/dist/template/.opencode/skill/cloudflare/references/stream/gotchas.md +131 -0
  202. package/dist/template/.opencode/skill/cloudflare/references/stream/patterns.md +152 -0
  203. package/dist/template/.opencode/skill/cloudflare/references/tail-workers/README.md +640 -0
  204. package/dist/template/.opencode/skill/cloudflare/references/terraform/README.md +76 -0
  205. package/dist/template/.opencode/skill/cloudflare/references/terraform/api.md +159 -0
  206. package/dist/template/.opencode/skill/cloudflare/references/terraform/configuration.md +156 -0
  207. package/dist/template/.opencode/skill/cloudflare/references/terraform/gotchas.md +207 -0
  208. package/dist/template/.opencode/skill/cloudflare/references/terraform/patterns.md +135 -0
  209. package/dist/template/.opencode/skill/cloudflare/references/tunnel/README.md +82 -0
  210. package/dist/template/.opencode/skill/cloudflare/references/tunnel/api.md +105 -0
  211. package/dist/template/.opencode/skill/cloudflare/references/tunnel/configuration.md +113 -0
  212. package/dist/template/.opencode/skill/cloudflare/references/tunnel/gotchas.md +115 -0
  213. package/dist/template/.opencode/skill/cloudflare/references/tunnel/patterns.md +157 -0
  214. package/dist/template/.opencode/skill/cloudflare/references/turn/README.md +699 -0
  215. package/dist/template/.opencode/skill/cloudflare/references/turnstile/README.md +14 -0
  216. package/dist/template/.opencode/skill/cloudflare/references/turnstile/api.md +3 -0
  217. package/dist/template/.opencode/skill/cloudflare/references/turnstile/configuration.md +19 -0
  218. package/dist/template/.opencode/skill/cloudflare/references/turnstile/gotchas.md +27 -0
  219. package/dist/template/.opencode/skill/cloudflare/references/turnstile/patterns.md +41 -0
  220. package/dist/template/.opencode/skill/cloudflare/references/vectorize/README.md +682 -0
  221. package/dist/template/.opencode/skill/cloudflare/references/waf/README.md +14 -0
  222. package/dist/template/.opencode/skill/cloudflare/references/waf/api.md +3 -0
  223. package/dist/template/.opencode/skill/cloudflare/references/waf/configuration.md +44 -0
  224. package/dist/template/.opencode/skill/cloudflare/references/waf/gotchas.md +24 -0
  225. package/dist/template/.opencode/skill/cloudflare/references/waf/patterns.md +29 -0
  226. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/README.md +19 -0
  227. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/api.md +52 -0
  228. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/configuration.md +31 -0
  229. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/gotchas.md +28 -0
  230. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/patterns.md +52 -0
  231. package/dist/template/.opencode/skill/cloudflare/references/workerd/README.md +47 -0
  232. package/dist/template/.opencode/skill/cloudflare/references/workerd/api.md +199 -0
  233. package/dist/template/.opencode/skill/cloudflare/references/workerd/configuration.md +185 -0
  234. package/dist/template/.opencode/skill/cloudflare/references/workerd/gotchas.md +203 -0
  235. package/dist/template/.opencode/skill/cloudflare/references/workerd/patterns.md +216 -0
  236. package/dist/template/.opencode/skill/cloudflare/references/workers/README.md +96 -0
  237. package/dist/template/.opencode/skill/cloudflare/references/workers/api.md +137 -0
  238. package/dist/template/.opencode/skill/cloudflare/references/workers/configuration.md +147 -0
  239. package/dist/template/.opencode/skill/cloudflare/references/workers/gotchas.md +99 -0
  240. package/dist/template/.opencode/skill/cloudflare/references/workers/patterns.md +149 -0
  241. package/dist/template/.opencode/skill/cloudflare/references/workers-ai/README.md +116 -0
  242. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/README.md +48 -0
  243. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/api.md +169 -0
  244. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/configuration.md +136 -0
  245. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
  246. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/patterns.md +170 -0
  247. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/README.md +16 -0
  248. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/api.md +20 -0
  249. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/configuration.md +3 -0
  250. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/gotchas.md +35 -0
  251. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/patterns.md +42 -0
  252. package/dist/template/.opencode/skill/cloudflare/references/workers-vpc/README.md +579 -0
  253. package/dist/template/.opencode/skill/cloudflare/references/workflows/README.md +62 -0
  254. package/dist/template/.opencode/skill/cloudflare/references/workflows/api.md +125 -0
  255. package/dist/template/.opencode/skill/cloudflare/references/workflows/configuration.md +177 -0
  256. package/dist/template/.opencode/skill/cloudflare/references/workflows/gotchas.md +136 -0
  257. package/dist/template/.opencode/skill/cloudflare/references/workflows/patterns.md +132 -0
  258. package/dist/template/.opencode/skill/cloudflare/references/wrangler/README.md +90 -0
  259. package/dist/template/.opencode/skill/cloudflare/references/wrangler/api.md +140 -0
  260. package/dist/template/.opencode/skill/cloudflare/references/wrangler/configuration.md +128 -0
  261. package/dist/template/.opencode/skill/cloudflare/references/wrangler/gotchas.md +93 -0
  262. package/dist/template/.opencode/skill/cloudflare/references/wrangler/patterns.md +150 -0
  263. package/dist/template/.opencode/skill/cloudflare/references/zaraz/README.md +360 -0
  264. package/dist/template/.opencode/skill/react-best-practices/AGENTS.md +2410 -0
  265. package/dist/template/.opencode/skill/react-best-practices/README.md +123 -0
  266. package/dist/template/.opencode/skill/react-best-practices/SKILL.md +125 -0
  267. package/dist/template/.opencode/skill/react-best-practices/metadata.json +15 -0
  268. package/dist/template/.opencode/skill/react-best-practices/rules/_sections.md +46 -0
  269. package/dist/template/.opencode/skill/react-best-practices/rules/_template.md +28 -0
  270. package/dist/template/.opencode/skill/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  271. package/dist/template/.opencode/skill/react-best-practices/rules/advanced-use-latest.md +49 -0
  272. package/dist/template/.opencode/skill/react-best-practices/rules/async-api-routes.md +38 -0
  273. package/dist/template/.opencode/skill/react-best-practices/rules/async-defer-await.md +80 -0
  274. package/dist/template/.opencode/skill/react-best-practices/rules/async-dependencies.md +36 -0
  275. package/dist/template/.opencode/skill/react-best-practices/rules/async-parallel.md +28 -0
  276. package/dist/template/.opencode/skill/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  277. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  278. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-conditional.md +31 -0
  279. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  280. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  281. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-preload.md +50 -0
  282. package/dist/template/.opencode/skill/react-best-practices/rules/client-event-listeners.md +74 -0
  283. package/dist/template/.opencode/skill/react-best-practices/rules/client-localstorage-schema.md +71 -0
  284. package/dist/template/.opencode/skill/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  285. package/dist/template/.opencode/skill/react-best-practices/rules/client-swr-dedup.md +56 -0
  286. package/dist/template/.opencode/skill/react-best-practices/rules/js-batch-dom-css.md +82 -0
  287. package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-function-results.md +80 -0
  288. package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-property-access.md +28 -0
  289. package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-storage.md +70 -0
  290. package/dist/template/.opencode/skill/react-best-practices/rules/js-combine-iterations.md +32 -0
  291. package/dist/template/.opencode/skill/react-best-practices/rules/js-early-exit.md +50 -0
  292. package/dist/template/.opencode/skill/react-best-practices/rules/js-hoist-regexp.md +45 -0
  293. package/dist/template/.opencode/skill/react-best-practices/rules/js-index-maps.md +37 -0
  294. package/dist/template/.opencode/skill/react-best-practices/rules/js-length-check-first.md +49 -0
  295. package/dist/template/.opencode/skill/react-best-practices/rules/js-min-max-loop.md +82 -0
  296. package/dist/template/.opencode/skill/react-best-practices/rules/js-set-map-lookups.md +24 -0
  297. package/dist/template/.opencode/skill/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  298. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-activity.md +26 -0
  299. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  300. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-conditional-render.md +40 -0
  301. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-content-visibility.md +38 -0
  302. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  303. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  304. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-svg-precision.md +28 -0
  305. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-defer-reads.md +39 -0
  306. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-dependencies.md +45 -0
  307. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-derived-state.md +29 -0
  308. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  309. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  310. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-memo.md +44 -0
  311. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-transitions.md +40 -0
  312. package/dist/template/.opencode/skill/react-best-practices/rules/server-after-nonblocking.md +73 -0
  313. package/dist/template/.opencode/skill/react-best-practices/rules/server-cache-lru.md +41 -0
  314. package/dist/template/.opencode/skill/react-best-practices/rules/server-cache-react.md +76 -0
  315. package/dist/template/.opencode/skill/react-best-practices/rules/server-parallel-fetching.md +83 -0
  316. package/dist/template/.opencode/skill/react-best-practices/rules/server-serialization.md +38 -0
  317. package/dist/template/.opencode/skill/supabase/SKILL.md +120 -0
  318. package/dist/template/.opencode/skill/supabase/mcp.json +27 -0
  319. package/dist/template/.opencode/skill/vercel-deploy-claimable/SKILL.md +112 -0
  320. package/dist/template/.opencode/skill/vercel-deploy-claimable/scripts/deploy.sh +249 -0
  321. package/dist/template/.opencode/skill/web-design-guidelines/SKILL.md +39 -0
  322. package/dist/template/.opencode/tool/memory-read.ts +64 -44
  323. package/dist/template/.opencode/tool/memory-search.ts +9 -2
  324. package/dist/template/.opencode/tool/memory-update.ts +59 -47
  325. package/dist/template/.opencode/tool/observation.ts +16 -2
  326. package/package.json +1 -1
@@ -0,0 +1,171 @@
1
+ # CNI Gotchas & Troubleshooting
2
+
3
+ See [README.md](./README.md) for overview.
4
+
5
+ ## Limitations
6
+
7
+ **General:**
8
+ - No formal SLA (free service)
9
+ - No dashboard config visibility
10
+ - Recovery may take days
11
+ - 10km max optical distance
12
+ - Backup Internet required
13
+
14
+ **v1:**
15
+ - Asymmetric MTU (1500↓/1476↑)
16
+ - GRE overhead for Magic Transit/WAN
17
+ - 1 Gbps/GRE tunnel limit
18
+
19
+ **v2:**
20
+ - No VLAN (yet)
21
+ - No BFD (yet)
22
+ - No LACP (use ECMP)
23
+ - No peering support
24
+ - Beta status
25
+
26
+ **Cloud:**
27
+ - AWS Hosted Direct Connect unsupported
28
+ - Magic WAN only
29
+ - GCP BGP routes ignored
30
+ - AWS requires manual coordination
31
+
32
+ ## Troubleshooting
33
+
34
+ ### Status: Pending
35
+
36
+ **Symptoms:** Stuck in pending.
37
+
38
+ **Causes:**
39
+ - Cross-connect not installed
40
+ - RX/TX fibers reversed
41
+ - Wrong fiber type
42
+ - Low light levels
43
+
44
+ **Fix:**
45
+ 1. Verify cross-connect installed
46
+ 2. Check fiber at patch panel
47
+ 3. Swap RX/TX
48
+ 4. Check light with optical power meter
49
+ 5. Contact account team
50
+
51
+ ### Status: Unhealthy
52
+
53
+ **Symptoms:** Shows unhealthy.
54
+
55
+ **Causes:**
56
+ - Physical issue
57
+ - Light <-20 dBm
58
+ - Optic mismatch
59
+ - Dirty connectors
60
+
61
+ **Fix:**
62
+ 1. Check physical connections
63
+ 2. Clean fiber connectors
64
+ 3. Verify optic types (10GBASE-LR/100GBASE-LR4)
65
+ 4. Test with known-good optics
66
+ 5. Check patch panel
67
+ 6. Contact account team
68
+
69
+ ### BGP Session Down
70
+
71
+ **Symptoms:** Link up, BGP down.
72
+
73
+ **Causes:**
74
+ - Wrong IP addressing
75
+ - Wrong ASN
76
+ - Password mismatch
77
+ - Firewall blocking TCP/179
78
+
79
+ **Fix:**
80
+ 1. Verify IPs match CNI object
81
+ 2. Confirm ASN correct
82
+ 3. Check BGP password
83
+ 4. Verify no firewall on TCP/179
84
+ 5. Check BGP logs
85
+ 6. Review BGP timers
86
+
87
+ ### Low Throughput
88
+
89
+ **Symptoms:** Traffic flows, below expected.
90
+
91
+ **Causes:**
92
+ - MTU mismatch
93
+ - Fragmentation
94
+ - Single GRE tunnel (v1)
95
+ - Routing inefficiency
96
+
97
+ **Fix:**
98
+ 1. Check MTU (1500↓/1476↑ for v1, 1500 both for v2)
99
+ 2. Test various packet sizes
100
+ 3. Add more GRE tunnels (v1)
101
+ 4. Consider upgrading to v2
102
+ 5. Review routing tables
103
+ 6. Use LACP for bundling (v1)
104
+
105
+ ## Common Mistakes
106
+
107
+ **Ordering:**
108
+ - ❌ Wrong facility code on LOA
109
+ - ❌ Multi-mode fiber (need single-mode)
110
+ - ❌ Wrong optic type
111
+ - ❌ Forgetting to track cross-connect order
112
+
113
+ **Configuration:**
114
+ - ❌ Not using /31 subnets
115
+ - ❌ Skipping BGP passwords
116
+ - ❌ Wrong ASN
117
+ - ❌ Firewall blocking BGP (TCP/179)
118
+
119
+ **Production:**
120
+ - ❌ No maintenance notifications
121
+ - ❌ Not testing backup connectivity
122
+ - ❌ Missing runbooks
123
+ - ❌ No failover testing
124
+ - ❌ Ignoring capacity planning
125
+
126
+ ## Quick Reference
127
+
128
+ **Status Guide:**
129
+ - **Active**: Working normally → Monitor
130
+ - **Unhealthy**: Down → Check physical
131
+ - **Pending**: In progress → Complete cross-connect
132
+
133
+ **Contact Account Team For:**
134
+ - CNI eligibility
135
+ - Config assistance
136
+ - LOA generation
137
+ - Unhealthy interconnects
138
+ - Location availability
139
+ - Device diversity options
140
+
141
+ **Key Commands:**
142
+ ```bash
143
+ # List interconnects
144
+ curl "https://api.cloudflare.com/client/v4/accounts/${ID}/cni/interconnects" \
145
+ -H "Authorization: Bearer ${TOKEN}"
146
+
147
+ # Get status
148
+ curl "https://api.cloudflare.com/client/v4/accounts/${ID}/cni/interconnects/${ICON}/status" \
149
+ -H "Authorization: Bearer ${TOKEN}"
150
+
151
+ # Download LOA
152
+ curl "https://api.cloudflare.com/client/v4/accounts/${ID}/cni/interconnects/${ICON}/loa" \
153
+ -H "Authorization: Bearer ${TOKEN}" \
154
+ --output loa.pdf
155
+
156
+ # List CNI objects
157
+ curl "https://api.cloudflare.com/client/v4/accounts/${ID}/cni/cnis" \
158
+ -H "Authorization: Bearer ${TOKEN}"
159
+
160
+ # List available slots
161
+ curl "https://api.cloudflare.com/client/v4/accounts/${ID}/cni/slots?occupied=false" \
162
+ -H "Authorization: Bearer ${TOKEN}"
163
+ ```
164
+
165
+ ## Resources
166
+
167
+ - [CNI Overview](https://developers.cloudflare.com/network-interconnect/)
168
+ - [Get Started](https://developers.cloudflare.com/network-interconnect/get-started/)
169
+ - [Monitoring](https://developers.cloudflare.com/network-interconnect/monitoring-and-alerts/)
170
+ - [Locations PDF](https://developers.cloudflare.com/network-interconnect/static/cni-locations-30-10-2025.pdf)
171
+ - [API Docs](https://developers.cloudflare.com/api/resources/network_interconnects/)
@@ -0,0 +1,171 @@
1
+ # CNI Patterns
2
+
3
+ See [README.md](./README.md) for overview.
4
+
5
+ ## High Availability
6
+
7
+ **Critical:** Design for resilience from day one.
8
+
9
+ **Requirements:**
10
+ - Device-level diversity (separate hardware)
11
+ - Backup Internet connectivity (no SLA on CNI)
12
+ - Network-resilient locations preferred
13
+ - Regular failover testing
14
+
15
+ **Architecture:**
16
+ ```
17
+ Your Network A ──10G CNI v2──> CF CCR Device 1
18
+
19
+ Your Network B ──10G CNI v2──> CF CCR Device 2
20
+
21
+ CF Global Network (AS13335)
22
+ ```
23
+
24
+ **Capacity Planning:**
25
+ - Plan across all links
26
+ - Account for failover scenarios
27
+ - Your responsibility
28
+
29
+ ## Pattern: Magic Transit + CNI v2
30
+
31
+ **Use Case:** DDoS protection, private connectivity, no GRE overhead.
32
+
33
+ ```typescript
34
+ // 1. Create interconnect
35
+ const ic = await client.networkInterconnects.interconnects.create({
36
+ account_id: id,
37
+ type: 'direct',
38
+ facility: 'EWR1',
39
+ speed: '10G',
40
+ name: 'magic-transit-primary',
41
+ });
42
+
43
+ // 2. Poll until active
44
+ const status = await pollUntilActive(id, ic.id);
45
+
46
+ // 3. Configure Magic Transit tunnel via Dashboard/API
47
+ ```
48
+
49
+ **Benefits:** 1500 MTU both ways, simplified routing.
50
+
51
+ ## Pattern: Multi-Cloud Hybrid
52
+
53
+ **Use Case:** AWS/GCP workloads with Cloudflare.
54
+
55
+ **AWS Direct Connect:**
56
+ ```typescript
57
+ // 1. Order Direct Connect in AWS Console
58
+ // 2. Get LOA + VLAN from AWS
59
+ // 3. Send to CF account team (no API)
60
+ // 4. Configure static routes in Magic WAN
61
+
62
+ await configureStaticRoutes(id, {
63
+ prefix: '10.0.0.0/8',
64
+ nexthop: 'aws-direct-connect',
65
+ });
66
+ ```
67
+
68
+ **GCP Cloud Interconnect:**
69
+ ```typescript
70
+ // 1. Get VLAN pairing key from GCP
71
+ // 2. Create via Dashboard (no SDK yet)
72
+ // 3. Configure static routes in Magic WAN
73
+ // 4. Configure BGP in GCP Cloud Router
74
+
75
+ const ic = await client.networkInterconnects.interconnects.create({
76
+ account_id: id,
77
+ type: 'cloud',
78
+ cloud_provider: 'gcp',
79
+ pairing_key: 'gcp_key',
80
+ name: 'gcp-interconnect',
81
+ });
82
+ ```
83
+
84
+ ## Pattern: Multi-Location HA
85
+
86
+ **Use Case:** 99.99%+ uptime.
87
+
88
+ ```typescript
89
+ // Primary (NY)
90
+ const primary = await client.networkInterconnects.interconnects.create({
91
+ account_id: id,
92
+ type: 'direct',
93
+ facility: 'EWR1',
94
+ speed: '10G',
95
+ name: 'primary-ewr1',
96
+ });
97
+
98
+ // Secondary (NY, different hardware)
99
+ const secondary = await client.networkInterconnects.interconnects.create({
100
+ account_id: id,
101
+ type: 'direct',
102
+ facility: 'EWR2',
103
+ speed: '10G',
104
+ name: 'secondary-ewr2',
105
+ });
106
+
107
+ // Tertiary (LA, different geography)
108
+ const tertiary = await client.networkInterconnects.interconnects.create({
109
+ account_id: id,
110
+ type: 'partner',
111
+ facility: 'LAX1',
112
+ speed: '10G',
113
+ name: 'tertiary-lax1',
114
+ });
115
+
116
+ // BGP local preferences:
117
+ // Primary: 200
118
+ // Secondary: 150
119
+ // Tertiary: 100
120
+ // Internet: Last resort
121
+ ```
122
+
123
+ ## Pattern: Partner Interconnect (Equinix)
124
+
125
+ **Use Case:** Quick deployment, no colocation.
126
+
127
+ **Setup:**
128
+ 1. Order virtual circuit in Equinix Fabric Portal
129
+ 2. Select Cloudflare as destination
130
+ 3. Choose facility
131
+ 4. Send details to CF account team
132
+ 5. CF accepts in portal
133
+ 6. Configure BGP
134
+
135
+ **No API automation** – partner portals managed separately.
136
+
137
+ ## Failover & Security
138
+
139
+ **Failover Best Practices:**
140
+ - Use BGP local preferences for priority
141
+ - Configure BFD for fast detection (v1)
142
+ - Test regularly with traffic shift
143
+ - Document runbooks
144
+
145
+ **Security:**
146
+ - BGP password authentication
147
+ - BGP route filtering
148
+ - Monitor unexpected routes
149
+ - Magic Firewall for DDoS/threats
150
+ - Minimum API token permissions
151
+ - Rotate credentials periodically
152
+
153
+ ## Decision Matrix
154
+
155
+ | Requirement | Recommended |
156
+ |-------------|-------------|
157
+ | Collocated with CF | Direct |
158
+ | Not collocated | Partner |
159
+ | AWS/GCP workloads | Cloud |
160
+ | 1500 MTU both ways | v2 |
161
+ | VLAN tagging | v1 |
162
+ | Public peering | v1 |
163
+ | Simplest config | v2 |
164
+ | BFD fast failover | v1 |
165
+ | LACP bundling | v1 |
166
+
167
+ ## Resources
168
+
169
+ - [Magic Transit Docs](https://developers.cloudflare.com/magic-transit/)
170
+ - [Magic WAN Docs](https://developers.cloudflare.com/magic-wan/)
171
+ - [Argo Smart Routing](https://developers.cloudflare.com/argo/)
@@ -0,0 +1,18 @@
1
+ # Cloudflare Observability Skill Reference
2
+
3
+ **Purpose**: Comprehensive guidance for implementing observability in Cloudflare Workers, covering traces, logs, metrics, and analytics.
4
+
5
+ **Scope**: Cloudflare Observability features ONLY - Workers Logs, Traces, Analytics Engine, Logpush, Metrics & Analytics, and OpenTelemetry exports.
6
+
7
+ ---...
8
+
9
+ ## In This Reference
10
+
11
+ - **[configuration.md](./configuration.md)** - Setup, deployment, configuration
12
+ - **[api.md](./api.md)** - API endpoints, methods, interfaces
13
+ - **[patterns.md](./patterns.md)** - Common patterns, use cases, examples
14
+ - **[gotchas.md](./gotchas.md)** - Troubleshooting, best practices, limitations
15
+
16
+ ## See Also
17
+
18
+ - [Cloudflare Docs](https://developers.cloudflare.com/)
@@ -0,0 +1,51 @@
1
+ ## API Reference
2
+
3
+ ### GraphQL Analytics API
4
+
5
+ **Endpoint**: `https://api.cloudflare.com/client/v4/graphql`
6
+
7
+ **Query Workers Metrics**:
8
+ ```graphql
9
+ query {
10
+ viewer {
11
+ accounts(filter: { accountTag: $accountId }) {
12
+ workersInvocationsAdaptive(
13
+ limit: 100
14
+ filter: {
15
+ datetime_geq: "2025-01-01T00:00:00Z"
16
+ datetime_leq: "2025-01-31T23:59:59Z"
17
+ scriptName: "my-worker"
18
+ }
19
+ ) {
20
+ sum {
21
+ requests
22
+ errors
23
+ subrequests
24
+ }
25
+ quantiles {
26
+ cpuTimeP50
27
+ cpuTimeP99
28
+ wallTimeP50
29
+ wallTimeP99
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ ```
36
+
37
+ ### Analytics Engine SQL API
38
+
39
+ **Endpoint**: `https://api.cloudflare.com/client/v4/accounts/{account_id}/analytics_engine/sql`
40
+
41
+ **Authentication**: `Authorization: Bearer <API_TOKEN>` (Account Analytics Read permission)
42
+
43
+ **Common Queries**:
44
+
45
+ ```sql
46
+ -- List all datasets
47
+ SHOW TABLES;
48
+
49
+ -- Time-series aggregation (5-minute buckets)
50
+ SELECT
51
+ intDi
@@ -0,0 +1,60 @@
1
+ ## Configuration Patterns
2
+
3
+ ### Enable Workers Logs
4
+
5
+ ```jsonc
6
+ // wrangler.jsonc
7
+ {
8
+ "observability": {
9
+ "enabled": true,
10
+ "head_sampling_rate": 1 // 100% sampling (default)
11
+ }
12
+ }
13
+ ```
14
+
15
+ ```toml
16
+ # wrangler.toml
17
+ [observability]
18
+ enabled = true
19
+ head_sampling_rate = 1 # 100% sampling
20
+ ```
21
+
22
+ **Best Practice**: Use structured JSON logging for better indexing
23
+
24
+ ```typescript
25
+ // Good - structured logging
26
+ console.log({
27
+ user_id: 123,
28
+ action: "login",
29
+ status: "success",
30
+ duration_ms: 45
31
+ });
32
+
33
+ // Avoid - unstructured string
34
+ console.log("user_id: 123 logged in successfully in 45ms");
35
+ ```
36
+
37
+ ### Enable Workers Traces
38
+
39
+ ```jsonc
40
+ // wrangler.jsonc
41
+ {
42
+ "observability": {
43
+ "traces": {
44
+ "enabled": true,
45
+ "head_sampling_rate": 0.05 // 5% sampling
46
+ }
47
+ }
48
+ }
49
+ ```
50
+
51
+ ```toml
52
+ # wrangler.toml
53
+ [observability.traces]
54
+ enabled = true
55
+ head_sampling_rate = 0.05 # 5% sampling
56
+ ```
57
+
58
+ **Note**: Default sampling is 100%. For high-traffic Workers, use lower sampling (0.01-0.1).
59
+
60
+ ### Configure Analytics
@@ -0,0 +1,36 @@
1
+ ## Troubleshooting
2
+
3
+ ### Logs not appearing
4
+
5
+ **Check**:
6
+ 1. `observability.enabled = true` in wrangler config
7
+ 2. Worker has been redeployed after config change
8
+ 3. Worker is receiving traffic
9
+ 4. Sampling rate is not too low (check `head_sampling_rate`)
10
+ 5. Log size under 256 KB limit
11
+
12
+ **Solution**:
13
+ ```bash
14
+ # Verify config
15
+ cat wrangler.toml | grep -A 5 observability
16
+
17
+ # Check deployment
18
+ wrangler deployments list <WORKER_NAME>
19
+
20
+ # Test with curl
21
+ curl https://your-worker.workers.dev
22
+ ```
23
+
24
+ ### Traces not being captured
25
+
26
+ **Check**:
27
+ 1. `observability.traces.enabled = true`
28
+ 2. `head_sampling_rate` is appropriate (1.0 for testing)
29
+ 3. Worker deployed after traces enabled
30
+ 4. Check destination status in dashboard
31
+
32
+ **Solution**:
33
+ ```jsonc
34
+ // Temporarily set to 100% sampling for debugging
35
+ {
36
+ "observability":
@@ -0,0 +1,42 @@
1
+ ## Common Use Cases
2
+
3
+ ### 1. Usage-Based Billing
4
+
5
+ ```typescript
6
+ export default {
7
+ async fetch(request: Request, env: Env): Promise<Response> {
8
+ const customerId = request.headers.get('X-Customer-ID');
9
+ const apiKey = request.headers.get('X-API-Key');
10
+
11
+ if (!customerId || !apiKey) {
12
+ return new Response('Unauthorized', { status: 401 });
13
+ }
14
+
15
+ // Track API usage per customer
16
+ env.ANALYTICS.writeDataPoint({
17
+ 'blobs': [customerId, request.url, request.method],
18
+ 'doubles': [1], // request_count
19
+ 'indexes': [customerId]
20
+ });
21
+
22
+ return processRequest(request);
23
+ }
24
+ }
25
+ ```
26
+
27
+ **Query for billing**:
28
+ ```sql
29
+ SELECT
30
+ blob1 AS customer_id,
31
+ SUM(_sample_interval * double1) AS total_api_calls
32
+ FROM api_usage
33
+ WHERE timestamp >= DATE_TRUNC('month', NOW())
34
+ GROUP BY customer_id
35
+ ORDER BY total_api_calls DESC
36
+ ```
37
+
38
+ ### 2. Performance Monitoring
39
+
40
+ ```typescript
41
+ async function monitoredFetch(url: string, env: Env): Promise<Response> {
42
+ const start = Date.now(
@@ -0,0 +1,76 @@
1
+ # Cloudflare Pages
2
+
3
+ JAMstack platform for full-stack apps on Cloudflare's global network.
4
+
5
+ ## Key Features
6
+
7
+ - **Git-based deploys**: Auto-deploy from GitHub/GitLab
8
+ - **Preview deployments**: Unique URL per branch/PR
9
+ - **Pages Functions**: File-based serverless routing (Workers runtime)
10
+ - **Static + dynamic**: Smart asset caching + edge compute
11
+ - **Framework optimized**: Next.js, SvelteKit, Remix, Astro, Nuxt, Qwik
12
+
13
+ ## Deployment Methods
14
+
15
+ ### 1. Git Integration (Production)
16
+ Dashboard → Workers & Pages → Create → Connect to Git → Configure build
17
+
18
+ ### 2. Direct Upload
19
+ ```bash
20
+ npx wrangler pages deploy ./dist --project-name=my-project
21
+ npx wrangler pages deploy ./dist --project-name=my-project --branch=staging
22
+ ```
23
+
24
+ ### 3. C3 CLI
25
+ ```bash
26
+ npm create cloudflare@latest my-app
27
+ # Select framework → auto-setup + deploy
28
+ ```
29
+
30
+ ## vs Workers
31
+
32
+ - **Pages**: Static sites, JAMstack, frameworks, git workflow, file-based routing
33
+ - **Workers**: Pure APIs, complex routing, WebSockets, scheduled tasks, email handlers
34
+ - **Combine**: Pages Functions use Workers runtime, can bind to Workers
35
+
36
+ ## Quick Start
37
+
38
+ ```bash
39
+ # Create
40
+ npm create cloudflare@latest
41
+
42
+ # Local dev
43
+ npx wrangler pages dev ./dist
44
+
45
+ # Deploy
46
+ npx wrangler pages deploy ./dist --project-name=my-project
47
+
48
+ # Types
49
+ npx wrangler types --path='./functions/types.d.ts'
50
+
51
+ # Secrets
52
+ echo "value" | npx wrangler pages secret put KEY --project-name=my-project
53
+
54
+ # Logs
55
+ npx wrangler pages deployment tail --project-name=my-project
56
+ ```
57
+
58
+ ## Resources
59
+
60
+ - [Pages Docs](https://developers.cloudflare.com/pages/)
61
+ - [Functions API](https://developers.cloudflare.com/pages/functions/api-reference/)
62
+ - [Framework Guides](https://developers.cloudflare.com/pages/framework-guides/)
63
+ - [Discord #functions](https://discord.com/channels/595317990191398933/910978223968518144)
64
+
65
+ ## In This Reference
66
+
67
+ - [configuration.md](./configuration.md) - wrangler.jsonc, build, env vars
68
+ - [api.md](./api.md) - Functions API, bindings, context
69
+ - [patterns.md](./patterns.md) - Full-stack patterns, frameworks
70
+ - [gotchas.md](./gotchas.md) - Build issues, limits, debugging
71
+
72
+ ## See Also
73
+
74
+ - [pages-functions](../pages-functions/) - File-based routing, middleware
75
+ - [d1](../d1/) - SQL database for Pages Functions
76
+ - [kv](../kv/) - Key-value storage for caching/state