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,93 @@
1
+ # Browser Rendering Patterns
2
+
3
+ ## Basic Worker
4
+
5
+ ```typescript
6
+ import puppeteer from '@cloudflare/puppeteer'
7
+
8
+ export default {
9
+ async fetch(request, env) {
10
+ const browser = await puppeteer.launch(env.MYBROWSER)
11
+ try {
12
+ const page = await browser.newPage()
13
+ await page.goto('https://example.com')
14
+ return new Response(await page.content())
15
+ } finally {
16
+ await browser.close() // ALWAYS in finally
17
+ }
18
+ },
19
+ }
20
+ ```
21
+
22
+ ## Session Reuse
23
+
24
+ Keep sessions alive for performance:
25
+
26
+ ```typescript
27
+ let sessionId = await env.SESSION_KV.get('browser-session')
28
+ if (sessionId) {
29
+ browser = await puppeteer.connect(env.MYBROWSER, sessionId)
30
+ } else {
31
+ browser = await puppeteer.launch(env.MYBROWSER, { keep_alive: 600000 })
32
+ await env.SESSION_KV.put('browser-session', browser.sessionId(), { expirationTtl: 600 })
33
+ }
34
+ // Don't close browser to keep session alive
35
+ ```
36
+
37
+ ## Common Operations
38
+
39
+ | Task | Code |
40
+ | ------------ | --------------------------------------------------------------------- |
41
+ | Screenshot | `await page.screenshot({ type: "png", fullPage: true })` |
42
+ | PDF | `await page.pdf({ format: "A4", printBackground: true })` |
43
+ | Extract data | `await page.evaluate(() => document.querySelector('h1').textContent)` |
44
+ | Fill form | `await page.type('#input', 'value'); await page.click('button')` |
45
+ | Wait nav | `await Promise.all([page.waitForNavigation(), page.click('a')])` |
46
+
47
+ ## Parallel Scraping
48
+
49
+ ```typescript
50
+ const pages = await Promise.all(urls.map(() => browser.newPage()))
51
+ await Promise.all(pages.map((p, i) => p.goto(urls[i])))
52
+ const titles = await Promise.all(pages.map((p) => p.title()))
53
+ ```
54
+
55
+ ## Playwright Selectors
56
+
57
+ ```typescript
58
+ import { launch } from '@cloudflare/playwright'
59
+ const browser = await launch(env.MYBROWSER)
60
+ await page.getByRole('button', { name: 'Sign in' }).click()
61
+ await page.getByLabel('Email').fill('user@example.com')
62
+ await page.getByTestId('submit-button').click()
63
+ ```
64
+
65
+ ## Incognito Contexts
66
+
67
+ Isolated sessions without multiple browsers:
68
+
69
+ ```typescript
70
+ const ctx1 = await browser.createIncognitoBrowserContext()
71
+ const ctx2 = await browser.createIncognitoBrowserContext()
72
+ // Each has isolated cookies/storage
73
+ ```
74
+
75
+ ## Quota Check
76
+
77
+ ```typescript
78
+ const limits = await puppeteer.limits(env.MYBROWSER)
79
+ if (limits.remaining < 60000) return new Response('Quota low', { status: 429 })
80
+ ```
81
+
82
+ ## Error Handling
83
+
84
+ ```typescript
85
+ try {
86
+ await page.goto(url, { timeout: 30000, waitUntil: 'networkidle0' })
87
+ } catch (e) {
88
+ if (e.message.includes('timeout')) return new Response('Timeout', { status: 504 })
89
+ if (e.message.includes('Session limit')) return new Response('Too many sessions', { status: 429 })
90
+ } finally {
91
+ if (browser) await browser.close()
92
+ }
93
+ ```
@@ -0,0 +1,111 @@
1
+ # C3 (create-cloudflare)
2
+
3
+ Official CLI for scaffolding Cloudflare Workers and Pages projects with templates, TypeScript, and instant deployment.
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ # Interactive (recommended for first-time)
9
+ npm create cloudflare@latest my-app
10
+
11
+ # Worker (API/WebSocket/Cron)
12
+ npm create cloudflare@latest my-api -- --type=hello-world --ts
13
+
14
+ # Pages (static/SSG/full-stack)
15
+ npm create cloudflare@latest my-site -- --type=web-app --framework=astro --platform=pages
16
+ ```
17
+
18
+ ## Platform Decision Tree
19
+
20
+ ```
21
+ What are you building?
22
+
23
+ ├─ API / WebSocket / Cron / Email handler
24
+ │ └─ Workers (default) - no --platform flag needed
25
+ │ npm create cloudflare@latest my-api -- --type=hello-world
26
+
27
+ ├─ Static site / SSG / Documentation
28
+ │ └─ Pages - requires --platform=pages
29
+ │ npm create cloudflare@latest my-site -- --type=web-app --framework=astro --platform=pages
30
+
31
+ ├─ Full-stack app (Next.js/Remix/SvelteKit)
32
+ │ ├─ Need Durable Objects, Queues, or Workers-only features?
33
+ │ │ └─ Workers (default)
34
+ │ └─ Otherwise use Pages for git integration and branch previews
35
+ │ └─ Add --platform=pages
36
+
37
+ └─ Convert existing project
38
+ └─ npm create cloudflare@latest . -- --type=pre-existing --existing-script=./src/worker.ts
39
+ ```
40
+
41
+ **Critical:** Pages projects require `--platform=pages` flag. Without it, C3 defaults to Workers.
42
+
43
+ ## Interactive Flow
44
+
45
+ When run without flags, C3 prompts in this order:
46
+
47
+ 1. **Project name** - Directory to create (defaults to current dir with `.`)
48
+ 2. **Application type** - `hello-world`, `web-app`, `demo`, `pre-existing`, `remote-template`
49
+ 3. **Platform** - `workers` (default) or `pages` (for web apps only)
50
+ 4. **Framework** - If web-app: `next`, `remix`, `astro`, `react-router`, `solid`, `svelte`, etc.
51
+ 5. **TypeScript** - `yes` (recommended) or `no`
52
+ 6. **Git** - Initialize repository? `yes` or `no`
53
+ 7. **Deploy** - Deploy now? `yes` or `no` (requires `wrangler login`)
54
+
55
+ ## Installation Methods
56
+
57
+ ```bash
58
+ # NPM
59
+ npm create cloudflare@latest
60
+
61
+ # Yarn
62
+ yarn create cloudflare
63
+
64
+ # PNPM
65
+ pnpm create cloudflare@latest
66
+ ```
67
+
68
+ ## In This Reference
69
+
70
+ | File | Purpose | Use When |
71
+ | -------------------- | -------------------------------- | ----------------------------------- |
72
+ | **api.md** | Complete CLI flag reference | Scripting, CI/CD, advanced usage |
73
+ | **configuration.md** | Generated files, bindings, types | Understanding output, customization |
74
+ | **patterns.md** | Workflows, CI/CD, monorepos | Real-world integration |
75
+ | **gotchas.md** | Troubleshooting failures | Deployment blocked, errors |
76
+
77
+ ## Reading Order
78
+
79
+ | Task | Read |
80
+ | -------------------------- | ------------------------ |
81
+ | Create first project | README only |
82
+ | Set up CI/CD | README → api → patterns |
83
+ | Debug failed deploy | gotchas |
84
+ | Understand generated files | configuration |
85
+ | Full CLI reference | api |
86
+ | Create custom template | patterns → configuration |
87
+ | Convert existing project | README → patterns |
88
+
89
+ ## Post-Creation
90
+
91
+ ```bash
92
+ cd my-app
93
+
94
+ # Local dev with hot reload
95
+ npm run dev
96
+
97
+ # Generate TypeScript types for bindings
98
+ npm run cf-typegen
99
+
100
+ # Deploy to Cloudflare
101
+ npm run deploy
102
+ ```
103
+
104
+ ## See Also
105
+
106
+ - **workers/README.md** - Workers runtime, bindings, APIs
107
+ - **workers-ai/README.md** - AI/ML models
108
+ - **pages/README.md** - Pages-specific features
109
+ - **wrangler/README.md** - Wrangler CLI beyond initial setup
110
+ - **d1/README.md** - SQLite database
111
+ - **r2/README.md** - Object storage
@@ -0,0 +1,71 @@
1
+ # C3 CLI Reference
2
+
3
+ ## Invocation
4
+
5
+ ```bash
6
+ npm create cloudflare@latest [name] [-- flags] # NPM requires --
7
+ yarn create cloudflare [name] [flags]
8
+ pnpm create cloudflare@latest [name] [-- flags]
9
+ ```
10
+
11
+ ## Core Flags
12
+
13
+ | Flag | Values | Description |
14
+ | ------------------ | --------------------------------------------------------------------------------------------- | ----------------------------------------- |
15
+ | `--type` | `hello-world`, `web-app`, `demo`, `pre-existing`, `remote-template` | Application type |
16
+ | `--platform` | `workers` (default), `pages` | Target platform |
17
+ | `--framework` | `next`, `remix`, `astro`, `react-router`, `solid`, `svelte`, `qwik`, `vue`, `angular`, `hono` | Web framework (requires `--type=web-app`) |
18
+ | `--lang` | `ts`, `js`, `python` | Language (for `--type=hello-world`) |
19
+ | `--ts` / `--no-ts` | - | TypeScript for web apps |
20
+
21
+ ## Deployment Flags
22
+
23
+ | Flag | Description |
24
+ | -------------------------- | ----------------------------------------------------- |
25
+ | `--deploy` / `--no-deploy` | Deploy immediately (prompts interactive, skips in CI) |
26
+ | `--git` / `--no-git` | Initialize git (default: yes) |
27
+ | `--open` | Open browser after deploy |
28
+
29
+ ## Advanced Flags
30
+
31
+ | Flag | Description |
32
+ | ----------------------------------- | ------------------------------------------------ |
33
+ | `--template=user/repo` | GitHub template or local path |
34
+ | `--existing-script=./src/worker.ts` | Existing script (requires `--type=pre-existing`) |
35
+ | `--category=ai\|database\|realtime` | Demo filter (requires `--type=demo`) |
36
+ | `--experimental` | Enable experimental features |
37
+ | `--wrangler-defaults` | Skip wrangler prompts |
38
+
39
+ ## Environment Variables
40
+
41
+ ```bash
42
+ CLOUDFLARE_API_TOKEN=xxx # For deployment
43
+ CLOUDFLARE_ACCOUNT_ID=xxx # Account ID
44
+ CF_TELEMETRY_DISABLED=1 # Disable telemetry
45
+ ```
46
+
47
+ ## Exit Codes
48
+
49
+ `0` success, `1` user abort, `2` error
50
+
51
+ ## Examples
52
+
53
+ ```bash
54
+ # TypeScript Worker
55
+ npm create cloudflare@latest my-api -- --type=hello-world --lang=ts --no-deploy
56
+
57
+ # Next.js on Pages
58
+ npm create cloudflare@latest my-app -- --type=web-app --framework=next --platform=pages --ts
59
+
60
+ # Astro blog
61
+ npm create cloudflare@latest my-blog -- --type=web-app --framework=astro --ts --deploy
62
+
63
+ # CI: non-interactive
64
+ npm create cloudflare@latest my-app -- --type=web-app --framework=next --ts --no-git --no-deploy
65
+
66
+ # GitHub template
67
+ npm create cloudflare@latest -- --template=cloudflare/templates/worker-openapi
68
+
69
+ # Convert existing project
70
+ npm create cloudflare@latest . -- --type=pre-existing --existing-script=./build/worker.js
71
+ ```
@@ -0,0 +1,85 @@
1
+ # C3 Generated Configuration
2
+
3
+ ## Output Structure
4
+
5
+ ```
6
+ my-app/
7
+ ├── src/index.ts # Worker entry point
8
+ ├── wrangler.jsonc # Cloudflare config
9
+ ├── package.json # Scripts
10
+ ├── tsconfig.json
11
+ └── .gitignore
12
+ ```
13
+
14
+ ## wrangler.jsonc
15
+
16
+ ```jsonc
17
+ {
18
+ "$schema": "https://raw.githubusercontent.com/cloudflare/workers-sdk/main/packages/wrangler/config-schema.json",
19
+ "name": "my-app",
20
+ "main": "src/index.ts",
21
+ "compatibility_date": "2026-01-27",
22
+ }
23
+ ```
24
+
25
+ ## Binding Placeholders
26
+
27
+ C3 generates **placeholder IDs** that must be replaced before deploy:
28
+
29
+ ```jsonc
30
+ {
31
+ "kv_namespaces": [{ "binding": "MY_KV", "id": "placeholder_kv_id" }],
32
+ "d1_databases": [{ "binding": "DB", "database_id": "00000000-..." }],
33
+ }
34
+ ```
35
+
36
+ **Replace with real IDs:**
37
+
38
+ ```bash
39
+ npx wrangler kv namespace create MY_KV # Returns real ID
40
+ npx wrangler d1 create my-database # Returns real database_id
41
+ ```
42
+
43
+ **Deployment error if not replaced:**
44
+
45
+ ```
46
+ Error: Invalid KV namespace ID "placeholder_kv_id"
47
+ ```
48
+
49
+ ## Scripts
50
+
51
+ ```json
52
+ {
53
+ "scripts": {
54
+ "dev": "wrangler dev",
55
+ "deploy": "wrangler deploy",
56
+ "cf-typegen": "wrangler types"
57
+ }
58
+ }
59
+ ```
60
+
61
+ ## Type Generation
62
+
63
+ Run after adding bindings:
64
+
65
+ ```bash
66
+ npm run cf-typegen
67
+ ```
68
+
69
+ Generates `.wrangler/types/runtime.d.ts`:
70
+
71
+ ```typescript
72
+ interface Env {
73
+ MY_KV: KVNamespace
74
+ DB: D1Database
75
+ }
76
+ ```
77
+
78
+ ## Post-Creation Checklist
79
+
80
+ 1. Review `wrangler.jsonc` - check name, compatibility_date
81
+ 2. Replace placeholder binding IDs with real resource IDs
82
+ 3. Run `npm run cf-typegen`
83
+ 4. Test: `npm run dev`
84
+ 5. Deploy: `npm run deploy`
85
+ 6. Add secrets: `npx wrangler secret put SECRET_NAME`
@@ -0,0 +1,97 @@
1
+ # C3 Troubleshooting
2
+
3
+ ## Deployment Issues
4
+
5
+ ### Placeholder IDs
6
+
7
+ **Error:** "Invalid namespace ID"
8
+ **Fix:** Replace placeholders in wrangler.jsonc with real IDs:
9
+
10
+ ```bash
11
+ npx wrangler kv namespace create MY_KV # Get real ID
12
+ ```
13
+
14
+ ### Authentication
15
+
16
+ **Error:** "Not authenticated"
17
+ **Fix:** `npx wrangler login` or set `CLOUDFLARE_API_TOKEN`
18
+
19
+ ### Name Conflict
20
+
21
+ **Error:** "Worker already exists"
22
+ **Fix:** Change `name` in wrangler.jsonc
23
+
24
+ ## Platform Selection
25
+
26
+ | Need | Platform |
27
+ | -------------------------------- | ------------------ |
28
+ | Git integration, branch previews | `--platform=pages` |
29
+ | Durable Objects, D1, Queues | Workers (default) |
30
+
31
+ Wrong platform? Recreate with correct `--platform` flag.
32
+
33
+ ## TypeScript Issues
34
+
35
+ **"Cannot find name 'KVNamespace'"**
36
+
37
+ ```bash
38
+ npm run cf-typegen # Regenerate types
39
+ # Restart TS server in editor
40
+ ```
41
+
42
+ **Missing types after config change:** Re-run `npm run cf-typegen`
43
+
44
+ ## Package Manager
45
+
46
+ **Multiple lockfiles causing issues:**
47
+
48
+ ```bash
49
+ rm pnpm-lock.yaml # If using npm
50
+ rm package-lock.json # If using pnpm
51
+ ```
52
+
53
+ ## CI/CD
54
+
55
+ **CI hangs on prompts:**
56
+
57
+ ```bash
58
+ npm create cloudflare@latest my-app -- \
59
+ --type=hello-world --lang=ts --no-git --no-deploy
60
+ ```
61
+
62
+ **Auth in CI:**
63
+
64
+ ```yaml
65
+ env:
66
+ CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
67
+ CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
68
+ ```
69
+
70
+ ## Framework-Specific
71
+
72
+ | Framework | Issue | Fix |
73
+ | --------- | ---------------------- | -------------------------------- |
74
+ | Next.js | create-next-app failed | `npm cache clean --force`, retry |
75
+ | Astro | Adapter missing | Install `@astrojs/cloudflare` |
76
+ | Remix | Module errors | Update `@remix-run/cloudflare*` |
77
+
78
+ ## Compatibility Date
79
+
80
+ **"Feature X requires compatibility_date >= ..."**
81
+ **Fix:** Update `compatibility_date` in wrangler.jsonc to today's date
82
+
83
+ ## Node.js Version
84
+
85
+ **"Node.js version not supported"**
86
+ **Fix:** Install Node.js 18+ (`nvm install 20`)
87
+
88
+ ## Quick Reference
89
+
90
+ | Error | Cause | Fix |
91
+ | ----------------------- | ------------------- | ------------------------------- |
92
+ | Invalid namespace ID | Placeholder binding | Create resource, update config |
93
+ | Not authenticated | No login | `npx wrangler login` |
94
+ | Cannot find KVNamespace | Missing types | `npm run cf-typegen` |
95
+ | Worker already exists | Name conflict | Change `name` |
96
+ | CI hangs | Missing flags | Add --type, --lang, --no-deploy |
97
+ | Template not found | Bad name | Check cloudflare/templates |
@@ -0,0 +1,84 @@
1
+ # C3 Usage Patterns
2
+
3
+ ## Quick Workflows
4
+
5
+ ```bash
6
+ # TypeScript API Worker
7
+ npm create cloudflare@latest my-api -- --type=hello-world --lang=ts --deploy
8
+
9
+ # Next.js on Pages
10
+ npm create cloudflare@latest my-app -- --type=web-app --framework=next --platform=pages --ts --deploy
11
+
12
+ # Astro static site
13
+ npm create cloudflare@latest my-blog -- --type=web-app --framework=astro --platform=pages --ts
14
+ ```
15
+
16
+ ## CI/CD (GitHub Actions)
17
+
18
+ ```yaml
19
+ - name: Deploy
20
+ run: npm run deploy
21
+ env:
22
+ CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
23
+ CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
24
+ ```
25
+
26
+ **Non-interactive requires:**
27
+
28
+ ```bash
29
+ --type=<value> # Required
30
+ --no-git # Recommended (CI already in git)
31
+ --no-deploy # Deploy separately with secrets
32
+ --framework=<value> # For web-app
33
+ --ts / --no-ts # Required
34
+ ```
35
+
36
+ ## Monorepo
37
+
38
+ C3 detects workspace config (`package.json` workspaces or `pnpm-workspace.yaml`).
39
+
40
+ ```bash
41
+ cd packages/
42
+ npm create cloudflare@latest my-worker -- --type=hello-world --lang=ts --no-deploy
43
+ ```
44
+
45
+ ## Custom Templates
46
+
47
+ ```bash
48
+ # GitHub repo
49
+ npm create cloudflare@latest -- --template=username/repo
50
+ npm create cloudflare@latest -- --template=cloudflare/templates/worker-openapi
51
+
52
+ # Local path
53
+ npm create cloudflare@latest my-app -- --template=../my-template
54
+ ```
55
+
56
+ **Template requires `c3.config.json`:**
57
+
58
+ ```json
59
+ {
60
+ "name": "my-template",
61
+ "category": "hello-world",
62
+ "copies": [{ "path": "src/" }, { "path": "wrangler.jsonc" }],
63
+ "transforms": [{ "path": "package.json", "jsonc": { "name": "{{projectName}}" } }]
64
+ }
65
+ ```
66
+
67
+ ## Existing Projects
68
+
69
+ ```bash
70
+ # Add Cloudflare to existing Worker
71
+ npm create cloudflare@latest . -- --type=pre-existing --existing-script=./dist/index.js
72
+
73
+ # Add to existing framework app
74
+ npm create cloudflare@latest . -- --type=web-app --framework=next --platform=pages --ts
75
+ ```
76
+
77
+ ## Post-Creation Checklist
78
+
79
+ 1. Review `wrangler.jsonc` - set `compatibility_date`, verify `name`
80
+ 2. Create bindings: `wrangler kv namespace create`, `wrangler d1 create`, `wrangler r2 bucket create`
81
+ 3. Generate types: `npm run cf-typegen`
82
+ 4. Test: `npm run dev`
83
+ 5. Deploy: `npm run deploy`
84
+ 6. Set secrets: `wrangler secret put SECRET_NAME`
@@ -0,0 +1,150 @@
1
+ # Cloudflare Cache Reserve
2
+
3
+ **Persistent cache storage built on R2 for long-term content retention**
4
+
5
+ ## Smart Shield Integration
6
+
7
+ Cache Reserve is part of **Smart Shield**, Cloudflare's comprehensive security and performance suite:
8
+
9
+ - **Smart Shield Advanced tier**: Includes 2TB Cache Reserve storage
10
+ - **Standalone purchase**: Available separately if not using Smart Shield
11
+ - **Migration**: Existing standalone customers can migrate to Smart Shield bundles
12
+
13
+ **Decision**: Already on Smart Shield Advanced? Cache Reserve is included. Otherwise evaluate standalone purchase vs Smart Shield upgrade.
14
+
15
+ ## Overview
16
+
17
+ Cache Reserve is Cloudflare's persistent, large-scale cache storage layer built on R2. It acts as the ultimate upper-tier cache, storing cacheable content for extended periods (30+ days) to maximize cache hits, reduce origin egress fees, and shield origins from repeated requests for long-tail content.
18
+
19
+ ## Core Concepts
20
+
21
+ ### What is Cache Reserve?
22
+
23
+ - **Persistent storage layer**: Built on R2, sits above tiered cache hierarchy
24
+ - **Long-term retention**: 30-day default retention, extended on each access
25
+ - **Automatic operation**: Works seamlessly with existing CDN, no code changes required
26
+ - **Origin shielding**: Dramatically reduces origin egress by serving cached content longer
27
+ - **Usage-based pricing**: Pay only for storage + read/write operations
28
+
29
+ ### Cache Hierarchy
30
+
31
+ ```
32
+ Visitor Request
33
+
34
+ Lower-Tier Cache (closest to visitor)
35
+ ↓ (on miss)
36
+ Upper-Tier Cache (closest to origin)
37
+ ↓ (on miss)
38
+ Cache Reserve (R2 persistent storage)
39
+ ↓ (on miss)
40
+ Origin Server
41
+ ```
42
+
43
+ ### How It Works
44
+
45
+ 1. **On cache miss**: Content fetched from origin �� written to Cache Reserve + edge caches simultaneously
46
+ 2. **On edge eviction**: Content may be evicted from edge cache but remains in Cache Reserve
47
+ 3. **On subsequent request**: If edge cache misses but Cache Reserve hits → content restored to edge caches
48
+ 4. **Retention**: Assets remain in Cache Reserve for 30 days since last access (configurable via TTL)
49
+
50
+ ## When to Use Cache Reserve
51
+
52
+ ```
53
+ Need persistent caching?
54
+ ├─ High origin egress costs → Cache Reserve ✓
55
+ ├─ Long-tail content (archives, media libraries) → Cache Reserve ✓
56
+ ├─ Already using Smart Shield Advanced → Included! ✓
57
+ ├─ Video streaming with seeking (range requests) → ✗ Not supported
58
+ ├─ Dynamic/personalized content → ✗ Use edge cache only
59
+ ├─ Need per-request cache control from Workers → ✗ Use R2 directly
60
+ └─ Frequently updated content (< 10hr lifetime) → ✗ Not eligible
61
+ ```
62
+
63
+ ## Asset Eligibility
64
+
65
+ Cache Reserve only stores assets meeting **ALL** criteria:
66
+
67
+ - Cacheable per Cloudflare's standard rules
68
+ - Minimum 10-hour TTL (36000 seconds)
69
+ - `Content-Length` header present
70
+ - Original files only (not transformed images)
71
+
72
+ ### Eligibility Checklist
73
+
74
+ Use this checklist to verify if an asset is eligible:
75
+
76
+ - [ ] Zone has Cache Reserve enabled
77
+ - [ ] Zone has Tiered Cache enabled (required)
78
+ - [ ] Asset TTL ≥ 10 hours (36,000 seconds)
79
+ - [ ] `Content-Length` header present on origin response
80
+ - [ ] No `Set-Cookie` header (or uses private directive)
81
+ - [ ] `Vary` header is NOT `*` (can be `Accept-Encoding`)
82
+ - [ ] Not an image transformation variant (original images OK)
83
+ - [ ] Not a range request (no HTTP 206 support)
84
+ - [ ] Not O2O (Orange-to-Orange) proxied request
85
+
86
+ **All boxes must be checked for Cache Reserve eligibility.**
87
+
88
+ ### Not Eligible
89
+
90
+ - Assets with TTL < 10 hours
91
+ - Responses without `Content-Length` header
92
+ - Image transformation variants (original images are eligible)
93
+ - Responses with `Set-Cookie` headers
94
+ - Responses with `Vary: *` header
95
+ - Assets from R2 public buckets on same zone
96
+ - O2O (Orange-to-Orange) setup requests
97
+ - **Range requests** (video seeking, partial content downloads)
98
+
99
+ ## Quick Start
100
+
101
+ ```bash
102
+ # Enable via Dashboard
103
+ https://dash.cloudflare.com/caching/cache-reserve
104
+ # Click "Enable Storage Sync" or "Purchase" button
105
+ ```
106
+
107
+ **Prerequisites:**
108
+
109
+ - Paid Cache Reserve plan or Smart Shield Advanced required
110
+ - Tiered Cache required for optimal performance
111
+
112
+ ## Essential Commands
113
+
114
+ ```bash
115
+ # Check Cache Reserve status
116
+ curl -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve" \
117
+ -H "Authorization: Bearer $API_TOKEN"
118
+
119
+ # Enable Cache Reserve
120
+ curl -X PATCH "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve" \
121
+ -H "Authorization: Bearer $API_TOKEN" \
122
+ -H "Content-Type: application/json" \
123
+ -d '{"value": "on"}'
124
+
125
+ # Check asset cache status
126
+ curl -I https://example.com/asset.jpg | grep -i cache
127
+ ```
128
+
129
+ ## In This Reference
130
+
131
+ | Task | Files |
132
+ | ----------------------------------------------------- | --------------------------------------------------------- |
133
+ | Evaluate if Cache Reserve fits your use case | README.md (this file) |
134
+ | Enable Cache Reserve for your zone | README.md + [configuration.md](./configuration.md) |
135
+ | Use with Workers (understand limitations) | [api.md](./api.md) |
136
+ | Setup via SDKs or IaC (TypeScript, Python, Terraform) | [configuration.md](./configuration.md) |
137
+ | Optimize costs and debug issues | [patterns.md](./patterns.md) + [gotchas.md](./gotchas.md) |
138
+ | Understand eligibility and troubleshoot | [gotchas.md](./gotchas.md) → [patterns.md](./patterns.md) |
139
+
140
+ **Files:**
141
+
142
+ - [configuration.md](./configuration.md) - Setup, API, SDKs, and Cache Rules
143
+ - [api.md](./api.md) - Purging, monitoring, Workers integration
144
+ - [patterns.md](./patterns.md) - Best practices, cost optimization, debugging
145
+ - [gotchas.md](./gotchas.md) - Common issues, limitations, troubleshooting
146
+
147
+ ## See Also
148
+
149
+ - [r2](../r2/) - Cache Reserve built on R2 storage
150
+ - [workers](../workers/) - Workers integration with Cache API