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,214 @@
1
+ # Bindings API Reference
2
+
3
+ ## TypeScript Types
4
+
5
+ Cloudflare generates binding types via `npx wrangler types`. This creates `.wrangler/types/runtime.d.ts` with your Env interface.
6
+
7
+ ### Generated Env Interface
8
+
9
+ After running `wrangler types`, TypeScript knows your bindings:
10
+
11
+ ```typescript
12
+ interface Env {
13
+ // From wrangler.jsonc bindings
14
+ MY_KV: KVNamespace
15
+ MY_BUCKET: R2Bucket
16
+ DB: D1Database
17
+ MY_SERVICE: Fetcher
18
+ AI: Ai
19
+
20
+ // From vars
21
+ API_URL: string
22
+
23
+ // From secrets (set via wrangler secret put)
24
+ API_KEY: string
25
+ }
26
+ ```
27
+
28
+ ### Binding Types
29
+
30
+ | Config | TypeScript Type | Package |
31
+ | ---------------------------------------------------------- | ------------------------ | --------------------------- |
32
+ | `kv_namespaces` | `KVNamespace` | `@cloudflare/workers-types` |
33
+ | `r2_buckets` | `R2Bucket` | `@cloudflare/workers-types` |
34
+ | `d1_databases` | `D1Database` | `@cloudflare/workers-types` |
35
+ | `durable_objects.bindings` | `DurableObjectNamespace` | `@cloudflare/workers-types` |
36
+ | `vectorize` | `VectorizeIndex` | `@cloudflare/workers-types` |
37
+ | `queues.producers` | `Queue` | `@cloudflare/workers-types` |
38
+ | `services` | `Fetcher` | `@cloudflare/workers-types` |
39
+ | `ai` | `Ai` | `@cloudflare/workers-types` |
40
+ | `browser` | `Fetcher` | `@cloudflare/workers-types` |
41
+ | `analytics_engine_datasets` | `AnalyticsEngineDataset` | `@cloudflare/workers-types` |
42
+ | `hyperdrive` | `Hyperdrive` | `@cloudflare/workers-types` |
43
+ | `rate_limiting` | `RateLimit` | `@cloudflare/workers-types` |
44
+ | `workflows` | `Workflow` | `@cloudflare/workers-types` |
45
+ | `mtls_certificates` / `vars` / `text_blobs` / `data_blobs` | `string` | Built-in |
46
+ | `wasm_modules` | `WebAssembly.Module` | Built-in |
47
+
48
+ ## Accessing Bindings
49
+
50
+ ### Method 1: fetch() Handler (Recommended)
51
+
52
+ ```typescript
53
+ export default {
54
+ async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
55
+ const value = await env.MY_KV.get('key')
56
+ return new Response(value)
57
+ },
58
+ }
59
+ ```
60
+
61
+ **Why:** Type-safe, aligns with Workers API, supports ctx for waitUntil/passThroughOnException.
62
+
63
+ ### Method 2: Hono Framework
64
+
65
+ ```typescript
66
+ import { Hono } from 'hono'
67
+
68
+ const app = new Hono<{ Bindings: Env }>()
69
+
70
+ app.get('/', async (c) => {
71
+ const value = await c.env.MY_KV.get('key')
72
+ return c.json({ value })
73
+ })
74
+
75
+ export default app
76
+ ```
77
+
78
+ **Why:** c.env auto-typed, ergonomic for routing-heavy apps.
79
+
80
+ ### Method 3: Module Workers (Legacy)
81
+
82
+ ```typescript
83
+ export async function handleRequest(request: Request, env: Env): Promise<Response> {
84
+ const value = await env.MY_KV.get('key')
85
+ return new Response(value)
86
+ }
87
+
88
+ addEventListener('fetch', (event) => {
89
+ // env not directly available - requires workarounds
90
+ })
91
+ ```
92
+
93
+ **Avoid:** Use fetch() handler instead (Method 1).
94
+
95
+ ## Type Generation Workflow
96
+
97
+ ### Initial Setup
98
+
99
+ ```bash
100
+ # Install wrangler
101
+ npm install -D wrangler
102
+
103
+ # Generate types from wrangler.jsonc
104
+ npx wrangler types
105
+ ```
106
+
107
+ ### After Changing Bindings
108
+
109
+ ```bash
110
+ # Added/modified binding in wrangler.jsonc
111
+ npx wrangler types
112
+
113
+ # TypeScript now sees updated Env interface
114
+ ```
115
+
116
+ **Note:** `wrangler types` outputs to `.wrangler/types/runtime.d.ts`. TypeScript picks this up automatically if `@cloudflare/workers-types` is in `tsconfig.json` `"types"` array.
117
+
118
+ ## Key Binding Methods
119
+
120
+ **KV:**
121
+
122
+ ```typescript
123
+ await env.MY_KV.get(key, { type: 'json' }) // text|json|arrayBuffer|stream
124
+ await env.MY_KV.put(key, value, { expirationTtl: 3600 })
125
+ await env.MY_KV.delete(key)
126
+ await env.MY_KV.list({ prefix: 'user:' })
127
+ ```
128
+
129
+ **R2:**
130
+
131
+ ```typescript
132
+ await env.BUCKET.get(key)
133
+ await env.BUCKET.put(key, value)
134
+ await env.BUCKET.delete(key)
135
+ await env.BUCKET.list({ prefix: 'images/' })
136
+ ```
137
+
138
+ **D1:**
139
+
140
+ ```typescript
141
+ await env.DB.prepare('SELECT * FROM users WHERE id = ?').bind(userId).first()
142
+ await env.DB.batch([stmt1, stmt2])
143
+ ```
144
+
145
+ **Service:**
146
+
147
+ ```typescript
148
+ await env.MY_SERVICE.fetch(new Request('https://fake/path'))
149
+ ```
150
+
151
+ **Workers AI:**
152
+
153
+ ```typescript
154
+ await env.AI.run('@cf/meta/llama-3.1-8b-instruct', { prompt: 'Hello' })
155
+ ```
156
+
157
+ **Queues:**
158
+
159
+ ```typescript
160
+ await env.MY_QUEUE.send({ userId: 123, action: 'process' })
161
+ ```
162
+
163
+ **Durable Objects:**
164
+
165
+ ```typescript
166
+ const id = env.MY_DO.idFromName('user-123')
167
+ const stub = env.MY_DO.get(id)
168
+ await stub.fetch(new Request('https://fake/increment'))
169
+ ```
170
+
171
+ ## Runtime vs Build-Time Types
172
+
173
+ | Type Source | When Generated | Use Case |
174
+ | --------------------------- | ------------------- | ------------------------------------------- |
175
+ | `@cloudflare/workers-types` | npm install | Base Workers APIs (Request, Response, etc.) |
176
+ | `wrangler types` | After config change | Your specific bindings (Env interface) |
177
+
178
+ **Install both:**
179
+
180
+ ```bash
181
+ npm install -D @cloudflare/workers-types
182
+ npx wrangler types
183
+ ```
184
+
185
+ ## Type Safety Best Practices
186
+
187
+ 1. **Never use `any` for env:**
188
+
189
+ ```typescript
190
+ // ❌ BAD
191
+ async fetch(request: Request, env: any) { }
192
+
193
+ // ✅ GOOD
194
+ async fetch(request: Request, env: Env) { }
195
+ ```
196
+
197
+ 2. **Run wrangler types after config changes:**
198
+
199
+ ```bash
200
+ # After editing wrangler.jsonc
201
+ npx wrangler types
202
+ ```
203
+
204
+ 3. **Check generated types match config:**
205
+
206
+ ```bash
207
+ # View generated Env interface
208
+ cat .wrangler/types/runtime.d.ts
209
+ ```
210
+
211
+ ## See Also
212
+
213
+ - [Workers Types Package](https://www.npmjs.com/package/@cloudflare/workers-types)
214
+ - [Wrangler Types Command](https://developers.cloudflare.com/workers/wrangler/commands/#types)
@@ -0,0 +1,200 @@
1
+ # Binding Configuration Reference
2
+
3
+ ## Storage Bindings
4
+
5
+ ```jsonc
6
+ {
7
+ "kv_namespaces": [{ "binding": "MY_KV", "id": "..." }],
8
+ "r2_buckets": [{ "binding": "MY_BUCKET", "bucket_name": "my-bucket" }],
9
+ "d1_databases": [{ "binding": "DB", "database_name": "my-db", "database_id": "..." }],
10
+ "durable_objects": { "bindings": [{ "name": "MY_DO", "class_name": "MyDO" }] },
11
+ "vectorize": [{ "binding": "VECTORIZE", "index_name": "my-index" }],
12
+ "queues": { "producers": [{ "binding": "MY_QUEUE", "queue": "my-queue" }] },
13
+ }
14
+ ```
15
+
16
+ **Create commands:**
17
+
18
+ ```bash
19
+ npx wrangler kv namespace create MY_KV
20
+ npx wrangler r2 bucket create my-bucket
21
+ npx wrangler d1 create my-db
22
+ npx wrangler vectorize create my-index --dimensions=768 --metric=cosine
23
+ npx wrangler queues create my-queue
24
+
25
+ # List existing resources
26
+ npx wrangler kv namespace list
27
+ npx wrangler r2 bucket list
28
+ npx wrangler d1 list
29
+ npx wrangler vectorize list
30
+ npx wrangler queues list
31
+ ```
32
+
33
+ ## Compute Bindings
34
+
35
+ ```jsonc
36
+ {
37
+ "services": [
38
+ {
39
+ "binding": "MY_SERVICE",
40
+ "service": "other-worker",
41
+ "environment": "production", // Optional: target specific env
42
+ },
43
+ ],
44
+ "ai": { "binding": "AI" },
45
+ "browser": { "binding": "BROWSER" },
46
+ "workflows": [{ "binding": "MY_WORKFLOW", "name": "my-workflow" }],
47
+ }
48
+ ```
49
+
50
+ **Create workflows:**
51
+
52
+ ```bash
53
+ npx wrangler workflows create my-workflow
54
+ ```
55
+
56
+ ## Platform Bindings
57
+
58
+ ```jsonc
59
+ {
60
+ "analytics_engine_datasets": [{ "binding": "ANALYTICS" }],
61
+ "mtls_certificates": [{ "binding": "MY_CERT", "certificate_id": "..." }],
62
+ "hyperdrive": [{ "binding": "HYPERDRIVE", "id": "..." }],
63
+ "unsafe": {
64
+ "bindings": [{ "name": "RATE_LIMITER", "type": "ratelimit", "namespace_id": "..." }],
65
+ },
66
+ }
67
+ ```
68
+
69
+ ## Configuration Bindings
70
+
71
+ ```jsonc
72
+ {
73
+ "vars": {
74
+ "API_URL": "https://api.example.com",
75
+ "MAX_RETRIES": "3",
76
+ },
77
+ "text_blobs": { "MY_TEXT": "./data/template.html" },
78
+ "data_blobs": { "MY_DATA": "./data/config.bin" },
79
+ "wasm_modules": { "MY_WASM": "./build/module.wasm" },
80
+ }
81
+ ```
82
+
83
+ **Secrets (never in config):**
84
+
85
+ ```bash
86
+ npx wrangler secret put API_KEY
87
+ ```
88
+
89
+ ## Environment-Specific Configuration
90
+
91
+ ```jsonc
92
+ {
93
+ "name": "my-worker",
94
+ "vars": { "ENV": "production" },
95
+ "kv_namespaces": [{ "binding": "CACHE", "id": "prod-kv-id" }],
96
+
97
+ "env": {
98
+ "staging": {
99
+ "vars": { "ENV": "staging" },
100
+ "kv_namespaces": [{ "binding": "CACHE", "id": "staging-kv-id" }],
101
+ },
102
+ },
103
+ }
104
+ ```
105
+
106
+ **Deploy:**
107
+
108
+ ```bash
109
+ npx wrangler deploy # Production
110
+ npx wrangler deploy --env staging
111
+ ```
112
+
113
+ ## Local Development
114
+
115
+ ```jsonc
116
+ {
117
+ "kv_namespaces": [
118
+ {
119
+ "binding": "MY_KV",
120
+ "id": "prod-id",
121
+ "preview_id": "dev-id", // Used in wrangler dev
122
+ },
123
+ ],
124
+ }
125
+ ```
126
+
127
+ **Or use remote:**
128
+
129
+ ```bash
130
+ npx wrangler dev --remote # Uses production bindings
131
+ ```
132
+
133
+ ## Complete Example
134
+
135
+ ```jsonc
136
+ {
137
+ "$schema": "./node_modules/wrangler/config-schema.json",
138
+ "name": "my-app",
139
+ "main": "src/index.ts",
140
+ "compatibility_date": "2025-01-01",
141
+
142
+ "vars": { "API_URL": "https://api.example.com" },
143
+ "kv_namespaces": [{ "binding": "CACHE", "id": "abc123" }],
144
+ "r2_buckets": [{ "binding": "ASSETS", "bucket_name": "my-assets" }],
145
+ "d1_databases": [{ "binding": "DB", "database_name": "my-db", "database_id": "xyz789" }],
146
+ "services": [{ "binding": "AUTH", "service": "auth-worker" }],
147
+ "ai": { "binding": "AI" },
148
+ }
149
+ ```
150
+
151
+ ## Binding-Specific Configuration
152
+
153
+ ### Durable Objects with Class Export
154
+
155
+ ```jsonc
156
+ {
157
+ "durable_objects": {
158
+ "bindings": [{ "name": "COUNTER", "class_name": "Counter", "script_name": "my-worker" }],
159
+ },
160
+ }
161
+ ```
162
+
163
+ ```typescript
164
+ // In same Worker or script_name Worker
165
+ export class Counter {
166
+ constructor(
167
+ private state: DurableObjectState,
168
+ private env: Env
169
+ ) {}
170
+ async fetch(request: Request) {
171
+ /* ... */
172
+ }
173
+ }
174
+ ```
175
+
176
+ ### Queue Consumers
177
+
178
+ ```jsonc
179
+ {
180
+ "queues": {
181
+ "producers": [{ "binding": "MY_QUEUE", "queue": "my-queue" }],
182
+ "consumers": [{ "queue": "my-queue", "max_batch_size": 10 }],
183
+ },
184
+ }
185
+ ```
186
+
187
+ Queue consumer handler: `export default { async queue(batch, env) { /* process batch.messages */ } }`
188
+
189
+ ## Key Points
190
+
191
+ - **64 binding limit** (all types combined)
192
+ - **Secrets**: Always use `wrangler secret put`, never commit
193
+ - **Types**: Run `npx wrangler types` after config changes
194
+ - **Environments**: Use `env` field for staging/production variants
195
+ - **Development**: Use `preview_id` or `--remote` flag
196
+ - **IDs vs Names**: Some bindings use `id` (KV, D1), others use `name` (R2, Queues)
197
+
198
+ ## See Also
199
+
200
+ - [Wrangler Configuration](https://developers.cloudflare.com/workers/wrangler/configuration/)
@@ -0,0 +1,210 @@
1
+ # Binding Gotchas and Troubleshooting
2
+
3
+ ## Critical: Global Scope Mutation
4
+
5
+ ### ❌ THE #1 GOTCHA: Caching env in Global Scope
6
+
7
+ ```typescript
8
+ // ❌ DANGEROUS - env cached at deploy time
9
+ const apiKey = env.API_KEY // ERROR: env not available in global scope
10
+
11
+ export default {
12
+ async fetch(request: Request, env: Env) {
13
+ // Uses undefined or stale value!
14
+ },
15
+ }
16
+ ```
17
+
18
+ **Why it breaks:**
19
+
20
+ - `env` not available in global scope
21
+ - If using workarounds, secrets may not update without redeployment
22
+ - Leads to "Cannot read property 'X' of undefined" errors
23
+
24
+ **✅ Always access env per-request:**
25
+
26
+ ```typescript
27
+ export default {
28
+ async fetch(request: Request, env: Env) {
29
+ const apiKey = env.API_KEY // Fresh every request
30
+ },
31
+ }
32
+ ```
33
+
34
+ ## Common Errors
35
+
36
+ ### "env.MY_KV is undefined"
37
+
38
+ **Cause:** Name mismatch or not configured
39
+ **Solution:** Check wrangler.jsonc (case-sensitive), run `npx wrangler types`, verify `npx wrangler kv namespace list`
40
+
41
+ ### "Property 'MY_KV' does not exist on type 'Env'"
42
+
43
+ **Cause:** Types not generated
44
+ **Solution:** `npx wrangler types`
45
+
46
+ ### "preview_id is required for --remote"
47
+
48
+ **Cause:** Missing preview binding
49
+ **Solution:** Add `"preview_id": "dev-id"` or use `npx wrangler dev` (local mode)
50
+
51
+ ### "Secret updated but Worker still uses old value"
52
+
53
+ **Cause:** Cached in global scope or not redeployed
54
+ **Solution:** Avoid global caching, redeploy after secret change
55
+
56
+ ### "KV get() returns null for existing key"
57
+
58
+ **Cause:** Eventual consistency (60s), wrong namespace, wrong environment
59
+ **Solution:**
60
+
61
+ ```bash
62
+ # Check key exists
63
+ npx wrangler kv key get --binding=MY_KV "your-key"
64
+
65
+ # Verify namespace ID
66
+ npx wrangler kv namespace list
67
+
68
+ # Check environment
69
+ npx wrangler deployments list
70
+ ```
71
+
72
+ ### "D1 database not found"
73
+
74
+ **Solution:** `npx wrangler d1 list`, verify ID in wrangler.jsonc
75
+
76
+ ### "Service binding returns 'No such service'"
77
+
78
+ **Cause:** Target Worker not deployed, name mismatch, environment mismatch
79
+ **Solution:**
80
+
81
+ ```bash
82
+ # List deployed Workers
83
+ npx wrangler deployments list --name=target-worker
84
+
85
+ # Check service binding config
86
+ cat wrangler.jsonc | grep -A2 services
87
+
88
+ # Deploy target first
89
+ cd ../target-worker && npx wrangler deploy
90
+ ```
91
+
92
+ ### "Rate limit exceeded" on KV writes
93
+
94
+ **Cause:** >1 write/second per key
95
+ **Solution:** Use different keys, Durable Objects, or Queues
96
+
97
+ ## Type Safety Gotchas
98
+
99
+ ### Missing @cloudflare/workers-types
100
+
101
+ **Error:** `Cannot find name 'Request'`
102
+ **Solution:** `npm install -D @cloudflare/workers-types`, add to tsconfig.json `"types"`
103
+
104
+ ### Binding Type Mismatches
105
+
106
+ ```typescript
107
+ // ❌ Wrong - KV returns string | null
108
+ const value: string = await env.MY_KV.get('key')
109
+
110
+ // ✅ Handle null
111
+ const value = await env.MY_KV.get('key')
112
+ if (!value) return new Response('Not found', { status: 404 })
113
+ ```
114
+
115
+ ## Environment Gotchas
116
+
117
+ ### Wrong Environment Deployed
118
+
119
+ **Solution:** Check `npx wrangler deployments list`, use `--env` flag
120
+
121
+ ### Secrets Not Per-Environment
122
+
123
+ **Solution:** Set per environment: `npx wrangler secret put API_KEY --env staging`
124
+
125
+ ## Development Gotchas
126
+
127
+ **wrangler dev vs deploy:**
128
+
129
+ - dev: Uses `preview_id` or local bindings, secrets not available
130
+ - deploy: Uses production `id`, secrets available
131
+
132
+ **Access secrets in dev:** `npx wrangler dev --remote`
133
+ **Persist local data:** `npx wrangler dev --persist`
134
+
135
+ ## Performance Gotchas
136
+
137
+ ### Sequential Binding Calls
138
+
139
+ ```typescript
140
+ // ❌ Slow
141
+ const user = await env.DB.prepare('...').first()
142
+ const config = await env.MY_KV.get('config')
143
+
144
+ // ✅ Parallel
145
+ const [user, config] = await Promise.all([env.DB.prepare('...').first(), env.MY_KV.get('config')])
146
+ ```
147
+
148
+ ## Security Gotchas
149
+
150
+ **❌ Secrets in logs:** `console.log('Key:', env.API_KEY)` - visible in dashboard
151
+ **✅** `console.log('Key:', env.API_KEY ? '***' : 'missing')`
152
+
153
+ **❌ Exposing env:** `return Response.json(env)` - exposes all bindings
154
+ **✅** Never return env object in responses
155
+
156
+ ## Limits Reference
157
+
158
+ | Resource | Limit | Impact | Plan |
159
+ | ------------------------- | ---------------------- | ------------------------------ | ---- |
160
+ | **Bindings per Worker** | 64 total | All binding types combined | All |
161
+ | **Environment variables** | 64 max, 5KB each | Per Worker | All |
162
+ | **Secret size** | 1KB | Per secret | All |
163
+ | **KV key size** | 512 bytes | UTF-8 encoded | All |
164
+ | **KV value size** | 25 MB | Per value | All |
165
+ | **KV writes per key** | 1/second | Per key; exceeding = 429 error | All |
166
+ | **KV list() results** | 1000 keys | Per call; use cursor for more | All |
167
+ | **KV operations** | 1000 reads/day | Free tier only | Free |
168
+ | **R2 object size** | 5 TB | Per object | All |
169
+ | **R2 operations** | 1M Class A/month free | Writes | All |
170
+ | **D1 database size** | 10 GB | Per database | All |
171
+ | **D1 rows per query** | 100,000 | Result set limit | All |
172
+ | **D1 databases** | 10 | Free tier | Free |
173
+ | **Queue batch size** | 100 messages | Per consumer batch | All |
174
+ | **Queue message size** | 128 KB | Per message | All |
175
+ | **Service binding calls** | Unlimited | Counts toward CPU time | All |
176
+ | **Durable Objects** | 1M requests/month free | First 1M | Free |
177
+
178
+ ## Debugging Tips
179
+
180
+ ```bash
181
+ # Check configuration
182
+ npx wrangler deploy --dry-run # Validate config without deploying
183
+ npx wrangler kv namespace list # List KV namespaces
184
+ npx wrangler secret list # List secrets (not values)
185
+ npx wrangler deployments list # Recent deployments
186
+
187
+ # Inspect bindings
188
+ npx wrangler kv key list --binding=MY_KV
189
+ npx wrangler kv key get --binding=MY_KV "key-name"
190
+ npx wrangler r2 object get my-bucket/file.txt
191
+ npx wrangler d1 execute my-db --command="SELECT * FROM sqlite_master"
192
+
193
+ # Test locally
194
+ npx wrangler dev # Local mode
195
+ npx wrangler dev --remote # Production bindings
196
+ npx wrangler dev --persist # Persist data across restarts
197
+
198
+ # Verify types
199
+ npx wrangler types
200
+ cat .wrangler/types/runtime.d.ts | grep "interface Env"
201
+
202
+ # Debug specific binding issues
203
+ npx wrangler tail # Stream logs in real-time
204
+ npx wrangler tail --format=pretty # Formatted logs
205
+ ```
206
+
207
+ ## See Also
208
+
209
+ - [Workers Limits](https://developers.cloudflare.com/workers/platform/limits/)
210
+ - [Wrangler Commands](https://developers.cloudflare.com/workers/wrangler/commands/)