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,113 @@
1
+ # Cloudflare Pulumi Provider
2
+
3
+ Expert guidance for Cloudflare Pulumi Provider (@pulumi/cloudflare).
4
+
5
+ ## Overview
6
+
7
+ Programmatic management of Cloudflare resources: Workers, Pages, D1, KV, R2, DNS, Queues, etc.
8
+
9
+ **Packages:**
10
+
11
+ - TypeScript/JS: `@pulumi/cloudflare`
12
+ - Python: `pulumi-cloudflare`
13
+ - Go: `github.com/pulumi/pulumi-cloudflare/sdk/v6/go/cloudflare`
14
+ - .NET: `Pulumi.Cloudflare`
15
+
16
+ **Version:** v6.x
17
+
18
+ ## Core Principles
19
+
20
+ 1. Use API tokens (not legacy API keys)
21
+ 2. Store accountId in stack config
22
+ 3. Match binding names across code/config
23
+ 4. Use `module: true` for ES modules
24
+ 5. Set `compatibilityDate` to lock behavior
25
+
26
+ ## Authentication
27
+
28
+ ```typescript
29
+ import * as cloudflare from '@pulumi/cloudflare'
30
+
31
+ // API Token (recommended): CLOUDFLARE_API_TOKEN env
32
+ const provider = new cloudflare.Provider('cf', { apiToken: process.env.CLOUDFLARE_API_TOKEN })
33
+
34
+ // API Key (legacy): CLOUDFLARE_API_KEY + CLOUDFLARE_EMAIL env
35
+ const provider = new cloudflare.Provider('cf', {
36
+ apiKey: process.env.CLOUDFLARE_API_KEY,
37
+ email: process.env.CLOUDFLARE_EMAIL,
38
+ })
39
+
40
+ // API User Service Key: CLOUDFLARE_API_USER_SERVICE_KEY env
41
+ const provider = new cloudflare.Provider('cf', {
42
+ apiUserServiceKey: process.env.CLOUDFLARE_API_USER_SERVICE_KEY,
43
+ })
44
+ ```
45
+
46
+ ## Setup
47
+
48
+ **Pulumi.yaml:**
49
+
50
+ ```yaml
51
+ name: my-cloudflare-app
52
+ runtime: nodejs
53
+ config:
54
+ cloudflare:apiToken:
55
+ value: ${CLOUDFLARE_API_TOKEN}
56
+ ```
57
+
58
+ **Pulumi.<stack>.yaml:**
59
+
60
+ ```yaml
61
+ config:
62
+ cloudflare:accountId: 'abc123...'
63
+ ```
64
+
65
+ **index.ts:**
66
+
67
+ ```typescript
68
+ import * as pulumi from '@pulumi/pulumi'
69
+ import * as cloudflare from '@pulumi/cloudflare'
70
+ const accountId = new pulumi.Config('cloudflare').require('accountId')
71
+ ```
72
+
73
+ ## Common Resource Types
74
+
75
+ - `Provider` - Provider config
76
+ - `WorkerScript` - Worker
77
+ - `WorkersKvNamespace` - KV
78
+ - `R2Bucket` - R2
79
+ - `D1Database` - D1
80
+ - `Queue` - Queue
81
+ - `PagesProject` - Pages
82
+ - `DnsRecord` - DNS
83
+ - `WorkerRoute` - Worker route
84
+ - `WorkersDomain` - Custom domain
85
+
86
+ ## Key Properties
87
+
88
+ - `accountId` - Required for most resources
89
+ - `zoneId` - Required for DNS/domain
90
+ - `name`/`title` - Resource identifier
91
+ - `*Bindings` - Connect resources to Workers
92
+
93
+ ## Reading Order
94
+
95
+ | Order | File | What | When to Read |
96
+ | ----- | -------------------------------------- | ----------------------------------------------------- | ------------------------------------- |
97
+ | 1 | [configuration.md](./configuration.md) | Resource config for Workers/KV/D1/R2/Queues/Pages | First time setup, resource reference |
98
+ | 2 | [patterns.md](./patterns.md) | Architecture patterns, multi-env, component resources | Building complex apps, best practices |
99
+ | 3 | [api.md](./api.md) | Outputs, dependencies, imports, dynamic providers | Advanced features, integrations |
100
+ | 4 | [gotchas.md](./gotchas.md) | Common errors, troubleshooting, limits | Debugging, deployment issues |
101
+
102
+ ## In This Reference
103
+
104
+ - [configuration.md](./configuration.md) - Provider config, stack setup, Workers/bindings
105
+ - [api.md](./api.md) - Resource types, Workers script, KV/D1/R2/queues/Pages
106
+ - [patterns.md](./patterns.md) - Multi-env, secrets, CI/CD, stack management
107
+ - [gotchas.md](./gotchas.md) - State issues, deployment failures, limits
108
+
109
+ ## See Also
110
+
111
+ - [terraform](../terraform/) - Alternative IaC for Cloudflare
112
+ - [wrangler](../wrangler/) - CLI deployment alternative
113
+ - [workers](../workers/) - Worker runtime documentation
@@ -0,0 +1,230 @@
1
+ # API & Data Sources
2
+
3
+ ## Outputs and Exports
4
+
5
+ Export resource identifiers:
6
+
7
+ ```typescript
8
+ export const kvId = kv.id
9
+ export const bucketName = bucket.name
10
+ export const workerUrl = worker.subdomain
11
+ export const dbId = db.id
12
+ ```
13
+
14
+ ## Resource Dependencies
15
+
16
+ Implicit dependencies via outputs:
17
+
18
+ ```typescript
19
+ const kv = new cloudflare.WorkersKvNamespace('kv', {
20
+ accountId: accountId,
21
+ title: 'my-kv',
22
+ })
23
+
24
+ // Worker depends on KV (implicit via kv.id)
25
+ const worker = new cloudflare.WorkerScript('worker', {
26
+ accountId: accountId,
27
+ name: 'my-worker',
28
+ content: code,
29
+ kvNamespaceBindings: [{ name: 'MY_KV', namespaceId: kv.id }], // Creates dependency
30
+ })
31
+ ```
32
+
33
+ Explicit dependencies:
34
+
35
+ ```typescript
36
+ const migration = new command.local.Command(
37
+ 'migration',
38
+ {
39
+ create: pulumi.interpolate`wrangler d1 execute ${db.name} --file ./schema.sql`,
40
+ },
41
+ { dependsOn: [db] }
42
+ )
43
+
44
+ const worker = new cloudflare.WorkerScript(
45
+ 'worker',
46
+ {
47
+ accountId: accountId,
48
+ name: 'worker',
49
+ content: code,
50
+ d1DatabaseBindings: [{ name: 'DB', databaseId: db.id }],
51
+ },
52
+ { dependsOn: [migration] }
53
+ ) // Ensure migrations run first
54
+ ```
55
+
56
+ ## Using Outputs with API Calls
57
+
58
+ ```typescript
59
+ const db = new cloudflare.D1Database('db', { accountId, name: 'my-db' })
60
+
61
+ db.id.apply(async (dbId) => {
62
+ const response = await fetch(
63
+ `https://api.cloudflare.com/client/v4/accounts/${accountId}/d1/database/${dbId}/query`,
64
+ {
65
+ method: 'POST',
66
+ headers: { Authorization: `Bearer ${apiToken}`, 'Content-Type': 'application/json' },
67
+ body: JSON.stringify({ sql: 'CREATE TABLE users (id INT)' }),
68
+ }
69
+ )
70
+ return response.json()
71
+ })
72
+ ```
73
+
74
+ ## Custom Dynamic Providers
75
+
76
+ For resources not in provider:
77
+
78
+ ```typescript
79
+ import * as pulumi from '@pulumi/pulumi'
80
+
81
+ class D1MigrationProvider implements pulumi.dynamic.ResourceProvider {
82
+ async create(inputs: any): Promise<pulumi.dynamic.CreateResult> {
83
+ const response = await fetch(
84
+ `https://api.cloudflare.com/client/v4/accounts/${inputs.accountId}/d1/database/${inputs.databaseId}/query`,
85
+ {
86
+ method: 'POST',
87
+ headers: { Authorization: `Bearer ${inputs.apiToken}`, 'Content-Type': 'application/json' },
88
+ body: JSON.stringify({ sql: inputs.sql }),
89
+ }
90
+ )
91
+ return { id: `${inputs.databaseId}-${Date.now()}`, outs: await response.json() }
92
+ }
93
+ async update(id: string, olds: any, news: any): Promise<pulumi.dynamic.UpdateResult> {
94
+ if (olds.sql !== news.sql) await this.create(news)
95
+ return {}
96
+ }
97
+ async delete(id: string, props: any): Promise<void> {}
98
+ }
99
+
100
+ class D1Migration extends pulumi.dynamic.Resource {
101
+ constructor(name: string, args: any, opts?: pulumi.CustomResourceOptions) {
102
+ super(new D1MigrationProvider(), name, args, opts)
103
+ }
104
+ }
105
+
106
+ const migration = new D1Migration(
107
+ 'migration',
108
+ {
109
+ accountId,
110
+ databaseId: db.id,
111
+ apiToken,
112
+ sql: 'CREATE TABLE users (id INT)',
113
+ },
114
+ { dependsOn: [db] }
115
+ )
116
+ ```
117
+
118
+ ## Data Sources
119
+
120
+ **Get Zone:**
121
+
122
+ ```typescript
123
+ const zone = cloudflare.getZone({ name: 'example.com' })
124
+ const zoneId = zone.then((z) => z.id)
125
+ ```
126
+
127
+ **Get Accounts (via API):**
128
+ Use Cloudflare API directly or custom dynamic resources.
129
+
130
+ ## Import Existing Resources
131
+
132
+ ```bash
133
+ # Import worker
134
+ pulumi import cloudflare:index/workerScript:WorkerScript my-worker <account_id>/<worker_name>
135
+
136
+ # Import KV namespace
137
+ pulumi import cloudflare:index/workersKvNamespace:WorkersKvNamespace my-kv <namespace_id>
138
+
139
+ # Import R2 bucket
140
+ pulumi import cloudflare:index/r2Bucket:R2Bucket my-bucket <account_id>/<bucket_name>
141
+
142
+ # Import D1 database
143
+ pulumi import cloudflare:index/d1Database:D1Database my-db <account_id>/<database_id>
144
+
145
+ # Import DNS record
146
+ pulumi import cloudflare:index/dnsRecord:DnsRecord my-record <zone_id>/<record_id>
147
+ ```
148
+
149
+ ## Secrets Management
150
+
151
+ ```typescript
152
+ import * as pulumi from '@pulumi/pulumi'
153
+
154
+ const config = new pulumi.Config()
155
+ const apiKey = config.requireSecret('apiKey') // Encrypted in state
156
+
157
+ const worker = new cloudflare.WorkerScript('worker', {
158
+ accountId: accountId,
159
+ name: 'my-worker',
160
+ content: code,
161
+ secretTextBindings: [{ name: 'API_KEY', text: apiKey }],
162
+ })
163
+ ```
164
+
165
+ Store secrets:
166
+
167
+ ```bash
168
+ pulumi config set --secret apiKey "secret-value"
169
+ ```
170
+
171
+ ## Transform Pattern
172
+
173
+ Modify resource args before creation:
174
+
175
+ ```typescript
176
+ import { Transform } from '@pulumi/pulumi'
177
+
178
+ interface BucketArgs {
179
+ accountId: pulumi.Input<string>
180
+ transform?: { bucket?: Transform<cloudflare.R2BucketArgs> }
181
+ }
182
+
183
+ function createBucket(name: string, args: BucketArgs) {
184
+ const bucketArgs: cloudflare.R2BucketArgs = {
185
+ accountId: args.accountId,
186
+ name: name,
187
+ location: 'auto',
188
+ }
189
+ const finalArgs = args.transform?.bucket?.(bucketArgs) ?? bucketArgs
190
+ return new cloudflare.R2Bucket(name, finalArgs)
191
+ }
192
+ ```
193
+
194
+ ## v6.x Worker Versioning Resources
195
+
196
+ **Worker** - Container for versions:
197
+
198
+ ```typescript
199
+ const worker = new cloudflare.Worker('api', { accountId, name: 'api-worker' })
200
+ export const workerId = worker.id
201
+ ```
202
+
203
+ **WorkerVersion** - Immutable code + config:
204
+
205
+ ```typescript
206
+ const version = new cloudflare.WorkerVersion('v1', {
207
+ accountId,
208
+ workerId: worker.id,
209
+ content: fs.readFileSync('./dist/worker.js', 'utf8'),
210
+ compatibilityDate: '2025-01-01',
211
+ })
212
+ export const versionId = version.id
213
+ ```
214
+
215
+ **WorkersDeployment** - Active deployment with bindings:
216
+
217
+ ```typescript
218
+ const deployment = new cloudflare.WorkersDeployment('prod', {
219
+ accountId,
220
+ workerId: worker.id,
221
+ versionId: version.id,
222
+ kvNamespaceBindings: [{ name: 'MY_KV', namespaceId: kv.id }],
223
+ })
224
+ ```
225
+
226
+ **Use:** Advanced deployments (canary, blue-green). Most apps should use `WorkerScript` (auto-versioning).
227
+
228
+ ---
229
+
230
+ See: [README.md](./README.md), [configuration.md](./configuration.md), [patterns.md](./patterns.md), [gotchas.md](./gotchas.md)
@@ -0,0 +1,213 @@
1
+ # Resource Configuration
2
+
3
+ ## Workers (cloudflare.WorkerScript)
4
+
5
+ ```typescript
6
+ import * as cloudflare from '@pulumi/cloudflare'
7
+ import * as fs from 'fs'
8
+
9
+ const worker = new cloudflare.WorkerScript('my-worker', {
10
+ accountId: accountId,
11
+ name: 'my-worker',
12
+ content: fs.readFileSync('./dist/worker.js', 'utf8'),
13
+ module: true, // ES modules
14
+ compatibilityDate: '2025-01-01',
15
+ compatibilityFlags: ['nodejs_compat'],
16
+
17
+ // v6.x: Observability
18
+ logpush: true, // Enable Workers Logpush
19
+ tailConsumers: [{ service: 'log-consumer' }], // Stream logs to Worker
20
+
21
+ // v6.x: Placement
22
+ placement: { mode: 'smart' }, // Smart placement for latency optimization
23
+
24
+ // Bindings
25
+ kvNamespaceBindings: [{ name: 'MY_KV', namespaceId: kv.id }],
26
+ r2BucketBindings: [{ name: 'MY_BUCKET', bucketName: bucket.name }],
27
+ d1DatabaseBindings: [{ name: 'DB', databaseId: db.id }],
28
+ queueBindings: [{ name: 'MY_QUEUE', queue: queue.id }],
29
+ serviceBindings: [{ name: 'OTHER_SERVICE', service: other.name }],
30
+ plainTextBindings: [{ name: 'ENV_VAR', text: 'value' }],
31
+ secretTextBindings: [{ name: 'API_KEY', text: secret }],
32
+
33
+ // v6.x: Advanced bindings
34
+ analyticsEngineBindings: [{ name: 'ANALYTICS', dataset: 'my-dataset' }],
35
+ browserBinding: { name: 'BROWSER' }, // Browser Rendering
36
+ aiBinding: { name: 'AI' }, // Workers AI
37
+ hyperdriveBindings: [{ name: 'HYPERDRIVE', id: hyperdriveConfig.id }],
38
+ })
39
+ ```
40
+
41
+ ## Workers KV (cloudflare.WorkersKvNamespace)
42
+
43
+ ```typescript
44
+ const kv = new cloudflare.WorkersKvNamespace('my-kv', {
45
+ accountId: accountId,
46
+ title: 'my-kv-namespace',
47
+ })
48
+
49
+ // Write values
50
+ const kvValue = new cloudflare.WorkersKvValue('config', {
51
+ accountId: accountId,
52
+ namespaceId: kv.id,
53
+ key: 'config',
54
+ value: JSON.stringify({ foo: 'bar' }),
55
+ })
56
+ ```
57
+
58
+ ## R2 Buckets (cloudflare.R2Bucket)
59
+
60
+ ```typescript
61
+ const bucket = new cloudflare.R2Bucket('my-bucket', {
62
+ accountId: accountId,
63
+ name: 'my-bucket',
64
+ location: 'auto', // or "wnam", etc.
65
+ })
66
+ ```
67
+
68
+ ## D1 Databases (cloudflare.D1Database)
69
+
70
+ ```typescript
71
+ const db = new cloudflare.D1Database('my-db', { accountId, name: 'my-database' })
72
+
73
+ // Migrations via wrangler
74
+ import * as command from '@pulumi/command'
75
+ const migration = new command.local.Command(
76
+ 'd1-migration',
77
+ {
78
+ create: pulumi.interpolate`wrangler d1 execute ${db.name} --file ./schema.sql`,
79
+ },
80
+ { dependsOn: [db] }
81
+ )
82
+ ```
83
+
84
+ ## Queues (cloudflare.Queue)
85
+
86
+ ```typescript
87
+ const queue = new cloudflare.Queue('my-queue', { accountId, name: 'my-queue' })
88
+
89
+ // Producer
90
+ const producer = new cloudflare.WorkerScript('producer', {
91
+ accountId,
92
+ name: 'producer',
93
+ content: code,
94
+ queueBindings: [{ name: 'MY_QUEUE', queue: queue.id }],
95
+ })
96
+
97
+ // Consumer
98
+ const consumer = new cloudflare.WorkerScript('consumer', {
99
+ accountId,
100
+ name: 'consumer',
101
+ content: code,
102
+ queueConsumers: [{ queue: queue.name, maxBatchSize: 10, maxRetries: 3 }],
103
+ })
104
+ ```
105
+
106
+ ## Pages Projects (cloudflare.PagesProject)
107
+
108
+ ```typescript
109
+ const pages = new cloudflare.PagesProject('my-site', {
110
+ accountId,
111
+ name: 'my-site',
112
+ productionBranch: 'main',
113
+ buildConfig: { buildCommand: 'npm run build', destinationDir: 'dist' },
114
+ source: {
115
+ type: 'github',
116
+ config: { owner: 'my-org', repoName: 'my-repo', productionBranch: 'main' },
117
+ },
118
+ deploymentConfigs: {
119
+ production: {
120
+ environmentVariables: { NODE_VERSION: '18' },
121
+ kvNamespaces: { MY_KV: kv.id },
122
+ d1Databases: { DB: db.id },
123
+ },
124
+ },
125
+ })
126
+ ```
127
+
128
+ ## DNS Records (cloudflare.DnsRecord)
129
+
130
+ ```typescript
131
+ const zone = cloudflare.getZone({ name: 'example.com' })
132
+ const record = new cloudflare.DnsRecord('www', {
133
+ zoneId: zone.then((z) => z.id),
134
+ name: 'www',
135
+ type: 'A',
136
+ content: '192.0.2.1',
137
+ ttl: 3600,
138
+ proxied: true,
139
+ })
140
+ ```
141
+
142
+ ## Workers Domains/Routes
143
+
144
+ ```typescript
145
+ // Route (pattern-based)
146
+ const route = new cloudflare.WorkerRoute('my-route', {
147
+ zoneId: zoneId,
148
+ pattern: 'example.com/api/*',
149
+ scriptName: worker.name,
150
+ })
151
+
152
+ // Domain (dedicated subdomain)
153
+ const domain = new cloudflare.WorkersDomain('my-domain', {
154
+ accountId: accountId,
155
+ hostname: 'api.example.com',
156
+ service: worker.name,
157
+ zoneId: zoneId,
158
+ })
159
+ ```
160
+
161
+ ## Assets Configuration (v6.x)
162
+
163
+ Serve static assets from Workers:
164
+
165
+ ```typescript
166
+ const worker = new cloudflare.WorkerScript('app', {
167
+ accountId: accountId,
168
+ name: 'my-app',
169
+ content: code,
170
+ assets: {
171
+ path: './public', // Local directory
172
+ // Assets uploaded and served from Workers
173
+ },
174
+ })
175
+ ```
176
+
177
+ ## v6.x Versioned Deployments (Advanced)
178
+
179
+ For gradual rollouts, use 3-resource pattern:
180
+
181
+ ```typescript
182
+ // 1. Worker (container for versions)
183
+ const worker = new cloudflare.Worker('api', {
184
+ accountId: accountId,
185
+ name: 'api-worker',
186
+ })
187
+
188
+ // 2. Version (immutable code + config)
189
+ const version = new cloudflare.WorkerVersion('v1', {
190
+ accountId: accountId,
191
+ workerId: worker.id,
192
+ content: fs.readFileSync('./dist/worker.js', 'utf8'),
193
+ compatibilityDate: '2025-01-01',
194
+ compatibilityFlags: ['nodejs_compat'],
195
+ // Note: Bindings configured at deployment level
196
+ })
197
+
198
+ // 3. Deployment (version + bindings + traffic split)
199
+ const deployment = new cloudflare.WorkersDeployment('prod', {
200
+ accountId: accountId,
201
+ workerId: worker.id,
202
+ versionId: version.id,
203
+ // Bindings applied to deployment
204
+ kvNamespaceBindings: [{ name: 'MY_KV', namespaceId: kv.id }],
205
+ })
206
+ ```
207
+
208
+ **When to use:** Blue-green deployments, canary releases, gradual rollouts
209
+ **When NOT to use:** Simple single-version deployments (use WorkerScript)
210
+
211
+ ---
212
+
213
+ See: [README.md](./README.md), [api.md](./api.md), [patterns.md](./patterns.md), [gotchas.md](./gotchas.md)