opencodekit 0.15.4 → 0.15.5

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 (319) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/command/cloudflare.md +70 -0
  3. package/dist/template/.opencode/package.json +1 -1
  4. package/dist/template/.opencode/skill/cloudflare/SKILL.md +233 -0
  5. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/README.md +35 -0
  6. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/api.md +100 -0
  7. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/configuration.md +99 -0
  8. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/gotchas.md +59 -0
  9. package/dist/template/.opencode/skill/cloudflare/references/agents-sdk/patterns.md +89 -0
  10. package/dist/template/.opencode/skill/cloudflare/references/ai-gateway/README.md +695 -0
  11. package/dist/template/.opencode/skill/cloudflare/references/ai-search/README.md +14 -0
  12. package/dist/template/.opencode/skill/cloudflare/references/ai-search/api.md +38 -0
  13. package/dist/template/.opencode/skill/cloudflare/references/ai-search/configuration.md +52 -0
  14. package/dist/template/.opencode/skill/cloudflare/references/ai-search/gotchas.md +41 -0
  15. package/dist/template/.opencode/skill/cloudflare/references/ai-search/patterns.md +45 -0
  16. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/README.md +14 -0
  17. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/api.md +27 -0
  18. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/configuration.md +45 -0
  19. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/gotchas.md +3 -0
  20. package/dist/template/.opencode/skill/cloudflare/references/analytics-engine/patterns.md +36 -0
  21. package/dist/template/.opencode/skill/cloudflare/references/api/README.md +21 -0
  22. package/dist/template/.opencode/skill/cloudflare/references/api/api.md +31 -0
  23. package/dist/template/.opencode/skill/cloudflare/references/api/configuration.md +20 -0
  24. package/dist/template/.opencode/skill/cloudflare/references/api/gotchas.md +28 -0
  25. package/dist/template/.opencode/skill/cloudflare/references/api/patterns.md +47 -0
  26. package/dist/template/.opencode/skill/cloudflare/references/api-shield/README.md +20 -0
  27. package/dist/template/.opencode/skill/cloudflare/references/api-shield/api.md +78 -0
  28. package/dist/template/.opencode/skill/cloudflare/references/api-shield/configuration.md +128 -0
  29. package/dist/template/.opencode/skill/cloudflare/references/api-shield/gotchas.md +51 -0
  30. package/dist/template/.opencode/skill/cloudflare/references/api-shield/patterns.md +145 -0
  31. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/README.md +16 -0
  32. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/api.md +50 -0
  33. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/configuration.md +53 -0
  34. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/gotchas.md +16 -0
  35. package/dist/template/.opencode/skill/cloudflare/references/argo-smart-routing/patterns.md +45 -0
  36. package/dist/template/.opencode/skill/cloudflare/references/bindings/README.md +14 -0
  37. package/dist/template/.opencode/skill/cloudflare/references/bindings/api.md +3 -0
  38. package/dist/template/.opencode/skill/cloudflare/references/bindings/configuration.md +58 -0
  39. package/dist/template/.opencode/skill/cloudflare/references/bindings/gotchas.md +35 -0
  40. package/dist/template/.opencode/skill/cloudflare/references/bindings/patterns.md +37 -0
  41. package/dist/template/.opencode/skill/cloudflare/references/bot-management/README.md +71 -0
  42. package/dist/template/.opencode/skill/cloudflare/references/bot-management/api.md +168 -0
  43. package/dist/template/.opencode/skill/cloudflare/references/bot-management/configuration.md +114 -0
  44. package/dist/template/.opencode/skill/cloudflare/references/bot-management/gotchas.md +99 -0
  45. package/dist/template/.opencode/skill/cloudflare/references/bot-management/patterns.md +125 -0
  46. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/README.md +16 -0
  47. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/api.md +54 -0
  48. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/configuration.md +47 -0
  49. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/gotchas.md +29 -0
  50. package/dist/template/.opencode/skill/cloudflare/references/browser-rendering/patterns.md +29 -0
  51. package/dist/template/.opencode/skill/cloudflare/references/c3/README.md +264 -0
  52. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/README.md +93 -0
  53. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/api.md +176 -0
  54. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/configuration.md +164 -0
  55. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/gotchas.md +203 -0
  56. package/dist/template/.opencode/skill/cloudflare/references/cache-reserve/patterns.md +180 -0
  57. package/dist/template/.opencode/skill/cloudflare/references/containers/README.md +16 -0
  58. package/dist/template/.opencode/skill/cloudflare/references/containers/api.md +43 -0
  59. package/dist/template/.opencode/skill/cloudflare/references/containers/configuration.md +56 -0
  60. package/dist/template/.opencode/skill/cloudflare/references/containers/gotchas.md +21 -0
  61. package/dist/template/.opencode/skill/cloudflare/references/containers/patterns.md +40 -0
  62. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/README.md +85 -0
  63. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/api.md +198 -0
  64. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/configuration.md +151 -0
  65. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/gotchas.md +129 -0
  66. package/dist/template/.opencode/skill/cloudflare/references/cron-triggers/patterns.md +122 -0
  67. package/dist/template/.opencode/skill/cloudflare/references/d1/README.md +92 -0
  68. package/dist/template/.opencode/skill/cloudflare/references/d1/api.md +141 -0
  69. package/dist/template/.opencode/skill/cloudflare/references/d1/configuration.md +127 -0
  70. package/dist/template/.opencode/skill/cloudflare/references/d1/gotchas.md +70 -0
  71. package/dist/template/.opencode/skill/cloudflare/references/d1/patterns.md +144 -0
  72. package/dist/template/.opencode/skill/cloudflare/references/ddos/README.md +34 -0
  73. package/dist/template/.opencode/skill/cloudflare/references/ddos/api.md +136 -0
  74. package/dist/template/.opencode/skill/cloudflare/references/ddos/configuration.md +67 -0
  75. package/dist/template/.opencode/skill/cloudflare/references/ddos/gotchas.md +114 -0
  76. package/dist/template/.opencode/skill/cloudflare/references/ddos/patterns.md +158 -0
  77. package/dist/template/.opencode/skill/cloudflare/references/do-storage/README.md +62 -0
  78. package/dist/template/.opencode/skill/cloudflare/references/do-storage/api.md +89 -0
  79. package/dist/template/.opencode/skill/cloudflare/references/do-storage/configuration.md +116 -0
  80. package/dist/template/.opencode/skill/cloudflare/references/do-storage/gotchas.md +93 -0
  81. package/dist/template/.opencode/skill/cloudflare/references/do-storage/patterns.md +112 -0
  82. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/README.md +125 -0
  83. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/api.md +152 -0
  84. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/configuration.md +148 -0
  85. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/gotchas.md +158 -0
  86. package/dist/template/.opencode/skill/cloudflare/references/durable-objects/patterns.md +255 -0
  87. package/dist/template/.opencode/skill/cloudflare/references/email-routing/README.md +18 -0
  88. package/dist/template/.opencode/skill/cloudflare/references/email-routing/api.md +46 -0
  89. package/dist/template/.opencode/skill/cloudflare/references/email-routing/configuration.md +63 -0
  90. package/dist/template/.opencode/skill/cloudflare/references/email-routing/gotchas.md +16 -0
  91. package/dist/template/.opencode/skill/cloudflare/references/email-routing/patterns.md +46 -0
  92. package/dist/template/.opencode/skill/cloudflare/references/email-workers/README.md +598 -0
  93. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/README.md +62 -0
  94. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/api.md +137 -0
  95. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/configuration.md +133 -0
  96. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/gotchas.md +184 -0
  97. package/dist/template/.opencode/skill/cloudflare/references/hyperdrive/patterns.md +176 -0
  98. package/dist/template/.opencode/skill/cloudflare/references/images/README.md +14 -0
  99. package/dist/template/.opencode/skill/cloudflare/references/images/api.md +3 -0
  100. package/dist/template/.opencode/skill/cloudflare/references/images/configuration.md +45 -0
  101. package/dist/template/.opencode/skill/cloudflare/references/images/gotchas.md +23 -0
  102. package/dist/template/.opencode/skill/cloudflare/references/images/patterns.md +31 -0
  103. package/dist/template/.opencode/skill/cloudflare/references/kv/README.md +60 -0
  104. package/dist/template/.opencode/skill/cloudflare/references/kv/api.md +114 -0
  105. package/dist/template/.opencode/skill/cloudflare/references/kv/configuration.md +92 -0
  106. package/dist/template/.opencode/skill/cloudflare/references/kv/gotchas.md +117 -0
  107. package/dist/template/.opencode/skill/cloudflare/references/kv/patterns.md +139 -0
  108. package/dist/template/.opencode/skill/cloudflare/references/miniflare/README.md +64 -0
  109. package/dist/template/.opencode/skill/cloudflare/references/miniflare/api.md +144 -0
  110. package/dist/template/.opencode/skill/cloudflare/references/miniflare/configuration.md +203 -0
  111. package/dist/template/.opencode/skill/cloudflare/references/miniflare/gotchas.md +187 -0
  112. package/dist/template/.opencode/skill/cloudflare/references/miniflare/patterns.md +211 -0
  113. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/README.md +60 -0
  114. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/api.md +240 -0
  115. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/configuration.md +127 -0
  116. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/gotchas.md +171 -0
  117. package/dist/template/.opencode/skill/cloudflare/references/network-interconnect/patterns.md +171 -0
  118. package/dist/template/.opencode/skill/cloudflare/references/observability/README.md +18 -0
  119. package/dist/template/.opencode/skill/cloudflare/references/observability/api.md +51 -0
  120. package/dist/template/.opencode/skill/cloudflare/references/observability/configuration.md +60 -0
  121. package/dist/template/.opencode/skill/cloudflare/references/observability/gotchas.md +36 -0
  122. package/dist/template/.opencode/skill/cloudflare/references/observability/patterns.md +42 -0
  123. package/dist/template/.opencode/skill/cloudflare/references/pages/README.md +76 -0
  124. package/dist/template/.opencode/skill/cloudflare/references/pages/api.md +200 -0
  125. package/dist/template/.opencode/skill/cloudflare/references/pages/configuration.md +228 -0
  126. package/dist/template/.opencode/skill/cloudflare/references/pages/gotchas.md +161 -0
  127. package/dist/template/.opencode/skill/cloudflare/references/pages/patterns.md +145 -0
  128. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/README.md +57 -0
  129. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/api.md +201 -0
  130. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/configuration.md +159 -0
  131. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/gotchas.md +151 -0
  132. package/dist/template/.opencode/skill/cloudflare/references/pages-functions/patterns.md +190 -0
  133. package/dist/template/.opencode/skill/cloudflare/references/pipelines/README.md +664 -0
  134. package/dist/template/.opencode/skill/cloudflare/references/pulumi/README.md +107 -0
  135. package/dist/template/.opencode/skill/cloudflare/references/pulumi/api.md +194 -0
  136. package/dist/template/.opencode/skill/cloudflare/references/pulumi/configuration.md +216 -0
  137. package/dist/template/.opencode/skill/cloudflare/references/pulumi/gotchas.md +223 -0
  138. package/dist/template/.opencode/skill/cloudflare/references/pulumi/patterns.md +139 -0
  139. package/dist/template/.opencode/skill/cloudflare/references/queues/README.md +69 -0
  140. package/dist/template/.opencode/skill/cloudflare/references/queues/api.md +138 -0
  141. package/dist/template/.opencode/skill/cloudflare/references/queues/configuration.md +125 -0
  142. package/dist/template/.opencode/skill/cloudflare/references/queues/gotchas.md +112 -0
  143. package/dist/template/.opencode/skill/cloudflare/references/queues/patterns.md +155 -0
  144. package/dist/template/.opencode/skill/cloudflare/references/r2/README.md +61 -0
  145. package/dist/template/.opencode/skill/cloudflare/references/r2/api.md +127 -0
  146. package/dist/template/.opencode/skill/cloudflare/references/r2/configuration.md +76 -0
  147. package/dist/template/.opencode/skill/cloudflare/references/r2/gotchas.md +94 -0
  148. package/dist/template/.opencode/skill/cloudflare/references/r2/patterns.md +127 -0
  149. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/README.md +18 -0
  150. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/api.md +29 -0
  151. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/configuration.md +39 -0
  152. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/gotchas.md +20 -0
  153. package/dist/template/.opencode/skill/cloudflare/references/r2-data-catalog/patterns.md +46 -0
  154. package/dist/template/.opencode/skill/cloudflare/references/r2-sql/README.md +512 -0
  155. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/README.md +21 -0
  156. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/api.md +135 -0
  157. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/configuration.md +63 -0
  158. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/gotchas.md +75 -0
  159. package/dist/template/.opencode/skill/cloudflare/references/realtime-sfu/patterns.md +102 -0
  160. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/README.md +81 -0
  161. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/api.md +164 -0
  162. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/configuration.md +147 -0
  163. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/gotchas.md +172 -0
  164. package/dist/template/.opencode/skill/cloudflare/references/realtimekit/patterns.md +155 -0
  165. package/dist/template/.opencode/skill/cloudflare/references/sandbox/README.md +90 -0
  166. package/dist/template/.opencode/skill/cloudflare/references/sandbox/api.md +178 -0
  167. package/dist/template/.opencode/skill/cloudflare/references/sandbox/configuration.md +131 -0
  168. package/dist/template/.opencode/skill/cloudflare/references/sandbox/gotchas.md +156 -0
  169. package/dist/template/.opencode/skill/cloudflare/references/sandbox/patterns.md +203 -0
  170. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/README.md +58 -0
  171. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/api.md +182 -0
  172. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/configuration.md +140 -0
  173. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/gotchas.md +129 -0
  174. package/dist/template/.opencode/skill/cloudflare/references/secrets-store/patterns.md +218 -0
  175. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/README.md +91 -0
  176. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/api.md +139 -0
  177. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/configuration.md +129 -0
  178. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/gotchas.md +87 -0
  179. package/dist/template/.opencode/skill/cloudflare/references/smart-placement/patterns.md +135 -0
  180. package/dist/template/.opencode/skill/cloudflare/references/snippets/README.md +15 -0
  181. package/dist/template/.opencode/skill/cloudflare/references/snippets/api.md +47 -0
  182. package/dist/template/.opencode/skill/cloudflare/references/snippets/configuration.md +33 -0
  183. package/dist/template/.opencode/skill/cloudflare/references/snippets/gotchas.md +21 -0
  184. package/dist/template/.opencode/skill/cloudflare/references/snippets/patterns.md +34 -0
  185. package/dist/template/.opencode/skill/cloudflare/references/spectrum/README.md +16 -0
  186. package/dist/template/.opencode/skill/cloudflare/references/spectrum/api.md +24 -0
  187. package/dist/template/.opencode/skill/cloudflare/references/spectrum/configuration.md +43 -0
  188. package/dist/template/.opencode/skill/cloudflare/references/spectrum/gotchas.md +42 -0
  189. package/dist/template/.opencode/skill/cloudflare/references/spectrum/patterns.md +40 -0
  190. package/dist/template/.opencode/skill/cloudflare/references/static-assets/README.md +14 -0
  191. package/dist/template/.opencode/skill/cloudflare/references/static-assets/api.md +3 -0
  192. package/dist/template/.opencode/skill/cloudflare/references/static-assets/configuration.md +47 -0
  193. package/dist/template/.opencode/skill/cloudflare/references/static-assets/gotchas.md +44 -0
  194. package/dist/template/.opencode/skill/cloudflare/references/static-assets/patterns.md +42 -0
  195. package/dist/template/.opencode/skill/cloudflare/references/stream/README.md +103 -0
  196. package/dist/template/.opencode/skill/cloudflare/references/stream/api.md +204 -0
  197. package/dist/template/.opencode/skill/cloudflare/references/stream/configuration.md +127 -0
  198. package/dist/template/.opencode/skill/cloudflare/references/stream/gotchas.md +131 -0
  199. package/dist/template/.opencode/skill/cloudflare/references/stream/patterns.md +152 -0
  200. package/dist/template/.opencode/skill/cloudflare/references/tail-workers/README.md +640 -0
  201. package/dist/template/.opencode/skill/cloudflare/references/terraform/README.md +76 -0
  202. package/dist/template/.opencode/skill/cloudflare/references/terraform/api.md +159 -0
  203. package/dist/template/.opencode/skill/cloudflare/references/terraform/configuration.md +156 -0
  204. package/dist/template/.opencode/skill/cloudflare/references/terraform/gotchas.md +207 -0
  205. package/dist/template/.opencode/skill/cloudflare/references/terraform/patterns.md +135 -0
  206. package/dist/template/.opencode/skill/cloudflare/references/tunnel/README.md +82 -0
  207. package/dist/template/.opencode/skill/cloudflare/references/tunnel/api.md +105 -0
  208. package/dist/template/.opencode/skill/cloudflare/references/tunnel/configuration.md +113 -0
  209. package/dist/template/.opencode/skill/cloudflare/references/tunnel/gotchas.md +115 -0
  210. package/dist/template/.opencode/skill/cloudflare/references/tunnel/patterns.md +157 -0
  211. package/dist/template/.opencode/skill/cloudflare/references/turn/README.md +699 -0
  212. package/dist/template/.opencode/skill/cloudflare/references/turnstile/README.md +14 -0
  213. package/dist/template/.opencode/skill/cloudflare/references/turnstile/api.md +3 -0
  214. package/dist/template/.opencode/skill/cloudflare/references/turnstile/configuration.md +19 -0
  215. package/dist/template/.opencode/skill/cloudflare/references/turnstile/gotchas.md +27 -0
  216. package/dist/template/.opencode/skill/cloudflare/references/turnstile/patterns.md +41 -0
  217. package/dist/template/.opencode/skill/cloudflare/references/vectorize/README.md +682 -0
  218. package/dist/template/.opencode/skill/cloudflare/references/waf/README.md +14 -0
  219. package/dist/template/.opencode/skill/cloudflare/references/waf/api.md +3 -0
  220. package/dist/template/.opencode/skill/cloudflare/references/waf/configuration.md +44 -0
  221. package/dist/template/.opencode/skill/cloudflare/references/waf/gotchas.md +24 -0
  222. package/dist/template/.opencode/skill/cloudflare/references/waf/patterns.md +29 -0
  223. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/README.md +19 -0
  224. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/api.md +52 -0
  225. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/configuration.md +31 -0
  226. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/gotchas.md +28 -0
  227. package/dist/template/.opencode/skill/cloudflare/references/web-analytics/patterns.md +52 -0
  228. package/dist/template/.opencode/skill/cloudflare/references/workerd/README.md +47 -0
  229. package/dist/template/.opencode/skill/cloudflare/references/workerd/api.md +199 -0
  230. package/dist/template/.opencode/skill/cloudflare/references/workerd/configuration.md +185 -0
  231. package/dist/template/.opencode/skill/cloudflare/references/workerd/gotchas.md +203 -0
  232. package/dist/template/.opencode/skill/cloudflare/references/workerd/patterns.md +216 -0
  233. package/dist/template/.opencode/skill/cloudflare/references/workers/README.md +96 -0
  234. package/dist/template/.opencode/skill/cloudflare/references/workers/api.md +137 -0
  235. package/dist/template/.opencode/skill/cloudflare/references/workers/configuration.md +147 -0
  236. package/dist/template/.opencode/skill/cloudflare/references/workers/gotchas.md +99 -0
  237. package/dist/template/.opencode/skill/cloudflare/references/workers/patterns.md +149 -0
  238. package/dist/template/.opencode/skill/cloudflare/references/workers-ai/README.md +116 -0
  239. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/README.md +48 -0
  240. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/api.md +169 -0
  241. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/configuration.md +136 -0
  242. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/gotchas.md +130 -0
  243. package/dist/template/.opencode/skill/cloudflare/references/workers-for-platforms/patterns.md +170 -0
  244. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/README.md +16 -0
  245. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/api.md +20 -0
  246. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/configuration.md +3 -0
  247. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/gotchas.md +35 -0
  248. package/dist/template/.opencode/skill/cloudflare/references/workers-playground/patterns.md +42 -0
  249. package/dist/template/.opencode/skill/cloudflare/references/workers-vpc/README.md +579 -0
  250. package/dist/template/.opencode/skill/cloudflare/references/workflows/README.md +62 -0
  251. package/dist/template/.opencode/skill/cloudflare/references/workflows/api.md +125 -0
  252. package/dist/template/.opencode/skill/cloudflare/references/workflows/configuration.md +177 -0
  253. package/dist/template/.opencode/skill/cloudflare/references/workflows/gotchas.md +136 -0
  254. package/dist/template/.opencode/skill/cloudflare/references/workflows/patterns.md +132 -0
  255. package/dist/template/.opencode/skill/cloudflare/references/wrangler/README.md +90 -0
  256. package/dist/template/.opencode/skill/cloudflare/references/wrangler/api.md +140 -0
  257. package/dist/template/.opencode/skill/cloudflare/references/wrangler/configuration.md +128 -0
  258. package/dist/template/.opencode/skill/cloudflare/references/wrangler/gotchas.md +93 -0
  259. package/dist/template/.opencode/skill/cloudflare/references/wrangler/patterns.md +150 -0
  260. package/dist/template/.opencode/skill/cloudflare/references/zaraz/README.md +360 -0
  261. package/dist/template/.opencode/skill/react-best-practices/AGENTS.md +2410 -0
  262. package/dist/template/.opencode/skill/react-best-practices/README.md +123 -0
  263. package/dist/template/.opencode/skill/react-best-practices/SKILL.md +125 -0
  264. package/dist/template/.opencode/skill/react-best-practices/metadata.json +15 -0
  265. package/dist/template/.opencode/skill/react-best-practices/rules/_sections.md +46 -0
  266. package/dist/template/.opencode/skill/react-best-practices/rules/_template.md +28 -0
  267. package/dist/template/.opencode/skill/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  268. package/dist/template/.opencode/skill/react-best-practices/rules/advanced-use-latest.md +49 -0
  269. package/dist/template/.opencode/skill/react-best-practices/rules/async-api-routes.md +38 -0
  270. package/dist/template/.opencode/skill/react-best-practices/rules/async-defer-await.md +80 -0
  271. package/dist/template/.opencode/skill/react-best-practices/rules/async-dependencies.md +36 -0
  272. package/dist/template/.opencode/skill/react-best-practices/rules/async-parallel.md +28 -0
  273. package/dist/template/.opencode/skill/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  274. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  275. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-conditional.md +31 -0
  276. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  277. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  278. package/dist/template/.opencode/skill/react-best-practices/rules/bundle-preload.md +50 -0
  279. package/dist/template/.opencode/skill/react-best-practices/rules/client-event-listeners.md +74 -0
  280. package/dist/template/.opencode/skill/react-best-practices/rules/client-localstorage-schema.md +71 -0
  281. package/dist/template/.opencode/skill/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  282. package/dist/template/.opencode/skill/react-best-practices/rules/client-swr-dedup.md +56 -0
  283. package/dist/template/.opencode/skill/react-best-practices/rules/js-batch-dom-css.md +82 -0
  284. package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-function-results.md +80 -0
  285. package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-property-access.md +28 -0
  286. package/dist/template/.opencode/skill/react-best-practices/rules/js-cache-storage.md +70 -0
  287. package/dist/template/.opencode/skill/react-best-practices/rules/js-combine-iterations.md +32 -0
  288. package/dist/template/.opencode/skill/react-best-practices/rules/js-early-exit.md +50 -0
  289. package/dist/template/.opencode/skill/react-best-practices/rules/js-hoist-regexp.md +45 -0
  290. package/dist/template/.opencode/skill/react-best-practices/rules/js-index-maps.md +37 -0
  291. package/dist/template/.opencode/skill/react-best-practices/rules/js-length-check-first.md +49 -0
  292. package/dist/template/.opencode/skill/react-best-practices/rules/js-min-max-loop.md +82 -0
  293. package/dist/template/.opencode/skill/react-best-practices/rules/js-set-map-lookups.md +24 -0
  294. package/dist/template/.opencode/skill/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  295. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-activity.md +26 -0
  296. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  297. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-conditional-render.md +40 -0
  298. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-content-visibility.md +38 -0
  299. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  300. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  301. package/dist/template/.opencode/skill/react-best-practices/rules/rendering-svg-precision.md +28 -0
  302. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-defer-reads.md +39 -0
  303. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-dependencies.md +45 -0
  304. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-derived-state.md +29 -0
  305. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  306. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  307. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-memo.md +44 -0
  308. package/dist/template/.opencode/skill/react-best-practices/rules/rerender-transitions.md +40 -0
  309. package/dist/template/.opencode/skill/react-best-practices/rules/server-after-nonblocking.md +73 -0
  310. package/dist/template/.opencode/skill/react-best-practices/rules/server-cache-lru.md +41 -0
  311. package/dist/template/.opencode/skill/react-best-practices/rules/server-cache-react.md +76 -0
  312. package/dist/template/.opencode/skill/react-best-practices/rules/server-parallel-fetching.md +83 -0
  313. package/dist/template/.opencode/skill/react-best-practices/rules/server-serialization.md +38 -0
  314. package/dist/template/.opencode/skill/supabase/SKILL.md +120 -0
  315. package/dist/template/.opencode/skill/supabase/mcp.json +27 -0
  316. package/dist/template/.opencode/skill/vercel-deploy-claimable/SKILL.md +112 -0
  317. package/dist/template/.opencode/skill/vercel-deploy-claimable/scripts/deploy.sh +249 -0
  318. package/dist/template/.opencode/skill/web-design-guidelines/SKILL.md +39 -0
  319. package/package.json +1 -1
