memory-journal-mcp 7.7.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/README.md +126 -56
  2. package/dist/chunk-6OHRCNYW.js +3231 -0
  3. package/dist/chunk-JFMITANR.js +5168 -0
  4. package/dist/{chunk-QCQPAF4I.js → chunk-MWNLAEHR.js} +301 -4321
  5. package/dist/{chunk-ARLYSFSI.js → chunk-UHSO65A4.js} +4242 -6092
  6. package/dist/cli.js +21 -3
  7. package/dist/index.d.ts +16 -13
  8. package/dist/index.js +4 -2
  9. package/dist/resources-IJVKDFGS.js +2 -0
  10. package/dist/tools-44DGXE3V.js +2 -0
  11. package/dist/worker-script.js +201 -20
  12. package/package.json +7 -4
  13. package/skills/README.md +62 -25
  14. package/skills/adversarial-performance/SKILL.md +139 -0
  15. package/skills/adversarial-performance/references/audit-categories.md +462 -0
  16. package/skills/adversarial-performance/references/copilot-performance-prompts.md +44 -0
  17. package/skills/adversarial-performance/references/copilot-usage.md +16 -0
  18. package/skills/adversarial-performance/references/feedback-loop.md +177 -0
  19. package/skills/adversarial-performance/references/multi-pass-performance-protocol.md +398 -0
  20. package/skills/adversarial-planner/SKILL.md +23 -54
  21. package/skills/adversarial-planner/references/copilot-integration.md +25 -40
  22. package/skills/adversarial-planner/references/copilot-usage.md +16 -0
  23. package/skills/adversarial-planner/references/multi-pass-protocol.md +4 -0
  24. package/skills/adversarial-security/SKILL.md +149 -0
  25. package/skills/adversarial-security/references/adversarial-base-protocol.md +44 -0
  26. package/skills/adversarial-security/references/audit-categories.md +723 -0
  27. package/skills/adversarial-security/references/copilot-security-prompts.md +142 -0
  28. package/skills/adversarial-security/references/copilot-usage.md +16 -0
  29. package/skills/adversarial-security/references/feedback-loop.md +206 -0
  30. package/skills/adversarial-security/references/journal-opt-out.md +7 -0
  31. package/skills/adversarial-security/references/multi-pass-security-protocol.md +403 -0
  32. package/skills/adversarial-skill-audit/SKILL.md +118 -0
  33. package/skills/adversarial-skill-audit/references/audit-categories.md +308 -0
  34. package/skills/adversarial-skill-audit/references/copilot-skill-prompts.md +68 -0
  35. package/skills/adversarial-skill-audit/references/copilot-usage.md +16 -0
  36. package/skills/adversarial-skill-audit/references/feedback-loop.md +155 -0
  37. package/skills/adversarial-skill-audit/references/multi-pass-skill-protocol.md +367 -0
  38. package/skills/adversarial-skill-audit/scripts/check-skills.ps1 +48 -0
  39. package/skills/adversarial-skill-audit/scripts/run-copilot.ps1 +52 -0
  40. package/skills/adversarial-workflow-audit/SKILL.md +82 -0
  41. package/skills/adversarial-workflow-audit/references/audit-categories.md +28 -0
  42. package/skills/adversarial-workflow-audit/references/copilot-usage.md +16 -0
  43. package/skills/adversarial-workflow-audit/scripts/check-workflows.ps1 +24 -0
  44. package/skills/agents-sdk/SKILL.md +220 -0
  45. package/skills/agents-sdk/references/callable.md +92 -0
  46. package/skills/agents-sdk/references/codemode.md +209 -0
  47. package/skills/agents-sdk/references/email.md +144 -0
  48. package/skills/agents-sdk/references/mcp/SKILL.md +65 -0
  49. package/skills/agents-sdk/references/mcp/code-mode-reference.md +245 -0
  50. package/skills/agents-sdk/references/mcp/oauth-reference.md +359 -0
  51. package/skills/agents-sdk/references/mcp/references/architecture-reference.md +208 -0
  52. package/skills/agents-sdk/references/mcp/references/cloudflare-quickstart.md +156 -0
  53. package/skills/agents-sdk/references/mcp/references/error-handling.md +343 -0
  54. package/skills/agents-sdk/references/mcp/references/http-security.md +164 -0
  55. package/skills/agents-sdk/references/mcp/references/implementation-guide.md +507 -0
  56. package/skills/agents-sdk/references/mcp/references/testing-reference.md +171 -0
  57. package/skills/agents-sdk/references/mcp.md +157 -0
  58. package/skills/agents-sdk/references/state-scheduling.md +164 -0
  59. package/skills/agents-sdk/references/streaming-chat.md +168 -0
  60. package/skills/agents-sdk/references/workflows.md +136 -0
  61. package/skills/auth-identity/SKILL.md +48 -0
  62. package/skills/autonomous-dev/SKILL.md +46 -23
  63. package/skills/autonomous-dev/references/workflow_orchestration.md +22 -0
  64. package/skills/aws/SKILL.md +39 -0
  65. package/skills/azure/SKILL.md +38 -0
  66. package/skills/bin/sync.js +7 -1
  67. package/skills/biome/SKILL.md +59 -0
  68. package/skills/bun/SKILL.md +8 -2
  69. package/skills/cloudflare/SKILL.md +37 -0
  70. package/skills/cloudflare/references/agents-sdk/README.md +95 -0
  71. package/skills/cloudflare/references/agents-sdk/api.md +195 -0
  72. package/skills/cloudflare/references/agents-sdk/configuration.md +178 -0
  73. package/skills/cloudflare/references/agents-sdk/gotchas.md +173 -0
  74. package/skills/cloudflare/references/agents-sdk/patterns.md +215 -0
  75. package/skills/cloudflare/references/ai-gateway/README.md +176 -0
  76. package/skills/cloudflare/references/ai-gateway/configuration.md +117 -0
  77. package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +88 -0
  78. package/skills/cloudflare/references/ai-gateway/features.md +96 -0
  79. package/skills/cloudflare/references/ai-gateway/sdk-integration.md +110 -0
  80. package/skills/cloudflare/references/ai-gateway/troubleshooting.md +90 -0
  81. package/skills/cloudflare/references/ai-search/README.md +145 -0
  82. package/skills/cloudflare/references/ai-search/api.md +87 -0
  83. package/skills/cloudflare/references/ai-search/configuration.md +91 -0
  84. package/skills/cloudflare/references/ai-search/gotchas.md +92 -0
  85. package/skills/cloudflare/references/ai-search/patterns.md +87 -0
  86. package/skills/cloudflare/references/analytics-engine/README.md +96 -0
  87. package/skills/cloudflare/references/analytics-engine/api.md +112 -0
  88. package/skills/cloudflare/references/analytics-engine/configuration.md +107 -0
  89. package/skills/cloudflare/references/analytics-engine/gotchas.md +87 -0
  90. package/skills/cloudflare/references/analytics-engine/patterns.md +83 -0
  91. package/skills/cloudflare/references/api/README.md +66 -0
  92. package/skills/cloudflare/references/api/api.md +205 -0
  93. package/skills/cloudflare/references/api/configuration.md +158 -0
  94. package/skills/cloudflare/references/api/gotchas.md +231 -0
  95. package/skills/cloudflare/references/api/patterns.md +208 -0
  96. package/skills/cloudflare/references/api-shield/README.md +44 -0
  97. package/skills/cloudflare/references/api-shield/api.md +153 -0
  98. package/skills/cloudflare/references/api-shield/configuration.md +210 -0
  99. package/skills/cloudflare/references/api-shield/gotchas.md +132 -0
  100. package/skills/cloudflare/references/api-shield/patterns.md +185 -0
  101. package/skills/cloudflare/references/argo-smart-routing/README.md +96 -0
  102. package/skills/cloudflare/references/argo-smart-routing/api.md +253 -0
  103. package/skills/cloudflare/references/argo-smart-routing/configuration.md +205 -0
  104. package/skills/cloudflare/references/argo-smart-routing/gotchas.md +115 -0
  105. package/skills/cloudflare/references/argo-smart-routing/patterns.md +107 -0
  106. package/skills/cloudflare/references/bindings/README.md +127 -0
  107. package/skills/cloudflare/references/bindings/api.md +214 -0
  108. package/skills/cloudflare/references/bindings/configuration.md +200 -0
  109. package/skills/cloudflare/references/bindings/gotchas.md +210 -0
  110. package/skills/cloudflare/references/bindings/patterns.md +205 -0
  111. package/skills/cloudflare/references/bot-management/README.md +95 -0
  112. package/skills/cloudflare/references/bot-management/api.md +175 -0
  113. package/skills/cloudflare/references/bot-management/configuration.md +175 -0
  114. package/skills/cloudflare/references/bot-management/gotchas.md +116 -0
  115. package/skills/cloudflare/references/bot-management/patterns.md +181 -0
  116. package/skills/cloudflare/references/browser-rendering/README.md +84 -0
  117. package/skills/cloudflare/references/browser-rendering/api.md +108 -0
  118. package/skills/cloudflare/references/browser-rendering/configuration.md +78 -0
  119. package/skills/cloudflare/references/browser-rendering/gotchas.md +91 -0
  120. package/skills/cloudflare/references/browser-rendering/patterns.md +93 -0
  121. package/skills/cloudflare/references/c3/README.md +111 -0
  122. package/skills/cloudflare/references/c3/api.md +71 -0
  123. package/skills/cloudflare/references/c3/configuration.md +85 -0
  124. package/skills/cloudflare/references/c3/gotchas.md +97 -0
  125. package/skills/cloudflare/references/c3/patterns.md +84 -0
  126. package/skills/cloudflare/references/cache-reserve/README.md +150 -0
  127. package/skills/cloudflare/references/cache-reserve/api.md +184 -0
  128. package/skills/cloudflare/references/cache-reserve/configuration.md +170 -0
  129. package/skills/cloudflare/references/cache-reserve/gotchas.md +136 -0
  130. package/skills/cloudflare/references/cache-reserve/patterns.md +197 -0
  131. package/skills/cloudflare/references/containers/README.md +87 -0
  132. package/skills/cloudflare/references/containers/api.md +197 -0
  133. package/skills/cloudflare/references/containers/configuration.md +191 -0
  134. package/skills/cloudflare/references/containers/gotchas.md +182 -0
  135. package/skills/cloudflare/references/containers/patterns.md +204 -0
  136. package/skills/cloudflare/references/cron-triggers/README.md +101 -0
  137. package/skills/cloudflare/references/cron-triggers/api.md +224 -0
  138. package/skills/cloudflare/references/cron-triggers/configuration.md +190 -0
  139. package/skills/cloudflare/references/cron-triggers/gotchas.md +207 -0
  140. package/skills/cloudflare/references/cron-triggers/patterns.md +274 -0
  141. package/skills/cloudflare/references/d1/README.md +137 -0
  142. package/skills/cloudflare/references/d1/api.md +213 -0
  143. package/skills/cloudflare/references/d1/configuration.md +198 -0
  144. package/skills/cloudflare/references/d1/gotchas.md +98 -0
  145. package/skills/cloudflare/references/d1/patterns.md +240 -0
  146. package/skills/cloudflare/references/ddos/README.md +42 -0
  147. package/skills/cloudflare/references/ddos/api.md +158 -0
  148. package/skills/cloudflare/references/ddos/configuration.md +94 -0
  149. package/skills/cloudflare/references/ddos/gotchas.md +114 -0
  150. package/skills/cloudflare/references/ddos/patterns.md +220 -0
  151. package/skills/cloudflare/references/decision-trees.md +95 -0
  152. package/skills/cloudflare/references/do-storage/README.md +79 -0
  153. package/skills/cloudflare/references/do-storage/api.md +107 -0
  154. package/skills/cloudflare/references/do-storage/configuration.md +114 -0
  155. package/skills/cloudflare/references/do-storage/gotchas.md +153 -0
  156. package/skills/cloudflare/references/do-storage/patterns.md +210 -0
  157. package/skills/cloudflare/references/do-storage/testing.md +186 -0
  158. package/skills/cloudflare/references/durable-objects/README.md +194 -0
  159. package/skills/cloudflare/references/durable-objects/api.md +205 -0
  160. package/skills/cloudflare/references/durable-objects/configuration.md +160 -0
  161. package/skills/cloudflare/references/durable-objects/gotchas.md +200 -0
  162. package/skills/cloudflare/references/durable-objects/patterns.md +205 -0
  163. package/skills/cloudflare/references/email-routing/README.md +89 -0
  164. package/skills/cloudflare/references/email-routing/api.md +192 -0
  165. package/skills/cloudflare/references/email-routing/configuration.md +187 -0
  166. package/skills/cloudflare/references/email-routing/gotchas.md +203 -0
  167. package/skills/cloudflare/references/email-routing/patterns.md +241 -0
  168. package/skills/cloudflare/references/email-workers/README.md +153 -0
  169. package/skills/cloudflare/references/email-workers/api.md +227 -0
  170. package/skills/cloudflare/references/email-workers/configuration.md +115 -0
  171. package/skills/cloudflare/references/email-workers/gotchas.md +133 -0
  172. package/skills/cloudflare/references/email-workers/patterns.md +108 -0
  173. package/skills/cloudflare/references/graphql-api/README.md +147 -0
  174. package/skills/cloudflare/references/graphql-api/api.md +175 -0
  175. package/skills/cloudflare/references/graphql-api/configuration.md +151 -0
  176. package/skills/cloudflare/references/graphql-api/gotchas.md +111 -0
  177. package/skills/cloudflare/references/graphql-api/patterns.md +276 -0
  178. package/skills/cloudflare/references/hyperdrive/README.md +84 -0
  179. package/skills/cloudflare/references/hyperdrive/api.md +149 -0
  180. package/skills/cloudflare/references/hyperdrive/configuration.md +166 -0
  181. package/skills/cloudflare/references/hyperdrive/gotchas.md +77 -0
  182. package/skills/cloudflare/references/hyperdrive/patterns.md +203 -0
  183. package/skills/cloudflare/references/images/README.md +65 -0
  184. package/skills/cloudflare/references/images/api.md +101 -0
  185. package/skills/cloudflare/references/images/configuration.md +206 -0
  186. package/skills/cloudflare/references/images/gotchas.md +106 -0
  187. package/skills/cloudflare/references/images/patterns.md +126 -0
  188. package/skills/cloudflare/references/kv/README.md +90 -0
  189. package/skills/cloudflare/references/kv/api.md +163 -0
  190. package/skills/cloudflare/references/kv/configuration.md +148 -0
  191. package/skills/cloudflare/references/kv/gotchas.md +133 -0
  192. package/skills/cloudflare/references/kv/patterns.md +195 -0
  193. package/skills/cloudflare/references/miniflare/README.md +113 -0
  194. package/skills/cloudflare/references/miniflare/api.md +204 -0
  195. package/skills/cloudflare/references/miniflare/configuration.md +174 -0
  196. package/skills/cloudflare/references/miniflare/gotchas.md +179 -0
  197. package/skills/cloudflare/references/miniflare/patterns.md +187 -0
  198. package/skills/cloudflare/references/network-interconnect/README.md +104 -0
  199. package/skills/cloudflare/references/network-interconnect/api.md +220 -0
  200. package/skills/cloudflare/references/network-interconnect/configuration.md +123 -0
  201. package/skills/cloudflare/references/network-interconnect/gotchas.md +175 -0
  202. package/skills/cloudflare/references/network-interconnect/patterns.md +174 -0
  203. package/skills/cloudflare/references/observability/README.md +93 -0
  204. package/skills/cloudflare/references/observability/api.md +168 -0
  205. package/skills/cloudflare/references/observability/configuration.md +178 -0
  206. package/skills/cloudflare/references/observability/gotchas.md +125 -0
  207. package/skills/cloudflare/references/observability/patterns.md +105 -0
  208. package/skills/cloudflare/references/pages/README.md +92 -0
  209. package/skills/cloudflare/references/pages/api.md +205 -0
  210. package/skills/cloudflare/references/pages/configuration.md +216 -0
  211. package/skills/cloudflare/references/pages/gotchas.md +218 -0
  212. package/skills/cloudflare/references/pages/patterns.md +215 -0
  213. package/skills/cloudflare/references/pages-functions/README.md +104 -0
  214. package/skills/cloudflare/references/pages-functions/api.md +159 -0
  215. package/skills/cloudflare/references/pages-functions/configuration.md +130 -0
  216. package/skills/cloudflare/references/pages-functions/gotchas.md +102 -0
  217. package/skills/cloudflare/references/pages-functions/patterns.md +148 -0
  218. package/skills/cloudflare/references/pipelines/README.md +109 -0
  219. package/skills/cloudflare/references/pipelines/api.md +214 -0
  220. package/skills/cloudflare/references/pipelines/configuration.md +98 -0
  221. package/skills/cloudflare/references/pipelines/gotchas.md +84 -0
  222. package/skills/cloudflare/references/pipelines/patterns.md +87 -0
  223. package/skills/cloudflare/references/product-index.md +112 -0
  224. package/skills/cloudflare/references/pulumi/README.md +113 -0
  225. package/skills/cloudflare/references/pulumi/api.md +230 -0
  226. package/skills/cloudflare/references/pulumi/configuration.md +213 -0
  227. package/skills/cloudflare/references/pulumi/gotchas.md +205 -0
  228. package/skills/cloudflare/references/pulumi/patterns.md +260 -0
  229. package/skills/cloudflare/references/queues/README.md +99 -0
  230. package/skills/cloudflare/references/queues/api.md +211 -0
  231. package/skills/cloudflare/references/queues/configuration.md +151 -0
  232. package/skills/cloudflare/references/queues/gotchas.md +210 -0
  233. package/skills/cloudflare/references/queues/patterns.md +220 -0
  234. package/skills/cloudflare/references/r2/README.md +97 -0
  235. package/skills/cloudflare/references/r2/api.md +235 -0
  236. package/skills/cloudflare/references/r2/configuration.md +176 -0
  237. package/skills/cloudflare/references/r2/gotchas.md +190 -0
  238. package/skills/cloudflare/references/r2/patterns.md +203 -0
  239. package/skills/cloudflare/references/r2-data-catalog/README.md +157 -0
  240. package/skills/cloudflare/references/r2-data-catalog/api.md +199 -0
  241. package/skills/cloudflare/references/r2-data-catalog/configuration.md +205 -0
  242. package/skills/cloudflare/references/r2-data-catalog/gotchas.md +170 -0
  243. package/skills/cloudflare/references/r2-data-catalog/patterns.md +191 -0
  244. package/skills/cloudflare/references/r2-sql/README.md +138 -0
  245. package/skills/cloudflare/references/r2-sql/SKILL.md.backup +512 -0
  246. package/skills/cloudflare/references/r2-sql/api.md +159 -0
  247. package/skills/cloudflare/references/r2-sql/configuration.md +152 -0
  248. package/skills/cloudflare/references/r2-sql/gotchas.md +228 -0
  249. package/skills/cloudflare/references/r2-sql/patterns.md +230 -0
  250. package/skills/cloudflare/references/realtime-sfu/README.md +66 -0
  251. package/skills/cloudflare/references/realtime-sfu/api.md +164 -0
  252. package/skills/cloudflare/references/realtime-sfu/configuration.md +141 -0
  253. package/skills/cloudflare/references/realtime-sfu/gotchas.md +138 -0
  254. package/skills/cloudflare/references/realtime-sfu/patterns.md +187 -0
  255. package/skills/cloudflare/references/realtimekit/README.md +118 -0
  256. package/skills/cloudflare/references/realtimekit/api.md +234 -0
  257. package/skills/cloudflare/references/realtimekit/configuration.md +226 -0
  258. package/skills/cloudflare/references/realtimekit/gotchas.md +206 -0
  259. package/skills/cloudflare/references/realtimekit/patterns.md +240 -0
  260. package/skills/cloudflare/references/sandbox/README.md +104 -0
  261. package/skills/cloudflare/references/sandbox/api.md +200 -0
  262. package/skills/cloudflare/references/sandbox/configuration.md +154 -0
  263. package/skills/cloudflare/references/sandbox/gotchas.md +201 -0
  264. package/skills/cloudflare/references/sandbox/patterns.md +195 -0
  265. package/skills/cloudflare/references/secrets-store/README.md +77 -0
  266. package/skills/cloudflare/references/secrets-store/api.md +199 -0
  267. package/skills/cloudflare/references/secrets-store/configuration.md +187 -0
  268. package/skills/cloudflare/references/secrets-store/gotchas.md +97 -0
  269. package/skills/cloudflare/references/secrets-store/patterns.md +218 -0
  270. package/skills/cloudflare/references/smart-placement/README.md +143 -0
  271. package/skills/cloudflare/references/smart-placement/api.md +192 -0
  272. package/skills/cloudflare/references/smart-placement/configuration.md +202 -0
  273. package/skills/cloudflare/references/smart-placement/gotchas.md +180 -0
  274. package/skills/cloudflare/references/smart-placement/patterns.md +190 -0
  275. package/skills/cloudflare/references/snippets/README.md +74 -0
  276. package/skills/cloudflare/references/snippets/api.md +214 -0
  277. package/skills/cloudflare/references/snippets/configuration.md +239 -0
  278. package/skills/cloudflare/references/snippets/gotchas.md +104 -0
  279. package/skills/cloudflare/references/snippets/patterns.md +135 -0
  280. package/skills/cloudflare/references/spectrum/README.md +52 -0
  281. package/skills/cloudflare/references/spectrum/api.md +184 -0
  282. package/skills/cloudflare/references/spectrum/configuration.md +203 -0
  283. package/skills/cloudflare/references/spectrum/gotchas.md +155 -0
  284. package/skills/cloudflare/references/spectrum/patterns.md +206 -0
  285. package/skills/cloudflare/references/static-assets/README.md +65 -0
  286. package/skills/cloudflare/references/static-assets/api.md +201 -0
  287. package/skills/cloudflare/references/static-assets/configuration.md +186 -0
  288. package/skills/cloudflare/references/static-assets/gotchas.md +164 -0
  289. package/skills/cloudflare/references/static-assets/patterns.md +189 -0
  290. package/skills/cloudflare/references/stream/README.md +123 -0
  291. package/skills/cloudflare/references/stream/api-live.md +202 -0
  292. package/skills/cloudflare/references/stream/api.md +206 -0
  293. package/skills/cloudflare/references/stream/configuration.md +151 -0
  294. package/skills/cloudflare/references/stream/gotchas.md +139 -0
  295. package/skills/cloudflare/references/stream/patterns.md +217 -0
  296. package/skills/cloudflare/references/tail-workers/README.md +92 -0
  297. package/skills/cloudflare/references/tail-workers/api.md +203 -0
  298. package/skills/cloudflare/references/tail-workers/configuration.md +178 -0
  299. package/skills/cloudflare/references/tail-workers/gotchas.md +206 -0
  300. package/skills/cloudflare/references/tail-workers/patterns.md +190 -0
  301. package/skills/cloudflare/references/terraform/README.md +100 -0
  302. package/skills/cloudflare/references/terraform/api.md +178 -0
  303. package/skills/cloudflare/references/terraform/configuration.md +197 -0
  304. package/skills/cloudflare/references/terraform/gotchas.md +150 -0
  305. package/skills/cloudflare/references/terraform/patterns.md +174 -0
  306. package/skills/cloudflare/references/tunnel/README.md +137 -0
  307. package/skills/cloudflare/references/tunnel/api.md +205 -0
  308. package/skills/cloudflare/references/tunnel/configuration.md +163 -0
  309. package/skills/cloudflare/references/tunnel/gotchas.md +159 -0
  310. package/skills/cloudflare/references/tunnel/networking.md +174 -0
  311. package/skills/cloudflare/references/tunnel/patterns.md +199 -0
  312. package/skills/cloudflare/references/turn/README.md +86 -0
  313. package/skills/cloudflare/references/turn/api.md +236 -0
  314. package/skills/cloudflare/references/turn/configuration.md +181 -0
  315. package/skills/cloudflare/references/turn/gotchas.md +236 -0
  316. package/skills/cloudflare/references/turn/patterns.md +228 -0
  317. package/skills/cloudflare/references/turnstile/README.md +102 -0
  318. package/skills/cloudflare/references/turnstile/api.md +253 -0
  319. package/skills/cloudflare/references/turnstile/configuration.md +242 -0
  320. package/skills/cloudflare/references/turnstile/gotchas.md +253 -0
  321. package/skills/cloudflare/references/turnstile/patterns.md +195 -0
  322. package/skills/cloudflare/references/vectorize/README.md +133 -0
  323. package/skills/cloudflare/references/vectorize/api.md +89 -0
  324. package/skills/cloudflare/references/vectorize/configuration.md +91 -0
  325. package/skills/cloudflare/references/vectorize/gotchas.md +83 -0
  326. package/skills/cloudflare/references/vectorize/patterns.md +92 -0
  327. package/skills/cloudflare/references/waf/README.md +125 -0
  328. package/skills/cloudflare/references/waf/api.md +203 -0
  329. package/skills/cloudflare/references/waf/configuration.md +215 -0
  330. package/skills/cloudflare/references/waf/gotchas.md +208 -0
  331. package/skills/cloudflare/references/waf/patterns.md +236 -0
  332. package/skills/cloudflare/references/web-analytics/README.md +149 -0
  333. package/skills/cloudflare/references/web-analytics/configuration.md +81 -0
  334. package/skills/cloudflare/references/web-analytics/gotchas.md +86 -0
  335. package/skills/cloudflare/references/web-analytics/integration.md +63 -0
  336. package/skills/cloudflare/references/web-analytics/patterns.md +98 -0
  337. package/skills/cloudflare/references/workerd/README.md +85 -0
  338. package/skills/cloudflare/references/workerd/api.md +219 -0
  339. package/skills/cloudflare/references/workerd/configuration.md +200 -0
  340. package/skills/cloudflare/references/workerd/gotchas.md +151 -0
  341. package/skills/cloudflare/references/workerd/patterns.md +205 -0
  342. package/skills/cloudflare/references/workers/README.md +110 -0
  343. package/skills/cloudflare/references/workers/api.md +197 -0
  344. package/skills/cloudflare/references/workers/configuration.md +184 -0
  345. package/skills/cloudflare/references/workers/frameworks.md +200 -0
  346. package/skills/cloudflare/references/workers/gotchas.md +145 -0
  347. package/skills/cloudflare/references/workers/patterns.md +220 -0
  348. package/skills/cloudflare/references/workers-ai/README.md +206 -0
  349. package/skills/cloudflare/references/workers-ai/api.md +115 -0
  350. package/skills/cloudflare/references/workers-ai/configuration.md +98 -0
  351. package/skills/cloudflare/references/workers-ai/gotchas.md +130 -0
  352. package/skills/cloudflare/references/workers-ai/patterns.md +122 -0
  353. package/skills/cloudflare/references/workers-for-platforms/README.md +95 -0
  354. package/skills/cloudflare/references/workers-for-platforms/api.md +212 -0
  355. package/skills/cloudflare/references/workers-for-platforms/configuration.md +178 -0
  356. package/skills/cloudflare/references/workers-for-platforms/gotchas.md +134 -0
  357. package/skills/cloudflare/references/workers-for-platforms/patterns.md +210 -0
  358. package/skills/cloudflare/references/workers-playground/README.md +131 -0
  359. package/skills/cloudflare/references/workers-playground/api.md +101 -0
  360. package/skills/cloudflare/references/workers-playground/configuration.md +169 -0
  361. package/skills/cloudflare/references/workers-playground/gotchas.md +88 -0
  362. package/skills/cloudflare/references/workers-playground/patterns.md +134 -0
  363. package/skills/cloudflare/references/workers-vpc/README.md +130 -0
  364. package/skills/cloudflare/references/workers-vpc/api.md +196 -0
  365. package/skills/cloudflare/references/workers-vpc/configuration.md +151 -0
  366. package/skills/cloudflare/references/workers-vpc/gotchas.md +171 -0
  367. package/skills/cloudflare/references/workers-vpc/patterns.md +235 -0
  368. package/skills/cloudflare/references/workflows/README.md +72 -0
  369. package/skills/cloudflare/references/workflows/api.md +237 -0
  370. package/skills/cloudflare/references/workflows/configuration.md +158 -0
  371. package/skills/cloudflare/references/workflows/gotchas.md +97 -0
  372. package/skills/cloudflare/references/workflows/patterns.md +245 -0
  373. package/skills/cloudflare/references/wrangler/README.md +143 -0
  374. package/skills/cloudflare/references/wrangler/api.md +188 -0
  375. package/skills/cloudflare/references/wrangler/configuration.md +198 -0
  376. package/skills/cloudflare/references/wrangler/gotchas.md +212 -0
  377. package/skills/cloudflare/references/wrangler/patterns.md +211 -0
  378. package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +131 -0
  379. package/skills/cloudflare/references/zaraz/README.md +114 -0
  380. package/skills/cloudflare/references/zaraz/api.md +118 -0
  381. package/skills/cloudflare/references/zaraz/configuration.md +94 -0
  382. package/skills/cloudflare/references/zaraz/gotchas.md +88 -0
  383. package/skills/cloudflare/references/zaraz/patterns.md +77 -0
  384. package/skills/docker/SKILL.md +7 -101
  385. package/skills/docker/references/advanced-examples.md +71 -0
  386. package/skills/docker/references/templates.md +34 -0
  387. package/skills/docs-marketer/SKILL.md +178 -0
  388. package/skills/docs-marketer/references/audit-categories.md +328 -0
  389. package/skills/docs-marketer/references/copilot-docs-prompts.md +88 -0
  390. package/skills/docs-marketer/references/copilot-usage.md +16 -0
  391. package/skills/docs-marketer/references/feedback-loop.md +155 -0
  392. package/skills/docs-marketer/references/multi-pass-docs-protocol.md +410 -0
  393. package/skills/drizzle-orm/SKILL.md +82 -0
  394. package/skills/durable-objects/SKILL.md +167 -0
  395. package/skills/durable-objects/references/advanced_features.md +29 -0
  396. package/skills/durable-objects/references/rules.md +300 -0
  397. package/skills/durable-objects/references/testing.md +261 -0
  398. package/skills/durable-objects/references/workers.md +336 -0
  399. package/skills/gcp/SKILL.md +37 -0
  400. package/skills/github-actions/SKILL.md +5 -58
  401. package/skills/github-actions/references/templates.md +65 -0
  402. package/skills/github-commander/SKILL.md +13 -21
  403. package/skills/github-commander/workflows/copilot-audit.md +12 -12
  404. package/skills/github-copilot-cli/SKILL.md +21 -26
  405. package/skills/github-repo-setup/SKILL.md +136 -0
  406. package/skills/github-repo-setup/references/community-standards.md +136 -0
  407. package/skills/github-repo-setup/references/github-automation.md +490 -0
  408. package/skills/github-repo-setup/references/inline-templates.md +205 -0
  409. package/skills/github-repo-setup/references/project-config.md +320 -0
  410. package/skills/gitlab/SKILL.md +7 -2
  411. package/skills/gitlab/package-lock.json +389 -389
  412. package/skills/golang/SKILL.md +8 -1
  413. package/skills/graphql/SKILL.md +30 -0
  414. package/skills/hono/SKILL.md +82 -0
  415. package/skills/journal-optimizer/SKILL.md +206 -0
  416. package/skills/journal-optimizer/references/optimizer-scripts.md +169 -0
  417. package/skills/llm-app-engineering/SKILL.md +18 -0
  418. package/skills/monorepo/SKILL.md +56 -0
  419. package/skills/multi-agent-orchestration/SKILL.md +14 -0
  420. package/skills/mysql/SKILL.md +6 -2
  421. package/skills/next-best-practices/SKILL.md +86 -0
  422. package/skills/next-best-practices/references/cache-components-examples.md +234 -0
  423. package/skills/next-best-practices/references/cache-components.md +210 -0
  424. package/skills/next-best-practices/references/upgrade-decision-tree.md +33 -0
  425. package/skills/next-best-practices/references/upgrade.md +43 -0
  426. package/skills/next-cache-components/SKILL.md +441 -0
  427. package/skills/next-upgrade/SKILL.md +43 -0
  428. package/skills/next-upgrade/references/decision-tree.md +33 -0
  429. package/skills/nodejs/SKILL.md +46 -0
  430. package/skills/opentelemetry/SKILL.md +62 -0
  431. package/skills/package.json +39 -4
  432. package/skills/playwright-standard/SKILL.md +6 -11
  433. package/skills/playwright-standard/references/locators.md +7 -0
  434. package/skills/postgres/SKILL.md +6 -1
  435. package/skills/python/SKILL.md +8 -70
  436. package/skills/python/references/advanced-patterns.md +37 -0
  437. package/skills/python/references/config-templates.md +48 -0
  438. package/skills/rag-pipelines/SKILL.md +14 -0
  439. package/skills/redis/SKILL.md +31 -0
  440. package/skills/render/SKILL.md +35 -0
  441. package/skills/rust/SKILL.md +15 -25
  442. package/skills/rust/references/borrow-checker.md +13 -0
  443. package/skills/rust/references/ecosystem.md +11 -0
  444. package/skills/sandbox-sdk/SKILL.md +186 -0
  445. package/skills/sandbox-sdk/references/api-quick-ref.md +113 -0
  446. package/skills/sandbox-sdk/references/examples.md +52 -0
  447. package/skills/shadcn-ui/SKILL.md +22 -57
  448. package/skills/skill-builder/SKILL.md +23 -424
  449. package/skills/skill-builder/references/tutorial.md +457 -0
  450. package/skills/sqlite/SKILL.md +16 -5
  451. package/skills/table.md +59 -0
  452. package/skills/tailwind-css/SKILL.md +11 -60
  453. package/skills/tailwind-css/references/component-patterns.md +52 -0
  454. package/skills/trpc/SKILL.md +56 -0
  455. package/skills/typescript/SKILL.md +30 -433
  456. package/skills/typescript/references/tutorial.md +453 -0
  457. package/skills/vercel-ai-sdk/SKILL.md +48 -0
  458. package/skills/vitest-standard/SKILL.md +5 -11
  459. package/skills/vitest-standard/references/assertions.md +11 -0
  460. package/skills/web-perf/SKILL.md +207 -0
  461. package/skills/workers-best-practices/SKILL.md +120 -0
  462. package/skills/workers-best-practices/references/anti-patterns.md +18 -0
  463. package/skills/workers-best-practices/references/review.md +174 -0
  464. package/skills/workers-best-practices/references/rules.md +485 -0
  465. package/skills/wrangler/SKILL.md +43 -0
  466. package/skills/wrangler/references/cli-commands.md +861 -0
  467. package/skills/zod/SKILL.md +48 -0
  468. package/dist/tools-P4VGG4FH.js +0 -1
  469. package/skills/react-best-practices/AGENTS.md +0 -2883
  470. package/skills/react-best-practices/SKILL.md +0 -138
  471. /package/skills/{react-best-practices → next-best-practices}/README.md +0 -0
  472. /package/skills/{react-best-practices → next-best-practices}/metadata.json +0 -0
  473. /package/skills/{react-best-practices → next-best-practices}/rules/_sections.md +0 -0
  474. /package/skills/{react-best-practices → next-best-practices}/rules/_template.md +0 -0
  475. /package/skills/{react-best-practices → next-best-practices}/rules/advanced-event-handler-refs.md +0 -0
  476. /package/skills/{react-best-practices → next-best-practices}/rules/advanced-init-once.md +0 -0
  477. /package/skills/{react-best-practices → next-best-practices}/rules/advanced-use-latest.md +0 -0
  478. /package/skills/{react-best-practices → next-best-practices}/rules/async-api-routes.md +0 -0
  479. /package/skills/{react-best-practices → next-best-practices}/rules/async-defer-await.md +0 -0
  480. /package/skills/{react-best-practices → next-best-practices}/rules/async-dependencies.md +0 -0
  481. /package/skills/{react-best-practices → next-best-practices}/rules/async-parallel.md +0 -0
  482. /package/skills/{react-best-practices → next-best-practices}/rules/async-suspense-boundaries.md +0 -0
  483. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-barrel-imports.md +0 -0
  484. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-conditional.md +0 -0
  485. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-defer-third-party.md +0 -0
  486. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-dynamic-imports.md +0 -0
  487. /package/skills/{react-best-practices → next-best-practices}/rules/bundle-preload.md +0 -0
  488. /package/skills/{react-best-practices → next-best-practices}/rules/client-event-listeners.md +0 -0
  489. /package/skills/{react-best-practices → next-best-practices}/rules/client-localstorage-schema.md +0 -0
  490. /package/skills/{react-best-practices → next-best-practices}/rules/client-passive-event-listeners.md +0 -0
  491. /package/skills/{react-best-practices → next-best-practices}/rules/client-swr-dedup.md +0 -0
  492. /package/skills/{react-best-practices → next-best-practices}/rules/js-batch-dom-css.md +0 -0
  493. /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-function-results.md +0 -0
  494. /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-property-access.md +0 -0
  495. /package/skills/{react-best-practices → next-best-practices}/rules/js-cache-storage.md +0 -0
  496. /package/skills/{react-best-practices → next-best-practices}/rules/js-combine-iterations.md +0 -0
  497. /package/skills/{react-best-practices → next-best-practices}/rules/js-early-exit.md +0 -0
  498. /package/skills/{react-best-practices → next-best-practices}/rules/js-hoist-regexp.md +0 -0
  499. /package/skills/{react-best-practices → next-best-practices}/rules/js-index-maps.md +0 -0
  500. /package/skills/{react-best-practices → next-best-practices}/rules/js-length-check-first.md +0 -0
  501. /package/skills/{react-best-practices → next-best-practices}/rules/js-min-max-loop.md +0 -0
  502. /package/skills/{react-best-practices → next-best-practices}/rules/js-set-map-lookups.md +0 -0
  503. /package/skills/{react-best-practices → next-best-practices}/rules/js-tosorted-immutable.md +0 -0
  504. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-activity.md +0 -0
  505. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-animate-svg-wrapper.md +0 -0
  506. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-conditional-render.md +0 -0
  507. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-content-visibility.md +0 -0
  508. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hoist-jsx.md +0 -0
  509. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-no-flicker.md +0 -0
  510. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-hydration-suppress-warning.md +0 -0
  511. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-svg-precision.md +0 -0
  512. /package/skills/{react-best-practices → next-best-practices}/rules/rendering-usetransition-loading.md +0 -0
  513. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-defer-reads.md +0 -0
  514. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-dependencies.md +0 -0
  515. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state-no-effect.md +0 -0
  516. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-derived-state.md +0 -0
  517. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-functional-setstate.md +0 -0
  518. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-lazy-state-init.md +0 -0
  519. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo-with-default-value.md +0 -0
  520. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-memo.md +0 -0
  521. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-move-effect-to-event.md +0 -0
  522. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-simple-expression-in-memo.md +0 -0
  523. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-transitions.md +0 -0
  524. /package/skills/{react-best-practices → next-best-practices}/rules/rerender-use-ref-transient-values.md +0 -0
  525. /package/skills/{react-best-practices → next-best-practices}/rules/server-after-nonblocking.md +0 -0
  526. /package/skills/{react-best-practices → next-best-practices}/rules/server-auth-actions.md +0 -0
  527. /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-lru.md +0 -0
  528. /package/skills/{react-best-practices → next-best-practices}/rules/server-cache-react.md +0 -0
  529. /package/skills/{react-best-practices → next-best-practices}/rules/server-dedup-props.md +0 -0
  530. /package/skills/{react-best-practices → next-best-practices}/rules/server-parallel-fetching.md +0 -0
  531. /package/skills/{react-best-practices → next-best-practices}/rules/server-serialization.md +0 -0
