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,52 @@
1
+ # Cloudflare Spectrum Skill Reference
2
+
3
+ ## Overview
4
+
5
+ Cloudflare Spectrum provides security and acceleration for ANY TCP or UDP-based application. It's a global Layer 4 (L4) reverse proxy running on Cloudflare's edge nodes that routes MQTT, email, file transfer, version control, games, and more through Cloudflare to mask origins and protect from DDoS attacks.
6
+
7
+ **When to Use Spectrum**: When your protocol isn't HTTP/HTTPS (use Cloudflare proxy for HTTP). Spectrum handles everything else: SSH, gaming, databases, MQTT, SMTP, RDP, custom protocols.
8
+
9
+ ## Plan Capabilities
10
+
11
+ | Capability | Pro/Business | Enterprise |
12
+ | --------------------- | ------------------- | ------------------- |
13
+ | TCP protocols | Selected ports only | All ports (1-65535) |
14
+ | UDP protocols | Selected ports only | All ports (1-65535) |
15
+ | Port ranges | ❌ | ✅ |
16
+ | Argo Smart Routing | ✅ | ✅ |
17
+ | IP Firewall | ✅ | ✅ |
18
+ | Load balancer origins | ✅ | ✅ |
19
+
20
+ ## Decision Tree
21
+
22
+ **What are you trying to do?**
23
+
24
+ 1. **Create/manage Spectrum app**
25
+ - Via Dashboard → See [Cloudflare Dashboard](https://dash.cloudflare.com)
26
+ - Via API → See [api.md](api.md) - REST endpoints
27
+ - Via SDK → See [api.md](api.md) - TypeScript/Python/Go examples
28
+ - Via IaC → See [configuration.md](configuration.md) - Terraform/Pulumi
29
+
30
+ 2. **Protect specific protocol**
31
+ - SSH → See [patterns.md](patterns.md#1-ssh-server-protection)
32
+ - Gaming (Minecraft, etc) → See [patterns.md](patterns.md#2-game-server)
33
+ - MQTT/IoT → See [patterns.md](patterns.md#3-mqtt-broker)
34
+ - SMTP/Email → See [patterns.md](patterns.md#4-smtp-relay)
35
+ - Database → See [patterns.md](patterns.md#5-database-proxy)
36
+ - RDP → See [patterns.md](patterns.md#6-rdp-remote-desktop)
37
+
38
+ 3. **Choose origin type**
39
+ - Direct IP (single server) → See [configuration.md](configuration.md#direct-ip-origin)
40
+ - CNAME (hostname) → See [configuration.md](configuration.md#cname-origin)
41
+ - Load balancer (HA/failover) → See [configuration.md](configuration.md#load-balancer-origin)
42
+
43
+ ## Reading Order
44
+
45
+ 1. Start with [patterns.md](patterns.md) for your specific protocol
46
+ 2. Then [configuration.md](configuration.md) for your origin type
47
+ 3. Check [gotchas.md](gotchas.md) before going to production
48
+ 4. Use [api.md](api.md) for programmatic access
49
+
50
+ ## See Also
51
+
52
+ - [Cloudflare Docs](https://developers.cloudflare.com/spectrum/)
@@ -0,0 +1,184 @@
1
+ ## REST API Endpoints
2
+
3
+ ```
4
+ GET /zones/{zone_id}/spectrum/apps # List apps
5
+ POST /zones/{zone_id}/spectrum/apps # Create app
6
+ GET /zones/{zone_id}/spectrum/apps/{app_id} # Get app
7
+ PUT /zones/{zone_id}/spectrum/apps/{app_id} # Update app
8
+ DELETE /zones/{zone_id}/spectrum/apps/{app_id} # Delete app
9
+
10
+ GET /zones/{zone_id}/spectrum/analytics/aggregate/current
11
+ GET /zones/{zone_id}/spectrum/analytics/events/bytime
12
+ GET /zones/{zone_id}/spectrum/analytics/events/summary
13
+ ```
14
+
15
+ ## Request/Response Schemas
16
+
17
+ ### CreateSpectrumAppRequest
18
+
19
+ ```typescript
20
+ interface CreateSpectrumAppRequest {
21
+ protocol: string // "tcp/22", "udp/53"
22
+ dns: {
23
+ type: 'CNAME' | 'ADDRESS'
24
+ name: string // "ssh.example.com"
25
+ }
26
+ origin_direct?: string[] // ["tcp://192.0.2.1:22"]
27
+ origin_dns?: { name: string } // {"name": "origin.example.com"}
28
+ origin_port?: number | { start: number; end: number }
29
+ proxy_protocol?: 'off' | 'v1' | 'v2' | 'simple'
30
+ ip_firewall?: boolean
31
+ tls?: 'off' | 'flexible' | 'full' | 'strict'
32
+ edge_ips?: {
33
+ type: 'dynamic' | 'static'
34
+ connectivity: 'all' | 'ipv4' | 'ipv6'
35
+ }
36
+ traffic_type?: 'direct' | 'http' | 'https'
37
+ argo_smart_routing?: boolean
38
+ }
39
+ ```
40
+
41
+ ### SpectrumApp Response
42
+
43
+ ```typescript
44
+ interface SpectrumApp {
45
+ id: string
46
+ protocol: string
47
+ dns: { type: string; name: string }
48
+ origin_direct?: string[]
49
+ origin_dns?: { name: string }
50
+ origin_port?: number | { start: number; end: number }
51
+ proxy_protocol: string
52
+ ip_firewall: boolean
53
+ tls: string
54
+ edge_ips: { type: string; connectivity: string; ips?: string[] }
55
+ argo_smart_routing: boolean
56
+ created_on: string
57
+ modified_on: string
58
+ }
59
+ ```
60
+
61
+ ## TypeScript SDK
62
+
63
+ ```typescript
64
+ import Cloudflare from 'cloudflare'
65
+
66
+ const client = new Cloudflare({ apiToken: process.env.CLOUDFLARE_API_TOKEN })
67
+
68
+ // Create
69
+ const app = await client.spectrum.apps.create({
70
+ zone_id: 'your-zone-id',
71
+ protocol: 'tcp/22',
72
+ dns: { type: 'CNAME', name: 'ssh.example.com' },
73
+ origin_direct: ['tcp://192.0.2.1:22'],
74
+ ip_firewall: true,
75
+ tls: 'off',
76
+ })
77
+
78
+ // List
79
+ const apps = await client.spectrum.apps.list({ zone_id: 'your-zone-id' })
80
+
81
+ // Get
82
+ const appDetails = await client.spectrum.apps.get({ zone_id: 'your-zone-id', app_id: app.id })
83
+
84
+ // Update
85
+ await client.spectrum.apps.update({ zone_id: 'your-zone-id', app_id: app.id, tls: 'full' })
86
+
87
+ // Delete
88
+ await client.spectrum.apps.delete({ zone_id: 'your-zone-id', app_id: app.id })
89
+
90
+ // Analytics
91
+ const analytics = await client.spectrum.analytics.aggregate({
92
+ zone_id: 'your-zone-id',
93
+ metrics: ['bytesIngress', 'bytesEgress'],
94
+ since: new Date(Date.now() - 3600000).toISOString(),
95
+ })
96
+ ```
97
+
98
+ ## Python SDK
99
+
100
+ ```python
101
+ from cloudflare import Cloudflare
102
+
103
+ client = Cloudflare(api_token="your-api-token")
104
+
105
+ # Create
106
+ app = client.spectrum.apps.create(
107
+ zone_id="your-zone-id",
108
+ protocol="tcp/22",
109
+ dns={"type": "CNAME", "name": "ssh.example.com"},
110
+ origin_direct=["tcp://192.0.2.1:22"],
111
+ ip_firewall=True,
112
+ tls="off",
113
+ )
114
+
115
+ # List
116
+ apps = client.spectrum.apps.list(zone_id="your-zone-id")
117
+
118
+ # Get
119
+ app_details = client.spectrum.apps.get(zone_id="your-zone-id", app_id=app.id)
120
+
121
+ # Update
122
+ client.spectrum.apps.update(zone_id="your-zone-id", app_id=app.id, tls="full")
123
+
124
+ # Delete
125
+ client.spectrum.apps.delete(zone_id="your-zone-id", app_id=app.id)
126
+
127
+ # Analytics
128
+ analytics = client.spectrum.analytics.aggregate(
129
+ zone_id="your-zone-id",
130
+ metrics=["bytesIngress", "bytesEgress"],
131
+ since=datetime.now() - timedelta(hours=1),
132
+ )
133
+ ```
134
+
135
+ ## Go SDK
136
+
137
+ ```go
138
+ import "github.com/cloudflare/cloudflare-go"
139
+
140
+ api, _ := cloudflare.NewWithAPIToken("your-api-token")
141
+
142
+ // Create
143
+ app, _ := api.CreateSpectrumApplication(ctx, "zone-id", cloudflare.SpectrumApplication{
144
+ Protocol: "tcp/22",
145
+ DNS: cloudflare.SpectrumApplicationDNS{Type: "CNAME", Name: "ssh.example.com"},
146
+ OriginDirect: []string{"tcp://192.0.2.1:22"},
147
+ IPFirewall: true,
148
+ ArgoSmartRouting: true,
149
+ })
150
+
151
+ // List
152
+ apps, _ := api.SpectrumApplications(ctx, "zone-id")
153
+
154
+ // Delete
155
+ _ = api.DeleteSpectrumApplication(ctx, "zone-id", app.ID)
156
+ ```
157
+
158
+ ## Analytics API
159
+
160
+ **Metrics:**
161
+
162
+ - `bytesIngress` - Bytes received from clients
163
+ - `bytesEgress` - Bytes sent to clients
164
+ - `count` - Number of connections
165
+ - `duration` - Connection duration (seconds)
166
+
167
+ **Dimensions:**
168
+
169
+ - `event` - Connection event type
170
+ - `appID` - Spectrum application ID
171
+ - `coloName` - Datacenter name
172
+ - `ipVersion` - IPv4 or IPv6
173
+
174
+ **Example:**
175
+
176
+ ```bash
177
+ curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/spectrum/analytics/aggregate/current?metrics=bytesIngress,bytesEgress,count&dimensions=appID" \
178
+ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
179
+ ```
180
+
181
+ ## See Also
182
+
183
+ - [configuration.md](configuration.md) - Terraform/Pulumi
184
+ - [patterns.md](patterns.md) - Protocol examples
@@ -0,0 +1,203 @@
1
+ ## Origin Types
2
+
3
+ ### Direct IP Origin
4
+
5
+ Use when origin is a single server with static IP.
6
+
7
+ **TypeScript SDK:**
8
+
9
+ ```typescript
10
+ const app = await client.spectrum.apps.create({
11
+ zone_id: 'your-zone-id',
12
+ protocol: 'tcp/22',
13
+ dns: { type: 'CNAME', name: 'ssh.example.com' },
14
+ origin_direct: ['tcp://192.0.2.1:22'],
15
+ ip_firewall: true,
16
+ tls: 'off',
17
+ })
18
+ ```
19
+
20
+ **Terraform:**
21
+
22
+ ```hcl
23
+ resource "cloudflare_spectrum_application" "ssh" {
24
+ zone_id = var.zone_id
25
+ protocol = "tcp/22"
26
+
27
+ dns {
28
+ type = "CNAME"
29
+ name = "ssh.example.com"
30
+ }
31
+
32
+ origin_direct = ["tcp://192.0.2.1:22"]
33
+ ip_firewall = true
34
+ tls = "off"
35
+ argo_smart_routing = true
36
+ }
37
+ ```
38
+
39
+ ### CNAME Origin
40
+
41
+ Use when origin is a hostname (not static IP). Spectrum resolves DNS dynamically.
42
+
43
+ **TypeScript SDK:**
44
+
45
+ ```typescript
46
+ const app = await client.spectrum.apps.create({
47
+ zone_id: 'your-zone-id',
48
+ protocol: 'tcp/3306',
49
+ dns: { type: 'CNAME', name: 'db.example.com' },
50
+ origin_dns: { name: 'db-primary.internal.example.com' },
51
+ origin_port: 3306,
52
+ tls: 'full',
53
+ })
54
+ ```
55
+
56
+ **Terraform:**
57
+
58
+ ```hcl
59
+ resource "cloudflare_spectrum_application" "database" {
60
+ zone_id = var.zone_id
61
+ protocol = "tcp/3306"
62
+
63
+ dns {
64
+ type = "CNAME"
65
+ name = "db.example.com"
66
+ }
67
+
68
+ origin_dns {
69
+ name = "db-primary.internal.example.com"
70
+ }
71
+
72
+ origin_port = 3306
73
+ tls = "full"
74
+ argo_smart_routing = true
75
+ }
76
+ ```
77
+
78
+ ### Load Balancer Origin
79
+
80
+ Use for high availability and failover.
81
+
82
+ **Terraform:**
83
+
84
+ ```hcl
85
+ resource "cloudflare_load_balancer" "game_lb" {
86
+ zone_id = var.zone_id
87
+ name = "game-lb.example.com"
88
+ default_pool_ids = [cloudflare_load_balancer_pool.game_pool.id]
89
+ }
90
+
91
+ resource "cloudflare_load_balancer_pool" "game_pool" {
92
+ name = "game-primary"
93
+ origins { name = "game-1"; address = "192.0.2.1" }
94
+ monitor = cloudflare_load_balancer_monitor.tcp_monitor.id
95
+ }
96
+
97
+ resource "cloudflare_load_balancer_monitor" "tcp_monitor" {
98
+ type = "tcp"; port = 25565; interval = 60; timeout = 5
99
+ }
100
+
101
+ resource "cloudflare_spectrum_application" "game" {
102
+ zone_id = var.zone_id
103
+ protocol = "tcp/25565"
104
+ dns { type = "CNAME"; name = "game.example.com" }
105
+ origin_dns { name = cloudflare_load_balancer.game_lb.name }
106
+ origin_port = 25565
107
+ }
108
+ ```
109
+
110
+ ## TLS Configuration
111
+
112
+ | Mode | Description | Use Case | Origin Cert |
113
+ | ---------- | ------------------------------ | --------------------------- | ----------- |
114
+ | `off` | No TLS | Non-encrypted (SSH, gaming) | No |
115
+ | `flexible` | TLS client→CF, plain CF→origin | Testing | No |
116
+ | `full` | TLS end-to-end, self-signed OK | Production | Yes (any) |
117
+ | `strict` | Full + valid cert verification | Max security | Yes (CA) |
118
+
119
+ **Example:**
120
+
121
+ ```typescript
122
+ const app = await client.spectrum.apps.create({
123
+ zone_id: 'your-zone-id',
124
+ protocol: 'tcp/3306',
125
+ dns: { type: 'CNAME', name: 'db.example.com' },
126
+ origin_direct: ['tcp://192.0.2.1:3306'],
127
+ tls: 'strict', // Validates origin certificate
128
+ })
129
+ ```
130
+
131
+ ## Proxy Protocol
132
+
133
+ Forwards real client IP to origin. Origin must support parsing.
134
+
135
+ | Version | Protocol | Use Case |
136
+ | -------- | -------- | ------------------------------ |
137
+ | `off` | - | Origin doesn't need client IP |
138
+ | `v1` | TCP | Most TCP apps (SSH, databases) |
139
+ | `v2` | TCP | High-performance TCP |
140
+ | `simple` | UDP | UDP applications |
141
+
142
+ **Compatibility:**
143
+
144
+ - **v1**: HAProxy, nginx, SSH, most databases
145
+ - **v2**: HAProxy 1.5+, nginx 1.11+
146
+ - **simple**: Cloudflare-specific UDP format
147
+
148
+ **Enable:**
149
+
150
+ ```typescript
151
+ const app = await client.spectrum.apps.create({
152
+ // ...
153
+ proxy_protocol: 'v1', // Origin must parse PROXY header
154
+ })
155
+ ```
156
+
157
+ **Origin Config (nginx):**
158
+
159
+ ```nginx
160
+ stream {
161
+ server {
162
+ listen 22 proxy_protocol;
163
+ proxy_pass backend:22;
164
+ }
165
+ }
166
+ ```
167
+
168
+ ## IP Access Rules
169
+
170
+ Enable `ip_firewall: true` then configure zone-level firewall rules.
171
+
172
+ ```typescript
173
+ const app = await client.spectrum.apps.create({
174
+ // ...
175
+ ip_firewall: true, // Applies zone firewall rules
176
+ })
177
+ ```
178
+
179
+ ## Port Ranges (Enterprise Only)
180
+
181
+ ```hcl
182
+ resource "cloudflare_spectrum_application" "game_cluster" {
183
+ zone_id = var.zone_id
184
+ protocol = "tcp/25565-25575"
185
+
186
+ dns {
187
+ type = "CNAME"
188
+ name = "games.example.com"
189
+ }
190
+
191
+ origin_direct = ["tcp://192.0.2.1"]
192
+
193
+ origin_port {
194
+ start = 25565
195
+ end = 25575
196
+ }
197
+ }
198
+ ```
199
+
200
+ ## See Also
201
+
202
+ - [patterns.md](patterns.md) - Protocol-specific examples
203
+ - [api.md](api.md) - REST/SDK reference
@@ -0,0 +1,155 @@
1
+ ## Common Issues
2
+
3
+ ### Connection Timeouts
4
+
5
+ **Problem:** Connections fail or timeout
6
+ **Cause:** Origin firewall blocking Cloudflare IPs, origin service not running, incorrect DNS
7
+ **Solution:**
8
+
9
+ 1. Verify origin firewall allows Cloudflare IP ranges
10
+ 2. Check origin service running on correct port
11
+ 3. Ensure DNS record is CNAME (not A/AAAA)
12
+ 4. Verify origin IP/hostname is correct
13
+
14
+ ```bash
15
+ # Test connectivity
16
+ nc -zv app.example.com 22
17
+ dig app.example.com
18
+ ```
19
+
20
+ ### Client IP Showing Cloudflare IP
21
+
22
+ **Problem:** Origin logs show Cloudflare IPs not real client IPs
23
+ **Cause:** Proxy Protocol not enabled or origin not configured
24
+ **Solution:**
25
+
26
+ ```typescript
27
+ // Enable in Spectrum app
28
+ const app = await client.spectrum.apps.create({
29
+ // ...
30
+ proxy_protocol: 'v1', // TCP: v1/v2; UDP: simple
31
+ })
32
+ ```
33
+
34
+ **Origin config:**
35
+
36
+ - **nginx**: `listen 22 proxy_protocol;`
37
+ - **HAProxy**: `bind :22 accept-proxy`
38
+
39
+ ### TLS Errors
40
+
41
+ **Problem:** TLS handshake failures, 525 errors
42
+ **Cause:** TLS mode mismatch
43
+
44
+ | Error | TLS Mode | Problem | Solution |
45
+ | ------------------ | --------------- | ------------------ | ------------------------------- |
46
+ | Connection refused | `full`/`strict` | Origin not TLS | Use `tls: "off"` or enable TLS |
47
+ | 525 cert invalid | `strict` | Self-signed cert | Use `tls: "full"` or valid cert |
48
+ | Handshake timeout | `flexible` | Origin expects TLS | Use `tls: "full"` |
49
+
50
+ **Debug:**
51
+
52
+ ```bash
53
+ openssl s_client -connect app.example.com:443 -showcerts
54
+ ```
55
+
56
+ ### SMTP Reverse DNS
57
+
58
+ **Problem:** Email servers reject SMTP via Spectrum
59
+ **Cause:** Spectrum IPs lack PTR (reverse DNS) records
60
+ **Impact:** Many mail servers require valid rDNS for anti-spam
61
+
62
+ **Solution:**
63
+
64
+ - Outbound SMTP: NOT recommended through Spectrum
65
+ - Inbound SMTP: Use Cloudflare Email Routing
66
+ - Internal relay: Whitelist Spectrum IPs on destination
67
+
68
+ ### Proxy Protocol Compatibility
69
+
70
+ **Problem:** Connection works but app behaves incorrectly
71
+ **Cause:** Origin doesn't support Proxy Protocol
72
+
73
+ **Solution:**
74
+
75
+ 1. Verify origin supports version (v1: widely supported, v2: HAProxy 1.5+/nginx 1.11+)
76
+ 2. Test with `proxy_protocol: 'off'` first
77
+ 3. Configure origin to parse headers
78
+
79
+ **nginx TCP:**
80
+
81
+ ```nginx
82
+ stream {
83
+ server {
84
+ listen 22 proxy_protocol;
85
+ proxy_pass backend:22;
86
+ }
87
+ }
88
+ ```
89
+
90
+ **HAProxy:**
91
+
92
+ ```
93
+ frontend ft_ssh
94
+ bind :22 accept-proxy
95
+ ```
96
+
97
+ ### Analytics Data Retention
98
+
99
+ **Problem:** Historical data not available
100
+ **Cause:** Retention varies by plan
101
+
102
+ | Plan | Real-time | Historical |
103
+ | ---------- | --------- | ---------- |
104
+ | Pro | Last hour | ❌ |
105
+ | Business | Last hour | Limited |
106
+ | Enterprise | Last hour | 90+ days |
107
+
108
+ **Solution:** Query within retention window or export to external system
109
+
110
+ ### Enterprise-Only Features
111
+
112
+ **Problem:** Feature unavailable/errors
113
+ **Cause:** Requires Enterprise plan
114
+
115
+ **Enterprise-only:**
116
+
117
+ - Port ranges (`tcp/25565-25575`)
118
+ - All TCP/UDP ports (Pro/Business: selected only)
119
+ - Extended analytics retention
120
+ - Advanced load balancing
121
+
122
+ ### IPv6 Considerations
123
+
124
+ **Problem:** IPv6 clients can't connect or origin doesn't support IPv6
125
+ **Solution:** Configure `edge_ips.connectivity`
126
+
127
+ ```typescript
128
+ const app = await client.spectrum.apps.create({
129
+ // ...
130
+ edge_ips: {
131
+ type: 'dynamic',
132
+ connectivity: 'ipv4', // Options: 'all', 'ipv4', 'ipv6'
133
+ },
134
+ })
135
+ ```
136
+
137
+ **Options:**
138
+
139
+ - `all`: Dual-stack (default, requires origin support both)
140
+ - `ipv4`: IPv4 only (use if origin lacks IPv6)
141
+ - `ipv6`: IPv6 only (rare)
142
+
143
+ ## Limits
144
+
145
+ | Resource | Pro/Business | Enterprise |
146
+ | ----------- | ------------ | ----------- |
147
+ | Max apps | ~10-15 | 100+ |
148
+ | Protocols | Selected | All TCP/UDP |
149
+ | Port ranges | ❌ | ✅ |
150
+ | Analytics | ~1 hour | 90+ days |
151
+
152
+ ## See Also
153
+
154
+ - [patterns.md](patterns.md) - Protocol examples
155
+ - [configuration.md](configuration.md) - TLS/Proxy setup