pi-cloudflare 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +67 -0
  3. package/bin/setup.mjs +103 -0
  4. package/dist/auth-flow.d.ts +15 -0
  5. package/dist/auth-flow.d.ts.map +1 -0
  6. package/dist/auth-flow.js +90 -0
  7. package/dist/auth-flow.js.map +1 -0
  8. package/dist/client.d.ts +18 -0
  9. package/dist/client.d.ts.map +1 -0
  10. package/dist/client.js +47 -0
  11. package/dist/client.js.map +1 -0
  12. package/dist/config.d.ts +13 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +10 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/index.d.ts +24 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +109 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/oauth.d.ts +44 -0
  21. package/dist/oauth.d.ts.map +1 -0
  22. package/dist/oauth.js +135 -0
  23. package/dist/oauth.js.map +1 -0
  24. package/dist/proxy.d.ts +29 -0
  25. package/dist/proxy.d.ts.map +1 -0
  26. package/dist/proxy.js +39 -0
  27. package/dist/proxy.js.map +1 -0
  28. package/dist/servers.d.ts +19 -0
  29. package/dist/servers.d.ts.map +1 -0
  30. package/dist/servers.js +40 -0
  31. package/dist/servers.js.map +1 -0
  32. package/dist/token-store.d.ts +23 -0
  33. package/dist/token-store.d.ts.map +1 -0
  34. package/dist/token-store.js +47 -0
  35. package/dist/token-store.js.map +1 -0
  36. package/package.json +67 -0
  37. package/skills/agents-sdk/SKILL.md +221 -0
  38. package/skills/agents-sdk/references/browse-the-web.md +63 -0
  39. package/skills/agents-sdk/references/callable.md +92 -0
  40. package/skills/agents-sdk/references/client-sdk.md +110 -0
  41. package/skills/agents-sdk/references/codemode.md +110 -0
  42. package/skills/agents-sdk/references/configuration.md +72 -0
  43. package/skills/agents-sdk/references/durable-execution.md +51 -0
  44. package/skills/agents-sdk/references/email.md +146 -0
  45. package/skills/agents-sdk/references/human-in-the-loop.md +67 -0
  46. package/skills/agents-sdk/references/mcp.md +188 -0
  47. package/skills/agents-sdk/references/observability.md +44 -0
  48. package/skills/agents-sdk/references/queue-retries.md +79 -0
  49. package/skills/agents-sdk/references/routing.md +75 -0
  50. package/skills/agents-sdk/references/server-driven-messages.md +63 -0
  51. package/skills/agents-sdk/references/state-scheduling.md +171 -0
  52. package/skills/agents-sdk/references/streaming-chat.md +198 -0
  53. package/skills/agents-sdk/references/think.md +112 -0
  54. package/skills/agents-sdk/references/voice.md +68 -0
  55. package/skills/agents-sdk/references/webhooks-push.md +86 -0
  56. package/skills/agents-sdk/references/workflows.md +132 -0
  57. package/skills/cloudflare/SKILL.md +248 -0
  58. package/skills/cloudflare/references/agents-sdk/README.md +89 -0
  59. package/skills/cloudflare/references/agents-sdk/api.md +190 -0
  60. package/skills/cloudflare/references/agents-sdk/configuration.md +182 -0
  61. package/skills/cloudflare/references/agents-sdk/gotchas.md +158 -0
  62. package/skills/cloudflare/references/agents-sdk/patterns.md +192 -0
  63. package/skills/cloudflare/references/ai-gateway/README.md +175 -0
  64. package/skills/cloudflare/references/ai-gateway/configuration.md +111 -0
  65. package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +82 -0
  66. package/skills/cloudflare/references/ai-gateway/features.md +96 -0
  67. package/skills/cloudflare/references/ai-gateway/sdk-integration.md +114 -0
  68. package/skills/cloudflare/references/ai-gateway/troubleshooting.md +88 -0
  69. package/skills/cloudflare/references/ai-search/README.md +138 -0
  70. package/skills/cloudflare/references/ai-search/api.md +87 -0
  71. package/skills/cloudflare/references/ai-search/configuration.md +88 -0
  72. package/skills/cloudflare/references/ai-search/gotchas.md +81 -0
  73. package/skills/cloudflare/references/ai-search/patterns.md +85 -0
  74. package/skills/cloudflare/references/analytics-engine/README.md +94 -0
  75. package/skills/cloudflare/references/analytics-engine/api.md +112 -0
  76. package/skills/cloudflare/references/analytics-engine/configuration.md +112 -0
  77. package/skills/cloudflare/references/analytics-engine/gotchas.md +85 -0
  78. package/skills/cloudflare/references/analytics-engine/patterns.md +83 -0
  79. package/skills/cloudflare/references/api/README.md +66 -0
  80. package/skills/cloudflare/references/api/api.md +204 -0
  81. package/skills/cloudflare/references/api/configuration.md +160 -0
  82. package/skills/cloudflare/references/api/gotchas.md +225 -0
  83. package/skills/cloudflare/references/api/patterns.md +204 -0
  84. package/skills/cloudflare/references/api-shield/README.md +44 -0
  85. package/skills/cloudflare/references/api-shield/api.md +141 -0
  86. package/skills/cloudflare/references/api-shield/configuration.md +192 -0
  87. package/skills/cloudflare/references/api-shield/gotchas.md +125 -0
  88. package/skills/cloudflare/references/api-shield/patterns.md +180 -0
  89. package/skills/cloudflare/references/argo-smart-routing/README.md +90 -0
  90. package/skills/cloudflare/references/argo-smart-routing/api.md +240 -0
  91. package/skills/cloudflare/references/argo-smart-routing/configuration.md +197 -0
  92. package/skills/cloudflare/references/argo-smart-routing/gotchas.md +111 -0
  93. package/skills/cloudflare/references/argo-smart-routing/patterns.md +104 -0
  94. package/skills/cloudflare/references/artifacts/README.md +79 -0
  95. package/skills/cloudflare/references/artifacts/api.md +128 -0
  96. package/skills/cloudflare/references/artifacts/configuration.md +92 -0
  97. package/skills/cloudflare/references/bindings/README.md +122 -0
  98. package/skills/cloudflare/references/bindings/api.md +203 -0
  99. package/skills/cloudflare/references/bindings/configuration.md +188 -0
  100. package/skills/cloudflare/references/bindings/gotchas.md +208 -0
  101. package/skills/cloudflare/references/bindings/patterns.md +200 -0
  102. package/skills/cloudflare/references/bot-management/README.md +94 -0
  103. package/skills/cloudflare/references/bot-management/api.md +169 -0
  104. package/skills/cloudflare/references/bot-management/configuration.md +163 -0
  105. package/skills/cloudflare/references/bot-management/gotchas.md +114 -0
  106. package/skills/cloudflare/references/bot-management/patterns.md +182 -0
  107. package/skills/cloudflare/references/browser-rendering/README.md +78 -0
  108. package/skills/cloudflare/references/browser-rendering/api.md +108 -0
  109. package/skills/cloudflare/references/browser-rendering/configuration.md +78 -0
  110. package/skills/cloudflare/references/browser-rendering/gotchas.md +88 -0
  111. package/skills/cloudflare/references/browser-rendering/patterns.md +91 -0
  112. package/skills/cloudflare/references/c3/README.md +111 -0
  113. package/skills/cloudflare/references/c3/api.md +71 -0
  114. package/skills/cloudflare/references/c3/configuration.md +81 -0
  115. package/skills/cloudflare/references/c3/gotchas.md +92 -0
  116. package/skills/cloudflare/references/c3/patterns.md +82 -0
  117. package/skills/cloudflare/references/cache-reserve/README.md +147 -0
  118. package/skills/cloudflare/references/cache-reserve/api.md +194 -0
  119. package/skills/cloudflare/references/cache-reserve/configuration.md +169 -0
  120. package/skills/cloudflare/references/cache-reserve/gotchas.md +132 -0
  121. package/skills/cloudflare/references/cache-reserve/patterns.md +197 -0
  122. package/skills/cloudflare/references/containers/README.md +85 -0
  123. package/skills/cloudflare/references/containers/api.md +187 -0
  124. package/skills/cloudflare/references/containers/configuration.md +188 -0
  125. package/skills/cloudflare/references/containers/gotchas.md +178 -0
  126. package/skills/cloudflare/references/containers/patterns.md +202 -0
  127. package/skills/cloudflare/references/cron-triggers/README.md +99 -0
  128. package/skills/cloudflare/references/cron-triggers/api.md +196 -0
  129. package/skills/cloudflare/references/cron-triggers/configuration.md +180 -0
  130. package/skills/cloudflare/references/cron-triggers/gotchas.md +199 -0
  131. package/skills/cloudflare/references/cron-triggers/patterns.md +190 -0
  132. package/skills/cloudflare/references/d1/README.md +133 -0
  133. package/skills/cloudflare/references/d1/api.md +196 -0
  134. package/skills/cloudflare/references/d1/configuration.md +191 -0
  135. package/skills/cloudflare/references/d1/gotchas.md +98 -0
  136. package/skills/cloudflare/references/d1/patterns.md +189 -0
  137. package/skills/cloudflare/references/ddos/README.md +41 -0
  138. package/skills/cloudflare/references/ddos/api.md +164 -0
  139. package/skills/cloudflare/references/ddos/configuration.md +93 -0
  140. package/skills/cloudflare/references/ddos/gotchas.md +107 -0
  141. package/skills/cloudflare/references/ddos/patterns.md +174 -0
  142. package/skills/cloudflare/references/do-storage/README.md +75 -0
  143. package/skills/cloudflare/references/do-storage/api.md +102 -0
  144. package/skills/cloudflare/references/do-storage/configuration.md +112 -0
  145. package/skills/cloudflare/references/do-storage/gotchas.md +150 -0
  146. package/skills/cloudflare/references/do-storage/patterns.md +194 -0
  147. package/skills/cloudflare/references/do-storage/testing.md +183 -0
  148. package/skills/cloudflare/references/durable-objects/README.md +185 -0
  149. package/skills/cloudflare/references/durable-objects/api.md +187 -0
  150. package/skills/cloudflare/references/durable-objects/configuration.md +160 -0
  151. package/skills/cloudflare/references/durable-objects/gotchas.md +197 -0
  152. package/skills/cloudflare/references/durable-objects/patterns.md +201 -0
  153. package/skills/cloudflare/references/email-routing/README.md +89 -0
  154. package/skills/cloudflare/references/email-routing/api.md +195 -0
  155. package/skills/cloudflare/references/email-routing/configuration.md +186 -0
  156. package/skills/cloudflare/references/email-routing/gotchas.md +196 -0
  157. package/skills/cloudflare/references/email-routing/patterns.md +229 -0
  158. package/skills/cloudflare/references/email-workers/README.md +151 -0
  159. package/skills/cloudflare/references/email-workers/api.md +237 -0
  160. package/skills/cloudflare/references/email-workers/configuration.md +112 -0
  161. package/skills/cloudflare/references/email-workers/gotchas.md +125 -0
  162. package/skills/cloudflare/references/email-workers/patterns.md +102 -0
  163. package/skills/cloudflare/references/flagship/README.md +59 -0
  164. package/skills/cloudflare/references/flagship/api.md +390 -0
  165. package/skills/cloudflare/references/flagship/configuration.md +202 -0
  166. package/skills/cloudflare/references/flagship/gotchas.md +178 -0
  167. package/skills/cloudflare/references/flagship/patterns.md +469 -0
  168. package/skills/cloudflare/references/graphql-api/README.md +147 -0
  169. package/skills/cloudflare/references/graphql-api/api.md +175 -0
  170. package/skills/cloudflare/references/graphql-api/configuration.md +118 -0
  171. package/skills/cloudflare/references/graphql-api/gotchas.md +110 -0
  172. package/skills/cloudflare/references/graphql-api/patterns.md +225 -0
  173. package/skills/cloudflare/references/hyperdrive/README.md +82 -0
  174. package/skills/cloudflare/references/hyperdrive/api.md +143 -0
  175. package/skills/cloudflare/references/hyperdrive/configuration.md +159 -0
  176. package/skills/cloudflare/references/hyperdrive/gotchas.md +77 -0
  177. package/skills/cloudflare/references/hyperdrive/patterns.md +190 -0
  178. package/skills/cloudflare/references/images/README.md +61 -0
  179. package/skills/cloudflare/references/images/api.md +96 -0
  180. package/skills/cloudflare/references/images/configuration.md +211 -0
  181. package/skills/cloudflare/references/images/gotchas.md +99 -0
  182. package/skills/cloudflare/references/images/patterns.md +115 -0
  183. package/skills/cloudflare/references/kv/README.md +89 -0
  184. package/skills/cloudflare/references/kv/api.md +160 -0
  185. package/skills/cloudflare/references/kv/configuration.md +144 -0
  186. package/skills/cloudflare/references/kv/gotchas.md +131 -0
  187. package/skills/cloudflare/references/kv/patterns.md +196 -0
  188. package/skills/cloudflare/references/miniflare/README.md +105 -0
  189. package/skills/cloudflare/references/miniflare/api.md +187 -0
  190. package/skills/cloudflare/references/miniflare/configuration.md +173 -0
  191. package/skills/cloudflare/references/miniflare/gotchas.md +160 -0
  192. package/skills/cloudflare/references/miniflare/patterns.md +181 -0
  193. package/skills/cloudflare/references/network-interconnect/README.md +99 -0
  194. package/skills/cloudflare/references/network-interconnect/api.md +199 -0
  195. package/skills/cloudflare/references/network-interconnect/configuration.md +114 -0
  196. package/skills/cloudflare/references/network-interconnect/gotchas.md +165 -0
  197. package/skills/cloudflare/references/network-interconnect/patterns.md +166 -0
  198. package/skills/cloudflare/references/observability/README.md +88 -0
  199. package/skills/cloudflare/references/observability/api.md +164 -0
  200. package/skills/cloudflare/references/observability/configuration.md +169 -0
  201. package/skills/cloudflare/references/observability/gotchas.md +115 -0
  202. package/skills/cloudflare/references/observability/patterns.md +105 -0
  203. package/skills/cloudflare/references/pages/README.md +88 -0
  204. package/skills/cloudflare/references/pages/api.md +204 -0
  205. package/skills/cloudflare/references/pages/configuration.md +201 -0
  206. package/skills/cloudflare/references/pages/gotchas.md +203 -0
  207. package/skills/cloudflare/references/pages/patterns.md +204 -0
  208. package/skills/cloudflare/references/pages-functions/README.md +98 -0
  209. package/skills/cloudflare/references/pages-functions/api.md +143 -0
  210. package/skills/cloudflare/references/pages-functions/configuration.md +122 -0
  211. package/skills/cloudflare/references/pages-functions/gotchas.md +94 -0
  212. package/skills/cloudflare/references/pages-functions/patterns.md +137 -0
  213. package/skills/cloudflare/references/pipelines/README.md +90 -0
  214. package/skills/cloudflare/references/pipelines/api.md +124 -0
  215. package/skills/cloudflare/references/pipelines/configuration.md +155 -0
  216. package/skills/cloudflare/references/pipelines/gotchas.md +58 -0
  217. package/skills/cloudflare/references/pipelines/patterns.md +130 -0
  218. package/skills/cloudflare/references/pulumi/README.md +100 -0
  219. package/skills/cloudflare/references/pulumi/api.md +200 -0
  220. package/skills/cloudflare/references/pulumi/configuration.md +198 -0
  221. package/skills/cloudflare/references/pulumi/gotchas.md +181 -0
  222. package/skills/cloudflare/references/pulumi/patterns.md +191 -0
  223. package/skills/cloudflare/references/queues/README.md +96 -0
  224. package/skills/cloudflare/references/queues/api.md +206 -0
  225. package/skills/cloudflare/references/queues/configuration.md +144 -0
  226. package/skills/cloudflare/references/queues/gotchas.md +206 -0
  227. package/skills/cloudflare/references/queues/patterns.md +220 -0
  228. package/skills/cloudflare/references/r2/README.md +95 -0
  229. package/skills/cloudflare/references/r2/api.md +200 -0
  230. package/skills/cloudflare/references/r2/configuration.md +165 -0
  231. package/skills/cloudflare/references/r2/gotchas.md +190 -0
  232. package/skills/cloudflare/references/r2/patterns.md +193 -0
  233. package/skills/cloudflare/references/r2-data-catalog/README.md +75 -0
  234. package/skills/cloudflare/references/r2-data-catalog/api.md +122 -0
  235. package/skills/cloudflare/references/r2-data-catalog/configuration.md +98 -0
  236. package/skills/cloudflare/references/r2-data-catalog/gotchas.md +55 -0
  237. package/skills/cloudflare/references/r2-data-catalog/patterns.md +122 -0
  238. package/skills/cloudflare/references/r2-sql/README.md +64 -0
  239. package/skills/cloudflare/references/r2-sql/api.md +121 -0
  240. package/skills/cloudflare/references/r2-sql/configuration.md +50 -0
  241. package/skills/cloudflare/references/r2-sql/gotchas.md +39 -0
  242. package/skills/cloudflare/references/r2-sql/patterns.md +118 -0
  243. package/skills/cloudflare/references/realtime-sfu/README.md +65 -0
  244. package/skills/cloudflare/references/realtime-sfu/api.md +158 -0
  245. package/skills/cloudflare/references/realtime-sfu/configuration.md +137 -0
  246. package/skills/cloudflare/references/realtime-sfu/gotchas.md +133 -0
  247. package/skills/cloudflare/references/realtime-sfu/patterns.md +174 -0
  248. package/skills/cloudflare/references/realtimekit/README.md +113 -0
  249. package/skills/cloudflare/references/realtimekit/api.md +212 -0
  250. package/skills/cloudflare/references/realtimekit/configuration.md +203 -0
  251. package/skills/cloudflare/references/realtimekit/gotchas.md +169 -0
  252. package/skills/cloudflare/references/realtimekit/patterns.md +223 -0
  253. package/skills/cloudflare/references/sandbox/README.md +96 -0
  254. package/skills/cloudflare/references/sandbox/api.md +198 -0
  255. package/skills/cloudflare/references/sandbox/configuration.md +143 -0
  256. package/skills/cloudflare/references/sandbox/gotchas.md +194 -0
  257. package/skills/cloudflare/references/sandbox/patterns.md +201 -0
  258. package/skills/cloudflare/references/secrets-store/README.md +74 -0
  259. package/skills/cloudflare/references/secrets-store/api.md +200 -0
  260. package/skills/cloudflare/references/secrets-store/configuration.md +185 -0
  261. package/skills/cloudflare/references/secrets-store/gotchas.md +97 -0
  262. package/skills/cloudflare/references/secrets-store/patterns.md +207 -0
  263. package/skills/cloudflare/references/smart-placement/README.md +138 -0
  264. package/skills/cloudflare/references/smart-placement/api.md +183 -0
  265. package/skills/cloudflare/references/smart-placement/configuration.md +196 -0
  266. package/skills/cloudflare/references/smart-placement/gotchas.md +174 -0
  267. package/skills/cloudflare/references/smart-placement/patterns.md +183 -0
  268. package/skills/cloudflare/references/snippets/README.md +68 -0
  269. package/skills/cloudflare/references/snippets/api.md +198 -0
  270. package/skills/cloudflare/references/snippets/configuration.md +227 -0
  271. package/skills/cloudflare/references/snippets/gotchas.md +86 -0
  272. package/skills/cloudflare/references/snippets/patterns.md +135 -0
  273. package/skills/cloudflare/references/spectrum/README.md +52 -0
  274. package/skills/cloudflare/references/spectrum/api.md +181 -0
  275. package/skills/cloudflare/references/spectrum/configuration.md +194 -0
  276. package/skills/cloudflare/references/spectrum/gotchas.md +145 -0
  277. package/skills/cloudflare/references/spectrum/patterns.md +196 -0
  278. package/skills/cloudflare/references/static-assets/README.md +65 -0
  279. package/skills/cloudflare/references/static-assets/api.md +199 -0
  280. package/skills/cloudflare/references/static-assets/configuration.md +186 -0
  281. package/skills/cloudflare/references/static-assets/gotchas.md +162 -0
  282. package/skills/cloudflare/references/static-assets/patterns.md +189 -0
  283. package/skills/cloudflare/references/stream/README.md +114 -0
  284. package/skills/cloudflare/references/stream/api-live.md +195 -0
  285. package/skills/cloudflare/references/stream/api.md +199 -0
  286. package/skills/cloudflare/references/stream/configuration.md +141 -0
  287. package/skills/cloudflare/references/stream/gotchas.md +130 -0
  288. package/skills/cloudflare/references/stream/patterns.md +184 -0
  289. package/skills/cloudflare/references/tail-workers/README.md +89 -0
  290. package/skills/cloudflare/references/tail-workers/api.md +200 -0
  291. package/skills/cloudflare/references/tail-workers/configuration.md +176 -0
  292. package/skills/cloudflare/references/tail-workers/gotchas.md +192 -0
  293. package/skills/cloudflare/references/tail-workers/patterns.md +180 -0
  294. package/skills/cloudflare/references/terraform/README.md +102 -0
  295. package/skills/cloudflare/references/terraform/api.md +178 -0
  296. package/skills/cloudflare/references/terraform/configuration.md +197 -0
  297. package/skills/cloudflare/references/terraform/gotchas.md +150 -0
  298. package/skills/cloudflare/references/terraform/patterns.md +174 -0
  299. package/skills/cloudflare/references/tunnel/README.md +129 -0
  300. package/skills/cloudflare/references/tunnel/api.md +193 -0
  301. package/skills/cloudflare/references/tunnel/configuration.md +157 -0
  302. package/skills/cloudflare/references/tunnel/gotchas.md +147 -0
  303. package/skills/cloudflare/references/tunnel/networking.md +168 -0
  304. package/skills/cloudflare/references/tunnel/patterns.md +192 -0
  305. package/skills/cloudflare/references/turn/README.md +82 -0
  306. package/skills/cloudflare/references/turn/api.md +239 -0
  307. package/skills/cloudflare/references/turn/configuration.md +179 -0
  308. package/skills/cloudflare/references/turn/gotchas.md +231 -0
  309. package/skills/cloudflare/references/turn/patterns.md +213 -0
  310. package/skills/cloudflare/references/turnstile/README.md +99 -0
  311. package/skills/cloudflare/references/turnstile/api.md +240 -0
  312. package/skills/cloudflare/references/turnstile/configuration.md +222 -0
  313. package/skills/cloudflare/references/turnstile/gotchas.md +218 -0
  314. package/skills/cloudflare/references/turnstile/patterns.md +193 -0
  315. package/skills/cloudflare/references/vectorize/README.md +133 -0
  316. package/skills/cloudflare/references/vectorize/api.md +88 -0
  317. package/skills/cloudflare/references/vectorize/configuration.md +88 -0
  318. package/skills/cloudflare/references/vectorize/gotchas.md +76 -0
  319. package/skills/cloudflare/references/vectorize/patterns.md +90 -0
  320. package/skills/cloudflare/references/waf/README.md +113 -0
  321. package/skills/cloudflare/references/waf/api.md +202 -0
  322. package/skills/cloudflare/references/waf/configuration.md +203 -0
  323. package/skills/cloudflare/references/waf/gotchas.md +204 -0
  324. package/skills/cloudflare/references/waf/patterns.md +197 -0
  325. package/skills/cloudflare/references/web-analytics/README.md +141 -0
  326. package/skills/cloudflare/references/web-analytics/configuration.md +76 -0
  327. package/skills/cloudflare/references/web-analytics/gotchas.md +82 -0
  328. package/skills/cloudflare/references/web-analytics/integration.md +60 -0
  329. package/skills/cloudflare/references/web-analytics/patterns.md +91 -0
  330. package/skills/cloudflare/references/workerd/README.md +78 -0
  331. package/skills/cloudflare/references/workerd/api.md +185 -0
  332. package/skills/cloudflare/references/workerd/configuration.md +183 -0
  333. package/skills/cloudflare/references/workerd/gotchas.md +139 -0
  334. package/skills/cloudflare/references/workerd/patterns.md +192 -0
  335. package/skills/cloudflare/references/workers/README.md +108 -0
  336. package/skills/cloudflare/references/workers/api.md +195 -0
  337. package/skills/cloudflare/references/workers/configuration.md +185 -0
  338. package/skills/cloudflare/references/workers/frameworks.md +197 -0
  339. package/skills/cloudflare/references/workers/gotchas.md +137 -0
  340. package/skills/cloudflare/references/workers/patterns.md +198 -0
  341. package/skills/cloudflare/references/workers-ai/README.md +197 -0
  342. package/skills/cloudflare/references/workers-ai/api.md +112 -0
  343. package/skills/cloudflare/references/workers-ai/configuration.md +97 -0
  344. package/skills/cloudflare/references/workers-ai/gotchas.md +114 -0
  345. package/skills/cloudflare/references/workers-ai/patterns.md +120 -0
  346. package/skills/cloudflare/references/workers-for-platforms/README.md +89 -0
  347. package/skills/cloudflare/references/workers-for-platforms/api.md +196 -0
  348. package/skills/cloudflare/references/workers-for-platforms/configuration.md +167 -0
  349. package/skills/cloudflare/references/workers-for-platforms/gotchas.md +134 -0
  350. package/skills/cloudflare/references/workers-for-platforms/patterns.md +188 -0
  351. package/skills/cloudflare/references/workers-playground/README.md +127 -0
  352. package/skills/cloudflare/references/workers-playground/api.md +101 -0
  353. package/skills/cloudflare/references/workers-playground/configuration.md +163 -0
  354. package/skills/cloudflare/references/workers-playground/gotchas.md +88 -0
  355. package/skills/cloudflare/references/workers-playground/patterns.md +132 -0
  356. package/skills/cloudflare/references/workers-vpc/README.md +127 -0
  357. package/skills/cloudflare/references/workers-vpc/api.md +202 -0
  358. package/skills/cloudflare/references/workers-vpc/configuration.md +147 -0
  359. package/skills/cloudflare/references/workers-vpc/gotchas.md +167 -0
  360. package/skills/cloudflare/references/workers-vpc/patterns.md +209 -0
  361. package/skills/cloudflare/references/workflows/README.md +77 -0
  362. package/skills/cloudflare/references/workflows/api.md +218 -0
  363. package/skills/cloudflare/references/workflows/configuration.md +152 -0
  364. package/skills/cloudflare/references/workflows/gotchas.md +90 -0
  365. package/skills/cloudflare/references/workflows/patterns.md +175 -0
  366. package/skills/cloudflare/references/wrangler/README.md +135 -0
  367. package/skills/cloudflare/references/wrangler/api.md +188 -0
  368. package/skills/cloudflare/references/wrangler/configuration.md +197 -0
  369. package/skills/cloudflare/references/wrangler/gotchas.md +197 -0
  370. package/skills/cloudflare/references/wrangler/patterns.md +209 -0
  371. package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +121 -0
  372. package/skills/cloudflare/references/zaraz/README.md +111 -0
  373. package/skills/cloudflare/references/zaraz/api.md +112 -0
  374. package/skills/cloudflare/references/zaraz/configuration.md +90 -0
  375. package/skills/cloudflare/references/zaraz/gotchas.md +81 -0
  376. package/skills/cloudflare/references/zaraz/patterns.md +74 -0
  377. package/skills/cloudflare-email-service/SKILL.md +103 -0
  378. package/skills/cloudflare-email-service/references/cli-and-mcp.md +125 -0
  379. package/skills/cloudflare-email-service/references/deliverability.md +285 -0
  380. package/skills/cloudflare-email-service/references/rest-api.md +184 -0
  381. package/skills/cloudflare-email-service/references/routing.md +199 -0
  382. package/skills/cloudflare-email-service/references/sending.md +252 -0
  383. package/skills/cloudflare-one/SKILL.md +176 -0
  384. package/skills/cloudflare-one-migrations/SKILL.md +110 -0
  385. package/skills/durable-objects/SKILL.md +186 -0
  386. package/skills/durable-objects/references/rules.md +295 -0
  387. package/skills/durable-objects/references/testing.md +264 -0
  388. package/skills/durable-objects/references/workers.md +346 -0
  389. package/skills/sandbox-migrate-to-next/SKILL.md +185 -0
  390. package/skills/sandbox-next/SKILL.md +91 -0
  391. package/skills/sandbox-next/references/api-quick-ref.md +94 -0
  392. package/skills/sandbox-next/references/examples.md +15 -0
  393. package/skills/sandbox-stable/SKILL.md +110 -0
  394. package/skills/turnstile-spin/README.md +51 -0
  395. package/skills/turnstile-spin/SKILL.md +330 -0
  396. package/skills/turnstile-spin/references/astro.md +199 -0
  397. package/skills/turnstile-spin/references/hugo.md +114 -0
  398. package/skills/turnstile-spin/references/nextjs-app.md +261 -0
  399. package/skills/turnstile-spin/references/nextjs-pages.md +82 -0
  400. package/skills/turnstile-spin/references/sveltekit.md +191 -0
  401. package/skills/turnstile-spin/references/vanilla-html.md +157 -0
  402. package/skills/turnstile-spin/scripts/auth-probe.sh +285 -0
  403. package/skills/turnstile-spin/scripts/persist-skill.sh +114 -0
  404. package/skills/turnstile-spin/scripts/validate.sh +137 -0
  405. package/skills/turnstile-spin/scripts/widget-create.sh +121 -0
  406. package/skills/turnstile-spin/tests/validation.md +62 -0
  407. package/skills/workers-best-practices/SKILL.md +127 -0
  408. package/skills/workers-best-practices/references/review.md +174 -0
  409. package/skills/workers-best-practices/references/rules.md +467 -0
  410. package/skills/wrangler/SKILL.md +922 -0
