memory-journal-mcp 7.7.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/README.md +126 -56
  2. package/dist/chunk-6OHRCNYW.js +3231 -0
  3. package/dist/chunk-JFMITANR.js +5168 -0
  4. package/dist/{chunk-QCQPAF4I.js → chunk-MWNLAEHR.js} +301 -4321
  5. package/dist/{chunk-ARLYSFSI.js → chunk-UHSO65A4.js} +4242 -6092
  6. package/dist/cli.js +21 -3
  7. package/dist/index.d.ts +16 -13
  8. package/dist/index.js +4 -2
  9. package/dist/resources-IJVKDFGS.js +2 -0
  10. package/dist/tools-44DGXE3V.js +2 -0
  11. package/dist/worker-script.js +201 -20
  12. package/package.json +7 -4
  13. package/skills/README.md +62 -25
  14. package/skills/adversarial-performance/SKILL.md +139 -0
  15. package/skills/adversarial-performance/references/audit-categories.md +462 -0
  16. package/skills/adversarial-performance/references/copilot-performance-prompts.md +44 -0
  17. package/skills/adversarial-performance/references/copilot-usage.md +16 -0
  18. package/skills/adversarial-performance/references/feedback-loop.md +177 -0
  19. package/skills/adversarial-performance/references/multi-pass-performance-protocol.md +398 -0
  20. package/skills/adversarial-planner/SKILL.md +23 -54
  21. package/skills/adversarial-planner/references/copilot-integration.md +25 -40
  22. package/skills/adversarial-planner/references/copilot-usage.md +16 -0
  23. package/skills/adversarial-planner/references/multi-pass-protocol.md +4 -0
  24. package/skills/adversarial-security/SKILL.md +149 -0
  25. package/skills/adversarial-security/references/adversarial-base-protocol.md +44 -0
  26. package/skills/adversarial-security/references/audit-categories.md +723 -0
  27. package/skills/adversarial-security/references/copilot-security-prompts.md +142 -0
  28. package/skills/adversarial-security/references/copilot-usage.md +16 -0
  29. package/skills/adversarial-security/references/feedback-loop.md +206 -0
  30. package/skills/adversarial-security/references/journal-opt-out.md +7 -0
  31. package/skills/adversarial-security/references/multi-pass-security-protocol.md +403 -0
  32. package/skills/adversarial-skill-audit/SKILL.md +118 -0
  33. package/skills/adversarial-skill-audit/references/audit-categories.md +308 -0
  34. package/skills/adversarial-skill-audit/references/copilot-skill-prompts.md +68 -0
  35. package/skills/adversarial-skill-audit/references/copilot-usage.md +16 -0
  36. package/skills/adversarial-skill-audit/references/feedback-loop.md +155 -0
  37. package/skills/adversarial-skill-audit/references/multi-pass-skill-protocol.md +367 -0
  38. package/skills/adversarial-skill-audit/scripts/check-skills.ps1 +48 -0
  39. package/skills/adversarial-skill-audit/scripts/run-copilot.ps1 +52 -0
  40. package/skills/adversarial-workflow-audit/SKILL.md +82 -0
  41. package/skills/adversarial-workflow-audit/references/audit-categories.md +28 -0
  42. package/skills/adversarial-workflow-audit/references/copilot-usage.md +16 -0
  43. package/skills/adversarial-workflow-audit/scripts/check-workflows.ps1 +24 -0
  44. package/skills/agents-sdk/SKILL.md +220 -0
  45. package/skills/agents-sdk/references/callable.md +92 -0
  46. package/skills/agents-sdk/references/codemode.md +209 -0
  47. package/skills/agents-sdk/references/email.md +144 -0
  48. package/skills/agents-sdk/references/mcp/SKILL.md +65 -0
  49. package/skills/agents-sdk/references/mcp/code-mode-reference.md +245 -0
  50. package/skills/agents-sdk/references/mcp/oauth-reference.md +359 -0
  51. package/skills/agents-sdk/references/mcp/references/architecture-reference.md +208 -0
  52. package/skills/agents-sdk/references/mcp/references/cloudflare-quickstart.md +156 -0
  53. package/skills/agents-sdk/references/mcp/references/error-handling.md +343 -0
  54. package/skills/agents-sdk/references/mcp/references/http-security.md +164 -0
  55. package/skills/agents-sdk/references/mcp/references/implementation-guide.md +507 -0
  56. package/skills/agents-sdk/references/mcp/references/testing-reference.md +171 -0
  57. package/skills/agents-sdk/references/mcp.md +157 -0
  58. package/skills/agents-sdk/references/state-scheduling.md +164 -0
  59. package/skills/agents-sdk/references/streaming-chat.md +168 -0
  60. package/skills/agents-sdk/references/workflows.md +136 -0
  61. package/skills/auth-identity/SKILL.md +48 -0
  62. package/skills/autonomous-dev/SKILL.md +46 -23
  63. package/skills/autonomous-dev/references/workflow_orchestration.md +22 -0
  64. package/skills/aws/SKILL.md +39 -0
  65. package/skills/azure/SKILL.md +38 -0
  66. package/skills/bin/sync.js +7 -1
  67. package/skills/biome/SKILL.md +59 -0
  68. package/skills/bun/SKILL.md +8 -2
  69. package/skills/cloudflare/SKILL.md +37 -0
  70. package/skills/cloudflare/references/agents-sdk/README.md +95 -0
  71. package/skills/cloudflare/references/agents-sdk/api.md +195 -0
  72. package/skills/cloudflare/references/agents-sdk/configuration.md +178 -0
  73. package/skills/cloudflare/references/agents-sdk/gotchas.md +173 -0
  74. package/skills/cloudflare/references/agents-sdk/patterns.md +215 -0
  75. package/skills/cloudflare/references/ai-gateway/README.md +176 -0
  76. package/skills/cloudflare/references/ai-gateway/configuration.md +117 -0
  77. package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +88 -0
  78. package/skills/cloudflare/references/ai-gateway/features.md +96 -0
  79. package/skills/cloudflare/references/ai-gateway/sdk-integration.md +110 -0
  80. package/skills/cloudflare/references/ai-gateway/troubleshooting.md +90 -0
  81. package/skills/cloudflare/references/ai-search/README.md +145 -0
  82. package/skills/cloudflare/references/ai-search/api.md +87 -0
  83. package/skills/cloudflare/references/ai-search/configuration.md +91 -0
  84. package/skills/cloudflare/references/ai-search/gotchas.md +92 -0
  85. package/skills/cloudflare/references/ai-search/patterns.md +87 -0
  86. package/skills/cloudflare/references/analytics-engine/README.md +96 -0
  87. package/skills/cloudflare/references/analytics-engine/api.md +112 -0
  88. package/skills/cloudflare/references/analytics-engine/configuration.md +107 -0
  89. package/skills/cloudflare/references/analytics-engine/gotchas.md +87 -0
  90. package/skills/cloudflare/references/analytics-engine/patterns.md +83 -0
  91. package/skills/cloudflare/references/api/README.md +66 -0
  92. package/skills/cloudflare/references/api/api.md +205 -0
  93. package/skills/cloudflare/references/api/configuration.md +158 -0
  94. package/skills/cloudflare/references/api/gotchas.md +231 -0
  95. package/skills/cloudflare/references/api/patterns.md +208 -0
  96. package/skills/cloudflare/references/api-shield/README.md +44 -0
  97. package/skills/cloudflare/references/api-shield/api.md +153 -0
  98. package/skills/cloudflare/references/api-shield/configuration.md +210 -0
  99. package/skills/cloudflare/references/api-shield/gotchas.md +132 -0
  100. package/skills/cloudflare/references/api-shield/patterns.md +185 -0
  101. package/skills/cloudflare/references/argo-smart-routing/README.md +96 -0
  102. package/skills/cloudflare/references/argo-smart-routing/api.md +253 -0
  103. package/skills/cloudflare/references/argo-smart-routing/configuration.md +205 -0
  104. package/skills/cloudflare/references/argo-smart-routing/gotchas.md +115 -0
  105. package/skills/cloudflare/references/argo-smart-routing/patterns.md +107 -0
  106. package/skills/cloudflare/references/bindings/README.md +127 -0
  107. package/skills/cloudflare/references/bindings/api.md +214 -0
  108. package/skills/cloudflare/references/bindings/configuration.md +200 -0
  109. package/skills/cloudflare/references/bindings/gotchas.md +210 -0
  110. package/skills/cloudflare/references/bindings/patterns.md +205 -0
  111. package/skills/cloudflare/references/bot-management/README.md +95 -0
  112. package/skills/cloudflare/references/bot-management/api.md +175 -0
  113. package/skills/cloudflare/references/bot-management/configuration.md +175 -0
  114. package/skills/cloudflare/references/bot-management/gotchas.md +116 -0
  115. package/skills/cloudflare/references/bot-management/patterns.md +181 -0
  116. package/skills/cloudflare/references/browser-rendering/README.md +84 -0
  117. package/skills/cloudflare/references/browser-rendering/api.md +108 -0
  118. package/skills/cloudflare/references/browser-rendering/configuration.md +78 -0
  119. package/skills/cloudflare/references/browser-rendering/gotchas.md +91 -0
  120. package/skills/cloudflare/references/browser-rendering/patterns.md +93 -0
  121. package/skills/cloudflare/references/c3/README.md +111 -0
  122. package/skills/cloudflare/references/c3/api.md +71 -0
  123. package/skills/cloudflare/references/c3/configuration.md +85 -0
  124. package/skills/cloudflare/references/c3/gotchas.md +97 -0
  125. package/skills/cloudflare/references/c3/patterns.md +84 -0
  126. package/skills/cloudflare/references/cache-reserve/README.md +150 -0
  127. package/skills/cloudflare/references/cache-reserve/api.md +184 -0
  128. package/skills/cloudflare/references/cache-reserve/configuration.md +170 -0
  129. package/skills/cloudflare/references/cache-reserve/gotchas.md +136 -0
  130. package/skills/cloudflare/references/cache-reserve/patterns.md +197 -0
  131. package/skills/cloudflare/references/containers/README.md +87 -0
  132. package/skills/cloudflare/references/containers/api.md +197 -0
  133. package/skills/cloudflare/references/containers/configuration.md +191 -0
  134. package/skills/cloudflare/references/containers/gotchas.md +182 -0
  135. package/skills/cloudflare/references/containers/patterns.md +204 -0
  136. package/skills/cloudflare/references/cron-triggers/README.md +101 -0
  137. package/skills/cloudflare/references/cron-triggers/api.md +224 -0
  138. package/skills/cloudflare/references/cron-triggers/configuration.md +190 -0
  139. package/skills/cloudflare/references/cron-triggers/gotchas.md +207 -0
  140. package/skills/cloudflare/references/cron-triggers/patterns.md +274 -0
  141. package/skills/cloudflare/references/d1/README.md +137 -0
  142. package/skills/cloudflare/references/d1/api.md +213 -0
  143. package/skills/cloudflare/references/d1/configuration.md +198 -0
  144. package/skills/cloudflare/references/d1/gotchas.md +98 -0
  145. package/skills/cloudflare/references/d1/patterns.md +240 -0
  146. package/skills/cloudflare/references/ddos/README.md +42 -0
  147. package/skills/cloudflare/references/ddos/api.md +158 -0
  148. package/skills/cloudflare/references/ddos/configuration.md +94 -0
  149. package/skills/cloudflare/references/ddos/gotchas.md +114 -0
  150. package/skills/cloudflare/references/ddos/patterns.md +220 -0
  151. package/skills/cloudflare/references/decision-trees.md +95 -0
  152. package/skills/cloudflare/references/do-storage/README.md +79 -0
  153. package/skills/cloudflare/references/do-storage/api.md +107 -0
  154. package/skills/cloudflare/references/do-storage/configuration.md +114 -0
  155. package/skills/cloudflare/references/do-storage/gotchas.md +153 -0
  156. package/skills/cloudflare/references/do-storage/patterns.md +210 -0
  157. package/skills/cloudflare/references/do-storage/testing.md +186 -0
  158. package/skills/cloudflare/references/durable-objects/README.md +194 -0
  159. package/skills/cloudflare/references/durable-objects/api.md +205 -0
  160. package/skills/cloudflare/references/durable-objects/configuration.md +160 -0
  161. package/skills/cloudflare/references/durable-objects/gotchas.md +200 -0
  162. package/skills/cloudflare/references/durable-objects/patterns.md +205 -0
  163. package/skills/cloudflare/references/email-routing/README.md +89 -0
  164. package/skills/cloudflare/references/email-routing/api.md +192 -0
  165. package/skills/cloudflare/references/email-routing/configuration.md +187 -0
  166. package/skills/cloudflare/references/email-routing/gotchas.md +203 -0
  167. package/skills/cloudflare/references/email-routing/patterns.md +241 -0
  168. package/skills/cloudflare/references/email-workers/README.md +153 -0
  169. package/skills/cloudflare/references/email-workers/api.md +227 -0
  170. package/skills/cloudflare/references/email-workers/configuration.md +115 -0
  171. package/skills/cloudflare/references/email-workers/gotchas.md +133 -0
  172. package/skills/cloudflare/references/email-workers/patterns.md +108 -0
  173. package/skills/cloudflare/references/graphql-api/README.md +147 -0
  174. package/skills/cloudflare/references/graphql-api/api.md +175 -0
  175. package/skills/cloudflare/references/graphql-api/configuration.md +151 -0
  176. package/skills/cloudflare/references/graphql-api/gotchas.md +111 -0
  177. package/skills/cloudflare/references/graphql-api/patterns.md +276 -0
  178. package/skills/cloudflare/references/hyperdrive/README.md +84 -0
  179. package/skills/cloudflare/references/hyperdrive/api.md +149 -0
  180. package/skills/cloudflare/references/hyperdrive/configuration.md +166 -0
  181. package/skills/cloudflare/references/hyperdrive/gotchas.md +77 -0
  182. package/skills/cloudflare/references/hyperdrive/patterns.md +203 -0
  183. package/skills/cloudflare/references/images/README.md +65 -0
  184. package/skills/cloudflare/references/images/api.md +101 -0
  185. package/skills/cloudflare/references/images/configuration.md +206 -0
  186. package/skills/cloudflare/references/images/gotchas.md +106 -0
  187. package/skills/cloudflare/references/images/patterns.md +126 -0
  188. package/skills/cloudflare/references/kv/README.md +90 -0
  189. package/skills/cloudflare/references/kv/api.md +163 -0
  190. package/skills/cloudflare/references/kv/configuration.md +148 -0
  191. package/skills/cloudflare/references/kv/gotchas.md +133 -0
  192. package/skills/cloudflare/references/kv/patterns.md +195 -0
  193. package/skills/cloudflare/references/miniflare/README.md +113 -0
  194. package/skills/cloudflare/references/miniflare/api.md +204 -0
  195. package/skills/cloudflare/references/miniflare/configuration.md +174 -0
  196. package/skills/cloudflare/references/miniflare/gotchas.md +179 -0
  197. package/skills/cloudflare/references/miniflare/patterns.md +187 -0
  198. package/skills/cloudflare/references/network-interconnect/README.md +104 -0
  199. package/skills/cloudflare/references/network-interconnect/api.md +220 -0
  200. package/skills/cloudflare/references/network-interconnect/configuration.md +123 -0
  201. package/skills/cloudflare/references/network-interconnect/gotchas.md +175 -0
  202. package/skills/cloudflare/references/network-interconnect/patterns.md +174 -0
  203. package/skills/cloudflare/references/observability/README.md +93 -0
  204. package/skills/cloudflare/references/observability/api.md +168 -0
  205. package/skills/cloudflare/references/observability/configuration.md +178 -0
  206. package/skills/cloudflare/references/observability/gotchas.md +125 -0
  207. package/skills/cloudflare/references/observability/patterns.md +105 -0
  208. package/skills/cloudflare/references/pages/README.md +92 -0
  209. package/skills/cloudflare/references/pages/api.md +205 -0
  210. package/skills/cloudflare/references/pages/configuration.md +216 -0
  211. package/skills/cloudflare/references/pages/gotchas.md +218 -0
  212. package/skills/cloudflare/references/pages/patterns.md +215 -0
  213. package/skills/cloudflare/references/pages-functions/README.md +104 -0
  214. package/skills/cloudflare/references/pages-functions/api.md +159 -0
  215. package/skills/cloudflare/references/pages-functions/configuration.md +130 -0
  216. package/skills/cloudflare/references/pages-functions/gotchas.md +102 -0
  217. package/skills/cloudflare/references/pages-functions/patterns.md +148 -0
  218. package/skills/cloudflare/references/pipelines/README.md +109 -0
  219. package/skills/cloudflare/references/pipelines/api.md +214 -0
  220. package/skills/cloudflare/references/pipelines/configuration.md +98 -0
  221. package/skills/cloudflare/references/pipelines/gotchas.md +84 -0
  222. package/skills/cloudflare/references/pipelines/patterns.md +87 -0
  223. package/skills/cloudflare/references/product-index.md +112 -0
  224. package/skills/cloudflare/references/pulumi/README.md +113 -0
  225. package/skills/cloudflare/references/pulumi/api.md +230 -0
  226. package/skills/cloudflare/references/pulumi/configuration.md +213 -0
  227. package/skills/cloudflare/references/pulumi/gotchas.md +205 -0
  228. package/skills/cloudflare/references/pulumi/patterns.md +260 -0
  229. package/skills/cloudflare/references/queues/README.md +99 -0
  230. package/skills/cloudflare/references/queues/api.md +211 -0
  231. package/skills/cloudflare/references/queues/configuration.md +151 -0
  232. package/skills/cloudflare/references/queues/gotchas.md +210 -0
  233. package/skills/cloudflare/references/queues/patterns.md +220 -0
  234. package/skills/cloudflare/references/r2/README.md +97 -0
  235. package/skills/cloudflare/references/r2/api.md +235 -0
  236. package/skills/cloudflare/references/r2/configuration.md +176 -0
  237. package/skills/cloudflare/references/r2/gotchas.md +190 -0
  238. package/skills/cloudflare/references/r2/patterns.md +203 -0
  239. package/skills/cloudflare/references/r2-data-catalog/README.md +157 -0
  240. package/skills/cloudflare/references/r2-data-catalog/api.md +199 -0
  241. package/skills/cloudflare/references/r2-data-catalog/configuration.md +205 -0
  242. package/skills/cloudflare/references/r2-data-catalog/gotchas.md +170 -0
  243. package/skills/cloudflare/references/r2-data-catalog/patterns.md +191 -0
  244. package/skills/cloudflare/references/r2-sql/README.md +138 -0
  245. package/skills/cloudflare/references/r2-sql/SKILL.md.backup +512 -0
  246. package/skills/cloudflare/references/r2-sql/api.md +159 -0
  247. package/skills/cloudflare/references/r2-sql/configuration.md +152 -0
  248. package/skills/cloudflare/references/r2-sql/gotchas.md +228 -0
  249. package/skills/cloudflare/references/r2-sql/patterns.md +230 -0
  250. package/skills/cloudflare/references/realtime-sfu/README.md +66 -0
  251. package/skills/cloudflare/references/realtime-sfu/api.md +164 -0
  252. package/skills/cloudflare/references/realtime-sfu/configuration.md +141 -0
  253. package/skills/cloudflare/references/realtime-sfu/gotchas.md +138 -0
  254. package/skills/cloudflare/references/realtime-sfu/patterns.md +187 -0
  255. package/skills/cloudflare/references/realtimekit/README.md +118 -0
  256. package/skills/cloudflare/references/realtimekit/api.md +234 -0
  257. package/skills/cloudflare/references/realtimekit/configuration.md +226 -0
  258. package/skills/cloudflare/references/realtimekit/gotchas.md +206 -0
  259. package/skills/cloudflare/references/realtimekit/patterns.md +240 -0
  260. package/skills/cloudflare/references/sandbox/README.md +104 -0
  261. package/skills/cloudflare/references/sandbox/api.md +200 -0
  262. package/skills/cloudflare/references/sandbox/configuration.md +154 -0
  263. package/skills/cloudflare/references/sandbox/gotchas.md +201 -0
  264. package/skills/cloudflare/references/sandbox/patterns.md +195 -0
  265. package/skills/cloudflare/references/secrets-store/README.md +77 -0
  266. package/skills/cloudflare/references/secrets-store/api.md +199 -0
  267. package/skills/cloudflare/references/secrets-store/configuration.md +187 -0
  268. package/skills/cloudflare/references/secrets-store/gotchas.md +97 -0
  269. package/skills/cloudflare/references/secrets-store/patterns.md +218 -0
  270. package/skills/cloudflare/references/smart-placement/README.md +143 -0
  271. package/skills/cloudflare/references/smart-placement/api.md +192 -0
  272. package/skills/cloudflare/references/smart-placement/configuration.md +202 -0
  273. package/skills/cloudflare/references/smart-placement/gotchas.md +180 -0
  274. package/skills/cloudflare/references/smart-placement/patterns.md +190 -0
  275. package/skills/cloudflare/references/snippets/README.md +74 -0
  276. package/skills/cloudflare/references/snippets/api.md +214 -0
  277. package/skills/cloudflare/references/snippets/configuration.md +239 -0
  278. package/skills/cloudflare/references/snippets/gotchas.md +104 -0
  279. package/skills/cloudflare/references/snippets/patterns.md +135 -0
  280. package/skills/cloudflare/references/spectrum/README.md +52 -0
  281. package/skills/cloudflare/references/spectrum/api.md +184 -0
  282. package/skills/cloudflare/references/spectrum/configuration.md +203 -0
  283. package/skills/cloudflare/references/spectrum/gotchas.md +155 -0
  284. package/skills/cloudflare/references/spectrum/patterns.md +206 -0
  285. package/skills/cloudflare/references/static-assets/README.md +65 -0
  286. package/skills/cloudflare/references/static-assets/api.md +201 -0
  287. package/skills/cloudflare/references/static-assets/configuration.md +186 -0
  288. package/skills/cloudflare/references/static-assets/gotchas.md +164 -0
  289. package/skills/cloudflare/references/static-assets/patterns.md +189 -0
  290. package/skills/cloudflare/references/stream/README.md +123 -0
  291. package/skills/cloudflare/references/stream/api-live.md +202 -0
  292. package/skills/cloudflare/references/stream/api.md +206 -0
  293. package/skills/cloudflare/references/stream/configuration.md +151 -0
  294. package/skills/cloudflare/references/stream/gotchas.md +139 -0
  295. package/skills/cloudflare/references/stream/patterns.md +217 -0
  296. package/skills/cloudflare/references/tail-workers/README.md +92 -0
  297. package/skills/cloudflare/references/tail-workers/api.md +203 -0
  298. package/skills/cloudflare/references/tail-workers/configuration.md +178 -0
  299. package/skills/cloudflare/references/tail-workers/gotchas.md +206 -0
  300. package/skills/cloudflare/references/tail-workers/patterns.md +190 -0
  301. package/skills/cloudflare/references/terraform/README.md +100 -0
  302. package/skills/cloudflare/references/terraform/api.md +178 -0
  303. package/skills/cloudflare/references/terraform/configuration.md +197 -0
  304. package/skills/cloudflare/references/terraform/gotchas.md +150 -0
  305. package/skills/cloudflare/references/terraform/patterns.md +174 -0
  306. package/skills/cloudflare/references/tunnel/README.md +137 -0
  307. package/skills/cloudflare/references/tunnel/api.md +205 -0
  308. package/skills/cloudflare/references/tunnel/configuration.md +163 -0
  309. package/skills/cloudflare/references/tunnel/gotchas.md +159 -0
  310. package/skills/cloudflare/references/tunnel/networking.md +174 -0
  311. package/skills/cloudflare/references/tunnel/patterns.md +199 -0
  312. package/skills/cloudflare/references/turn/README.md +86 -0
  313. package/skills/cloudflare/references/turn/api.md +236 -0
  314. package/skills/cloudflare/references/turn/configuration.md +181 -0
  315. package/skills/cloudflare/references/turn/gotchas.md +236 -0
  316. package/skills/cloudflare/references/turn/patterns.md +228 -0
  317. package/skills/cloudflare/references/turnstile/README.md +102 -0
  318. package/skills/cloudflare/references/turnstile/api.md +253 -0
  319. package/skills/cloudflare/references/turnstile/configuration.md +242 -0
  320. package/skills/cloudflare/references/turnstile/gotchas.md +253 -0
  321. package/skills/cloudflare/references/turnstile/patterns.md +195 -0
  322. package/skills/cloudflare/references/vectorize/README.md +133 -0
  323. package/skills/cloudflare/references/vectorize/api.md +89 -0
  324. package/skills/cloudflare/references/vectorize/configuration.md +91 -0
  325. package/skills/cloudflare/references/vectorize/gotchas.md +83 -0
  326. package/skills/cloudflare/references/vectorize/patterns.md +92 -0
  327. package/skills/cloudflare/references/waf/README.md +125 -0
  328. package/skills/cloudflare/references/waf/api.md +203 -0
  329. package/skills/cloudflare/references/waf/configuration.md +215 -0
  330. package/skills/cloudflare/references/waf/gotchas.md +208 -0
  331. package/skills/cloudflare/references/waf/patterns.md +236 -0
  332. package/skills/cloudflare/references/web-analytics/README.md +149 -0
  333. package/skills/cloudflare/references/web-analytics/configuration.md +81 -0
  334. package/skills/cloudflare/references/web-analytics/gotchas.md +86 -0
  335. package/skills/cloudflare/references/web-analytics/integration.md +63 -0
  336. package/skills/cloudflare/references/web-analytics/patterns.md +98 -0
  337. package/skills/cloudflare/references/workerd/README.md +85 -0
  338. package/skills/cloudflare/references/workerd/api.md +219 -0
  339. package/skills/cloudflare/references/workerd/configuration.md +200 -0
  340. package/skills/cloudflare/references/workerd/gotchas.md +151 -0
  341. package/skills/cloudflare/references/workerd/patterns.md +205 -0
  342. package/skills/cloudflare/references/workers/README.md +110 -0
  343. package/skills/cloudflare/references/workers/api.md +197 -0
  344. package/skills/cloudflare/references/workers/configuration.md +184 -0
  345. package/skills/cloudflare/references/workers/frameworks.md +200 -0
  346. package/skills/cloudflare/references/workers/gotchas.md +145 -0
  347. package/skills/cloudflare/references/workers/patterns.md +220 -0
  348. package/skills/cloudflare/references/workers-ai/README.md +206 -0
  349. package/skills/cloudflare/references/workers-ai/api.md +115 -0
  350. package/skills/cloudflare/references/workers-ai/configuration.md +98 -0
  351. package/skills/cloudflare/references/workers-ai/gotchas.md +130 -0
  352. package/skills/cloudflare/references/workers-ai/patterns.md +122 -0
  353. package/skills/cloudflare/references/workers-for-platforms/README.md +95 -0
  354. package/skills/cloudflare/references/workers-for-platforms/api.md +212 -0
  355. package/skills/cloudflare/references/workers-for-platforms/configuration.md +178 -0
  356. package/skills/cloudflare/references/workers-for-platforms/gotchas.md +134 -0
  357. package/skills/cloudflare/references/workers-for-platforms/patterns.md +210 -0
  358. package/skills/cloudflare/references/workers-playground/README.md +131 -0
  359. package/skills/cloudflare/references/workers-playground/api.md +101 -0
  360. package/skills/cloudflare/references/workers-playground/configuration.md +169 -0
  361. package/skills/cloudflare/references/workers-playground/gotchas.md +88 -0
  362. package/skills/cloudflare/references/workers-playground/patterns.md +134 -0
  363. package/skills/cloudflare/references/workers-vpc/README.md +130 -0
  364. package/skills/cloudflare/references/workers-vpc/api.md +196 -0
  365. package/skills/cloudflare/references/workers-vpc/configuration.md +151 -0
  366. package/skills/cloudflare/references/workers-vpc/gotchas.md +171 -0
  367. package/skills/cloudflare/references/workers-vpc/patterns.md +235 -0
  368. package/skills/cloudflare/references/workflows/README.md +72 -0
  369. package/skills/cloudflare/references/workflows/api.md +237 -0
  370. package/skills/cloudflare/references/workflows/configuration.md +158 -0
  371. package/skills/cloudflare/references/workflows/gotchas.md +97 -0
  372. package/skills/cloudflare/references/workflows/patterns.md +245 -0
  373. package/skills/cloudflare/references/wrangler/README.md +143 -0
  374. package/skills/cloudflare/references/wrangler/api.md +188 -0
  375. package/skills/cloudflare/references/wrangler/configuration.md +198 -0
  376. package/skills/cloudflare/references/wrangler/gotchas.md +212 -0
  377. package/skills/cloudflare/references/wrangler/patterns.md +211 -0
  378. package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +131 -0
  379. package/skills/cloudflare/references/zaraz/README.md +114 -0
  380. package/skills/cloudflare/references/zaraz/api.md +118 -0
  381. package/skills/cloudflare/references/zaraz/configuration.md +94 -0
  382. package/skills/cloudflare/references/zaraz/gotchas.md +88 -0
  383. package/skills/cloudflare/references/zaraz/patterns.md +77 -0
  384. package/skills/docker/SKILL.md +7 -101
  385. package/skills/docker/references/advanced-examples.md +71 -0
  386. package/skills/docker/references/templates.md +34 -0
  387. package/skills/docs-marketer/SKILL.md +178 -0
  388. package/skills/docs-marketer/references/audit-categories.md +328 -0
  389. package/skills/docs-marketer/references/copilot-docs-prompts.md +88 -0
  390. package/skills/docs-marketer/references/copilot-usage.md +16 -0
  391. package/skills/docs-marketer/references/feedback-loop.md +155 -0
  392. package/skills/docs-marketer/references/multi-pass-docs-protocol.md +410 -0
  393. package/skills/drizzle-orm/SKILL.md +82 -0
  394. package/skills/durable-objects/SKILL.md +167 -0
  395. package/skills/durable-objects/references/advanced_features.md +29 -0
  396. package/skills/durable-objects/references/rules.md +300 -0
  397. package/skills/durable-objects/references/testing.md +261 -0
  398. package/skills/durable-objects/references/workers.md +336 -0
  399. package/skills/gcp/SKILL.md +37 -0
  400. package/skills/github-actions/SKILL.md +5 -58
  401. package/skills/github-actions/references/templates.md +65 -0
  402. package/skills/github-commander/SKILL.md +13 -21
  403. package/skills/github-commander/workflows/copilot-audit.md +12 -12
  404. package/skills/github-copilot-cli/SKILL.md +21 -26
  405. package/skills/github-repo-setup/SKILL.md +136 -0
  406. package/skills/github-repo-setup/references/community-standards.md +136 -0
  407. package/skills/github-repo-setup/references/github-automation.md +490 -0
  408. package/skills/github-repo-setup/references/inline-templates.md +205 -0
  409. package/skills/github-repo-setup/references/project-config.md +320 -0
  410. package/skills/gitlab/SKILL.md +7 -2
  411. package/skills/gitlab/package-lock.json +389 -389
  412. package/skills/golang/SKILL.md +8 -1
  413. package/skills/graphql/SKILL.md +30 -0
  414. package/skills/hono/SKILL.md +82 -0
  415. package/skills/journal-optimizer/SKILL.md +206 -0
  416. package/skills/journal-optimizer/references/optimizer-scripts.md +169 -0
  417. package/skills/llm-app-engineering/SKILL.md +18 -0
  418. package/skills/monorepo/SKILL.md +56 -0
  419. package/skills/multi-agent-orchestration/SKILL.md +14 -0
  420. package/skills/mysql/SKILL.md +6 -2
  421. package/skills/next-best-practices/SKILL.md +86 -0
  422. package/skills/next-best-practices/references/cache-components-examples.md +234 -0
  423. package/skills/next-best-practices/references/cache-components.md +210 -0
  424. package/skills/next-best-practices/references/upgrade-decision-tree.md +33 -0
  425. package/skills/next-best-practices/references/upgrade.md +43 -0
  426. package/skills/next-cache-components/SKILL.md +441 -0
  427. package/skills/next-upgrade/SKILL.md +43 -0
  428. package/skills/next-upgrade/references/decision-tree.md +33 -0
  429. package/skills/nodejs/SKILL.md +46 -0
  430. package/skills/opentelemetry/SKILL.md +62 -0
  431. package/skills/package.json +39 -4
  432. package/skills/playwright-standard/SKILL.md +6 -11
  433. package/skills/playwright-standard/references/locators.md +7 -0
  434. package/skills/postgres/SKILL.md +6 -1
  435. package/skills/python/SKILL.md +8 -70
  436. package/skills/python/references/advanced-patterns.md +37 -0
  437. package/skills/python/references/config-templates.md +48 -0
  438. package/skills/rag-pipelines/SKILL.md +14 -0
  439. package/skills/redis/SKILL.md +31 -0
  440. package/skills/render/SKILL.md +35 -0
  441. package/skills/rust/SKILL.md +15 -25
  442. package/skills/rust/references/borrow-checker.md +13 -0
  443. package/skills/rust/references/ecosystem.md +11 -0
  444. package/skills/sandbox-sdk/SKILL.md +186 -0
  445. package/skills/sandbox-sdk/references/api-quick-ref.md +113 -0
  446. package/skills/sandbox-sdk/references/examples.md +52 -0
  447. package/skills/shadcn-ui/SKILL.md +22 -57
  448. package/skills/skill-builder/SKILL.md +23 -424
  449. package/skills/skill-builder/references/tutorial.md +457 -0
  450. package/skills/sqlite/SKILL.md +16 -5
  451. package/skills/table.md +59 -0
  452. package/skills/tailwind-css/SKILL.md +11 -60
  453. package/skills/tailwind-css/references/component-patterns.md +52 -0
  454. package/skills/trpc/SKILL.md +56 -0
  455. package/skills/typescript/SKILL.md +30 -433
  456. package/skills/typescript/references/tutorial.md +453 -0
  457. package/skills/vercel-ai-sdk/SKILL.md +48 -0
  458. package/skills/vitest-standard/SKILL.md +5 -11
  459. package/skills/vitest-standard/references/assertions.md +11 -0
  460. package/skills/web-perf/SKILL.md +207 -0
  461. package/skills/workers-best-practices/SKILL.md +120 -0
  462. package/skills/workers-best-practices/references/anti-patterns.md +18 -0
  463. package/skills/workers-best-practices/references/review.md +174 -0
  464. package/skills/workers-best-practices/references/rules.md +485 -0
  465. package/skills/wrangler/SKILL.md +43 -0
  466. package/skills/wrangler/references/cli-commands.md +861 -0
  467. package/skills/zod/SKILL.md +48 -0
  468. package/dist/tools-P4VGG4FH.js +0 -1
  469. package/skills/react-best-practices/AGENTS.md +0 -2883
  470. package/skills/react-best-practices/SKILL.md +0 -138
  471. /package/skills/{react-best-practices → next-best-practices}/README.md +0 -0
  472. /package/skills/{react-best-practices → next-best-practices}/metadata.json +0 -0
  473. /package/skills/{react-best-practices → next-best-practices}/rules/_sections.md +0 -0
  474. /package/skills/{react-best-practices → next-best-practices}/rules/_template.md +0 -0
  475. /package/skills/{react-best-practices → next-best-practices}/rules/advanced-event-handler-refs.md +0 -0
  476. /package/skills/{react-best-practices → next-best-practices}/rules/advanced-init-once.md +0 -0
  477. /package/skills/{react-best-practices → next-best-practices}/rules/advanced-use-latest.md +0 -0
  478. /package/skills/{react-best-practices → next-best-practices}/rules/async-api-routes.md +0 -0
  479. /package/skills/{react-best-practices → next-best-practices}/rules/async-defer-await.md +0 -0
  480. /package/skills/{react-best-practices → next-best-practices}/rules/async-dependencies.md +0 -0
  481. /package/skills/{react-best-practices → next-best-practices}/rules/async-parallel.md +0 -0
  482. /package/skills/{react-best-practices → next-best-practices}/rules/async-suspense-boundaries.md +0 -0
  483. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-barrel-imports.md +0 -0
  484. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-conditional.md +0 -0
  485. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-defer-third-party.md +0 -0
  486. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-dynamic-imports.md +0 -0
  487. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-preload.md +0 -0
  488. /package/skills/{react-best-practices → next-best-practices}/rules/client-event-listeners.md +0 -0
  489. /package/skills/{react-best-practices → next-best-practices}/rules/client-localstorage-schema.md +0 -0
  490. /package/skills/{react-best-practices → next-best-practices}/rules/client-passive-event-listeners.md +0 -0
  491. /package/skills/{react-best-practices → next-best-practices}/rules/client-swr-dedup.md +0 -0
  492. /package/skills/{react-best-practices → next-best-practices}/rules/js-batch-dom-css.md +0 -0
  493. /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-function-results.md +0 -0
  494. /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-property-access.md +0 -0
  495. /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-storage.md +0 -0
  496. /package/skills/{react-best-practices → next-best-practices}/rules/js-combine-iterations.md +0 -0
  497. /package/skills/{react-best-practices → next-best-practices}/rules/js-early-exit.md +0 -0
  498. /package/skills/{react-best-practices → next-best-practices}/rules/js-hoist-regexp.md +0 -0
  499. /package/skills/{react-best-practices → next-best-practices}/rules/js-index-maps.md +0 -0
  500. /package/skills/{react-best-practices → next-best-practices}/rules/js-length-check-first.md +0 -0
  501. /package/skills/{react-best-practices → next-best-practices}/rules/js-min-max-loop.md +0 -0
  502. /package/skills/{react-best-practices → next-best-practices}/rules/js-set-map-lookups.md +0 -0
  503. /package/skills/{react-best-practices → next-best-practices}/rules/js-tosorted-immutable.md +0 -0
  504. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-activity.md +0 -0
  505. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-animate-svg-wrapper.md +0 -0
  506. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-conditional-render.md +0 -0
  507. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-content-visibility.md +0 -0
  508. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hoist-jsx.md +0 -0
  509. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-no-flicker.md +0 -0
  510. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-suppress-warning.md +0 -0
  511. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-svg-precision.md +0 -0
  512. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-usetransition-loading.md +0 -0
  513. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-defer-reads.md +0 -0
  514. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-dependencies.md +0 -0
  515. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state-no-effect.md +0 -0
  516. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state.md +0 -0
  517. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-functional-setstate.md +0 -0
  518. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-lazy-state-init.md +0 -0
  519. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo-with-default-value.md +0 -0
  520. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo.md +0 -0
  521. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-move-effect-to-event.md +0 -0
  522. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-simple-expression-in-memo.md +0 -0
  523. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-transitions.md +0 -0
  524. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-use-ref-transient-values.md +0 -0
  525. /package/skills/{react-best-practices → next-best-practices}/rules/server-after-nonblocking.md +0 -0
  526. /package/skills/{react-best-practices → next-best-practices}/rules/server-auth-actions.md +0 -0
  527. /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-lru.md +0 -0
  528. /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-react.md +0 -0
  529. /package/skills/{react-best-practices → next-best-practices}/rules/server-dedup-props.md +0 -0
  530. /package/skills/{react-best-practices → next-best-practices}/rules/server-parallel-fetching.md +0 -0
  531. /package/skills/{react-best-practices → next-best-practices}/rules/server-serialization.md +0 -0
