memory-journal-mcp 7.7.1 → 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-6LPTBIB6.js → chunk-MWNLAEHR.js} +309 -4332
  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 +6 -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,195 @@
1
+ # Common Patterns
2
+
3
+ ## AI Code Execution with Code Context
4
+
5
+ ```typescript
6
+ export default {
7
+ async fetch(request: Request, env: Env): Promise<Response> {
8
+ const { code, variables } = await request.json()
9
+ const sandbox = getSandbox(env.Sandbox, 'ai-agent')
10
+
11
+ // Create context with persistent variables
12
+ const ctx = await sandbox.createCodeContext({
13
+ language: 'python',
14
+ variables: variables || {},
15
+ })
16
+
17
+ // Execute with rich outputs (text, images, HTML)
18
+ const result = await ctx.runCode(code)
19
+
20
+ return Response.json({
21
+ outputs: result.outputs, // [{ type: 'text'|'image'|'html', content }]
22
+ error: result.error,
23
+ success: !result.error,
24
+ })
25
+ },
26
+ }
27
+ ```
28
+
29
+ ## Interactive Dev Environment
30
+
31
+ ```typescript
32
+ export default {
33
+ async fetch(request: Request, env: Env): Promise<Response> {
34
+ const proxyResponse = await proxyToSandbox(request, env)
35
+ if (proxyResponse) return proxyResponse
36
+
37
+ const sandbox = getSandbox(env.Sandbox, 'ide', { normalizeId: true })
38
+
39
+ if (request.url.endsWith('/start')) {
40
+ await sandbox.exec('curl -fsSL https://code-server.dev/install.sh | sh')
41
+ await sandbox.startProcess('code-server --bind-addr 0.0.0.0:8080', {
42
+ processId: 'vscode',
43
+ })
44
+
45
+ const exposed = await sandbox.exposePort(8080)
46
+ return Response.json({ url: exposed.url })
47
+ }
48
+
49
+ return new Response('Try /start')
50
+ },
51
+ }
52
+ ```
53
+
54
+ ## WebSocket Real-Time Service
55
+
56
+ ```typescript
57
+ export default {
58
+ async fetch(request: Request, env: Env): Promise<Response> {
59
+ const proxyResponse = await proxyToSandbox(request, env)
60
+ if (proxyResponse) return proxyResponse
61
+
62
+ if (request.headers.get('Upgrade')?.toLowerCase() === 'websocket') {
63
+ const sandbox = getSandbox(env.Sandbox, 'realtime-service')
64
+ return await sandbox.wsConnect(request, 8080)
65
+ }
66
+
67
+ // Non-WebSocket: expose preview URL
68
+ const sandbox = getSandbox(env.Sandbox, 'realtime-service')
69
+ const { url } = await sandbox.exposePort(8080, {
70
+ hostname: new URL(request.url).hostname,
71
+ })
72
+ return Response.json({ wsUrl: url.replace('https', 'wss') })
73
+ },
74
+ }
75
+ ```
76
+
77
+ **Dockerfile**:
78
+
79
+ ```dockerfile
80
+ FROM docker.io/cloudflare/sandbox:latest
81
+ RUN npm install -g ws
82
+ EXPOSE 8080
83
+ ```
84
+
85
+ ## Process Readiness Pattern
86
+
87
+ ```typescript
88
+ export default {
89
+ async fetch(request: Request, env: Env): Promise<Response> {
90
+ const sandbox = getSandbox(env.Sandbox, 'app-server')
91
+
92
+ // Start server
93
+ const process = await sandbox.startProcess('node server.js', { processId: 'server' })
94
+
95
+ // Wait for server to be ready
96
+ await process.waitForPort(8080) // Wait for port listening
97
+
98
+ // Now safe to expose
99
+ const { url } = await sandbox.exposePort(8080)
100
+ return Response.json({ url })
101
+ },
102
+ }
103
+ ```
104
+
105
+ ## Persistent Data with Bucket Mounting
106
+
107
+ ```typescript
108
+ export default {
109
+ async fetch(request: Request, env: Env): Promise<Response> {
110
+ const sandbox = getSandbox(env.Sandbox, 'data-processor')
111
+
112
+ // Mount R2 bucket (production only)
113
+ await sandbox.mountBucket(env.DATA_BUCKET, '/data', {
114
+ readOnly: false,
115
+ })
116
+
117
+ // Process files in bucket
118
+ const result = await sandbox.exec('python3 /workspace/process.py', {
119
+ env: { DATA_DIR: '/data/input' },
120
+ })
121
+
122
+ // Results written to /data/output are persisted in R2
123
+ return Response.json({ success: result.success })
124
+ },
125
+ }
126
+ ```
127
+
128
+ ## CI/CD Pipeline
129
+
130
+ ```typescript
131
+ export default {
132
+ async fetch(request: Request, env: Env): Promise<Response> {
133
+ const { repo, branch } = await request.json()
134
+ const sandbox = getSandbox(env.Sandbox, `ci-${repo}-${Date.now()}`)
135
+
136
+ await sandbox.exec(`git clone -b ${branch} ${repo} /workspace/repo`)
137
+
138
+ const install = await sandbox.exec('npm install', {
139
+ cwd: '/workspace/repo',
140
+ stream: true,
141
+ onOutput: (stream, data) => console.log(data),
142
+ })
143
+
144
+ if (!install.success) {
145
+ return Response.json({ success: false, error: 'Install failed' })
146
+ }
147
+
148
+ const test = await sandbox.exec('npm test', { cwd: '/workspace/repo' })
149
+
150
+ return Response.json({
151
+ success: test.success,
152
+ output: test.stdout,
153
+ exitCode: test.exitCode,
154
+ })
155
+ },
156
+ }
157
+ ```
158
+
159
+ ## Multi-Tenant Pattern
160
+
161
+ ```typescript
162
+ export default {
163
+ async fetch(request: Request, env: Env): Promise<Response> {
164
+ const userId = request.headers.get('X-User-ID')
165
+ const sandbox = getSandbox(env.Sandbox, 'multi-tenant')
166
+
167
+ // Each user gets isolated session
168
+ let session
169
+ try {
170
+ session = await sandbox.getSession(userId)
171
+ } catch {
172
+ session = await sandbox.createSession({
173
+ id: userId,
174
+ cwd: `/workspace/users/${userId}`,
175
+ env: { USER_ID: userId },
176
+ })
177
+ }
178
+
179
+ const code = await request.text()
180
+ const result = await session.exec(`python3 -c "${code}"`)
181
+
182
+ return Response.json({ output: result.stdout })
183
+ },
184
+ }
185
+ ```
186
+
187
+ ## Git Operations
188
+
189
+ ```typescript
190
+ // Clone repo
191
+ await sandbox.exec('git clone https://github.com/user/repo.git /workspace/repo')
192
+
193
+ // Authenticated (use env secrets)
194
+ await sandbox.exec(`git clone https://${env.GITHUB_TOKEN}@github.com/user/repo.git`)
195
+ ```
@@ -0,0 +1,77 @@
1
+ # Cloudflare Secrets Store
2
+
3
+ Account-level encrypted secret management for Workers and AI Gateway.
4
+
5
+ ## Overview
6
+
7
+ **Secrets Store**: Centralized, account-level secrets, reusable across Workers
8
+ **Worker Secrets**: Per-Worker secrets (`wrangler secret put`)
9
+
10
+ ### Architecture
11
+
12
+ - **Store**: Container (1/account in beta)
13
+ - **Secret**: String ≤1024 bytes
14
+ - **Scopes**: Permission boundaries controlling access
15
+ - `workers`: For Workers runtime access
16
+ - `ai-gateway`: For AI Gateway access
17
+ - Secrets must have correct scope for binding to work
18
+ - **Bindings**: Connect secrets via `env` object
19
+
20
+ **Regional Availability**: Global except China Network (unavailable)
21
+
22
+ ### Access Control
23
+
24
+ - **Super Admin**: Full access
25
+ - **Admin**: Create/edit/delete secrets, view metadata
26
+ - **Deployer**: View metadata + bindings
27
+ - **Reporter**: View metadata only
28
+
29
+ API Token permissions: `Account Secrets Store Edit/Read`
30
+
31
+ ### Limits (Beta)
32
+
33
+ - 100 secrets/account
34
+ - 1 store/account
35
+ - 1024 bytes max/secret
36
+ - Production secrets count toward limit
37
+
38
+ ## When to Use
39
+
40
+ **Use Secrets Store when:**
41
+
42
+ - Multiple Workers share same credential
43
+ - Centralized management needed
44
+ - Compliance requires audit trail
45
+ - Team collaboration on secrets
46
+
47
+ **Use Worker Secrets when:**
48
+
49
+ - Secret unique to one Worker
50
+ - Simple single-Worker project
51
+ - No cross-Worker sharing needed
52
+
53
+ ## In This Reference
54
+
55
+ ### Reading Order by Task
56
+
57
+ | Task | Start Here | Then Read |
58
+ | ------------------------ | ---------------------------- | ---------------- |
59
+ | Quick overview | README.md | - |
60
+ | First-time setup | README.md → configuration.md | api.md |
61
+ | Add secret to Worker | configuration.md | api.md |
62
+ | Implement access pattern | api.md | patterns.md |
63
+ | Debug errors | gotchas.md | api.md |
64
+ | Secret rotation | patterns.md | configuration.md |
65
+ | Best practices | gotchas.md | patterns.md |
66
+
67
+ ### Files
68
+
69
+ - [configuration.md](./configuration.md) - Wrangler commands, binding config
70
+ - [api.md](./api.md) - Binding API, get/put/delete operations
71
+ - [patterns.md](./patterns.md) - Rotation, encryption, access control
72
+ - [gotchas.md](./gotchas.md) - Security issues, limits, best practices
73
+
74
+ ## See Also
75
+
76
+ - [workers](../workers/) - Worker bindings integration
77
+ - [wrangler](../wrangler/) - CLI secret management commands
@@ -0,0 +1,199 @@
1
+ # API Reference
2
+
3
+ ## Binding API
4
+
5
+ ### Basic Access
6
+
7
+ **CRITICAL**: Async `.get()` required - secrets NOT directly available.
8
+
9
+ **`.get()` throws on error** - does NOT return null. Always use try/catch.
10
+
11
+ ```typescript
12
+ interface Env {
13
+ API_KEY: { get(): Promise<string> }
14
+ }
15
+
16
+ export default {
17
+ async fetch(request: Request, env: Env): Promise<Response> {
18
+ const apiKey = await env.API_KEY.get()
19
+ return fetch('https://api.example.com', {
20
+ headers: { Authorization: `Bearer ${apiKey}` },
21
+ })
22
+ },
23
+ }
24
+ ```
25
+
26
+ ### Error Handling
27
+
28
+ ```typescript
29
+ export default {
30
+ async fetch(request: Request, env: Env): Promise<Response> {
31
+ try {
32
+ const apiKey = await env.API_KEY.get()
33
+ return fetch('https://api.example.com', {
34
+ headers: { Authorization: `Bearer ${apiKey}` },
35
+ })
36
+ } catch (error) {
37
+ console.error('Secret access failed:', error)
38
+ return new Response('Configuration error', { status: 500 })
39
+ }
40
+ },
41
+ }
42
+ ```
43
+
44
+ ### Multiple Secrets & Patterns
45
+
46
+ ```typescript
47
+ // Parallel fetch
48
+ const [stripeKey, sendgridKey] = await Promise.all([env.STRIPE_KEY.get(), env.SENDGRID_KEY.get()])
49
+
50
+ // ❌ Missing .get()
51
+ const key = env.API_KEY
52
+
53
+ // ❌ Module-level cache
54
+ const CACHED_KEY = await env.API_KEY.get() // Fails
55
+
56
+ // ✅ Request-scope cache
57
+ const key = await env.API_KEY.get() // OK - reuse within request
58
+ ```
59
+
60
+ ## REST API
61
+
62
+ Base: `https://api.cloudflare.com/client/v4`
63
+
64
+ ### Auth
65
+
66
+ ```bash
67
+ curl -H "Authorization: Bearer $CF_TOKEN" \
68
+ https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secrets_store/stores
69
+ ```
70
+
71
+ ### Store Operations
72
+
73
+ ```bash
74
+ # List
75
+ GET /accounts/{account_id}/secrets_store/stores
76
+
77
+ # Create
78
+ POST /accounts/{account_id}/secrets_store/stores
79
+ {"name": "my-store"}
80
+
81
+ # Delete
82
+ DELETE /accounts/{account_id}/secrets_store/stores/{store_id}
83
+ ```
84
+
85
+ ### Secret Operations
86
+
87
+ ```bash
88
+ # List
89
+ GET /accounts/{account_id}/secrets_store/stores/{store_id}/secrets
90
+
91
+ # Create (single)
92
+ POST /accounts/{account_id}/secrets_store/stores/{store_id}/secrets
93
+ {
94
+ "name": "my_secret",
95
+ "value": "secret_value",
96
+ "scopes": ["workers"],
97
+ "comment": "Optional"
98
+ }
99
+
100
+ # Create (batch)
101
+ POST /accounts/{account_id}/secrets_store/stores/{store_id}/secrets
102
+ [
103
+ {"name": "secret_one", "value": "val1", "scopes": ["workers"]},
104
+ {"name": "secret_two", "value": "val2", "scopes": ["workers", "ai-gateway"]}
105
+ ]
106
+
107
+ # Get metadata
108
+ GET /accounts/{account_id}/secrets_store/stores/{store_id}/secrets/{secret_id}
109
+
110
+ # Update
111
+ PATCH /accounts/{account_id}/secrets_store/stores/{store_id}/secrets/{secret_id}
112
+ {"value": "new_value", "comment": "Updated"}
113
+
114
+ # Delete (single)
115
+ DELETE /accounts/{account_id}/secrets_store/stores/{store_id}/secrets/{secret_id}
116
+
117
+ # Delete (batch)
118
+ DELETE /accounts/{account_id}/secrets_store/stores/{store_id}/secrets
119
+ {"secret_ids": ["id-1", "id-2"]}
120
+
121
+ # Duplicate
122
+ POST /accounts/{account_id}/secrets_store/stores/{store_id}/secrets/{secret_id}/duplicate
123
+ {"name": "new_name"}
124
+
125
+ # Quota
126
+ GET /accounts/{account_id}/secrets_store/quota
127
+ ```
128
+
129
+ ### Responses
130
+
131
+ Success:
132
+
133
+ ```json
134
+ {
135
+ "success": true,
136
+ "result": {
137
+ "id": "secret-id-123",
138
+ "name": "my_secret",
139
+ "created": "2025-01-11T12:00:00Z",
140
+ "scopes": ["workers"]
141
+ }
142
+ }
143
+ ```
144
+
145
+ Error:
146
+
147
+ ```json
148
+ {
149
+ "success": false,
150
+ "errors": [{ "code": 10000, "message": "Name exists" }]
151
+ }
152
+ ```
153
+
154
+ ## TypeScript Helpers
155
+
156
+ Official types available via `@cloudflare/workers-types`:
157
+
158
+ ```typescript
159
+ import type { SecretsStoreSecret } from '@cloudflare/workers-types'
160
+
161
+ interface Env {
162
+ STRIPE_API_KEY: SecretsStoreSecret
163
+ DATABASE_URL: SecretsStoreSecret
164
+ WORKER_SECRET: string // Regular Worker secret (direct access)
165
+ }
166
+ ```
167
+
168
+ Custom helper type:
169
+
170
+ ```typescript
171
+ interface SecretsStoreBinding {
172
+ get(): Promise<string>
173
+ }
174
+
175
+ // Fallback helper
176
+ async function getSecretWithFallback(
177
+ primary: SecretsStoreBinding,
178
+ fallback?: SecretsStoreBinding
179
+ ): Promise<string> {
180
+ try {
181
+ return await primary.get()
182
+ } catch (error) {
183
+ if (fallback) return await fallback.get()
184
+ throw error
185
+ }
186
+ }
187
+
188
+ // Batch helper
189
+ async function getAllSecrets(
190
+ secrets: Record<string, SecretsStoreBinding>
191
+ ): Promise<Record<string, string>> {
192
+ const entries = await Promise.all(
193
+ Object.entries(secrets).map(async ([k, v]) => [k, await v.get()])
194
+ )
195
+ return Object.fromEntries(entries)
196
+ }
197
+ ```
198
+
199
+ See: [configuration.md](./configuration.md), [patterns.md](./patterns.md), [gotchas.md](./gotchas.md)
@@ -0,0 +1,187 @@
1
+ # Configuration
2
+
3
+ ## Wrangler Config
4
+
5
+ ### Basic Binding
6
+
7
+ **wrangler.jsonc**:
8
+
9
+ ```jsonc
10
+ {
11
+ "secrets_store_secrets": [
12
+ {
13
+ "binding": "API_KEY",
14
+ "store_id": "abc123",
15
+ "secret_name": "stripe_api_key",
16
+ },
17
+ ],
18
+ }
19
+ ```
20
+
21
+ **wrangler.toml** (alternative):
22
+
23
+ ```toml
24
+ [[secrets_store_secrets]]
25
+ binding = "API_KEY"
26
+ store_id = "abc123"
27
+ secret_name = "stripe_api_key"
28
+ ```
29
+
30
+ Fields:
31
+
32
+ - `binding`: Variable name for `env` access
33
+ - `store_id`: From `wrangler secrets-store store list`
34
+ - `secret_name`: Identifier (no spaces)
35
+
36
+ ### Environment-Specific
37
+
38
+ **wrangler.jsonc**:
39
+
40
+ ```jsonc
41
+ {
42
+ "env": {
43
+ "production": {
44
+ "secrets_store_secrets": [
45
+ {
46
+ "binding": "API_KEY",
47
+ "store_id": "prod-store",
48
+ "secret_name": "prod_api_key",
49
+ },
50
+ ],
51
+ },
52
+ "staging": {
53
+ "secrets_store_secrets": [
54
+ {
55
+ "binding": "API_KEY",
56
+ "store_id": "staging-store",
57
+ "secret_name": "staging_api_key",
58
+ },
59
+ ],
60
+ },
61
+ },
62
+ }
63
+ ```
64
+
65
+ **wrangler.toml** (alternative):
66
+
67
+ ```toml
68
+ [env.production]
69
+ [[env.production.secrets_store_secrets]]
70
+ binding = "API_KEY"
71
+ store_id = "prod-store"
72
+ secret_name = "prod_api_key"
73
+
74
+ [env.staging]
75
+ [[env.staging.secrets_store_secrets]]
76
+ binding = "API_KEY"
77
+ store_id = "staging-store"
78
+ secret_name = "staging_api_key"
79
+ ```
80
+
81
+ ## Wrangler Commands
82
+
83
+ ### Store Management
84
+
85
+ ```bash
86
+ wrangler secrets-store store list
87
+ wrangler secrets-store store create my-store --remote
88
+ wrangler secrets-store store delete <store-id> --remote
89
+ ```
90
+
91
+ ### Secret Management (Production)
92
+
93
+ ```bash
94
+ # Create (interactive)
95
+ wrangler secrets-store secret create <store-id> \
96
+ --name MY_SECRET --scopes workers --remote
97
+
98
+ # Create (piped)
99
+ cat secret.txt | wrangler secrets-store secret create <store-id> \
100
+ --name MY_SECRET --scopes workers --remote
101
+
102
+ # List/get/update/delete
103
+ wrangler secrets-store secret list <store-id> --remote
104
+ wrangler secrets-store secret get <store-id> --name MY_SECRET --remote
105
+ wrangler secrets-store secret update <store-id> --name MY_SECRET --new-value "val" --remote
106
+ wrangler secrets-store secret delete <store-id> --name MY_SECRET --remote
107
+
108
+ # Duplicate
109
+ wrangler secrets-store secret duplicate <store-id> \
110
+ --name ORIG --new-name COPY --remote
111
+ ```
112
+
113
+ ### Local Development
114
+
115
+ **CRITICAL**: Production secrets (`--remote`) NOT accessible in local dev.
116
+
117
+ ```bash
118
+ # Create local-only (no --remote)
119
+ wrangler secrets-store secret create <store-id> --name DEV_KEY --scopes workers
120
+
121
+ wrangler dev # Uses local secrets
122
+ wrangler deploy # Uses production secrets
123
+ ```
124
+
125
+ Best practice: Separate names for local/prod:
126
+
127
+ ```jsonc
128
+ {
129
+ "env": {
130
+ "development": {
131
+ "secrets_store_secrets": [
132
+ { "binding": "API_KEY", "store_id": "store", "secret_name": "dev_api_key" },
133
+ ],
134
+ },
135
+ "production": {
136
+ "secrets_store_secrets": [
137
+ { "binding": "API_KEY", "store_id": "store", "secret_name": "prod_api_key" },
138
+ ],
139
+ },
140
+ },
141
+ }
142
+ ```
143
+
144
+ ## Dashboard
145
+
146
+ ### Creating Secrets
147
+
148
+ 1. **Secrets Store** → **Create secret**
149
+ 2. Fill: Name (no spaces), Value, Scope (`Workers`), Comment
150
+ 3. **Save** (value hidden after)
151
+
152
+ ### Adding Bindings
153
+
154
+ **Method 1**: Worker → Settings → Bindings → Add → Secrets Store
155
+ **Method 2**: Create secret directly from Worker settings dropdown
156
+
157
+ Deploy options:
158
+
159
+ - **Deploy**: Immediate 100%
160
+ - **Save version**: Gradual rollout
161
+
162
+ ## CI/CD
163
+
164
+ ### GitHub Actions
165
+
166
+ ```yaml
167
+ - name: Create secret
168
+ env:
169
+ CLOUDFLARE_API_TOKEN: ${{ secrets.CF_TOKEN }}
170
+ run: |
171
+ echo "${{ secrets.API_KEY }}" | \
172
+ npx wrangler secrets-store secret create $STORE_ID \
173
+ --name API_KEY --scopes workers --remote
174
+
175
+ - name: Deploy
176
+ run: npx wrangler deploy
177
+ ```
178
+
179
+ ### GitLab CI
180
+
181
+ ```yaml
182
+ script:
183
+ - echo "$API_KEY_VALUE" | npx wrangler secrets-store secret create $STORE_ID --name API_KEY --scopes workers --remote
184
+ - npx wrangler deploy
185
+ ```
186
+
187
+ See: [api.md](./api.md), [patterns.md](./patterns.md)