@@ -0,0 +1,192 @@
1
+ # Tail Workers Gotchas & Debugging
2
+
3
+ ## Critical Pitfalls
4
+
5
+ ### 1. Not Using `ctx.waitUntil()`
6
+
7
+ **Problem:** Async work doesn't complete or tail Worker times out
8
+ **Cause:** Handlers exit immediately; awaiting blocks processing
9
+ **Solution:**
10
+
11
+ ```typescript
12
+ // ❌ WRONG - fire and forget
13
+ export default {
14
+ async tail(events) {
15
+ fetch(endpoint, { body: JSON.stringify(events) });
16
+ }
17
+ };
18
+
19
+ // ❌ WRONG - blocking await
20
+ export default {
21
+ async tail(events, env, ctx) {
22
+ await fetch(endpoint, { body: JSON.stringify(events) });
23
+ }
24
+ };
25
+
26
+ // ✅ CORRECT
27
+ export default {
28
+ async tail(events, env, ctx) {
29
+ ctx.waitUntil(
30
+ (async () => {
31
+ await fetch(endpoint, { body: JSON.stringify(events) });
32
+ await processMore();
33
+ })()
34
+ );
35
+ }
36
+ };
37
+ ```
38
+
39
+ ### 2. Missing `tail()` Handler
40
+
41
+ **Problem:** Producer deployment fails
42
+ **Cause:** Worker in `tail_consumers` doesn't export `tail()` handler
43
+ **Solution:** Ensure `export default { async tail(events, env, ctx) { ... } }`
44
+
45
+ ### 3. Outcome vs HTTP Status
46
+
47
+ **Problem:** Filtering by wrong status
48
+ **Cause:** `outcome` is script execution status, not HTTP status
49
+
50
+ ```typescript
51
+ // ❌ WRONG
52
+ if (event.outcome === 500) { /* never matches */ }
53
+
54
+ // ✅ CORRECT
55
+ if (event.outcome === 'exception') { /* script threw */ }
56
+ if (event.event?.response?.status === 500) { /* HTTP 500 */ }
57
+ ```
58
+
59
+ ### 4. Timestamp Units
60
+
61
+ **Problem:** Dates off by 1000x
62
+ **Cause:** Timestamps are epoch milliseconds, not seconds
63
+
64
+ ```typescript
65
+ // ❌ WRONG: const date = new Date(event.eventTimestamp * 1000);
66
+ // ✅ CORRECT: const date = new Date(event.eventTimestamp);
67
+ ```
68
+
69
+ ### 5. Type Name Mismatch
70
+
71
+ **Problem:** Using `TailItem` type
72
+ **Cause:** Old docs used `TailItem`, SDK uses `TraceItem`
73
+
74
+ ```typescript
75
+ import type { TraceItem } from '@cloudflare/workers-types';
76
+ export default {
77
+ async tail(events: TraceItem[], env, ctx) { /* ... */ }
78
+ };
79
+ ```
80
+
81
+ ### 6. Excessive Logging Volume
82
+
83
+ **Problem:** Unexpected high costs
84
+ **Cause:** Invoked on EVERY producer request
85
+ **Solution:** Sample events
86
+
87
+ ```typescript
88
+ export default {
89
+ async tail(events, env, ctx) {
90
+ if (Math.random() > 0.1) return; // 10% sample
91
+ ctx.waitUntil(sendToEndpoint(events));
92
+ }
93
+ };
94
+ ```
95
+
96
+ ### 7. Serialization Issues
97
+
98
+ **Problem:** `JSON.stringify()` fails
99
+ **Cause:** `log.message` is `unknown[]` with non-serializable values
100
+ **Solution:**
101
+
102
+ ```typescript
103
+ const safePayload = events.map(e => ({
104
+ ...e,
105
+ logs: e.logs.map(log => ({
106
+ ...log,
107
+ message: log.message.map(m => {
108
+ try { return JSON.parse(JSON.stringify(m)); }
109
+ catch { return String(m); }
110
+ })
111
+ }))
112
+ }));
113
+ ```
114
+
115
+ ### 8. Missing Error Handling
116
+
117
+ **Problem:** Tail Worker silently fails
118
+ **Cause:** No try/catch
119
+ **Solution:**
120
+
121
+ ```typescript
122
+ ctx.waitUntil((async () => {
123
+ try {
124
+ await fetch(env.ENDPOINT, { body: JSON.stringify(events) });
125
+ } catch (error) {
126
+ console.error("Tail error:", error);
127
+ await env.FALLBACK_KV.put(`failed:${Date.now()}`, JSON.stringify(events));
128
+ }
129
+ })());
130
+ ```
131
+
132
+ ### 9. Deployment Order
133
+
134
+ **Problem:** Producer deployment fails
135
+ **Cause:** Tail consumer not deployed yet
136
+ **Solution:** Deploy tail consumer FIRST
137
+
138
+ ```bash
139
+ cd tail-worker && wrangler deploy
140
+ cd ../producer && wrangler deploy
141
+ ```
142
+
143
+ ### 10. No Event Retry
144
+
145
+ **Problem:** Events lost when handler fails
146
+ **Cause:** Failed invocations NOT retried
147
+ **Solution:** Implement fallback storage (see #8)
148
+
149
+ ## Debugging
150
+
151
+ **View logs:** `wrangler tail my-tail-worker`
152
+
153
+ **Incremental testing:**
154
+ 1. Verify receipt: `console.log('Events:', events.length)`
155
+ 2. Inspect structure: `console.log(JSON.stringify(events[0], null, 2))`
156
+ 3. Add external call with `ctx.waitUntil()`
157
+
158
+ **Monitor dashboard:** Check invocation count (matches producer?), error rate, CPU time
159
+
160
+ ## Testing
161
+
162
+ Add test endpoint to producer:
163
+
164
+ ```typescript
165
+ export default {
166
+ async fetch(request) {
167
+ if (request.url.includes('/test')) {
168
+ console.log('Test log');
169
+ throw new Error('Test error');
170
+ }
171
+ return new Response('OK');
172
+ }
173
+ };
174
+ ```
175
+
176
+ Trigger: `curl https://producer.example.workers.dev/test`
177
+
178
+ ## Common Errors
179
+
180
+ | Error | Cause | Solution |
181
+ |-------|-------|----------|
182
+ | "Tail consumer not found" | Not deployed | Deploy tail Worker first |
183
+ | "No tail handler" | Missing `tail()` | Add to default export |
184
+ | "waitUntil is not a function" | Missing `ctx` | Add `ctx` parameter |
185
+ | Timeout | Blocking await | Use `ctx.waitUntil()` |
186
+
187
+ ## Performance Notes
188
+
189
+ - Max 100 events per invocation
190
+ - Each consumer receives all events independently
191
+ - CPU limits same as regular Workers
192
+ - For high volume, use Durable Objects batching
@@ -0,0 +1,180 @@
1
+ # Tail Workers Common Patterns
2
+
3
+ ## Community Libraries
4
+
5
+ While most tail Worker implementations are custom, these libraries may help:
6
+
7
+ **Logging/Observability:**
8
+ - **Axiom** - `axiom-cloudflare-workers` (npm) - Direct Axiom integration
9
+ - **Baselime** - SDK for Baselime observability platform
10
+ - **LogFlare** - Structured log aggregation
11
+
12
+ **Type Definitions:**
13
+ - **@cloudflare/workers-types** - Official TypeScript types (use `TraceItem`)
14
+
15
+ **Note:** Most integrations require custom tail handler implementation. See integration examples below.
16
+
17
+ ## Basic Patterns
18
+
19
+ ### HTTP Endpoint Logging
20
+
21
+ ```typescript
22
+ export default {
23
+ async tail(events, env, ctx) {
24
+ const payload = events.map(event => ({
25
+ script: event.scriptName,
26
+ timestamp: event.eventTimestamp,
27
+ outcome: event.outcome,
28
+ url: event.event?.request?.url,
29
+ status: event.event?.response?.status,
30
+ logs: event.logs,
31
+ exceptions: event.exceptions,
32
+ }));
33
+
34
+ ctx.waitUntil(
35
+ fetch(env.LOG_ENDPOINT, {
36
+ method: "POST",
37
+ body: JSON.stringify(payload),
38
+ })
39
+ );
40
+ }
41
+ };
42
+ ```
43
+
44
+ ### Error Tracking Only
45
+
46
+ ```typescript
47
+ export default {
48
+ async tail(events, env, ctx) {
49
+ const errors = events.filter(e =>
50
+ e.outcome === 'exception' || e.exceptions.length > 0
51
+ );
52
+
53
+ if (errors.length === 0) return;
54
+
55
+ ctx.waitUntil(
56
+ fetch(env.ERROR_ENDPOINT, {
57
+ method: "POST",
58
+ body: JSON.stringify(errors),
59
+ })
60
+ );
61
+ }
62
+ };
63
+ ```
64
+
65
+ ## Storage Integration
66
+
67
+ ### KV Storage with TTL
68
+
69
+ ```typescript
70
+ export default {
71
+ async tail(events, env, ctx) {
72
+ ctx.waitUntil(
73
+ Promise.all(events.map(event =>
74
+ env.LOGS_KV.put(
75
+ `log:${event.scriptName}:${event.eventTimestamp}`,
76
+ JSON.stringify(event),
77
+ { expirationTtl: 86400 } // 24 hours
78
+ )
79
+ ))
80
+ );
81
+ }
82
+ };
83
+ ```
84
+
85
+ ### Analytics Engine Metrics
86
+
87
+ ```typescript
88
+ export default {
89
+ async tail(events, env, ctx) {
90
+ ctx.waitUntil(
91
+ Promise.all(events.map(event =>
92
+ env.ANALYTICS.writeDataPoint({
93
+ blobs: [event.scriptName, event.outcome],
94
+ doubles: [1, event.event?.response?.status ?? 0],
95
+ indexes: [event.event?.request?.cf?.colo ?? 'unknown'],
96
+ })
97
+ ))
98
+ );
99
+ }
100
+ };
101
+ ```
102
+
103
+ ## Filtering & Routing
104
+
105
+ Filter by route, outcome, or other criteria:
106
+
107
+ ```typescript
108
+ export default {
109
+ async tail(events, env, ctx) {
110
+ // Route filtering
111
+ const apiEvents = events.filter(e =>
112
+ e.event?.request?.url?.includes('/api/')
113
+ );
114
+
115
+ // Multi-destination routing
116
+ const errors = events.filter(e => e.outcome === 'exception');
117
+ const success = events.filter(e => e.outcome === 'ok');
118
+
119
+ const tasks = [];
120
+ if (errors.length > 0) {
121
+ tasks.push(fetch(env.ERROR_ENDPOINT, {
122
+ method: "POST",
123
+ body: JSON.stringify(errors),
124
+ }));
125
+ }
126
+ if (success.length > 0) {
127
+ tasks.push(fetch(env.SUCCESS_ENDPOINT, {
128
+ method: "POST",
129
+ body: JSON.stringify(success),
130
+ }));
131
+ }
132
+
133
+ ctx.waitUntil(Promise.all(tasks));
134
+ }
135
+ };
136
+ ```
137
+
138
+ ## Sampling
139
+
140
+ Reduce costs by processing only a percentage of events:
141
+
142
+ ```typescript
143
+ export default {
144
+ async tail(events, env, ctx) {
145
+ if (Math.random() > 0.1) return; // 10% sample rate
146
+ ctx.waitUntil(fetch(env.LOG_ENDPOINT, {
147
+ method: "POST",
148
+ body: JSON.stringify(events),
149
+ }));
150
+ }
151
+ };
152
+ ```
153
+
154
+ ## Advanced Patterns
155
+
156
+ ### Batching with Durable Objects
157
+
158
+ Accumulate events before sending:
159
+
160
+ ```typescript
161
+ export default {
162
+ async tail(events, env, ctx) {
163
+ const batch = env.BATCH_DO.get(env.BATCH_DO.idFromName("batch"));
164
+ ctx.waitUntil(batch.fetch("https://batch/add", {
165
+ method: "POST",
166
+ body: JSON.stringify(events),
167
+ }));
168
+ }
169
+ };
170
+ ```
171
+
172
+ See durable-objects skill for full implementation.
173
+
174
+ ### Workers for Platforms
175
+
176
+ Dynamic dispatch sends TWO events per request. Filter by `scriptName` to distinguish dispatch vs user Worker events.
177
+
178
+ ### Error Handling
179
+
180
+ Always wrap external calls. See gotchas.md for fallback storage pattern.
@@ -0,0 +1,102 @@
1
+ # Cloudflare Terraform Provider
2
+
3
+ **Expert guidance for Cloudflare Terraform Provider - infrastructure as code for Cloudflare resources.**
4
+
5
+ ## Core Principles
6
+
7
+ - **Provider-first**: Use Terraform provider for ALL infrastructure - never mix with wrangler.jsonc for the same resources
8
+ - **State management**: Always use remote state (S3, Terraform Cloud, etc.) for team environments
9
+ - **Modular architecture**: Create reusable modules for common patterns (zones, workers, pages)
10
+ - **Version pinning**: Always pin provider version with `~>` for predictable upgrades
11
+ - **Secret management**: Use variables + environment vars for sensitive data - never hardcode API tokens
12
+
13
+ ## Provider Version
14
+
15
+ | Version | Status | Notes |
16
+ |---------|--------|-------|
17
+ | 5.x | Current | Auto-generated from OpenAPI, breaking changes from v4 |
18
+ | 4.x | Legacy | Manual maintenance, deprecated |
19
+
20
+ **Critical:** v5 renamed many resources (`cloudflare_record` → `cloudflare_dns_record`, `cloudflare_worker_*` → `cloudflare_workers_*`). See [gotchas.md](./gotchas.md#v5-breaking-changes) for migration details.
21
+
22
+ ## Provider Setup
23
+
24
+ ### Basic Configuration
25
+
26
+ ```hcl
27
+ terraform {
28
+ required_version = ">= 1.0"
29
+
30
+ required_providers {
31
+ cloudflare = {
32
+ source = "cloudflare/cloudflare"
33
+ version = "~> 5.15.0"
34
+ }
35
+ }
36
+ }
37
+
38
+ provider "cloudflare" {
39
+ api_token = var.cloudflare_api_token # or CLOUDFLARE_API_TOKEN env var
40
+ }
41
+ ```
42
+
43
+ ### Authentication Methods (priority order)
44
+
45
+ 1. **API Token** (RECOMMENDED): `api_token` or `CLOUDFLARE_API_TOKEN`
46
+ - Create: Dashboard → My Profile → API Tokens
47
+ - Scope to specific accounts/zones for security
48
+
49
+ 2. **Global API Key** (LEGACY): `api_key` + `api_email` or `CLOUDFLARE_API_KEY` + `CLOUDFLARE_EMAIL`
50
+ - Less secure, use tokens instead
51
+
52
+ 3. **User Service Key**: `user_service_key` for Origin CA certificates
53
+
54
+
55
+
56
+ ## Quick Reference: Common Commands
57
+
58
+ ```bash
59
+ terraform init # Initialize provider
60
+ terraform plan # Plan changes
61
+ terraform apply # Apply changes
62
+ terraform destroy # Destroy resources
63
+ terraform import cloudflare_zone.example <zone-id> # Import existing
64
+ terraform state list # List resources in state
65
+ terraform output # Show outputs
66
+ terraform fmt -recursive # Format code
67
+ terraform validate # Validate configuration
68
+ ```
69
+
70
+ ## Import Existing Resources
71
+
72
+ Use cf-terraforming to generate configs from existing Cloudflare resources:
73
+
74
+ ```bash
75
+ # Install
76
+ brew install cloudflare/cloudflare/cf-terraforming
77
+
78
+ # Generate HCL from existing resources
79
+ cf-terraforming generate --resource-type cloudflare_dns_record --zone <zone-id>
80
+
81
+ # Import into Terraform state
82
+ cf-terraforming import --resource-type cloudflare_dns_record --zone <zone-id>
83
+ ```
84
+
85
+ ## Reading Order
86
+
87
+ 1. Start with [README.md](./README.md) for provider setup and authentication
88
+ 2. Review [configuration.md](./configuration.md) for resource configurations
89
+ 3. Check [api.md](./api.md) for data sources and existing resource queries
90
+ 4. See [patterns.md](./patterns.md) for multi-environment and CI/CD patterns
91
+ 5. Read [gotchas.md](./gotchas.md) for state drift, v5 breaking changes, and troubleshooting
92
+
93
+ ## In This Reference
94
+ - [configuration.md](./configuration.md) - Resources for zones, DNS, workers, KV, R2, D1, Pages, rulesets
95
+ - [api.md](./api.md) - Data sources for existing resources
96
+ - [patterns.md](./patterns.md) - Architecture patterns, multi-env setup, CI/CD integration
97
+ - [gotchas.md](./gotchas.md) - Common issues, security, best practices
98
+
99
+ ## See Also
100
+ - [pulumi](../pulumi/) - Alternative IaC tool for Cloudflare
101
+ - [wrangler](../wrangler/) - CLI deployment alternative
102
+ - [workers](../workers/) - Worker runtime documentation
@@ -0,0 +1,178 @@
1
+ # Terraform Data Sources Reference
2
+
3
+ Query existing Cloudflare resources to reference in your configurations.
4
+
5
+ ## v5 Data Source Names
6
+
7
+ | v4 Name | v5 Name | Notes |
8
+ |---------|---------|-------|
9
+ | `cloudflare_record` | `cloudflare_dns_record` | |
10
+ | `cloudflare_worker_script` | `cloudflare_workers_script` | Note: plural |
11
+ | `cloudflare_access_*` | `cloudflare_zero_trust_*` | Access → Zero Trust |
12
+
13
+ ## Zone Data Sources
14
+
15
+ ```hcl
16
+ # Get zone by name
17
+ data "cloudflare_zone" "example" {
18
+ name = "example.com"
19
+ }
20
+
21
+ # Use in resources
22
+ resource "cloudflare_dns_record" "www" {
23
+ zone_id = data.cloudflare_zone.example.id
24
+ name = "www"
25
+ # ...
26
+ }
27
+ ```
28
+
29
+ ## Account Data Sources
30
+
31
+ ```hcl
32
+ # List all accounts
33
+ data "cloudflare_accounts" "main" {
34
+ name = "My Account"
35
+ }
36
+
37
+ # Use account ID
38
+ resource "cloudflare_worker_script" "api" {
39
+ account_id = data.cloudflare_accounts.main.accounts[0].id
40
+ # ...
41
+ }
42
+ ```
43
+
44
+ ## Worker Data Sources
45
+
46
+ ```hcl
47
+ # Get existing worker script (v5: cloudflare_workers_script)
48
+ data "cloudflare_workers_script" "existing" {
49
+ account_id = var.account_id
50
+ name = "existing-worker"
51
+ }
52
+
53
+ # Reference in service bindings
54
+ resource "cloudflare_workers_script" "consumer" {
55
+ service_binding {
56
+ name = "UPSTREAM"
57
+ service = data.cloudflare_workers_script.existing.name
58
+ }
59
+ }
60
+ ```
61
+
62
+ ## KV Data Sources
63
+
64
+ ```hcl
65
+ # Get KV namespace
66
+ data "cloudflare_workers_kv_namespace" "existing" {
67
+ account_id = var.account_id
68
+ namespace_id = "abc123"
69
+ }
70
+
71
+ # Use in worker binding
72
+ resource "cloudflare_workers_script" "api" {
73
+ kv_namespace_binding {
74
+ name = "KV"
75
+ namespace_id = data.cloudflare_workers_kv_namespace.existing.id
76
+ }
77
+ }
78
+ ```
79
+
80
+ ## Lists Data Source
81
+
82
+ ```hcl
83
+ # Get IP lists for WAF rules
84
+ data "cloudflare_list" "blocked_ips" {
85
+ account_id = var.account_id
86
+ name = "blocked_ips"
87
+ }
88
+ ```
89
+
90
+ ## IP Ranges Data Source
91
+
92
+ ```hcl
93
+ # Get Cloudflare IP ranges (for firewall rules)
94
+ data "cloudflare_ip_ranges" "cloudflare" {}
95
+
96
+ output "ipv4_cidrs" {
97
+ value = data.cloudflare_ip_ranges.cloudflare.ipv4_cidr_blocks
98
+ }
99
+
100
+ output "ipv6_cidrs" {
101
+ value = data.cloudflare_ip_ranges.cloudflare.ipv6_cidr_blocks
102
+ }
103
+
104
+ # Use in security group rules (AWS example)
105
+ resource "aws_security_group_rule" "allow_cloudflare" {
106
+ type = "ingress"
107
+ from_port = 443
108
+ to_port = 443
109
+ protocol = "tcp"
110
+ cidr_blocks = data.cloudflare_ip_ranges.cloudflare.ipv4_cidr_blocks
111
+ security_group_id = aws_security_group.web.id
112
+ }
113
+ ```
114
+
115
+ ## Common Patterns
116
+
117
+ ### Import ID Formats
118
+
119
+ | Resource | Import ID Format |
120
+ |----------|------------------|
121
+ | `cloudflare_zone` | `<zone-id>` |
122
+ | `cloudflare_dns_record` | `<zone-id>/<record-id>` |
123
+ | `cloudflare_workers_script` | `<account-id>/<script-name>` |
124
+ | `cloudflare_workers_kv_namespace` | `<account-id>/<namespace-id>` |
125
+ | `cloudflare_r2_bucket` | `<account-id>/<bucket-name>` |
126
+ | `cloudflare_d1_database` | `<account-id>/<database-id>` |
127
+ | `cloudflare_pages_project` | `<account-id>/<project-name>` |
128
+
129
+ ```bash
130
+ # Example: Import DNS record
131
+ terraform import cloudflare_dns_record.example <zone-id>/<record-id>
132
+ ```
133
+
134
+ ### Reference Across Modules
135
+
136
+ ```hcl
137
+ # modules/worker/main.tf
138
+ data "cloudflare_zone" "main" {
139
+ name = var.domain
140
+ }
141
+
142
+ resource "cloudflare_worker_route" "api" {
143
+ zone_id = data.cloudflare_zone.main.id
144
+ pattern = "api.${var.domain}/*"
145
+ script_name = cloudflare_worker_script.api.name
146
+ }
147
+ ```
148
+
149
+ ### Output Important Values
150
+
151
+ ```hcl
152
+ output "zone_id" {
153
+ value = cloudflare_zone.main.id
154
+ description = "Zone ID for DNS management"
155
+ }
156
+
157
+ output "worker_url" {
158
+ value = "https://${cloudflare_worker_domain.api.hostname}"
159
+ description = "Worker API endpoint"
160
+ }
161
+
162
+ output "kv_namespace_id" {
163
+ value = cloudflare_workers_kv_namespace.app.id
164
+ sensitive = false
165
+ }
166
+
167
+ output "name_servers" {
168
+ value = cloudflare_zone.main.name_servers
169
+ description = "Name servers for domain registration"
170
+ }
171
+ ```
172
+
173
+ ## See Also
174
+
175
+ - [README](./README.md) - Provider setup
176
+ - [Configuration Reference](./configuration.md) - All resource types
177
+ - [Patterns](./patterns.md) - Architecture patterns
178
+ - [Troubleshooting](./gotchas.md) - Common issues