@@ -0,0 +1,205 @@
1
+ # API Reference
2
+
3
+ ## Client Initialization
4
+
5
+ ### TypeScript
6
+
7
+ ```typescript
8
+ import Cloudflare from 'cloudflare'
9
+
10
+ const client = new Cloudflare({
11
+ apiToken: process.env.CLOUDFLARE_API_TOKEN,
12
+ })
13
+ ```
14
+
15
+ ### Python
16
+
17
+ ```python
18
+ from cloudflare import Cloudflare
19
+
20
+ client = Cloudflare(api_token=os.environ.get("CLOUDFLARE_API_TOKEN"))
21
+
22
+ # For async:
23
+ from cloudflare import AsyncCloudflare
24
+ client = AsyncCloudflare(api_token=os.environ["CLOUDFLARE_API_TOKEN"])
25
+ ```
26
+
27
+ ### Go
28
+
29
+ ```go
30
+ import (
31
+ "github.com/cloudflare/cloudflare-go/v4"
32
+ "github.com/cloudflare/cloudflare-go/v4/option"
33
+ )
34
+
35
+ client := cloudflare.NewClient(
36
+ option.WithAPIToken(os.Getenv("CLOUDFLARE_API_TOKEN")),
37
+ )
38
+ ```
39
+
40
+ ## Authentication
41
+
42
+ ### API Token (Recommended)
43
+
44
+ **Create token**: Dashboard → My Profile → API Tokens → Create Token
45
+
46
+ ```bash
47
+ export CLOUDFLARE_API_TOKEN='your-token-here'
48
+
49
+ curl "https://api.cloudflare.com/client/v4/zones" \
50
+ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
51
+ ```
52
+
53
+ **Token scopes**: Always use minimal permissions (zone-specific, time-limited).
54
+
55
+ ### API Key (Legacy)
56
+
57
+ ```bash
58
+ curl "https://api.cloudflare.com/client/v4/zones" \
59
+ --header "X-Auth-Email: user@example.com" \
60
+ --header "X-Auth-Key: $CLOUDFLARE_API_KEY"
61
+ ```
62
+
63
+ **Not recommended:** Full account access, cannot scope permissions.
64
+
65
+ ## Auto-Pagination
66
+
67
+ All SDKs support automatic pagination for list operations.
68
+
69
+ ```typescript
70
+ // TypeScript: for await...of
71
+ for await (const zone of client.zones.list()) {
72
+ console.log(zone.id)
73
+ }
74
+ ```
75
+
76
+ ```python
77
+ # Python: iterator protocol
78
+ for zone in client.zones.list():
79
+ print(zone.id)
80
+ ```
81
+
82
+ ```go
83
+ // Go: ListAutoPaging
84
+ iter := client.Zones.ListAutoPaging(ctx, cloudflare.ZoneListParams{})
85
+ for iter.Next() {
86
+ zone := iter.Current()
87
+ fmt.Println(zone.ID)
88
+ }
89
+ ```
90
+
91
+ ## Error Handling
92
+
93
+ ```typescript
94
+ try {
95
+ const zone = await client.zones.get({ zone_id: 'xxx' })
96
+ } catch (err) {
97
+ if (err instanceof Cloudflare.NotFoundError) {
98
+ // 404
99
+ } else if (err instanceof Cloudflare.RateLimitError) {
100
+ // 429 - SDK auto-retries with backoff
101
+ } else if (err instanceof Cloudflare.APIError) {
102
+ console.log(err.status, err.message)
103
+ }
104
+ }
105
+ ```
106
+
107
+ **Common Error Types:**
108
+
109
+ - `AuthenticationError` (401) - Invalid token
110
+ - `PermissionDeniedError` (403) - Insufficient scope
111
+ - `NotFoundError` (404) - Resource not found
112
+ - `RateLimitError` (429) - Rate limit exceeded
113
+ - `InternalServerError` (≥500) - Cloudflare error
114
+
115
+ ## Zone Management
116
+
117
+ ```typescript
118
+ // List zones
119
+ const zones = await client.zones.list({
120
+ account: { id: 'account-id' },
121
+ status: 'active',
122
+ })
123
+
124
+ // Create zone
125
+ const zone = await client.zones.create({
126
+ account: { id: 'account-id' },
127
+ name: 'example.com',
128
+ type: 'full', // or 'partial'
129
+ })
130
+
131
+ // Update zone
132
+ await client.zones.edit('zone-id', {
133
+ paused: false,
134
+ })
135
+
136
+ // Delete zone
137
+ await client.zones.delete('zone-id')
138
+ ```
139
+
140
+ ```go
141
+ // Go: requires cloudflare.F() wrapper
142
+ zone, err := client.Zones.New(ctx, cloudflare.ZoneNewParams{
143
+ Account: cloudflare.F(cloudflare.ZoneNewParamsAccount{
144
+ ID: cloudflare.F("account-id"),
145
+ }),
146
+ Name: cloudflare.F("example.com"),
147
+ Type: cloudflare.F(cloudflare.ZoneNewParamsTypeFull),
148
+ })
149
+ ```
150
+
151
+ ## DNS Management
152
+
153
+ ```typescript
154
+ // Create DNS record
155
+ await client.dns.records.create({
156
+ zone_id: 'zone-id',
157
+ type: 'A',
158
+ name: 'subdomain.example.com',
159
+ content: '192.0.2.1',
160
+ ttl: 1, // auto
161
+ proxied: true, // Orange cloud
162
+ })
163
+
164
+ // List DNS records (with auto-pagination)
165
+ for await (const record of client.dns.records.list({
166
+ zone_id: 'zone-id',
167
+ type: 'A',
168
+ })) {
169
+ console.log(record.name, record.content)
170
+ }
171
+
172
+ // Update DNS record
173
+ await client.dns.records.update({
174
+ zone_id: 'zone-id',
175
+ dns_record_id: 'record-id',
176
+ type: 'A',
177
+ name: 'subdomain.example.com',
178
+ content: '203.0.113.1',
179
+ proxied: true,
180
+ })
181
+
182
+ // Delete DNS record
183
+ await client.dns.records.delete({
184
+ zone_id: 'zone-id',
185
+ dns_record_id: 'record-id',
186
+ })
187
+ ```
188
+
189
+ ```python
190
+ # Python example
191
+ client.dns.records.create(
192
+ zone_id="zone-id",
193
+ type="A",
194
+ name="subdomain.example.com",
195
+ content="192.0.2.1",
196
+ ttl=1,
197
+ proxied=True,
198
+ )
199
+ ```
200
+
201
+ ## See Also
202
+
203
+ - [configuration.md](./configuration.md) - SDK configuration, environment variables
204
+ - [patterns.md](./patterns.md) - Real-world patterns and workflows
205
+ - [gotchas.md](./gotchas.md) - Rate limits, troubleshooting
@@ -0,0 +1,158 @@
1
+ # Configuration
2
+
3
+ ## Environment Variables
4
+
5
+ ### Set Variables
6
+
7
+ | Platform | Command |
8
+ | ----------- | ------------------------------------- |
9
+ | Linux/macOS | `export CLOUDFLARE_API_TOKEN='token'` |
10
+ | PowerShell | `$env:CLOUDFLARE_API_TOKEN = 'token'` |
11
+ | Windows CMD | `set CLOUDFLARE_API_TOKEN=token` |
12
+
13
+ **Security:** Never commit tokens. Use `.env` files (gitignored) or secret managers.
14
+
15
+ ### .env File Pattern
16
+
17
+ ```bash
18
+ # .env (add to .gitignore)
19
+ CLOUDFLARE_API_TOKEN=your-token-here
20
+ CLOUDFLARE_ACCOUNT_ID=your-account-id
21
+ ```
22
+
23
+ ```typescript
24
+ // TypeScript
25
+ import 'dotenv/config'
26
+
27
+ const client = new Cloudflare({
28
+ apiToken: process.env.CLOUDFLARE_API_TOKEN,
29
+ })
30
+ ```
31
+
32
+ ```python
33
+ # Python
34
+ from dotenv import load_dotenv
35
+ load_dotenv()
36
+
37
+ client = Cloudflare(api_token=os.environ["CLOUDFLARE_API_TOKEN"])
38
+ ```
39
+
40
+ ## SDK Configuration
41
+
42
+ ### TypeScript
43
+
44
+ ```typescript
45
+ const client = new Cloudflare({
46
+ apiToken: process.env.CLOUDFLARE_API_TOKEN,
47
+ timeout: 120000, // 2 min (default 60s), in milliseconds
48
+ maxRetries: 5, // default 2
49
+ baseURL: 'https://...', // proxy (rare)
50
+ })
51
+
52
+ // Per-request overrides
53
+ await client.zones.get({ zone_id: 'zone-id' }, { timeout: 5000, maxRetries: 0 })
54
+ ```
55
+
56
+ ### Python
57
+
58
+ ```python
59
+ client = Cloudflare(
60
+ api_token=os.environ["CLOUDFLARE_API_TOKEN"],
61
+ timeout=120, # seconds (default 60)
62
+ max_retries=5, # default 2
63
+ base_url="https://...", # proxy (rare)
64
+ )
65
+
66
+ # Per-request overrides
67
+ client.with_options(timeout=5, max_retries=0).zones.get(zone_id="zone-id")
68
+ ```
69
+
70
+ ### Go
71
+
72
+ ```go
73
+ client := cloudflare.NewClient(
74
+ option.WithAPIToken(os.Getenv("CLOUDFLARE_API_TOKEN")),
75
+ option.WithMaxRetries(5), // default 10 (higher than TS/Python)
76
+ option.WithRequestTimeout(2 * time.Minute), // default 60s
77
+ option.WithBaseURL("https://..."), // proxy (rare)
78
+ )
79
+
80
+ // Per-request overrides
81
+ client.Zones.Get(ctx, "zone-id", option.WithMaxRetries(0))
82
+ ```
83
+
84
+ ## Configuration Options
85
+
86
+ | Option | TypeScript | Python | Go | Default |
87
+ | -------- | -------------- | ------------- | -------------------- | ------------------ |
88
+ | Timeout | `timeout` (ms) | `timeout` (s) | `WithRequestTimeout` | 60s |
89
+ | Retries | `maxRetries` | `max_retries` | `WithMaxRetries` | 2 (Go: 10) |
90
+ | Base URL | `baseURL` | `base_url` | `WithBaseURL` | api.cloudflare.com |
91
+
92
+ **Note:** Go SDK has higher default retries (10) than TypeScript/Python (2).
93
+
94
+ ## Timeout Configuration
95
+
96
+ **When to increase:**
97
+
98
+ - Large zone transfers
99
+ - Bulk DNS operations
100
+ - Worker script uploads
101
+
102
+ ```typescript
103
+ const client = new Cloudflare({
104
+ timeout: 300000, // 5 minutes
105
+ })
106
+ ```
107
+
108
+ ## Retry Configuration
109
+
110
+ **When to increase:** Rate-limit-heavy workflows, flaky network
111
+
112
+ **When to decrease:** Fast-fail requirements, user-facing requests
113
+
114
+ ```typescript
115
+ // Increase retries for batch operations
116
+ const client = new Cloudflare({ maxRetries: 10 })
117
+
118
+ // Disable retries for fast-fail
119
+ const fastClient = new Cloudflare({ maxRetries: 0 })
120
+ ```
121
+
122
+ ## Wrangler CLI Integration
123
+
124
+ ```bash
125
+ # Configure authentication
126
+ wrangler login
127
+ # Or
128
+ export CLOUDFLARE_API_TOKEN='token'
129
+
130
+ # Common commands that use API
131
+ wrangler deploy # Uploads worker via API
132
+ wrangler kv:key put # KV operations
133
+ wrangler r2 bucket create # R2 operations
134
+ wrangler d1 execute # D1 operations
135
+ wrangler pages deploy # Pages operations
136
+
137
+ # Get API configuration
138
+ wrangler whoami # Shows authenticated user
139
+ ```
140
+
141
+ ### wrangler.toml
142
+
143
+ ```toml
144
+ name = "my-worker"
145
+ main = "src/index.ts"
146
+ compatibility_date = "2024-01-01"
147
+ account_id = "your-account-id"
148
+
149
+ # Can also use env vars:
150
+ # CLOUDFLARE_ACCOUNT_ID
151
+ # CLOUDFLARE_API_TOKEN
152
+ ```
153
+
154
+ ## See Also
155
+
156
+ - [api.md](./api.md) - Client initialization, authentication
157
+ - [gotchas.md](./gotchas.md) - Rate limits, timeout errors
158
+ - [Wrangler Reference](../wrangler/) - CLI tool details
@@ -0,0 +1,231 @@
1
+ # Gotchas & Troubleshooting
2
+
3
+ ## Rate Limits & 429 Errors
4
+
5
+ **Actual Limits:**
6
+
7
+ - **1200 requests / 5 minutes** per user/token (global)
8
+ - **200 requests / second** per IP address
9
+ - **GraphQL: 320 / 5 minutes** (cost-based)
10
+
11
+ **SDK Behavior:**
12
+
13
+ - Auto-retry with exponential backoff (default 2 retries, Go: 10)
14
+ - Respects `Retry-After` header
15
+ - Throws `RateLimitError` after exhausting retries
16
+
17
+ **Solution:**
18
+
19
+ ```typescript
20
+ // Increase retries for rate-limit-heavy workflows
21
+ const client = new Cloudflare({ maxRetries: 5 })
22
+
23
+ // Add application-level throttling
24
+ import pLimit from 'p-limit'
25
+ const limit = pLimit(10) // Max 10 concurrent requests
26
+ ```
27
+
28
+ ## SDK-Specific Issues
29
+
30
+ ### Go: Required Field Wrapper
31
+
32
+ **Problem:** Go SDK requires `cloudflare.F()` wrapper for optional fields.
33
+
34
+ ```go
35
+ // ❌ WRONG - Won't compile or send field
36
+ client.Zones.New(ctx, cloudflare.ZoneNewParams{
37
+ Name: "example.com",
38
+ })
39
+
40
+ // ✅ CORRECT
41
+ client.Zones.New(ctx, cloudflare.ZoneNewParams{
42
+ Name: cloudflare.F("example.com"),
43
+ Account: cloudflare.F(cloudflare.ZoneNewParamsAccount{
44
+ ID: cloudflare.F("account-id"),
45
+ }),
46
+ })
47
+ ```
48
+
49
+ **Why:** Distinguishes between zero value, null, and omitted fields.
50
+
51
+ ### Python: Async vs Sync Clients
52
+
53
+ **Problem:** Using sync client in async context or vice versa.
54
+
55
+ ```python
56
+ # ❌ WRONG - Can't await sync client
57
+ from cloudflare import Cloudflare
58
+ client = Cloudflare()
59
+ await client.zones.list() # TypeError
60
+
61
+ # ✅ CORRECT - Use AsyncCloudflare
62
+ from cloudflare import AsyncCloudflare
63
+ client = AsyncCloudflare()
64
+ await client.zones.list()
65
+ ```
66
+
67
+ ## Token Permission Errors (403)
68
+
69
+ **Problem:** API returns 403 Forbidden despite valid token.
70
+
71
+ **Cause:** Token lacks required permissions (scope).
72
+
73
+ **Scopes Required:**
74
+
75
+ | Operation | Required Scope |
76
+ | ------------- | --------------------------------------- |
77
+ | List zones | Zone:Read (zone-level or account-level) |
78
+ | Create zone | Zone:Edit (account-level) |
79
+ | Edit DNS | DNS:Edit (zone-level) |
80
+ | Deploy Worker | Workers Script:Edit (account-level) |
81
+ | Read KV | Workers KV Storage:Read |
82
+ | Write KV | Workers KV Storage:Edit |
83
+
84
+ **Solution:** Re-create token with correct permissions in Dashboard → My Profile → API Tokens.
85
+
86
+ ## Pagination Truncation
87
+
88
+ **Problem:** Only getting first 20 results (default page size).
89
+
90
+ **Solution:** Use auto-pagination iterators.
91
+
92
+ ```typescript
93
+ // ❌ WRONG - Only first page (20 items)
94
+ const page = await client.zones.list()
95
+
96
+ // ✅ CORRECT - All results
97
+ const zones = []
98
+ for await (const zone of client.zones.list()) {
99
+ zones.push(zone)
100
+ }
101
+ ```
102
+
103
+ ## Workers Subrequests
104
+
105
+ **Problem:** Rate limit hit faster than expected in Workers.
106
+
107
+ **Cause:** Workers subrequests count as separate API calls.
108
+
109
+ **Solution:** Use bindings instead of REST API in Workers (see ../bindings/).
110
+
111
+ ```typescript
112
+ // ❌ WRONG - REST API in Workers (counts against rate limit)
113
+ const client = new Cloudflare({ apiToken: env.CLOUDFLARE_API_TOKEN })
114
+ const zones = await client.zones.list()
115
+
116
+ // ✅ CORRECT - Use bindings (no rate limit)
117
+ // Access via env.MY_BINDING
118
+ ```
119
+
120
+ ## Authentication Errors (401)
121
+
122
+ **Problem:** "Authentication failed" or "Invalid token"
123
+
124
+ **Causes:**
125
+
126
+ - Token expired
127
+ - Token deleted/revoked
128
+ - Token not set in environment
129
+ - Wrong token format
130
+
131
+ **Solution:**
132
+
133
+ ```typescript
134
+ // Verify token is set
135
+ if (!process.env.CLOUDFLARE_API_TOKEN) {
136
+ throw new Error('CLOUDFLARE_API_TOKEN not set')
137
+ }
138
+
139
+ // Test token
140
+ const user = await client.user.tokens.verify()
141
+ console.log('Token valid:', user.status)
142
+ ```
143
+
144
+ ## Timeout Errors
145
+
146
+ **Problem:** Request times out (default 60s).
147
+
148
+ **Cause:** Large operations (bulk DNS, zone transfers).
149
+
150
+ **Solution:** Increase timeout or split operations.
151
+
152
+ ```typescript
153
+ // Increase timeout
154
+ const client = new Cloudflare({
155
+ timeout: 300000, // 5 minutes
156
+ })
157
+
158
+ // Or split operations
159
+ const batchSize = 100
160
+ for (let i = 0; i < records.length; i += batchSize) {
161
+ const batch = records.slice(i, i + batchSize)
162
+ await processBatch(batch)
163
+ }
164
+ ```
165
+
166
+ ## Zone Not Found (404)
167
+
168
+ **Problem:** Zone ID valid but returns 404.
169
+
170
+ **Causes:**
171
+
172
+ - Zone not in account associated with token
173
+ - Zone deleted
174
+ - Wrong zone ID format
175
+
176
+ **Solution:**
177
+
178
+ ```typescript
179
+ // List all zones to find correct ID
180
+ for await (const zone of client.zones.list()) {
181
+ console.log(zone.id, zone.name)
182
+ }
183
+ ```
184
+
185
+ ## Limits Reference
186
+
187
+ | Resource/Limit | Value | Notes |
188
+ | ------------------------------- | --------- | ---------------------- |
189
+ | API rate limit | 1200/5min | Per user/token |
190
+ | IP rate limit | 200/sec | Per IP |
191
+ | GraphQL rate limit | 320/5min | Cost-based |
192
+ | Parallel requests (recommended) | < 10 | Avoid overwhelming API |
193
+ | Default page size | 20 | Use auto-pagination |
194
+ | Max page size | 50 | Some endpoints |
195
+
196
+ ## Best Practices
197
+
198
+ **Security:**
199
+
200
+ - Never commit tokens
201
+ - Use minimal permissions
202
+ - Rotate tokens regularly
203
+ - Set token expiration
204
+
205
+ **Performance:**
206
+
207
+ - Batch operations
208
+ - Use pagination wisely
209
+ - Cache responses
210
+ - Handle rate limits
211
+
212
+ **Code Organization:**
213
+
214
+ ```typescript
215
+ // Create reusable client instance
216
+ export const cfClient = new Cloudflare({
217
+ apiToken: process.env.CLOUDFLARE_API_TOKEN,
218
+ maxRetries: 5,
219
+ })
220
+
221
+ // Wrap common operations
222
+ export async function getZoneDetails(zoneId: string) {
223
+ return await cfClient.zones.get({ zone_id: zoneId })
224
+ }
225
+ ```
226
+
227
+ ## See Also
228
+
229
+ - [api.md](./api.md) - Error types, authentication
230
+ - [configuration.md](./configuration.md) - Timeout/retry configuration
231
+ - [patterns.md](./patterns.md) - Error handling patterns