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,205 @@
1
+ # Workerd Patterns
2
+
3
+ ## Multi-Service Architecture
4
+
5
+ ```capnp
6
+ const config :Workerd.Config = (
7
+ services = [
8
+ (name = "frontend", worker = (
9
+ modules = [(name = "index.js", esModule = embed "frontend/index.js")],
10
+ compatibilityDate = "2024-01-15",
11
+ bindings = [(name = "API", service = "api")]
12
+ )),
13
+ (name = "api", worker = (
14
+ modules = [(name = "index.js", esModule = embed "api/index.js")],
15
+ compatibilityDate = "2024-01-15",
16
+ bindings = [(name = "DB", service = "postgres"), (name = "CACHE", kvNamespace = "kv")]
17
+ )),
18
+ (name = "postgres", external = (address = "db.internal:5432", http = ())),
19
+ (name = "kv", disk = (path = "/var/kv", writable = true))
20
+ ],
21
+ sockets = [(name = "http", address = "*:8080", http = (), service = "frontend")]
22
+ );
23
+ ```
24
+
25
+ ## Durable Objects
26
+
27
+ ```capnp
28
+ const worker :Workerd.Worker = (
29
+ modules = [(name = "index.js", esModule = embed "index.js"), (name = "room.js", esModule = embed "room.js")],
30
+ compatibilityDate = "2024-01-15",
31
+ bindings = [(name = "ROOMS", durableObjectNamespace = "Room")],
32
+ durableObjectNamespaces = [(className = "Room", uniqueKey = "v1")],
33
+ durableObjectStorage = (localDisk = "/var/do")
34
+ );
35
+ ```
36
+
37
+ ## Dev vs Prod Configs
38
+
39
+ ```capnp
40
+ # Use parameter bindings for env-specific config
41
+ const baseWorker :Workerd.Worker = (
42
+ modules = [(name = "index.js", esModule = embed "src/index.js")],
43
+ compatibilityDate = "2024-01-15",
44
+ bindings = [(name = "API_URL", parameter = (type = text))]
45
+ );
46
+
47
+ const prodWorker :Workerd.Worker = (
48
+ inherit = "base-service",
49
+ bindings = [(name = "API_URL", text = "https://api.prod.com")]
50
+ );
51
+ ```
52
+
53
+ ## HTTP Reverse Proxy
54
+
55
+ ```capnp
56
+ services = [
57
+ (name = "proxy", worker = (serviceWorkerScript = embed "proxy.js", compatibilityDate = "2024-01-15", bindings = [(name = "BACKEND", service = "backend")])),
58
+ (name = "backend", external = (address = "internal:8080", http = ()))
59
+ ]
60
+ ```
61
+
62
+ ## Local Development
63
+
64
+ **Recommended:** Use Wrangler
65
+
66
+ ```bash
67
+ wrangler dev # Uses workerd internally
68
+ ```
69
+
70
+ **Direct workerd:**
71
+
72
+ ```bash
73
+ workerd serve config.capnp --socket-addr http=*:3000 --verbose
74
+ ```
75
+
76
+ **Environment variables:**
77
+
78
+ ```capnp
79
+ bindings = [(name = "DATABASE_URL", fromEnvironment = "DATABASE_URL")]
80
+ ```
81
+
82
+ ## Testing
83
+
84
+ ```bash
85
+ workerd test config.capnp
86
+ workerd test config.capnp --test-only=test.js
87
+ ```
88
+
89
+ Test files must be included in `modules = [...]` config.
90
+
91
+ ## Production Deployment
92
+
93
+ ### Compiled Binary (Recommended)
94
+
95
+ ```bash
96
+ workerd compile config.capnp myConfig -o production-server
97
+ ./production-server
98
+ ```
99
+
100
+ ### Docker
101
+
102
+ ```dockerfile
103
+ FROM debian:bookworm-slim
104
+ RUN apt-get update && apt-get install -y ca-certificates
105
+ COPY workerd /usr/local/bin/
106
+ COPY config.capnp /etc/workerd/
107
+ COPY src/ /etc/workerd/src/
108
+ EXPOSE 8080
109
+ CMD ["workerd", "serve", "/etc/workerd/config.capnp"]
110
+ ```
111
+
112
+ ### Systemd
113
+
114
+ ```ini
115
+ # /etc/systemd/system/workerd.service
116
+ [Service]
117
+ ExecStart=/usr/bin/workerd serve /etc/workerd/config.capnp --socket-fd http=3
118
+ Restart=always
119
+ User=nobody
120
+ ```
121
+
122
+ See systemd socket activation docs for complete setup.
123
+
124
+ ## Framework Integration
125
+
126
+ ### Hono
127
+
128
+ ```javascript
129
+ import { Hono } from 'hono'
130
+
131
+ const app = new Hono()
132
+
133
+ app.get('/', (c) => c.text('Hello Hono!'))
134
+ app.get('/api/:id', async (c) => {
135
+ const id = c.req.param('id')
136
+ const data = await c.env.KV.get(id)
137
+ return c.json({ id, data })
138
+ })
139
+
140
+ export default app
141
+ ```
142
+
143
+ ### itty-router
144
+
145
+ ```javascript
146
+ import { Router } from 'itty-router'
147
+
148
+ const router = Router()
149
+
150
+ router.get('/', () => new Response('Hello itty!'))
151
+ router.get('/api/:id', async (request, env) => {
152
+ const { id } = request.params
153
+ const data = await env.KV.get(id)
154
+ return Response.json({ id, data })
155
+ })
156
+
157
+ export default {
158
+ fetch: (request, env, ctx) => router.handle(request, env, ctx),
159
+ }
160
+ ```
161
+
162
+ ## Best Practices
163
+
164
+ 1. **Use ES modules** over service worker syntax
165
+ 2. **Explicit bindings** - no global namespace assumptions
166
+ 3. **Type safety** - define `Env` interfaces (use `wrangler types`)
167
+ 4. **Service isolation** - split concerns into multiple services
168
+ 5. **Pin compat date** in production after testing
169
+ 6. **Use ctx.waitUntil()** for background tasks
170
+ 7. **Handle errors gracefully** with try/catch
171
+ 8. **Configure resource limits** on caches/storage
172
+
173
+ ## Common Patterns
174
+
175
+ ### Error Handling
176
+
177
+ ```javascript
178
+ export default {
179
+ async fetch(request, env, ctx) {
180
+ try {
181
+ return await handleRequest(request, env)
182
+ } catch (error) {
183
+ console.error('Request failed', error)
184
+ return new Response('Internal Error', { status: 500 })
185
+ }
186
+ },
187
+ }
188
+ ```
189
+
190
+ ### Background Tasks
191
+
192
+ ```javascript
193
+ export default {
194
+ async fetch(request, env, ctx) {
195
+ const response = new Response('OK')
196
+
197
+ // Fire-and-forget background work
198
+ ctx.waitUntil(env.ANALYTICS.put(request.url, Date.now()))
199
+
200
+ return response
201
+ },
202
+ }
203
+ ```
204
+
205
+ See [configuration.md](./configuration.md) for config syntax, [api.md](./api.md) for runtime APIs, [gotchas.md](./gotchas.md) for common errors.
@@ -0,0 +1,110 @@
1
+ # Cloudflare Workers
2
+
3
+ Expert guidance for building, deploying, and optimizing Cloudflare Workers applications.
4
+
5
+ ## Overview
6
+
7
+ Cloudflare Workers run on V8 isolates (NOT containers/VMs):
8
+
9
+ - Extremely fast cold starts (< 1ms)
10
+ - Global deployment across 300+ locations
11
+ - Web standards compliant (fetch, URL, Headers, Request, Response)
12
+ - Support JS/TS, Python, Rust, and WebAssembly
13
+
14
+ **Key principle**: Workers use web platform APIs wherever possible for portability.
15
+
16
+ ## Module Worker Pattern (Recommended)
17
+
18
+ ```typescript
19
+ export default {
20
+ async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
21
+ return new Response('Hello World!')
22
+ },
23
+ }
24
+ ```
25
+
26
+ **Handler parameters**:
27
+
28
+ - `request`: Incoming HTTP request (standard Request object)
29
+ - `env`: Environment bindings (KV, D1, R2, secrets, vars)
30
+ - `ctx`: Execution context (`waitUntil`, `passThroughOnException`)
31
+
32
+ ## Essential Commands
33
+
34
+ ```bash
35
+ npx wrangler dev # Local dev
36
+ npx wrangler dev --remote # Remote dev (actual resources)
37
+ npx wrangler deploy # Production
38
+ npx wrangler deploy --env staging # Specific environment
39
+ npx wrangler tail # Stream logs
40
+ npx wrangler secret put API_KEY # Set secret
41
+ ```
42
+
43
+ ## When to Use Workers
44
+
45
+ - API endpoints at the edge
46
+ - Request/response transformation
47
+ - Authentication/authorization layers
48
+ - Static asset optimization
49
+ - A/B testing and feature flags
50
+ - Rate limiting and security
51
+ - Proxy/routing logic
52
+ - WebSocket applications
53
+
54
+ ## Quick Start
55
+
56
+ ```bash
57
+ npm create cloudflare@latest my-worker -- --type hello-world
58
+ cd my-worker
59
+ npx wrangler dev
60
+ ```
61
+
62
+ ## Handler Signatures
63
+
64
+ ```typescript
65
+ // HTTP requests
66
+ async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response>
67
+
68
+ // Cron triggers
69
+ async scheduled(event: ScheduledEvent, env: Env, ctx: ExecutionContext): Promise<void>
70
+
71
+ // Queue consumer
72
+ async queue(batch: MessageBatch, env: Env, ctx: ExecutionContext): Promise<void>
73
+
74
+ // Tail consumer
75
+ async tail(events: TraceItem[], env: Env, ctx: ExecutionContext): Promise<void>
76
+ ```
77
+
78
+ ## Resources
79
+
80
+ **Docs**: https://developers.cloudflare.com/workers/
81
+ **Examples**: https://developers.cloudflare.com/workers/examples/
82
+ **Runtime APIs**: https://developers.cloudflare.com/workers/runtime-apis/
83
+
84
+ ## In This Reference
85
+
86
+ - [Configuration](./configuration.md) - wrangler.jsonc setup, bindings, environments
87
+ - [API](./api.md) - Runtime APIs, bindings, execution context
88
+ - [Patterns](./patterns.md) - Common workflows, testing, optimization
89
+ - [Frameworks](./frameworks.md) - Hono, routing, validation
90
+ - [Gotchas](./gotchas.md) - Common issues, limits, troubleshooting
91
+
92
+ ## Reading Order
93
+
94
+ | Task | Start With | Then Read |
95
+ | ----------------------- | ----------------------------------- | --------------------------- |
96
+ | First Worker | README → Configuration → API | Patterns |
97
+ | Add framework | Frameworks | Configuration (bindings) |
98
+ | Add storage/bindings | Configuration → API (binding usage) | See Also links |
99
+ | Debug issues | Gotchas | API (specific binding docs) |
100
+ | Production optimization | Patterns | API (caching, streaming) |
101
+ | Type safety | Configuration (TypeScript) | Frameworks (Hono typing) |
102
+
103
+ ## See Also
104
+
105
+ - [KV](../kv/README.md) - Key-value storage
106
+ - [D1](../d1/README.md) - SQL database
107
+ - [R2](../r2/README.md) - Object storage
108
+ - [Durable Objects](../durable-objects/README.md) - Stateful coordination
109
+ - [Queues](../queues/README.md) - Message queues
110
+ - [Wrangler](../wrangler/README.md) - CLI tool reference
@@ -0,0 +1,197 @@
1
+ # Workers Runtime APIs
2
+
3
+ ## Fetch Handler
4
+
5
+ ```typescript
6
+ export default {
7
+ async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
8
+ const url = new URL(request.url)
9
+ if (request.method === 'POST' && url.pathname === '/api') {
10
+ const body = await request.json()
11
+ return new Response(JSON.stringify({ id: 1 }), {
12
+ headers: { 'Content-Type': 'application/json' },
13
+ })
14
+ }
15
+ return fetch(request) // Subrequest to origin
16
+ },
17
+ }
18
+ ```
19
+
20
+ ## Execution Context
21
+
22
+ ```typescript
23
+ ctx.waitUntil(logAnalytics(request)) // Background work, don't block response
24
+ ctx.passThroughOnException() // Failover to origin on error
25
+ ```
26
+
27
+ **Never** `await` background operations - use `ctx.waitUntil()`.
28
+
29
+ ## Bindings
30
+
31
+ ```typescript
32
+ // KV
33
+ await env.MY_KV.get('key')
34
+ await env.MY_KV.put('key', 'value', { expirationTtl: 3600 })
35
+
36
+ // R2
37
+ const obj = await env.MY_BUCKET.get('file.txt')
38
+ await env.MY_BUCKET.put('file.txt', 'content')
39
+
40
+ // D1
41
+ const result = await env.DB.prepare('SELECT * FROM users WHERE id = ?').bind(1).first()
42
+
43
+ // D1 Sessions (2024+) - read-after-write consistency
44
+ const session = env.DB.withSession()
45
+ await session.prepare('INSERT INTO users (name) VALUES (?)').bind('Alice').run()
46
+ const user = await session.prepare('SELECT * FROM users WHERE name = ?').bind('Alice').first() // Guaranteed fresh
47
+
48
+ // Queues
49
+ await env.MY_QUEUE.send({ timestamp: Date.now() })
50
+
51
+ // Secrets/vars
52
+ const key = env.API_KEY
53
+ ```
54
+
55
+ ## Cache API
56
+
57
+ ```typescript
58
+ const cache = caches.default
59
+ let response = await cache.match(request)
60
+
61
+ if (!response) {
62
+ response = await fetch(request)
63
+ response = new Response(response.body, response)
64
+ response.headers.set('Cache-Control', 'max-age=3600')
65
+ ctx.waitUntil(cache.put(request, response.clone())) // Clone before caching
66
+ }
67
+ ```
68
+
69
+ ## HTMLRewriter
70
+
71
+ ```typescript
72
+ return new HTMLRewriter()
73
+ .on('a[href]', {
74
+ element(el) {
75
+ const href = el.getAttribute('href')
76
+ if (href?.startsWith('http://')) {
77
+ el.setAttribute('href', href.replace('http://', 'https://'))
78
+ }
79
+ },
80
+ })
81
+ .transform(response)
82
+ ```
83
+
84
+ **Use cases**: A/B testing, analytics injection, link rewriting
85
+
86
+ ## WebSockets
87
+
88
+ ### Standard WebSocket
89
+
90
+ ```typescript
91
+ const [client, server] = Object.values(new WebSocketPair())
92
+
93
+ server.accept()
94
+ server.addEventListener('message', (event) => {
95
+ server.send(`Echo: ${event.data}`)
96
+ })
97
+
98
+ return new Response(null, { status: 101, webSocket: client })
99
+ ```
100
+
101
+ ### WebSocket Hibernation (Recommended for idle connections)
102
+
103
+ ```typescript
104
+ // In Durable Object
105
+ export class WebSocketDO {
106
+ async webSocketMessage(ws: WebSocket, message: string) {
107
+ ws.send(`Echo: ${message}`)
108
+ }
109
+
110
+ async webSocketClose(ws: WebSocket, code: number, reason: string) {
111
+ // Cleanup on close
112
+ }
113
+
114
+ async webSocketError(ws: WebSocket, error: Error) {
115
+ console.error('WebSocket error:', error)
116
+ }
117
+ }
118
+ ```
119
+
120
+ Hibernation automatically suspends inactive connections (no CPU cost), wakes on events
121
+
122
+ ## Durable Objects
123
+
124
+ ### RPC Pattern (Recommended 2024+)
125
+
126
+ ```typescript
127
+ export class Counter {
128
+ private value = 0
129
+
130
+ constructor(private state: DurableObjectState) {
131
+ state.blockConcurrencyWhile(async () => {
132
+ this.value = (await state.storage.get('value')) || 0
133
+ })
134
+ }
135
+
136
+ // Export methods directly - called via RPC (type-safe, zero serialization)
137
+ async increment(): Promise<number> {
138
+ this.value++
139
+ await this.state.storage.put('value', this.value)
140
+ return this.value
141
+ }
142
+
143
+ async getValue(): Promise<number> {
144
+ return this.value
145
+ }
146
+ }
147
+
148
+ // Worker usage:
149
+ const stub = env.COUNTER.get(env.COUNTER.idFromName('global'))
150
+ const count = await stub.increment() // Direct method call, full type safety
151
+ ```
152
+
153
+ ### Legacy Fetch Pattern (Pre-2024)
154
+
155
+ ```typescript
156
+ async fetch(request: Request): Promise<Response> {
157
+ const url = new URL(request.url);
158
+ if (url.pathname === '/increment') {
159
+ await this.state.storage.put('value', ++this.value);
160
+ }
161
+ return new Response(String(this.value));
162
+ }
163
+ // Usage: await stub.fetch('http://x/increment')
164
+ ```
165
+
166
+ **When to use DOs**: Real-time collaboration, rate limiting, strongly consistent state
167
+
168
+ ## Other Handlers
169
+
170
+ ```typescript
171
+ // Cron: async scheduled(event, env, ctx) { ctx.waitUntil(doCleanup(env)); }
172
+ // Queue: async queue(batch) { for (const msg of batch.messages) { await process(msg.body); msg.ack(); } }
173
+ // Tail: async tail(events, env) { for (const e of events) if (e.outcome === 'exception') await log(e); }
174
+ ```
175
+
176
+ ## Service Bindings
177
+
178
+ ```typescript
179
+ // Worker-to-worker RPC (zero latency, no internet round-trip)
180
+ return env.SERVICE_B.fetch(request)
181
+
182
+ // With RPC (2024+) - same as Durable Objects RPC
183
+ export class ServiceWorker {
184
+ async getData() {
185
+ return { data: 'value' }
186
+ }
187
+ }
188
+ // Usage: const data = await env.SERVICE_B.getData();
189
+ ```
190
+
191
+ **Benefits**: Type-safe method calls, no HTTP overhead, share code between Workers
192
+
193
+ ## See Also
194
+
195
+ - [Configuration](./configuration.md) - Binding setup
196
+ - [Patterns](./patterns.md) - Common workflows
197
+ - [KV](../kv/README.md), [D1](../d1/README.md), [R2](../r2/README.md), [Durable Objects](../durable-objects/README.md), [Queues](../queues/README.md)
@@ -0,0 +1,184 @@
1
+ # Workers Configuration
2
+
3
+ ## wrangler.jsonc (Recommended)
4
+
5
+ ```jsonc
6
+ {
7
+ "$schema": "./node_modules/wrangler/config-schema.json",
8
+ "name": "my-worker",
9
+ "main": "src/index.ts",
10
+ "compatibility_date": "2025-01-01", // Use current date for new projects
11
+
12
+ // Bindings (non-inheritable)
13
+ "vars": { "ENVIRONMENT": "production" },
14
+ "kv_namespaces": [{ "binding": "MY_KV", "id": "abc123" }],
15
+ "r2_buckets": [{ "binding": "MY_BUCKET", "bucket_name": "my-bucket" }],
16
+ "d1_databases": [{ "binding": "DB", "database_name": "my-db", "database_id": "xyz789" }],
17
+
18
+ // Environments
19
+ "env": {
20
+ "staging": {
21
+ "vars": { "ENVIRONMENT": "staging" },
22
+ "kv_namespaces": [{ "binding": "MY_KV", "id": "staging-id" }],
23
+ },
24
+ },
25
+ }
26
+ ```
27
+
28
+ ## Configuration Rules
29
+
30
+ **Inheritable**: `name`, `main`, `compatibility_date`, `routes`, `workers_dev`
31
+ **Non-inheritable**: All bindings (`vars`, `kv_namespaces`, `r2_buckets`, etc.)
32
+ **Top-level only**: `migrations`, `keep_vars`, `send_metrics`
33
+
34
+ **ALWAYS set `compatibility_date` to current date for new projects**
35
+
36
+ ## Bindings
37
+
38
+ ```jsonc
39
+ {
40
+ // Environment variables - access via env.VAR_NAME
41
+ "vars": { "ENVIRONMENT": "production" },
42
+
43
+ // KV (key-value storage)
44
+ "kv_namespaces": [{ "binding": "MY_KV", "id": "abc123" }],
45
+
46
+ // R2 (object storage)
47
+ "r2_buckets": [{ "binding": "MY_BUCKET", "bucket_name": "my-bucket" }],
48
+
49
+ // D1 (SQL database)
50
+ "d1_databases": [{ "binding": "DB", "database_name": "my-db", "database_id": "xyz789" }],
51
+
52
+ // Durable Objects (stateful coordination)
53
+ "durable_objects": {
54
+ "bindings": [{ "name": "COUNTER", "class_name": "Counter" }],
55
+ },
56
+
57
+ // Queues (message queues)
58
+ "queues": {
59
+ "producers": [{ "binding": "MY_QUEUE", "queue": "my-queue" }],
60
+ "consumers": [{ "queue": "my-queue", "max_batch_size": 10 }],
61
+ },
62
+
63
+ // Service bindings (worker-to-worker RPC)
64
+ "services": [{ "binding": "SERVICE_B", "service": "service-b" }],
65
+
66
+ // Analytics Engine
67
+ "analytics_engine_datasets": [{ "binding": "ANALYTICS" }],
68
+ }
69
+ ```
70
+
71
+ ### Secrets
72
+
73
+ Set via CLI (never in config):
74
+
75
+ ```bash
76
+ npx wrangler secret put API_KEY
77
+ ```
78
+
79
+ Access: `env.API_KEY`
80
+
81
+ ### Automatic Provisioning (Beta)
82
+
83
+ Bindings without IDs are auto-created:
84
+
85
+ ```jsonc
86
+ { "kv_namespaces": [{ "binding": "MY_KV" }] } // ID added on deploy
87
+ ```
88
+
89
+ ## Routes & Triggers
90
+
91
+ ```jsonc
92
+ {
93
+ "routes": [{ "pattern": "example.com/*", "zone_name": "example.com" }],
94
+ "triggers": {
95
+ "crons": ["0 */6 * * *"], // Every 6 hours
96
+ },
97
+ }
98
+ ```
99
+
100
+ ## TypeScript Setup
101
+
102
+ ### Automatic Type Generation (Recommended)
103
+
104
+ ```bash
105
+ npm install -D @cloudflare/workers-types
106
+ npx wrangler types # Generates .wrangler/types/runtime.d.ts from wrangler.jsonc
107
+ ```
108
+
109
+ `tsconfig.json`:
110
+
111
+ ```jsonc
112
+ {
113
+ "compilerOptions": {
114
+ "target": "ES2022",
115
+ "lib": ["ES2022"],
116
+ "types": ["@cloudflare/workers-types"],
117
+ },
118
+ "include": [".wrangler/types/**/*.ts", "src/**/*"],
119
+ }
120
+ ```
121
+
122
+ Import generated types:
123
+
124
+ ```typescript
125
+ import type { Env } from './.wrangler/types/runtime'
126
+
127
+ export default {
128
+ async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
129
+ await env.MY_KV.get('key') // Fully typed, autocomplete works
130
+ return new Response('OK')
131
+ },
132
+ }
133
+ ```
134
+
135
+ Re-run `npx wrangler types` after changing bindings in wrangler.jsonc
136
+
137
+ ### Manual Type Definition (Legacy)
138
+
139
+ ```typescript
140
+ interface Env {
141
+ MY_KV: KVNamespace
142
+ DB: D1Database
143
+ API_KEY: string
144
+ }
145
+ ```
146
+
147
+ ## Advanced Options
148
+
149
+ ```jsonc
150
+ {
151
+ // Auto-locate compute near data sources
152
+ "placement": { "mode": "smart" },
153
+
154
+ // Enable Node.js built-ins (Buffer, process, path, etc.)
155
+ "compatibility_flags": ["nodejs_compat_v2"],
156
+
157
+ // Observability (10% sampling)
158
+ "observability": { "enabled": true, "head_sampling_rate": 0.1 },
159
+ }
160
+ ```
161
+
162
+ ### Node.js Compatibility
163
+
164
+ `nodejs_compat_v2` enables:
165
+
166
+ - `Buffer`, `process.env`, `path`, `stream`
167
+ - CommonJS `require()` for Node modules
168
+ - `node:` imports (e.g., `import { Buffer } from 'node:buffer'`)
169
+
170
+ **Note:** Adds ~1-2ms cold start overhead. Use Workers APIs (R2, KV) when possible
171
+
172
+ ## Deployment Commands
173
+
174
+ ```bash
175
+ npx wrangler deploy # Production
176
+ npx wrangler deploy --env staging
177
+ npx wrangler deploy --dry-run # Validate only
178
+ ```
179
+
180
+ ## See Also
181
+
182
+ - [API](./api.md) - Runtime APIs and bindings usage
183
+ - [Patterns](./patterns.md) - Deployment strategies
184
+ - [Wrangler](../wrangler/README.md) - CLI reference