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,96 @@
1
+ # Cloudflare Workers Analytics Engine Reference
2
+
3
+ Expert guidance for implementing unlimited-cardinality analytics at scale using Cloudflare Workers Analytics Engine.
4
+
5
+ ## What is Analytics Engine?
6
+
7
+ Time-series analytics database designed for high-cardinality data (millions of unique dimensions). Write data points from Workers, query via SQL API. Use for:
8
+
9
+ - Custom user-facing analytics dashboards
10
+ - Usage-based billing & metering
11
+ - Per-customer/per-feature monitoring
12
+ - High-frequency instrumentation without performance impact
13
+
14
+ **Key Capability:** Track metrics with unlimited unique values (e.g., millions of user IDs, API keys) without performance degradation.
15
+
16
+ ## Core Concepts
17
+
18
+ | Concept | Description | Example |
19
+ | -------------- | ------------------------------------ | --------------------------------- |
20
+ | **Dataset** | Logical table for related metrics | `api_requests`, `user_events` |
21
+ | **Data Point** | Single measurement with timestamp | One API request's metrics |
22
+ | **Blobs** | String dimensions (max 20) | endpoint, method, status, user_id |
23
+ | **Doubles** | Numeric values (max 20) | latency_ms, request_count, bytes |
24
+ | **Indexes** | Filtered blobs for efficient queries | customer_id, api_key |
25
+
26
+ ## Reading Order
27
+
28
+ | Task | Start Here | Then Read |
29
+ | -------------------- | ------------------------------------------------------------------------------------ | --------- |
30
+ | **First-time setup** | [configuration.md](configuration.md) → [api.md](api.md) → [patterns.md](patterns.md) | |
31
+ | **Writing data** | [api.md](api.md) → [gotchas.md](gotchas.md) (sampling) | |
32
+ | **Querying data** | [api.md](api.md) (SQL API) → [patterns.md](patterns.md) (examples) | |
33
+ | **Debugging** | [gotchas.md](gotchas.md) → [api.md](api.md) (limits) | |
34
+ | **Optimization** | [patterns.md](patterns.md) (anti-patterns) → [gotchas.md](gotchas.md) | |
35
+
36
+ ## When to Use Analytics Engine
37
+
38
+ ```
39
+ Need to track metrics? → Yes
40
+
41
+ Millions of unique dimension values? → Yes
42
+
43
+ Need real-time queries? → Yes
44
+
45
+ Use Analytics Engine ✓
46
+
47
+ Alternative scenarios:
48
+ - Low cardinality (<10k unique values) → Workers Analytics (free tier)
49
+ - Complex joins/relations → D1 Database
50
+ - Logs/debugging → Tail Workers (logpush)
51
+ - External tools → Send to external analytics (Datadog, etc.)
52
+ ```
53
+
54
+ ## Quick Start
55
+
56
+ 1. Add binding to `wrangler.jsonc`:
57
+
58
+ ```jsonc
59
+ {
60
+ "analytics_engine_datasets": [{ "binding": "ANALYTICS", "dataset": "my_events" }],
61
+ }
62
+ ```
63
+
64
+ 2. Write data points (fire-and-forget, no await):
65
+
66
+ ```typescript
67
+ env.ANALYTICS.writeDataPoint({
68
+ blobs: ['/api/users', 'GET', '200'],
69
+ doubles: [145.2, 1], // latency_ms, count
70
+ indexes: [customerId],
71
+ })
72
+ ```
73
+
74
+ 3. Query via SQL API (HTTP):
75
+
76
+ ```sql
77
+ SELECT blob1, SUM(double2) AS total_requests
78
+ FROM my_events
79
+ WHERE index1 = 'customer_123'
80
+ AND timestamp >= NOW() - INTERVAL '7' DAY
81
+ GROUP BY blob1
82
+ ORDER BY total_requests DESC
83
+ ```
84
+
85
+ ## In This Reference
86
+
87
+ - **[configuration.md](configuration.md)** - Setup, bindings, TypeScript types, limits
88
+ - **[api.md](api.md)** - `writeDataPoint()`, SQL API, query syntax
89
+ - **[patterns.md](patterns.md)** - Use cases, examples, anti-patterns
90
+ - **[gotchas.md](gotchas.md)** - Sampling, index selection, troubleshooting
91
+
92
+ ## See Also
93
+
94
+ - [Cloudflare Analytics Engine Docs](https://developers.cloudflare.com/analytics/analytics-engine/)
95
+ - [GraphQL Analytics API Reference](../graphql-api/) - Query built-in Cloudflare analytics (HTTP, Workers, DNS, Firewall, etc.)
96
+ - [Observability Reference](../observability/) - Workers Logs, Traces, and real-time debugging
@@ -0,0 +1,112 @@
1
+ # Analytics Engine API Reference
2
+
3
+ ## Writing Data
4
+
5
+ ### `writeDataPoint()`
6
+
7
+ Fire-and-forget (returns `void`, not Promise). Writes happen asynchronously.
8
+
9
+ ```typescript
10
+ interface AnalyticsEngineDataPoint {
11
+ blobs?: string[] // Up to 20 strings (dimensions), 16KB each
12
+ doubles?: number[] // Up to 20 numbers (metrics)
13
+ indexes?: string[] // 1 indexed string for high-cardinality filtering
14
+ }
15
+
16
+ env.ANALYTICS.writeDataPoint({
17
+ blobs: ['/api/users', 'GET', '200'],
18
+ doubles: [145.2, 1], // latency_ms, count
19
+ indexes: ['customer_abc123'],
20
+ })
21
+ ```
22
+
23
+ **Behaviors:** No await needed, no error thrown (check tail logs), auto-sampled at high volumes, auto-timestamped.
24
+
25
+ **Blob vs Index:** Blob for GROUP BY (<100k unique), Index for filter-only (millions unique).
26
+
27
+ ### Full Example
28
+
29
+ ```typescript
30
+ export default {
31
+ async fetch(request: Request, env: Env): Promise<Response> {
32
+ const start = Date.now()
33
+ const url = new URL(request.url)
34
+ try {
35
+ const response = await handleRequest(request)
36
+ env.ANALYTICS.writeDataPoint({
37
+ blobs: [url.pathname, request.method, response.status.toString()],
38
+ doubles: [Date.now() - start, 1],
39
+ indexes: [request.headers.get('x-api-key') || 'anonymous'],
40
+ })
41
+ return response
42
+ } catch (error) {
43
+ env.ANALYTICS.writeDataPoint({
44
+ blobs: [url.pathname, request.method, '500'],
45
+ doubles: [Date.now() - start, 1, 0],
46
+ })
47
+ throw error
48
+ }
49
+ },
50
+ }
51
+ ```
52
+
53
+ ## SQL API (External Only)
54
+
55
+ ```bash
56
+ curl -X POST https://api.cloudflare.com/client/v4/accounts/{account_id}/analytics_engine/sql \
57
+ -H "Authorization: Bearer $TOKEN" \
58
+ -d "SELECT blob1 AS endpoint, COUNT(*) AS requests FROM dataset WHERE timestamp >= NOW() - INTERVAL '1' HOUR GROUP BY blob1"
59
+ ```
60
+
61
+ ### Column References
62
+
63
+ ```sql
64
+ -- blob1..blob20, double1..double20, index1, timestamp
65
+ SELECT blob1 AS endpoint, SUM(double1) AS latency, COUNT(*) AS requests
66
+ FROM my_dataset
67
+ WHERE index1 = 'customer_123' AND timestamp >= NOW() - INTERVAL '7' DAY
68
+ GROUP BY blob1
69
+ HAVING COUNT(*) > 100
70
+ ORDER BY requests DESC LIMIT 100
71
+ ```
72
+
73
+ **Aggregations:** `SUM()`, `AVG()`, `COUNT()`, `MIN()`, `MAX()`, `quantile(0.95)()`
74
+
75
+ **Time ranges:** `NOW() - INTERVAL '1' HOUR`, `BETWEEN '2026-01-01' AND '2026-01-31'`
76
+
77
+ ### Query Examples
78
+
79
+ ```sql
80
+ -- Top endpoints
81
+ SELECT blob1, COUNT(*) AS requests, AVG(double1) AS avg_latency
82
+ FROM api_requests WHERE timestamp >= NOW() - INTERVAL '24' HOUR
83
+ GROUP BY blob1 ORDER BY requests DESC LIMIT 20
84
+
85
+ -- Error rate
86
+ SELECT blob1, COUNT(*) AS total,
87
+ SUM(CASE WHEN blob3 LIKE '5%' THEN 1 ELSE 0 END) AS errors
88
+ FROM api_requests WHERE timestamp >= NOW() - INTERVAL '1' HOUR
89
+ GROUP BY blob1 HAVING total > 50
90
+
91
+ -- P95 latency
92
+ SELECT blob1, quantile(0.95)(double1) AS p95
93
+ FROM api_requests GROUP BY blob1
94
+ ```
95
+
96
+ ## Response Format
97
+
98
+ ```json
99
+ { "data": [{ "endpoint": "/api/users", "requests": 1523 }], "rows": 2 }
100
+ ```
101
+
102
+ ## Limits
103
+
104
+ | Resource | Limit |
105
+ | ----------------------- | ------- |
106
+ | Blobs/Doubles per point | 20 each |
107
+ | Indexes per point | 1 |
108
+ | Blob/Index size | 16KB |
109
+ | Data retention | 90 days |
110
+ | Query timeout | 30s |
111
+
112
+ **Critical:** High write volumes (>1M/min) trigger automatic sampling.
@@ -0,0 +1,107 @@
1
+ # Analytics Engine Configuration
2
+
3
+ ## Setup
4
+
5
+ 1. Add binding to `wrangler.jsonc`
6
+ 2. Deploy Worker
7
+ 3. Dataset created automatically on first write
8
+ 4. Query via SQL API
9
+
10
+ ## wrangler.jsonc
11
+
12
+ ```jsonc
13
+ {
14
+ "name": "my-worker",
15
+ "analytics_engine_datasets": [{ "binding": "ANALYTICS", "dataset": "my_events" }],
16
+ }
17
+ ```
18
+
19
+ Multiple datasets for separate concerns:
20
+
21
+ ```jsonc
22
+ {
23
+ "analytics_engine_datasets": [
24
+ { "binding": "API_ANALYTICS", "dataset": "api_requests" },
25
+ { "binding": "USER_EVENTS", "dataset": "user_activity" },
26
+ ],
27
+ }
28
+ ```
29
+
30
+ ## TypeScript
31
+
32
+ ```typescript
33
+ interface Env {
34
+ ANALYTICS: AnalyticsEngineDataset
35
+ }
36
+
37
+ export default {
38
+ async fetch(request: Request, env: Env) {
39
+ // No await - returns void, fire-and-forget
40
+ env.ANALYTICS.writeDataPoint({
41
+ blobs: [pathname, method, status], // String dimensions (max 20)
42
+ doubles: [latency, 1], // Numeric metrics (max 20)
43
+ indexes: [apiKey], // High-cardinality filter (max 1)
44
+ })
45
+ return response
46
+ },
47
+ }
48
+ ```
49
+
50
+ ## Data Point Limits
51
+
52
+ | Field | Limit | SQL Access |
53
+ | ------- | --------------------- | ---------------------- |
54
+ | blobs | 20 strings, 16KB each | `blob1`...`blob20` |
55
+ | doubles | 20 numbers | `double1`...`double20` |
56
+ | indexes | 1 string, 16KB | `index1` |
57
+
58
+ ## Write Behavior
59
+
60
+ | Scenario | Behavior |
61
+ | -------------- | -------------------------------- |
62
+ | <1M writes/min | All accepted |
63
+ | >1M writes/min | Automatic sampling |
64
+ | Invalid data | Silent failure (check tail logs) |
65
+
66
+ **Mitigate sampling:** Pre-aggregate, use multiple datasets, write only critical metrics.
67
+
68
+ ## Query Limits
69
+
70
+ | Resource | Limit |
71
+ | -------------- | ----------------- |
72
+ | Query timeout | 30 seconds |
73
+ | Data retention | 90 days (default) |
74
+ | Result size | ~10MB |
75
+
76
+ ## Cost
77
+
78
+ **Free tier:** 10M writes/month, 1M reads/month
79
+
80
+ **Paid:** $0.05 per 1M writes, $1.00 per 1M reads
81
+
82
+ ## Environment-Specific
83
+
84
+ ```jsonc
85
+ {
86
+ "analytics_engine_datasets": [{ "binding": "ANALYTICS", "dataset": "prod_events" }],
87
+ "env": {
88
+ "staging": {
89
+ "analytics_engine_datasets": [{ "binding": "ANALYTICS", "dataset": "staging_events" }],
90
+ },
91
+ },
92
+ }
93
+ ```
94
+
95
+ ## Monitoring
96
+
97
+ ```bash
98
+ npx wrangler tail # Check for sampling/write errors
99
+ ```
100
+
101
+ ```sql
102
+ -- Check write activity
103
+ SELECT DATE_TRUNC('hour', timestamp) AS hour, COUNT(*) AS writes
104
+ FROM my_dataset
105
+ WHERE timestamp >= NOW() - INTERVAL '24' HOUR
106
+ GROUP BY hour
107
+ ```
@@ -0,0 +1,87 @@
1
+ # Analytics Engine Gotchas
2
+
3
+ ## Critical Issues
4
+
5
+ ### Sampling at High Volumes
6
+
7
+ **Problem:** Queries return fewer points than written at >1M writes/min.
8
+
9
+ **Solution:**
10
+
11
+ ```typescript
12
+ // Pre-aggregate before writing
13
+ let buffer = { count: 0, total: 0 }
14
+ buffer.count++
15
+ buffer.total += value
16
+
17
+ // Write once per second instead of per request
18
+ if (Date.now() % 1000 === 0) {
19
+ env.ANALYTICS.writeDataPoint({ doubles: [buffer.count, buffer.total] })
20
+ }
21
+ ```
22
+
23
+ **Detection:** `npx wrangler tail` → look for "sampling enabled"
24
+
25
+ ### writeDataPoint Returns void
26
+
27
+ ```typescript
28
+ // ❌ Pointless await
29
+ await env.ANALYTICS.writeDataPoint({...});
30
+
31
+ // ✅ Fire-and-forget
32
+ env.ANALYTICS.writeDataPoint({...});
33
+ ```
34
+
35
+ Writes can fail silently. Check tail logs.
36
+
37
+ ### Index vs Blob
38
+
39
+ | Cardinality | Use | Example |
40
+ | ----------- | --------- | ------------------------------ |
41
+ | Millions | **Index** | user_id, api_key |
42
+ | Hundreds | **Blob** | endpoint, status_code, country |
43
+
44
+ ```typescript
45
+ // ✅ Correct
46
+ { blobs: [method, path, status], indexes: [userId] }
47
+ ```
48
+
49
+ ### Can't Query from Workers
50
+
51
+ Query API requires HTTP auth. Use external service or cache in KV/D1.
52
+
53
+ ### No Custom Timestamps
54
+
55
+ Auto-generated at write time. Store original in blob if needed.
56
+
57
+ ## Common Errors
58
+
59
+ | Error | Fix |
60
+ | ----------------- | ---------------------------------------------- |
61
+ | Binding not found | Check wrangler.jsonc, redeploy |
62
+ | No data in query | Wait 30s; check dataset name; check time range |
63
+ | Query timeout | Add time filter; use index for filtering |
64
+
65
+ ## Limits
66
+
67
+ | Resource | Limit |
68
+ | ------------------------ | ------- |
69
+ | Blobs per point | 20 |
70
+ | Doubles per point | 20 |
71
+ | Indexes per point | 1 |
72
+ | Blob/Index size | 16KB |
73
+ | Write rate (no sampling) | ~1M/min |
74
+ | Retention | 90 days |
75
+ | Query timeout | 30s |
76
+
77
+ ## Best Practices
78
+
79
+ ✅ Pre-aggregate at high volumes
80
+ ✅ Use index for high-cardinality (millions)
81
+ ✅ Always include time filter in queries
82
+ ✅ Design schema before coding
83
+
84
+ ❌ Don't await writeDataPoint
85
+ ❌ Don't use index for low-cardinality
86
+ ❌ Don't query without time range
87
+ ❌ Don't assume all writes succeed
@@ -0,0 +1,83 @@
1
+ # Analytics Engine Patterns
2
+
3
+ ## Use Cases
4
+
5
+ | Use Case | Key Metrics | Index On |
6
+ | -------------- | ------------------------------ | ----------- |
7
+ | API Metering | requests, bytes, compute_units | api_key |
8
+ | Feature Usage | feature, action, duration | user_id |
9
+ | Error Tracking | error_type, endpoint, count | customer_id |
10
+ | Performance | latency_ms, cache_status | endpoint |
11
+ | A/B Testing | variant, conversions | user_id |
12
+
13
+ ## API Metering (Billing)
14
+
15
+ ```typescript
16
+ env.ANALYTICS.writeDataPoint({
17
+ blobs: [pathname, method, status, tier],
18
+ doubles: [1, computeUnits, bytes, latencyMs],
19
+ indexes: [apiKey],
20
+ })
21
+
22
+ // Query: Monthly usage by customer
23
+ // SELECT index1 AS api_key, SUM(double2) AS compute_units
24
+ // FROM usage WHERE timestamp >= DATE_TRUNC('month', NOW()) GROUP BY index1
25
+ ```
26
+
27
+ ## Error Tracking
28
+
29
+ ```typescript
30
+ env.ANALYTICS.writeDataPoint({
31
+ blobs: [endpoint, method, errorName, errorMessage.slice(0, 1000)],
32
+ doubles: [1, timeToErrorMs],
33
+ indexes: [customerId],
34
+ })
35
+ ```
36
+
37
+ ## Performance Monitoring
38
+
39
+ ```typescript
40
+ env.ANALYTICS.writeDataPoint({
41
+ blobs: [pathname, method, cacheStatus, status],
42
+ doubles: [latencyMs, 1],
43
+ indexes: [userId],
44
+ })
45
+
46
+ // Query: P95 latency by endpoint
47
+ // SELECT blob1, quantile(0.95)(double1) AS p95_ms FROM perf GROUP BY blob1
48
+ ```
49
+
50
+ ## Anti-Patterns
51
+
52
+ | ❌ Wrong | ✅ Correct |
53
+ | ------------------------------------- | -------------------------------------- |
54
+ | `await writeDataPoint()` | `writeDataPoint()` (fire-and-forget) |
55
+ | `indexes: [method]` (low cardinality) | `blobs: [method]`, `indexes: [userId]` |
56
+ | `blobs: [JSON.stringify(obj)]` | Store ID in blob, full object in D1/KV |
57
+ | Write every request at 10M/min | Pre-aggregate per second |
58
+ | Query from Worker | Query from external service/API |
59
+
60
+ ## Best Practices
61
+
62
+ 1. **Design schema upfront** - Document blob/double/index assignments
63
+ 2. **Always include count metric** - `doubles: [latency, 1]` for AVG calculations
64
+ 3. **Use enums for blobs** - Consistent values like `Status.SUCCESS`
65
+ 4. **Handle sampling** - Use ratios (avg_latency = SUM(latency)/SUM(count))
66
+ 5. **Test queries early** - Validate schema before heavy writes
67
+
68
+ ## Schema Template
69
+
70
+ ```typescript
71
+ /**
72
+ * Dataset: my_metrics
73
+ *
74
+ * Blobs:
75
+ * blob1: endpoint, blob2: method, blob3: status
76
+ *
77
+ * Doubles:
78
+ * double1: latency_ms, double2: count (always 1)
79
+ *
80
+ * Indexes:
81
+ * index1: customer_id (high cardinality)
82
+ */
83
+ ```
@@ -0,0 +1,66 @@
1
+ # Cloudflare API Integration
2
+
3
+ Guide for working with Cloudflare's REST API - authentication, SDK usage, common patterns, and troubleshooting.
4
+
5
+ ## Quick Decision Tree
6
+
7
+ ```
8
+ How are you calling the Cloudflare API?
9
+ ├─ From Workers runtime → Use bindings, not REST API (see ../bindings/)
10
+ ├─ Server-side (Node/Python/Go) → Official SDK (see api.md)
11
+ ├─ CLI/scripts → Wrangler or curl (see configuration.md)
12
+ ├─ Infrastructure-as-code → See ../pulumi/ or ../terraform/
13
+ └─ One-off requests → curl examples (see api.md)
14
+ ```
15
+
16
+ ## SDK Selection
17
+
18
+ | Language | Package | Best For | Default Retries |
19
+ | ---------- | ------------------ | ------------------------------ | --------------- |
20
+ | TypeScript | `cloudflare` | Node.js, Bun, Next.js, Workers | 2 |
21
+ | Python | `cloudflare` | FastAPI, Django, scripts | 2 |
22
+ | Go | `cloudflare-go/v4` | CLI tools, microservices | 10 |
23
+
24
+ All SDKs are Stainless-generated from OpenAPI spec (consistent APIs).
25
+
26
+ ## Authentication Methods
27
+
28
+ | Method | Security | Use Case | Scope |
29
+ | ---------------- | ------------------- | -------------------- | ------------------- |
30
+ | **API Token** ✓ | Scoped, rotatable | Production | Per-zone or account |
31
+ | API Key + Email | Full account access | Legacy only | Everything |
32
+ | User Service Key | Limited | Origin CA certs only | Origin CA |
33
+
34
+ **Always use API tokens** for new projects.
35
+
36
+ ## Rate Limits
37
+
38
+ | Limit | Value |
39
+ | -------------- | ---------------------------- |
40
+ | Per user/token | 1200 requests / 5 minutes |
41
+ | Per IP | 200 requests / second |
42
+ | GraphQL | 320 / 5 minutes (cost-based) |
43
+
44
+ ## Reading Order
45
+
46
+ | Task | Files to Read |
47
+ | ---------------------------- | --------------------------------- |
48
+ | Initialize SDK client | api.md |
49
+ | Configure auth/timeout/retry | configuration.md |
50
+ | Find usage patterns | patterns.md |
51
+ | Debug errors/rate limits | gotchas.md |
52
+ | Product-specific APIs | ../workers/, ../r2/, ../kv/, etc. |
53
+
54
+ ## In This Reference
55
+
56
+ - **[api.md](api.md)** - SDK client initialization, pagination, error handling, examples
57
+ - **[configuration.md](configuration.md)** - Environment variables, SDK config, Wrangler setup
58
+ - **[patterns.md](patterns.md)** - Real-world patterns, batch operations, workflows
59
+ - **[gotchas.md](gotchas.md)** - Rate limits, SDK-specific issues, troubleshooting
60
+
61
+ ## See Also
62
+
63
+ - [Cloudflare API Docs](https://developers.cloudflare.com/api/)
64
+ - [Bindings Reference](../bindings/) - Workers runtime bindings (preferred over REST API)
65
+ - [Wrangler Reference](../wrangler/) - CLI tool for Cloudflare development
66
+ - [GraphQL Analytics API Reference](../graphql-api/) - Analytics data via GraphQL (separate endpoint from REST API)