@@ -0,0 +1,219 @@
1
+ # Workerd APIs
2
+
3
+ ## Worker Code (JS/TS)
4
+
5
+ ### ES Modules (Recommended)
6
+
7
+ ```javascript
8
+ export default {
9
+ async fetch(request, env, ctx) {
10
+ const value = await env.KV.get('key') // Bindings in env
11
+ const response = await env.API.fetch(request) // Service binding
12
+ ctx.waitUntil(logRequest(request)) // Background task
13
+ return new Response('OK')
14
+ },
15
+ async adminApi(request, env, ctx) {
16
+ /* Named entrypoint */
17
+ },
18
+ async queue(batch, env, ctx) {
19
+ /* Queue consumer */
20
+ },
21
+ async scheduled(event, env, ctx) {
22
+ /* Cron handler */
23
+ },
24
+ }
25
+ ```
26
+
27
+ ### TypeScript Types
28
+
29
+ **Generate from wrangler.toml (Recommended):**
30
+
31
+ ```bash
32
+ wrangler types # Output: worker-configuration.d.ts
33
+ ```
34
+
35
+ **Manual types:**
36
+
37
+ ```typescript
38
+ interface Env {
39
+ API: Fetcher
40
+ CACHE: KVNamespace
41
+ STORAGE: R2Bucket
42
+ ROOMS: DurableObjectNamespace
43
+ API_KEY: string
44
+ }
45
+
46
+ export default {
47
+ async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
48
+ return new Response(await env.CACHE.get('key'))
49
+ },
50
+ }
51
+ ```
52
+
53
+ **Setup:**
54
+
55
+ ```bash
56
+ npm install -D @cloudflare/workers-types
57
+ ```
58
+
59
+ ```json
60
+ // tsconfig.json
61
+ { "compilerOptions": { "types": ["@cloudflare/workers-types"] } }
62
+ ```
63
+
64
+ ### Service Worker Syntax (Legacy)
65
+
66
+ ```javascript
67
+ addEventListener('fetch', (event) => {
68
+ event.respondWith(handleRequest(event.request))
69
+ })
70
+
71
+ async function handleRequest(request) {
72
+ const value = await KV.get('key') // Bindings as globals
73
+ return new Response('OK')
74
+ }
75
+ ```
76
+
77
+ ### Durable Objects
78
+
79
+ ```javascript
80
+ export class Room {
81
+ constructor(state, env) {
82
+ this.state = state
83
+ this.env = env
84
+ }
85
+
86
+ async fetch(request) {
87
+ const url = new URL(request.url)
88
+ if (url.pathname === '/increment') {
89
+ const value = (await this.state.storage.get('counter')) || 0
90
+ await this.state.storage.put('counter', value + 1)
91
+ return new Response(String(value + 1))
92
+ }
93
+ return new Response('Not found', { status: 404 })
94
+ }
95
+ }
96
+ ```
97
+
98
+ ### RPC Between Services
99
+
100
+ ```javascript
101
+ // Caller: env.AUTH.validateToken(token) returns structured data
102
+ const user = await env.AUTH.validateToken(request.headers.get('Authorization'))
103
+
104
+ // Callee: export methods that return data
105
+ export default {
106
+ async validateToken(token) {
107
+ return { id: 123, name: 'Alice' }
108
+ },
109
+ }
110
+ ```
111
+
112
+ ## Web Platform APIs
113
+
114
+ ### Fetch
115
+
116
+ - `fetch()`, `Request`, `Response`, `Headers`
117
+ - `AbortController`, `AbortSignal`
118
+
119
+ ### Streams
120
+
121
+ - `ReadableStream`, `WritableStream`, `TransformStream`
122
+ - Byte streams, BYOB readers
123
+
124
+ ### Web Crypto
125
+
126
+ - `crypto.subtle` (encrypt/decrypt/sign/verify)
127
+ - `crypto.randomUUID()`, `crypto.getRandomValues()`
128
+
129
+ ### Encoding
130
+
131
+ - `TextEncoder`, `TextDecoder`
132
+ - `atob()`, `btoa()`
133
+
134
+ ### Web Standards
135
+
136
+ - `URL`, `URLSearchParams`
137
+ - `Blob`, `File`, `FormData`
138
+ - `WebSocket`
139
+
140
+ ### Server-Sent Events (EventSource)
141
+
142
+ ```javascript
143
+ // Server-side SSE
144
+ const { readable, writable } = new TransformStream()
145
+ const writer = writable.getWriter()
146
+ writer.write(new TextEncoder().encode('data: Hello\n\n'))
147
+ return new Response(readable, { headers: { 'Content-Type': 'text/event-stream' } })
148
+ ```
149
+
150
+ ### HTMLRewriter (HTML Parsing/Transformation)
151
+
152
+ ```javascript
153
+ const response = await fetch('https://example.com')
154
+ return new HTMLRewriter()
155
+ .on('a[href]', {
156
+ element(el) {
157
+ el.setAttribute('href', `/proxy?url=${encodeURIComponent(el.getAttribute('href'))}`)
158
+ },
159
+ })
160
+ .on('script', {
161
+ element(el) {
162
+ el.remove()
163
+ },
164
+ })
165
+ .transform(response)
166
+ ```
167
+
168
+ ### TCP Sockets (Experimental)
169
+
170
+ ```javascript
171
+ const socket = await connect({ hostname: 'example.com', port: 80 })
172
+ const writer = socket.writable.getWriter()
173
+ await writer.write(new TextEncoder().encode('GET / HTTP/1.1\r\n\r\n'))
174
+ const reader = socket.readable.getReader()
175
+ const { value } = await reader.read()
176
+ return new Response(value)
177
+ ```
178
+
179
+ ### Performance
180
+
181
+ - `performance.now()`, `performance.timeOrigin`
182
+ - `setTimeout()`, `setInterval()`, `queueMicrotask()`
183
+
184
+ ### Console
185
+
186
+ - `console.log()`, `console.error()`, `console.warn()`
187
+
188
+ ### Node.js Compat (`nodejs_compat` flag)
189
+
190
+ ```javascript
191
+ import { Buffer } from 'node:buffer'
192
+ import { randomBytes } from 'node:crypto'
193
+
194
+ const buf = Buffer.from('Hello')
195
+ const random = randomBytes(16)
196
+ ```
197
+
198
+ **Available:** `node:buffer`, `node:crypto`, `node:stream`, `node:util`, `node:events`, `node:assert`, `node:path`, `node:querystring`, `node:url`
199
+ **NOT available:** `node:fs`, `node:http`, `node:net`, `node:child_process`
200
+
201
+ ## CLI Commands
202
+
203
+ ```bash
204
+ workerd serve config.capnp [constantName] # Start server
205
+ workerd serve config.capnp --socket-addr http=*:3000 --verbose
206
+ workerd compile config.capnp constantName -o binary # Compile to binary
207
+ workerd test config.capnp [--test-only=test.js] # Run tests
208
+ ```
209
+
210
+ ## Wrangler Integration
211
+
212
+ Use Wrangler for development:
213
+
214
+ ```bash
215
+ wrangler dev # Uses workerd internally
216
+ wrangler types # Generate TypeScript types from wrangler.toml
217
+ ```
218
+
219
+ See [patterns.md](./patterns.md) for usage examples, [configuration.md](./configuration.md) for config details.
@@ -0,0 +1,200 @@
1
+ # Workerd Configuration
2
+
3
+ ## Basic Structure
4
+
5
+ ```capnp
6
+ using Workerd = import "/workerd/workerd.capnp";
7
+
8
+ const config :Workerd.Config = (
9
+ services = [(name = "main", worker = .mainWorker)],
10
+ sockets = [(name = "http", address = "*:8080", http = (), service = "main")]
11
+ );
12
+
13
+ const mainWorker :Workerd.Worker = (
14
+ modules = [(name = "index.js", esModule = embed "src/index.js")],
15
+ compatibilityDate = "2024-01-15",
16
+ bindings = [...]
17
+ );
18
+ ```
19
+
20
+ ## Services
21
+
22
+ **Worker**: Run JS/Wasm code
23
+
24
+ ```capnp
25
+ (name = "api", worker = (
26
+ modules = [(name = "index.js", esModule = embed "index.js")],
27
+ compatibilityDate = "2024-01-15",
28
+ bindings = [...]
29
+ ))
30
+ ```
31
+
32
+ **Network**: Internet access
33
+
34
+ ```capnp
35
+ (name = "internet", network = (allow = ["public"], tlsOptions = (trustBrowserCas = true)))
36
+ ```
37
+
38
+ **External**: Reverse proxy
39
+
40
+ ```capnp
41
+ (name = "backend", external = (address = "api.com:443", http = (style = tls)))
42
+ ```
43
+
44
+ **Disk**: Static files
45
+
46
+ ```capnp
47
+ (name = "assets", disk = (path = "/var/www", writable = false))
48
+ ```
49
+
50
+ ## Sockets
51
+
52
+ ```capnp
53
+ (name = "http", address = "*:8080", http = (), service = "main")
54
+ (name = "https", address = "*:443", https = (options = (), tlsOptions = (keypair = (...))), service = "main")
55
+ (name = "app", address = "unix:/tmp/app.sock", http = (), service = "main")
56
+ ```
57
+
58
+ ## Worker Formats
59
+
60
+ ```capnp
61
+ # ES Modules (recommended)
62
+ modules = [(name = "index.js", esModule = embed "src/index.js"), (name = "wasm.wasm", wasm = embed "build/module.wasm")]
63
+
64
+ # Service Worker (legacy)
65
+ serviceWorkerScript = embed "worker.js"
66
+
67
+ # CommonJS
68
+ (name = "legacy.js", commonJsModule = embed "legacy.js", namedExports = ["foo"])
69
+ ```
70
+
71
+ ## Bindings
72
+
73
+ Bindings expose resources to workers. ES modules: `env.BINDING`, Service workers: globals.
74
+
75
+ ### Primitive Types
76
+
77
+ ```capnp
78
+ (name = "API_KEY", text = "secret") # String
79
+ (name = "CONFIG", json = '{"key":"val"}') # Parsed JSON
80
+ (name = "DATA", data = embed "data.bin") # ArrayBuffer
81
+ (name = "DATABASE_URL", fromEnvironment = "DB_URL") # System env var
82
+ ```
83
+
84
+ ### Service Binding
85
+
86
+ ```capnp
87
+ (name = "AUTH", service = "auth-worker") # Basic
88
+ (name = "API", service = (
89
+ name = "backend",
90
+ entrypoint = "adminApi", # Named export
91
+ props = (json = '{"role":"admin"}') # ctx.props
92
+ ))
93
+ ```
94
+
95
+ ### Storage
96
+
97
+ ```capnp
98
+ (name = "CACHE", kvNamespace = "kv-service") # KV
99
+ (name = "STORAGE", r2Bucket = "r2-service") # R2
100
+ (name = "ROOMS", durableObjectNamespace = (
101
+ serviceName = "room-service",
102
+ className = "Room"
103
+ ))
104
+ (name = "FAST", memoryCache = (
105
+ id = "cache-id",
106
+ limits = (maxKeys = 1000, maxValueSize = 1048576)
107
+ ))
108
+ ```
109
+
110
+ ### Other
111
+
112
+ ```capnp
113
+ (name = "TASKS", queue = "queue-service")
114
+ (name = "ANALYTICS", analyticsEngine = "analytics")
115
+ (name = "LOADER", workerLoader = (id = "dynamic"))
116
+ (name = "KEY", cryptoKey = (format = raw, algorithm = (name = "HMAC", hash = "SHA-256"), keyData = embed "key.bin", usages = [sign, verify], extractable = false))
117
+ (name = "TRACED", wrapped = (moduleName = "tracing", entrypoint = "makeTracer", innerBindings = [(name = "backend", service = "backend")]))
118
+ ```
119
+
120
+ ## Compatibility
121
+
122
+ ```capnp
123
+ compatibilityDate = "2024-01-15" # Always set!
124
+ compatibilityFlags = ["nodejs_compat", "streams_enable_constructors"]
125
+ ```
126
+
127
+ Version = max compat date. Update carefully after testing.
128
+
129
+ ## Parameter Bindings (Inheritance)
130
+
131
+ ```capnp
132
+ const base :Workerd.Worker = (
133
+ modules = [...], compatibilityDate = "2024-01-15",
134
+ bindings = [(name = "API_URL", parameter = (type = text)), (name = "DB", parameter = (type = service))]
135
+ );
136
+
137
+ const derived :Workerd.Worker = (
138
+ inherit = "base-service",
139
+ bindings = [(name = "API_URL", text = "https://api.com"), (name = "DB", service = "postgres")]
140
+ );
141
+ ```
142
+
143
+ ## Durable Objects Config
144
+
145
+ ```capnp
146
+ const worker :Workerd.Worker = (
147
+ modules = [...],
148
+ compatibilityDate = "2024-01-15",
149
+ bindings = [(name = "ROOMS", durableObjectNamespace = "Room")],
150
+ durableObjectNamespaces = [(className = "Room", uniqueKey = "v1")],
151
+ durableObjectStorage = (localDisk = "/var/do")
152
+ );
153
+ ```
154
+
155
+ ## Remote Bindings (Development)
156
+
157
+ Connect local workerd to production Cloudflare resources:
158
+
159
+ ```capnp
160
+ bindings = [
161
+ # Remote KV (requires API token)
162
+ (name = "PROD_KV", kvNamespace = (
163
+ remote = (
164
+ accountId = "your-account-id",
165
+ namespaceId = "your-namespace-id",
166
+ apiToken = .envVar("CF_API_TOKEN")
167
+ )
168
+ )),
169
+
170
+ # Remote R2
171
+ (name = "PROD_R2", r2Bucket = (
172
+ remote = (
173
+ accountId = "your-account-id",
174
+ bucketName = "my-bucket",
175
+ apiToken = .envVar("CF_API_TOKEN")
176
+ )
177
+ )),
178
+
179
+ # Remote Durable Object
180
+ (name = "PROD_DO", durableObjectNamespace = (
181
+ remote = (
182
+ accountId = "your-account-id",
183
+ scriptName = "my-worker",
184
+ className = "MyDO",
185
+ apiToken = .envVar("CF_API_TOKEN")
186
+ )
187
+ ))
188
+ ]
189
+ ```
190
+
191
+ **Note:** Remote bindings require network access and valid Cloudflare API credentials.
192
+
193
+ ## Logging & Debugging
194
+
195
+ ```capnp
196
+ logging = (structuredLogging = true, stdoutPrefix = "OUT: ", stderrPrefix = "ERR: ")
197
+ v8Flags = ["--expose-gc", "--max-old-space-size=2048"] # ⚠️ Unsupported in production
198
+ ```
199
+
200
+ See [patterns.md](./patterns.md) for multi-service examples, [gotchas.md](./gotchas.md) for config errors.
@@ -0,0 +1,151 @@
1
+ # Workerd Gotchas
2
+
3
+ ## Common Errors
4
+
5
+ ### "Missing compatibility date"
6
+
7
+ **Cause:** Compatibility date not set
8
+ **Solution:**
9
+ ❌ Wrong:
10
+
11
+ ```capnp
12
+ const worker :Workerd.Worker = (
13
+ serviceWorkerScript = embed "worker.js"
14
+ )
15
+ ```
16
+
17
+ ✅ Correct:
18
+
19
+ ```capnp
20
+ const worker :Workerd.Worker = (
21
+ serviceWorkerScript = embed "worker.js",
22
+ compatibilityDate = "2024-01-15" # Always set!
23
+ )
24
+ ```
25
+
26
+ ### Wrong Binding Type
27
+
28
+ **Problem:** JSON not parsed
29
+ **Cause:** Using `text = '{"key":"value"}'` instead of `json`
30
+ **Solution:** Use `json = '{"key":"value"}'` for parsed objects
31
+
32
+ ### Service vs Namespace
33
+
34
+ **Problem:** Cannot create DO instance
35
+ **Cause:** Using `service = "room-service"` for Durable Object
36
+ **Solution:** Use `durableObjectNamespace = "Room"` for DO bindings
37
+
38
+ ### Module Name Mismatch
39
+
40
+ **Problem:** Import fails
41
+ **Cause:** Module name includes path: `name = "src/index.js"`
42
+ **Solution:** Use simple names: `name = "index.js"`, embed with path
43
+
44
+ ## Network Access
45
+
46
+ **Problem:** Fetch fails with network error
47
+ **Cause:** No network service configured (workerd has no global fetch)
48
+ **Solution:** Add network service binding:
49
+
50
+ ```capnp
51
+ services = [(name = "internet", network = (allow = ["public"]))]
52
+ bindings = [(name = "NET", service = "internet")]
53
+ ```
54
+
55
+ Or external service:
56
+
57
+ ```capnp
58
+ bindings = [(name = "API", service = (external = (address = "api.com:443", http = (style = tls))))]
59
+ ```
60
+
61
+ ### "Worker not responding"
62
+
63
+ **Cause:** Socket misconfigured, no fetch handler, or port unavailable
64
+ **Solution:** Verify socket `address` matches, worker exports `fetch()`, port available
65
+
66
+ ### "Binding not found"
67
+
68
+ **Cause:** Name mismatch or service doesn't exist
69
+ **Solution:** Check binding name in config matches code (`env.BINDING` for ES modules)
70
+
71
+ ### "Module not found"
72
+
73
+ **Cause:** Module name doesn't match import or bad embed path
74
+ **Solution:** Module `name` must match import path exactly, verify `embed` path
75
+
76
+ ### "Compatibility error"
77
+
78
+ **Cause:** Date not set or API unavailable on that date
79
+ **Solution:** Set `compatibilityDate`, verify API available on that date
80
+
81
+ ## Performance Issues
82
+
83
+ **Problem:** High memory usage
84
+ **Cause:** Large caches or many isolates
85
+ **Solution:** Set cache limits, reduce isolate count, or use V8 flags (caution)
86
+
87
+ **Problem:** Slow startup
88
+ **Cause:** Many modules or complex config
89
+ **Solution:** Compile to binary (`workerd compile`), reduce imports
90
+
91
+ **Problem:** Request timeouts
92
+ **Cause:** External service issues or DNS problems
93
+ **Solution:** Check connectivity, DNS resolution, TLS handshake
94
+
95
+ ## Build Issues
96
+
97
+ **Problem:** Cap'n Proto syntax errors
98
+ **Cause:** Invalid config or missing schema
99
+ **Solution:** Install capnproto tools, validate: `capnp compile -I. config.capnp`
100
+
101
+ **Problem:** Embed path not found
102
+ **Cause:** Path relative to config file
103
+ **Solution:** Use correct relative path or absolute path
104
+
105
+ **Problem:** V8 flags cause crashes
106
+ **Cause:** Unsafe V8 flags
107
+ **Solution:** ⚠️ V8 flags unsupported in production. Test thoroughly before use.
108
+
109
+ ## Security Issues
110
+
111
+ **Problem:** Hardcoded secrets in config
112
+ **Cause:** `text` binding with secret value
113
+ **Solution:** Use `fromEnvironment` to load from env vars
114
+
115
+ **Problem:** Overly broad network access
116
+ **Cause:** `network = (allow = ["*"])`
117
+ **Solution:** Restrict to `allow = ["public"]` or specific hosts
118
+
119
+ **Problem:** Extractable crypto keys
120
+ **Cause:** `cryptoKey = (extractable = true, ...)`
121
+ **Solution:** Set `extractable = false` unless export required
122
+
123
+ ## Compatibility Changes
124
+
125
+ **Problem:** Breaking changes after compat date update
126
+ **Cause:** New flags enabled between dates
127
+ **Solution:** Review [compat dates docs](https://developers.cloudflare.com/workers/configuration/compatibility-dates/), test locally first
128
+
129
+ **Problem:** "Compatibility date not supported"
130
+ **Cause:** Workerd version older than compat date
131
+ **Solution:** Update workerd binary (version = max compat date supported)
132
+
133
+ ## Limits
134
+
135
+ | Resource/Limit | Value | Notes |
136
+ | ------------------ | -------------------------- | ------------------ |
137
+ | V8 flags | Unsupported in production | Use with caution |
138
+ | Compatibility date | Must match workerd version | Update if mismatch |
139
+ | Module count | Affects startup time | Many imports slow |
140
+
141
+ ## Troubleshooting Steps
142
+
143
+ 1. **Enable verbose logging**: `workerd serve config.capnp --verbose`
144
+ 2. **Check logs**: Look for error messages, stack traces
145
+ 3. **Validate config**: `capnp compile -I. config.capnp`
146
+ 4. **Test bindings**: Log `Object.keys(env)` to verify
147
+ 5. **Check versions**: Workerd version vs compat date
148
+ 6. **Isolate issue**: Minimal repro config
149
+ 7. **Review schema**: [workerd.capnp](https://github.com/cloudflare/workerd/blob/main/src/workerd/server/workerd.capnp)
150
+
151
+ See [configuration.md](./configuration.md) for config details, [patterns.md](./patterns.md) for working examples, [api.md](./api.md) for runtime APIs.