@@ -0,0 +1,82 @@
1
+ # Cloudflare Tunnel
2
+
3
+ Secure outbound-only connections between infrastructure and Cloudflare's global network.
4
+
5
+ ## Overview
6
+
7
+ Cloudflare Tunnel (formerly Argo Tunnel) enables:
8
+ - **Outbound-only connections** - No inbound ports or firewall changes
9
+ - **Public hostname routing** - Expose local services to internet
10
+ - **Private network access** - Connect internal networks via WARP
11
+ - **Zero Trust integration** - Built-in access policies
12
+
13
+ **Architecture**: Tunnel (persistent object) → Connector (`cloudflared` process) → Origin services
14
+
15
+ ## Quick Start
16
+
17
+ ```bash
18
+ # Install cloudflared
19
+ brew install cloudflared # macOS
20
+
21
+ # Authenticate
22
+ cloudflared tunnel login
23
+
24
+ # Create tunnel
25
+ cloudflared tunnel create my-tunnel
26
+
27
+ # Route DNS
28
+ cloudflared tunnel route dns my-tunnel app.example.com
29
+
30
+ # Run tunnel
31
+ cloudflared tunnel run my-tunnel
32
+ ```
33
+
34
+ ## Core Commands
35
+
36
+ ```bash
37
+ # Tunnel lifecycle
38
+ cloudflared tunnel create <name>
39
+ cloudflared tunnel list
40
+ cloudflared tunnel info <name>
41
+ cloudflared tunnel delete <name>
42
+
43
+ # DNS routing
44
+ cloudflared tunnel route dns <tunnel> <hostname>
45
+ cloudflared tunnel route list
46
+
47
+ # Private network
48
+ cloudflared tunnel route ip add 10.0.0.0/8 <tunnel>
49
+
50
+ # Run tunnel
51
+ cloudflared tunnel run <name>
52
+ ```
53
+
54
+ ## Configuration Example
55
+
56
+ ```yaml
57
+ # ~/.cloudflared/config.yml
58
+ tunnel: 6ff42ae2-765d-4adf-8112-31c55c1551ef
59
+ credentials-file: /root/.cloudflared/6ff42ae2-765d-4adf-8112-31c55c1551ef.json
60
+
61
+ ingress:
62
+ - hostname: app.example.com
63
+ service: http://localhost:8000
64
+ - hostname: api.example.com
65
+ service: https://localhost:8443
66
+ originRequest:
67
+ noTLSVerify: true
68
+ - service: http_status:404
69
+ ```
70
+
71
+ ## In This Reference
72
+
73
+ - [configuration.md](./configuration.md) - Config file options, ingress rules, TLS settings
74
+ - [api.md](./api.md) - Cloudflare API, remotely-managed tunnels, programmatic control
75
+ - [patterns.md](./patterns.md) - Docker, Kubernetes, HA, service types, use cases
76
+ - [gotchas.md](./gotchas.md) - Troubleshooting, limitations, best practices
77
+
78
+ ## See Also
79
+
80
+ - [workers](../workers/) - Workers with Tunnel integration
81
+ - [access](../access/) - Zero Trust access policies
82
+ - [warp](../warp/) - WARP client for private networks
@@ -0,0 +1,105 @@
1
+ # Tunnel API
2
+
3
+ ## Cloudflare API Access
4
+
5
+ **Base URL**: `https://api.cloudflare.com/client/v4`
6
+
7
+ **Authentication**:
8
+ ```bash
9
+ Authorization: Bearer ${CF_API_TOKEN}
10
+ ```
11
+
12
+ ## Create Tunnel
13
+
14
+ ```bash
15
+ curl -X POST "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels" \
16
+ -H "Authorization: Bearer ${CF_API_TOKEN}" \
17
+ -H "Content-Type: application/json" \
18
+ --data '{
19
+ "name": "my-tunnel",
20
+ "tunnel_secret": "<base64-secret>"
21
+ }'
22
+ ```
23
+
24
+ ## List Tunnels
25
+
26
+ ```bash
27
+ curl -X GET "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels" \
28
+ -H "Authorization: Bearer ${CF_API_TOKEN}"
29
+ ```
30
+
31
+ ## Get Tunnel Info
32
+
33
+ ```bash
34
+ curl -X GET "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}" \
35
+ -H "Authorization: Bearer ${CF_API_TOKEN}"
36
+ ```
37
+
38
+ ## Update Tunnel Config
39
+
40
+ ```bash
41
+ curl -X PUT "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}/configurations" \
42
+ -H "Authorization: Bearer ${CF_API_TOKEN}" \
43
+ -H "Content-Type: application/json" \
44
+ --data '{
45
+ "config": {
46
+ "ingress": [
47
+ {"hostname": "app.example.com", "service": "http://localhost:8000"},
48
+ {"service": "http_status:404"}
49
+ ]
50
+ }
51
+ }'
52
+ ```
53
+
54
+ ## Delete Tunnel
55
+
56
+ ```bash
57
+ curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}" \
58
+ -H "Authorization: Bearer ${CF_API_TOKEN}"
59
+ ```
60
+
61
+ ## Remotely-Managed Tunnels
62
+
63
+ ### Via Dashboard
64
+ 1. **Zero Trust** > **Networks** > **Tunnels**
65
+ 2. **Create a tunnel** > **Cloudflared**
66
+ 3. Copy install command with token
67
+ 4. Run on origin:
68
+ ```bash
69
+ cloudflared service install <TOKEN>
70
+ ```
71
+
72
+ ### Via Token
73
+ ```bash
74
+ # Run with token (no config file needed)
75
+ cloudflared tunnel --no-autoupdate run --token ${TUNNEL_TOKEN}
76
+
77
+ # Docker
78
+ docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token ${TUNNEL_TOKEN}
79
+ ```
80
+
81
+ ## DNS Routes API
82
+
83
+ ```bash
84
+ # Create DNS route
85
+ curl -X POST "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}/connections" \
86
+ -H "Authorization: Bearer ${CF_API_TOKEN}" \
87
+ --data '{"hostname": "app.example.com"}'
88
+
89
+ # Delete route
90
+ curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}/connections/{route_id}" \
91
+ -H "Authorization: Bearer ${CF_API_TOKEN}"
92
+ ```
93
+
94
+ ## Private Network Routes API
95
+
96
+ ```bash
97
+ # Add IP route
98
+ curl -X POST "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}/routes" \
99
+ -H "Authorization: Bearer ${CF_API_TOKEN}" \
100
+ --data '{"ip_network": "10.0.0.0/8"}'
101
+
102
+ # List IP routes
103
+ curl -X GET "https://api.cloudflare.com/client/v4/accounts/{account_id}/tunnels/{tunnel_id}/routes" \
104
+ -H "Authorization: Bearer ${CF_API_TOKEN}"
105
+ ```
@@ -0,0 +1,113 @@
1
+ # Tunnel Configuration
2
+
3
+ ## Config File Location
4
+
5
+ ```
6
+ ~/.cloudflared/config.yml # User config
7
+ /etc/cloudflared/config.yml # System-wide (Linux)
8
+ ```
9
+
10
+ ## Basic Structure
11
+
12
+ ```yaml
13
+ tunnel: <UUID>
14
+ credentials-file: /path/to/<UUID>.json
15
+
16
+ ingress:
17
+ - hostname: app.example.com
18
+ service: http://localhost:8000
19
+ - service: http_status:404 # Required catch-all
20
+ ```
21
+
22
+ ## Ingress Rules
23
+
24
+ Rules evaluated **top to bottom**, first match wins.
25
+
26
+ ```yaml
27
+ ingress:
28
+ # Exact hostname + path regex
29
+ - hostname: static.example.com
30
+ path: \.(jpg|png|css|js)$
31
+ service: https://localhost:8001
32
+
33
+ # Wildcard hostname
34
+ - hostname: "*.example.com"
35
+ service: https://localhost:8002
36
+
37
+ # Path only (all hostnames)
38
+ - path: /api/.*
39
+ service: http://localhost:9000
40
+
41
+ # Catch-all (required)
42
+ - service: http_status:404
43
+ ```
44
+
45
+ **Validation**:
46
+ ```bash
47
+ cloudflared tunnel ingress validate
48
+ cloudflared tunnel ingress rule https://foo.example.com
49
+ ```
50
+
51
+ ## Service Types
52
+
53
+ | Protocol | Format | Client Requirement |
54
+ |----------|--------|-------------------|
55
+ | HTTP | `http://localhost:8000` | Browser |
56
+ | HTTPS | `https://localhost:8443` | Browser |
57
+ | TCP | `tcp://localhost:2222` | `cloudflared access tcp` |
58
+ | SSH | `ssh://localhost:22` | `cloudflared access ssh` |
59
+ | RDP | `rdp://localhost:3389` | `cloudflared access rdp` |
60
+ | Unix | `unix:/path/to/socket` | Browser |
61
+ | Test | `hello_world` | Browser |
62
+
63
+ ## Origin Configuration
64
+
65
+ ### Connection Settings
66
+ ```yaml
67
+ originRequest:
68
+ connectTimeout: 30s
69
+ tlsTimeout: 10s
70
+ tcpKeepAlive: 30s
71
+ keepAliveTimeout: 90s
72
+ keepAliveConnections: 100
73
+ ```
74
+
75
+ ### TLS Settings
76
+ ```yaml
77
+ originRequest:
78
+ noTLSVerify: true # Disable cert verification
79
+ originServerName: "app.internal" # Override SNI
80
+ caPool: /path/to/ca.pem # Custom CA
81
+ ```
82
+
83
+ ### HTTP Settings
84
+ ```yaml
85
+ originRequest:
86
+ disableChunkedEncoding: true
87
+ httpHostHeader: "app.internal"
88
+ http2Origin: true
89
+ ```
90
+
91
+ ## Private Network Mode
92
+
93
+ ```yaml
94
+ tunnel: <UUID>
95
+ credentials-file: /path/to/creds.json
96
+
97
+ warp-routing:
98
+ enabled: true
99
+ ```
100
+
101
+ ```bash
102
+ cloudflared tunnel route ip add 10.0.0.0/8 my-tunnel
103
+ cloudflared tunnel route ip add 192.168.1.100/32 my-tunnel
104
+ ```
105
+
106
+ ## Environment Variables
107
+
108
+ ```bash
109
+ TUNNEL_TOKEN=<token> # Remotely-managed token
110
+ TUNNEL_ORIGIN_CERT=/path/to/cert.pem # Override cert path
111
+ NO_AUTOUPDATE=true # Disable auto-updates
112
+ TUNNEL_LOGLEVEL=debug # Log level
113
+ ```
@@ -0,0 +1,115 @@
1
+ # Tunnel Gotchas
2
+
3
+ ## Common Issues
4
+
5
+ ### Error 1016 (Origin DNS Error)
6
+
7
+ **Cause**: Tunnel not running or not connected
8
+
9
+ **Fix**:
10
+ ```bash
11
+ cloudflared tunnel info my-tunnel # Check status
12
+ ps aux | grep cloudflared # Verify running
13
+ journalctl -u cloudflared -n 100 # Check logs
14
+ ```
15
+
16
+ ### Certificate Errors
17
+
18
+ **Issue**: Self-signed certs rejected
19
+
20
+ **Fix**:
21
+ ```yaml
22
+ originRequest:
23
+ noTLSVerify: true # Dev only
24
+ caPool: /path/to/ca.pem # Custom CA
25
+ ```
26
+
27
+ ### Connection Timeouts
28
+
29
+ **Issue**: Origin slow to respond
30
+
31
+ **Fix**:
32
+ ```yaml
33
+ originRequest:
34
+ connectTimeout: 60s
35
+ tlsTimeout: 20s
36
+ keepAliveTimeout: 120s
37
+ ```
38
+
39
+ ### Tunnel Not Starting
40
+
41
+ **Check**:
42
+ ```bash
43
+ cloudflared tunnel ingress validate # Validate config
44
+ ls -la ~/.cloudflared/*.json # Verify credentials
45
+ cloudflared tunnel list # Verify tunnel exists
46
+ ```
47
+
48
+ ## Best Practices
49
+
50
+ ### Security
51
+ 1. Use remotely-managed tunnels for centralized control
52
+ 2. Enable Access policies for sensitive services
53
+ 3. Rotate tunnel credentials regularly
54
+ 4. Verify TLS certs (`noTLSVerify: false`)
55
+ 5. Restrict `bastion` service type
56
+
57
+ ### Performance
58
+ 1. Run multiple replicas for HA
59
+ 2. Place `cloudflared` close to origin (same network)
60
+ 3. Use HTTP/2 for gRPC (`http2Origin: true`)
61
+ 4. Tune keepalive for long-lived connections
62
+ 5. Monitor connection counts
63
+
64
+ ### Configuration
65
+ 1. Use environment variables for secrets
66
+ 2. Version control config files
67
+ 3. Validate before deploying (`cloudflared tunnel ingress validate`)
68
+ 4. Test rules (`cloudflared tunnel ingress rule <URL>`)
69
+ 5. Document rule order (first match wins)
70
+
71
+ ### Operations
72
+ 1. Monitor tunnel health in dashboard
73
+ 2. Set up disconnect alerts
74
+ 3. Graceful shutdown for config updates
75
+ 4. Keep `cloudflared` updated (1 year support)
76
+ 5. Use `--no-autoupdate` in prod; control updates manually
77
+
78
+ ## Limitations
79
+
80
+ - **Free tier**: Unlimited tunnels and traffic
81
+ - **Tunnel limit**: 1000 replicas per tunnel
82
+ - **Connection duration**: No hard limit (hours to days)
83
+ - **Long-lived connections**: Drop during replica updates (WebSocket, SSH, UDP)
84
+
85
+ ## Debug Mode
86
+
87
+ ```bash
88
+ cloudflared tunnel --loglevel debug run my-tunnel
89
+ cloudflared tunnel ingress rule https://app.example.com
90
+ ```
91
+
92
+ ## Migration Strategies
93
+
94
+ ### From Ngrok
95
+ ```yaml
96
+ # Ngrok: ngrok http 8000
97
+ # Cloudflare Tunnel:
98
+ ingress:
99
+ - hostname: app.example.com
100
+ service: http://localhost:8000
101
+ - service: http_status:404
102
+ ```
103
+
104
+ ### From VPN
105
+ ```yaml
106
+ # Replace VPN with private network routing
107
+ warp-routing:
108
+ enabled: true
109
+ ```
110
+
111
+ ```bash
112
+ cloudflared tunnel route ip add 10.0.0.0/8 my-tunnel
113
+ ```
114
+
115
+ Users install WARP client instead of VPN.
@@ -0,0 +1,157 @@
1
+ # Tunnel Patterns
2
+
3
+ ## Docker Deployment
4
+
5
+ ### Quick Tunnel
6
+ ```dockerfile
7
+ FROM cloudflare/cloudflared:latest
8
+ CMD ["tunnel", "--url", "http://app:8080"]
9
+ ```
10
+
11
+ ### Named Tunnel
12
+ ```yaml
13
+ services:
14
+ cloudflared:
15
+ image: cloudflare/cloudflared:latest
16
+ command: tunnel --no-autoupdate run --token ${TUNNEL_TOKEN}
17
+ restart: unless-stopped
18
+ app:
19
+ image: myapp:latest
20
+ ```
21
+
22
+ ### With Config File
23
+ ```yaml
24
+ services:
25
+ cloudflared:
26
+ image: cloudflare/cloudflared:latest
27
+ volumes:
28
+ - ./config.yml:/etc/cloudflared/config.yml:ro
29
+ - ./credentials.json:/etc/cloudflared/credentials.json:ro
30
+ command: tunnel --config /etc/cloudflared/config.yml run
31
+ ```
32
+
33
+ ## Kubernetes Deployment
34
+
35
+ ```yaml
36
+ apiVersion: apps/v1
37
+ kind: Deployment
38
+ metadata:
39
+ name: cloudflared
40
+ spec:
41
+ replicas: 2
42
+ selector:
43
+ matchLabels:
44
+ app: cloudflared
45
+ template:
46
+ metadata:
47
+ labels:
48
+ app: cloudflared
49
+ spec:
50
+ containers:
51
+ - name: cloudflared
52
+ image: cloudflare/cloudflared:latest
53
+ args:
54
+ - tunnel
55
+ - --no-autoupdate
56
+ - run
57
+ - --token
58
+ - $(TUNNEL_TOKEN)
59
+ env:
60
+ - name: TUNNEL_TOKEN
61
+ valueFrom:
62
+ secretKeyRef:
63
+ name: tunnel-credentials
64
+ key: token
65
+ ```
66
+
67
+ ## High Availability
68
+
69
+ ```yaml
70
+ # Same config on multiple servers
71
+ tunnel: <UUID>
72
+ credentials-file: /path/to/creds.json
73
+
74
+ ingress:
75
+ - hostname: app.example.com
76
+ service: http://localhost:8000
77
+ - service: http_status:404
78
+ ```
79
+
80
+ Run on multiple machines:
81
+ ```bash
82
+ # Server 1
83
+ cloudflared tunnel run my-tunnel
84
+
85
+ # Server 2 (same config)
86
+ cloudflared tunnel run my-tunnel
87
+ ```
88
+
89
+ Cloudflare automatically load balances. Long-lived connections (WebSocket, SSH) will drop during updates.
90
+
91
+ ## Use Cases
92
+
93
+ ### Web Application
94
+ ```yaml
95
+ ingress:
96
+ - hostname: myapp.example.com
97
+ service: http://localhost:3000
98
+ - service: http_status:404
99
+ ```
100
+
101
+ ### SSH Access
102
+ ```yaml
103
+ ingress:
104
+ - hostname: ssh.example.com
105
+ service: ssh://localhost:22
106
+ - service: http_status:404
107
+ ```
108
+
109
+ Client:
110
+ ```bash
111
+ cloudflared access ssh --hostname ssh.example.com
112
+ ```
113
+
114
+ ### gRPC Service
115
+ ```yaml
116
+ ingress:
117
+ - hostname: grpc.example.com
118
+ service: http://localhost:50051
119
+ originRequest:
120
+ http2Origin: true
121
+ - service: http_status:404
122
+ ```
123
+
124
+ ### Multiple Environments
125
+ ```yaml
126
+ ingress:
127
+ - hostname: prod.example.com
128
+ service: http://localhost:8001
129
+ - hostname: staging.example.com
130
+ service: http://localhost:8002
131
+ - hostname: dev.example.com
132
+ service: http://localhost:8003
133
+ - service: http_status:404
134
+ ```
135
+
136
+ ## Service Installation
137
+
138
+ ### Linux systemd
139
+ ```bash
140
+ cloudflared service install
141
+ systemctl start cloudflared
142
+ systemctl enable cloudflared
143
+ systemctl status cloudflared
144
+
145
+ # Logs
146
+ journalctl -u cloudflared -f
147
+ ```
148
+
149
+ ### macOS launchd
150
+ ```bash
151
+ sudo cloudflared service install
152
+ sudo launchctl start com.cloudflare.cloudflared
153
+ sudo launchctl load -w /Library/LaunchDaemons/com.cloudflare.cloudflared.plist
154
+
155
+ # Logs
156
+ tail -f /Library/Logs/com.cloudflare.cloudflared.err.log
157
+ ```