@agentuity/cli 2.0.10 → 3.0.0-alpha.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 (353) hide show
  1. package/dist/cmd/ai/prompt/index.d.ts.map +1 -1
  2. package/dist/cmd/ai/prompt/index.js +2 -7
  3. package/dist/cmd/ai/prompt/index.js.map +1 -1
  4. package/dist/cmd/build/adapters/generic.d.ts +29 -0
  5. package/dist/cmd/build/adapters/generic.d.ts.map +1 -0
  6. package/dist/cmd/build/adapters/generic.js +190 -0
  7. package/dist/cmd/build/adapters/generic.js.map +1 -0
  8. package/dist/cmd/build/adapters/index.d.ts +15 -0
  9. package/dist/cmd/build/adapters/index.d.ts.map +1 -0
  10. package/dist/cmd/build/adapters/index.js +24 -0
  11. package/dist/cmd/build/adapters/index.js.map +1 -0
  12. package/dist/cmd/build/adapters/nextjs.d.ts +11 -0
  13. package/dist/cmd/build/adapters/nextjs.d.ts.map +1 -0
  14. package/dist/cmd/build/adapters/nextjs.js +118 -0
  15. package/dist/cmd/build/adapters/nextjs.js.map +1 -0
  16. package/dist/cmd/build/adapters/static-server.d.ts +23 -0
  17. package/dist/cmd/build/adapters/static-server.d.ts.map +1 -0
  18. package/dist/cmd/build/adapters/static-server.js +137 -0
  19. package/dist/cmd/build/adapters/static-server.js.map +1 -0
  20. package/dist/cmd/build/adapters/types.d.ts +71 -0
  21. package/dist/cmd/build/adapters/types.d.ts.map +1 -0
  22. package/dist/cmd/build/adapters/types.js +8 -0
  23. package/dist/cmd/build/adapters/types.js.map +1 -0
  24. package/dist/cmd/build/detect/engine.d.ts +24 -0
  25. package/dist/cmd/build/detect/engine.d.ts.map +1 -0
  26. package/dist/cmd/build/detect/engine.js +91 -0
  27. package/dist/cmd/build/detect/engine.js.map +1 -0
  28. package/dist/cmd/build/detect/frameworks.d.ts +66 -0
  29. package/dist/cmd/build/detect/frameworks.d.ts.map +1 -0
  30. package/dist/cmd/build/detect/frameworks.js +278 -0
  31. package/dist/cmd/build/detect/frameworks.js.map +1 -0
  32. package/dist/cmd/build/detect/generic.d.ts +13 -0
  33. package/dist/cmd/build/detect/generic.d.ts.map +1 -0
  34. package/dist/cmd/build/detect/generic.js +62 -0
  35. package/dist/cmd/build/detect/generic.js.map +1 -0
  36. package/dist/cmd/build/detect/index.d.ts +27 -0
  37. package/dist/cmd/build/detect/index.d.ts.map +1 -0
  38. package/dist/cmd/build/detect/index.js +76 -0
  39. package/dist/cmd/build/detect/index.js.map +1 -0
  40. package/dist/cmd/build/detect/types.d.ts +91 -0
  41. package/dist/cmd/build/detect/types.d.ts.map +1 -0
  42. package/dist/cmd/build/detect/types.js +9 -0
  43. package/dist/cmd/build/detect/types.js.map +1 -0
  44. package/dist/cmd/build/detect/util.d.ts +41 -0
  45. package/dist/cmd/build/detect/util.d.ts.map +1 -0
  46. package/dist/cmd/build/detect/util.js +101 -0
  47. package/dist/cmd/build/detect/util.js.map +1 -0
  48. package/dist/cmd/build/index.d.ts.map +1 -1
  49. package/dist/cmd/build/index.js +49 -22
  50. package/dist/cmd/build/index.js.map +1 -1
  51. package/dist/cmd/build/package/index.d.ts +30 -0
  52. package/dist/cmd/build/package/index.d.ts.map +1 -0
  53. package/dist/cmd/build/package/index.js +39 -0
  54. package/dist/cmd/build/package/index.js.map +1 -0
  55. package/dist/cmd/build/package/launch.d.ts +56 -0
  56. package/dist/cmd/build/package/launch.d.ts.map +1 -0
  57. package/dist/cmd/build/package/launch.js +56 -0
  58. package/dist/cmd/build/package/launch.js.map +1 -0
  59. package/dist/cmd/build/typecheck.d.ts.map +1 -1
  60. package/dist/cmd/build/typecheck.js +8 -0
  61. package/dist/cmd/build/typecheck.js.map +1 -1
  62. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  63. package/dist/cmd/cloud/deploy.js +63 -13
  64. package/dist/cmd/cloud/deploy.js.map +1 -1
  65. package/dist/cmd/coder/create.d.ts.map +1 -1
  66. package/dist/cmd/coder/create.js +18 -0
  67. package/dist/cmd/coder/create.js.map +1 -1
  68. package/dist/cmd/coder/index.d.ts.map +1 -1
  69. package/dist/cmd/coder/index.js +4 -0
  70. package/dist/cmd/coder/index.js.map +1 -1
  71. package/dist/cmd/coder/start.d.ts.map +1 -1
  72. package/dist/cmd/coder/start.js +49 -1
  73. package/dist/cmd/coder/start.js.map +1 -1
  74. package/dist/cmd/coder/update.d.ts.map +1 -1
  75. package/dist/cmd/coder/update.js +21 -1
  76. package/dist/cmd/coder/update.js.map +1 -1
  77. package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
  78. package/dist/cmd/coder/workspace/create.js +17 -1
  79. package/dist/cmd/coder/workspace/create.js.map +1 -1
  80. package/dist/cmd/coder/workspace/list.js +2 -2
  81. package/dist/cmd/coder/workspace/list.js.map +1 -1
  82. package/dist/cmd/dev/index.d.ts +9 -0
  83. package/dist/cmd/dev/index.d.ts.map +1 -1
  84. package/dist/cmd/dev/index.js +127 -923
  85. package/dist/cmd/dev/index.js.map +1 -1
  86. package/dist/cmd/project/auth/shared.d.ts.map +1 -1
  87. package/dist/cmd/project/auth/shared.js +14 -38
  88. package/dist/cmd/project/auth/shared.js.map +1 -1
  89. package/dist/cmd/project/create.d.ts.map +1 -1
  90. package/dist/cmd/project/create.js +12 -19
  91. package/dist/cmd/project/create.js.map +1 -1
  92. package/dist/cmd/project/frameworks-ai-examples.d.ts +15 -0
  93. package/dist/cmd/project/frameworks-ai-examples.d.ts.map +1 -0
  94. package/dist/cmd/project/frameworks-ai-examples.js +160 -0
  95. package/dist/cmd/project/frameworks-ai-examples.js.map +1 -0
  96. package/dist/cmd/project/frameworks-landing-pages.d.ts +17 -0
  97. package/dist/cmd/project/frameworks-landing-pages.d.ts.map +1 -0
  98. package/dist/cmd/project/frameworks-landing-pages.js +242 -0
  99. package/dist/cmd/project/frameworks-landing-pages.js.map +1 -0
  100. package/dist/cmd/project/frameworks.d.ts +58 -0
  101. package/dist/cmd/project/frameworks.d.ts.map +1 -0
  102. package/dist/cmd/project/frameworks.js +152 -0
  103. package/dist/cmd/project/frameworks.js.map +1 -0
  104. package/dist/cmd/project/reconcile.d.ts.map +1 -1
  105. package/dist/cmd/project/reconcile.js +10 -23
  106. package/dist/cmd/project/reconcile.js.map +1 -1
  107. package/dist/cmd/project/remote-import.js +1 -1
  108. package/dist/cmd/project/scaffold.d.ts +58 -0
  109. package/dist/cmd/project/scaffold.d.ts.map +1 -0
  110. package/dist/cmd/project/scaffold.js +223 -0
  111. package/dist/cmd/project/scaffold.js.map +1 -0
  112. package/dist/cmd/project/template-flow.d.ts +8 -4
  113. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  114. package/dist/cmd/project/template-flow.js +93 -144
  115. package/dist/cmd/project/template-flow.js.map +1 -1
  116. package/dist/deploy-metadata.d.ts +49 -0
  117. package/dist/deploy-metadata.d.ts.map +1 -0
  118. package/dist/deploy-metadata.js +183 -0
  119. package/dist/deploy-metadata.js.map +1 -0
  120. package/dist/index.d.ts +1 -1
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js.map +1 -1
  123. package/dist/types.d.ts +25 -31
  124. package/dist/types.d.ts.map +1 -1
  125. package/dist/types.js.map +1 -1
  126. package/package.json +13 -8
  127. package/src/cmd/ai/prompt/index.ts +2 -7
  128. package/src/cmd/build/adapters/generic.ts +239 -0
  129. package/src/cmd/build/adapters/index.ts +30 -0
  130. package/src/cmd/build/adapters/nextjs.ts +146 -0
  131. package/src/cmd/build/adapters/static-server.ts +143 -0
  132. package/src/cmd/build/adapters/types.ts +93 -0
  133. package/src/cmd/build/detect/engine.ts +111 -0
  134. package/src/cmd/build/detect/frameworks.ts +335 -0
  135. package/src/cmd/build/detect/generic.ts +71 -0
  136. package/src/cmd/build/detect/index.ts +122 -0
  137. package/src/cmd/build/detect/types.ts +109 -0
  138. package/src/cmd/build/detect/util.ts +104 -0
  139. package/src/cmd/build/index.ts +64 -24
  140. package/src/cmd/build/package/index.ts +66 -0
  141. package/src/cmd/build/package/launch.ts +104 -0
  142. package/src/cmd/build/typecheck.ts +9 -0
  143. package/src/cmd/cloud/deploy.ts +86 -13
  144. package/src/cmd/coder/create.ts +24 -1
  145. package/src/cmd/coder/index.ts +4 -0
  146. package/src/cmd/coder/start.ts +60 -1
  147. package/src/cmd/coder/update.ts +18 -1
  148. package/src/cmd/coder/workspace/create.ts +20 -2
  149. package/src/cmd/coder/workspace/list.ts +2 -2
  150. package/src/cmd/dev/index.ts +155 -1059
  151. package/src/cmd/project/auth/shared.ts +14 -39
  152. package/src/cmd/project/create.ts +14 -19
  153. package/src/cmd/project/frameworks-ai-examples.ts +166 -0
  154. package/src/cmd/project/frameworks-landing-pages.ts +267 -0
  155. package/src/cmd/project/frameworks.ts +223 -0
  156. package/src/cmd/project/reconcile.ts +10 -22
  157. package/src/cmd/project/remote-import.ts +1 -1
  158. package/src/cmd/project/scaffold.ts +300 -0
  159. package/src/cmd/project/template-flow.ts +102 -156
  160. package/src/deploy-metadata.ts +253 -0
  161. package/src/index.ts +0 -2
  162. package/src/types.ts +0 -31
  163. package/dist/agents-docs.d.ts +0 -23
  164. package/dist/agents-docs.d.ts.map +0 -1
  165. package/dist/agents-docs.js +0 -56
  166. package/dist/agents-docs.js.map +0 -1
  167. package/dist/cmd/ai/prompt/agent.d.ts +0 -10
  168. package/dist/cmd/ai/prompt/agent.d.ts.map +0 -1
  169. package/dist/cmd/ai/prompt/agent.js +0 -28
  170. package/dist/cmd/ai/prompt/agent.js.map +0 -1
  171. package/dist/cmd/build/app-router-detector.d.ts +0 -39
  172. package/dist/cmd/build/app-router-detector.d.ts.map +0 -1
  173. package/dist/cmd/build/app-router-detector.js +0 -229
  174. package/dist/cmd/build/app-router-detector.js.map +0 -1
  175. package/dist/cmd/build/format-schema.d.ts +0 -6
  176. package/dist/cmd/build/format-schema.d.ts.map +0 -1
  177. package/dist/cmd/build/format-schema.js +0 -60
  178. package/dist/cmd/build/format-schema.js.map +0 -1
  179. package/dist/cmd/build/vite/agent-discovery.d.ts +0 -37
  180. package/dist/cmd/build/vite/agent-discovery.d.ts.map +0 -1
  181. package/dist/cmd/build/vite/agent-discovery.js +0 -263
  182. package/dist/cmd/build/vite/agent-discovery.js.map +0 -1
  183. package/dist/cmd/build/vite/beacon-plugin.d.ts +0 -19
  184. package/dist/cmd/build/vite/beacon-plugin.d.ts.map +0 -1
  185. package/dist/cmd/build/vite/beacon-plugin.js +0 -137
  186. package/dist/cmd/build/vite/beacon-plugin.js.map +0 -1
  187. package/dist/cmd/build/vite/browser-env-plugin.d.ts +0 -9
  188. package/dist/cmd/build/vite/browser-env-plugin.d.ts.map +0 -1
  189. package/dist/cmd/build/vite/browser-env-plugin.js +0 -28
  190. package/dist/cmd/build/vite/browser-env-plugin.js.map +0 -1
  191. package/dist/cmd/build/vite/bun-dev-server.d.ts +0 -67
  192. package/dist/cmd/build/vite/bun-dev-server.d.ts.map +0 -1
  193. package/dist/cmd/build/vite/bun-dev-server.js +0 -340
  194. package/dist/cmd/build/vite/bun-dev-server.js.map +0 -1
  195. package/dist/cmd/build/vite/bundle-files.d.ts +0 -12
  196. package/dist/cmd/build/vite/bundle-files.d.ts.map +0 -1
  197. package/dist/cmd/build/vite/bundle-files.js +0 -107
  198. package/dist/cmd/build/vite/bundle-files.js.map +0 -1
  199. package/dist/cmd/build/vite/config-loader.d.ts +0 -29
  200. package/dist/cmd/build/vite/config-loader.d.ts.map +0 -1
  201. package/dist/cmd/build/vite/config-loader.js +0 -57
  202. package/dist/cmd/build/vite/config-loader.js.map +0 -1
  203. package/dist/cmd/build/vite/db-rewrite.d.ts +0 -50
  204. package/dist/cmd/build/vite/db-rewrite.d.ts.map +0 -1
  205. package/dist/cmd/build/vite/db-rewrite.js +0 -169
  206. package/dist/cmd/build/vite/db-rewrite.js.map +0 -1
  207. package/dist/cmd/build/vite/docs-generator.d.ts +0 -13
  208. package/dist/cmd/build/vite/docs-generator.d.ts.map +0 -1
  209. package/dist/cmd/build/vite/docs-generator.js +0 -97
  210. package/dist/cmd/build/vite/docs-generator.js.map +0 -1
  211. package/dist/cmd/build/vite/env-types-generator.d.ts +0 -26
  212. package/dist/cmd/build/vite/env-types-generator.d.ts.map +0 -1
  213. package/dist/cmd/build/vite/env-types-generator.js +0 -110
  214. package/dist/cmd/build/vite/env-types-generator.js.map +0 -1
  215. package/dist/cmd/build/vite/index.d.ts +0 -3
  216. package/dist/cmd/build/vite/index.d.ts.map +0 -1
  217. package/dist/cmd/build/vite/index.js +0 -4
  218. package/dist/cmd/build/vite/index.js.map +0 -1
  219. package/dist/cmd/build/vite/lifecycle-generator.d.ts +0 -19
  220. package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +0 -1
  221. package/dist/cmd/build/vite/lifecycle-generator.js +0 -328
  222. package/dist/cmd/build/vite/lifecycle-generator.js.map +0 -1
  223. package/dist/cmd/build/vite/metadata-generator.d.ts +0 -36
  224. package/dist/cmd/build/vite/metadata-generator.d.ts.map +0 -1
  225. package/dist/cmd/build/vite/metadata-generator.js +0 -575
  226. package/dist/cmd/build/vite/metadata-generator.js.map +0 -1
  227. package/dist/cmd/build/vite/prompt-generator.d.ts +0 -23
  228. package/dist/cmd/build/vite/prompt-generator.d.ts.map +0 -1
  229. package/dist/cmd/build/vite/prompt-generator.js +0 -123
  230. package/dist/cmd/build/vite/prompt-generator.js.map +0 -1
  231. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +0 -45
  232. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +0 -1
  233. package/dist/cmd/build/vite/public-asset-path-plugin.js +0 -166
  234. package/dist/cmd/build/vite/public-asset-path-plugin.js.map +0 -1
  235. package/dist/cmd/build/vite/route-discovery.d.ts +0 -64
  236. package/dist/cmd/build/vite/route-discovery.d.ts.map +0 -1
  237. package/dist/cmd/build/vite/route-discovery.js +0 -187
  238. package/dist/cmd/build/vite/route-discovery.js.map +0 -1
  239. package/dist/cmd/build/vite/server-bundler.d.ts +0 -20
  240. package/dist/cmd/build/vite/server-bundler.d.ts.map +0 -1
  241. package/dist/cmd/build/vite/server-bundler.js +0 -388
  242. package/dist/cmd/build/vite/server-bundler.js.map +0 -1
  243. package/dist/cmd/build/vite/static-renderer.d.ts +0 -26
  244. package/dist/cmd/build/vite/static-renderer.d.ts.map +0 -1
  245. package/dist/cmd/build/vite/static-renderer.js +0 -188
  246. package/dist/cmd/build/vite/static-renderer.js.map +0 -1
  247. package/dist/cmd/build/vite/tailwind-source-plugin.d.ts +0 -15
  248. package/dist/cmd/build/vite/tailwind-source-plugin.d.ts.map +0 -1
  249. package/dist/cmd/build/vite/tailwind-source-plugin.js +0 -61
  250. package/dist/cmd/build/vite/tailwind-source-plugin.js.map +0 -1
  251. package/dist/cmd/build/vite/vite-asset-server-config.d.ts +0 -24
  252. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +0 -1
  253. package/dist/cmd/build/vite/vite-asset-server-config.js +0 -285
  254. package/dist/cmd/build/vite/vite-asset-server-config.js.map +0 -1
  255. package/dist/cmd/build/vite/vite-asset-server.d.ts +0 -30
  256. package/dist/cmd/build/vite/vite-asset-server.d.ts.map +0 -1
  257. package/dist/cmd/build/vite/vite-asset-server.js +0 -109
  258. package/dist/cmd/build/vite/vite-asset-server.js.map +0 -1
  259. package/dist/cmd/build/vite/vite-builder.d.ts +0 -59
  260. package/dist/cmd/build/vite/vite-builder.d.ts.map +0 -1
  261. package/dist/cmd/build/vite/vite-builder.js +0 -401
  262. package/dist/cmd/build/vite/vite-builder.js.map +0 -1
  263. package/dist/cmd/build/vite/workbench-generator.d.ts +0 -10
  264. package/dist/cmd/build/vite/workbench-generator.d.ts.map +0 -1
  265. package/dist/cmd/build/vite/workbench-generator.js +0 -135
  266. package/dist/cmd/build/vite/workbench-generator.js.map +0 -1
  267. package/dist/cmd/build/vite/ws-proxy.d.ts +0 -53
  268. package/dist/cmd/build/vite/ws-proxy.d.ts.map +0 -1
  269. package/dist/cmd/build/vite/ws-proxy.js +0 -95
  270. package/dist/cmd/build/vite/ws-proxy.js.map +0 -1
  271. package/dist/cmd/build/vite-bundler.d.ts +0 -29
  272. package/dist/cmd/build/vite-bundler.d.ts.map +0 -1
  273. package/dist/cmd/build/vite-bundler.js +0 -93
  274. package/dist/cmd/build/vite-bundler.js.map +0 -1
  275. package/dist/cmd/dev/agents.d.ts +0 -2
  276. package/dist/cmd/dev/agents.d.ts.map +0 -1
  277. package/dist/cmd/dev/agents.js +0 -123
  278. package/dist/cmd/dev/agents.js.map +0 -1
  279. package/dist/cmd/dev/api.d.ts +0 -20
  280. package/dist/cmd/dev/api.d.ts.map +0 -1
  281. package/dist/cmd/dev/api.js +0 -42
  282. package/dist/cmd/dev/api.js.map +0 -1
  283. package/dist/cmd/dev/dev-lock.d.ts +0 -62
  284. package/dist/cmd/dev/dev-lock.d.ts.map +0 -1
  285. package/dist/cmd/dev/dev-lock.js +0 -250
  286. package/dist/cmd/dev/dev-lock.js.map +0 -1
  287. package/dist/cmd/dev/download.d.ts +0 -11
  288. package/dist/cmd/dev/download.d.ts.map +0 -1
  289. package/dist/cmd/dev/download.js +0 -94
  290. package/dist/cmd/dev/download.js.map +0 -1
  291. package/dist/cmd/dev/file-watcher.d.ts +0 -24
  292. package/dist/cmd/dev/file-watcher.d.ts.map +0 -1
  293. package/dist/cmd/dev/file-watcher.js +0 -349
  294. package/dist/cmd/dev/file-watcher.js.map +0 -1
  295. package/dist/cmd/dev/process-manager.d.ts +0 -104
  296. package/dist/cmd/dev/process-manager.d.ts.map +0 -1
  297. package/dist/cmd/dev/process-manager.js +0 -204
  298. package/dist/cmd/dev/process-manager.js.map +0 -1
  299. package/dist/cmd/dev/sync.d.ts +0 -12
  300. package/dist/cmd/dev/sync.d.ts.map +0 -1
  301. package/dist/cmd/dev/sync.js +0 -227
  302. package/dist/cmd/dev/sync.js.map +0 -1
  303. package/dist/cmd/dev/templates.d.ts +0 -3
  304. package/dist/cmd/dev/templates.d.ts.map +0 -1
  305. package/dist/cmd/dev/templates.js +0 -58
  306. package/dist/cmd/dev/templates.js.map +0 -1
  307. package/dist/cmd/project/download.d.ts +0 -35
  308. package/dist/cmd/project/download.d.ts.map +0 -1
  309. package/dist/cmd/project/download.js +0 -403
  310. package/dist/cmd/project/download.js.map +0 -1
  311. package/dist/cmd/project/templates.d.ts +0 -9
  312. package/dist/cmd/project/templates.d.ts.map +0 -1
  313. package/dist/cmd/project/templates.js +0 -34
  314. package/dist/cmd/project/templates.js.map +0 -1
  315. package/src/agents-docs.ts +0 -86
  316. package/src/cmd/ai/prompt/agent.md +0 -305
  317. package/src/cmd/ai/prompt/agent.ts +0 -31
  318. package/src/cmd/build/app-router-detector.ts +0 -320
  319. package/src/cmd/build/format-schema.ts +0 -66
  320. package/src/cmd/build/vite/agent-discovery.ts +0 -380
  321. package/src/cmd/build/vite/beacon-plugin.ts +0 -164
  322. package/src/cmd/build/vite/browser-env-plugin.ts +0 -34
  323. package/src/cmd/build/vite/bun-dev-server.ts +0 -458
  324. package/src/cmd/build/vite/bundle-files.ts +0 -135
  325. package/src/cmd/build/vite/config-loader.ts +0 -76
  326. package/src/cmd/build/vite/db-rewrite.ts +0 -189
  327. package/src/cmd/build/vite/docs-generator.ts +0 -103
  328. package/src/cmd/build/vite/env-types-generator.ts +0 -145
  329. package/src/cmd/build/vite/index.ts +0 -3
  330. package/src/cmd/build/vite/lifecycle-generator.ts +0 -381
  331. package/src/cmd/build/vite/metadata-generator.ts +0 -713
  332. package/src/cmd/build/vite/prompt-generator.ts +0 -169
  333. package/src/cmd/build/vite/public-asset-path-plugin.ts +0 -209
  334. package/src/cmd/build/vite/route-discovery.ts +0 -271
  335. package/src/cmd/build/vite/server-bundler.ts +0 -481
  336. package/src/cmd/build/vite/static-renderer.ts +0 -239
  337. package/src/cmd/build/vite/tailwind-source-plugin.ts +0 -73
  338. package/src/cmd/build/vite/vite-asset-server-config.ts +0 -349
  339. package/src/cmd/build/vite/vite-asset-server.ts +0 -154
  340. package/src/cmd/build/vite/vite-builder.ts +0 -503
  341. package/src/cmd/build/vite/workbench-generator.ts +0 -152
  342. package/src/cmd/build/vite/ws-proxy.ts +0 -126
  343. package/src/cmd/build/vite-bundler.ts +0 -137
  344. package/src/cmd/dev/agents.ts +0 -140
  345. package/src/cmd/dev/api.ts +0 -65
  346. package/src/cmd/dev/dev-lock.ts +0 -332
  347. package/src/cmd/dev/download.ts +0 -117
  348. package/src/cmd/dev/file-watcher.ts +0 -423
  349. package/src/cmd/dev/process-manager.ts +0 -261
  350. package/src/cmd/dev/sync.ts +0 -411
  351. package/src/cmd/dev/templates.ts +0 -66
  352. package/src/cmd/project/download.ts +0 -505
  353. package/src/cmd/project/templates.ts +0 -56
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Build adapter types.
3
+ *
4
+ * Adapters know how to build a specific framework and package the result.
5
+ * They receive a DetectedFramework and produce a BuildResult.
6
+ */
7
+ import type { DetectedFramework, PackageJsonData } from '../detect/types';
8
+ import type { Logger, DeployOptions } from '../../../types';
9
+ import type { BuildReportCollector } from '../../../build-report';
10
+ /**
11
+ * Result of a successful build.
12
+ */
13
+ export interface BuildResult {
14
+ /** Absolute path to the build output directory */
15
+ outputDir: string;
16
+ /** The start command to run the application */
17
+ startCommand?: string;
18
+ /** Server entrypoint file (relative to outputDir) */
19
+ serverEntry?: string;
20
+ /** Static/CDN assets directory (absolute path), for CDN upload enumeration */
21
+ staticDir?: string;
22
+ /** Port the app listens on */
23
+ port?: number;
24
+ /** Build duration in milliseconds */
25
+ duration: number;
26
+ /** Human-readable build log lines */
27
+ logs: string[];
28
+ }
29
+ /**
30
+ * Options passed to a build adapter.
31
+ */
32
+ export interface BuildAdapterOptions {
33
+ /** Absolute path to the project root */
34
+ projectDir: string;
35
+ /** Detected framework info */
36
+ framework: DetectedFramework;
37
+ /** Parsed package.json */
38
+ packageJson: PackageJsonData;
39
+ /** Absolute path to write build output */
40
+ outputDir: string;
41
+ /** Logger instance */
42
+ logger: Logger;
43
+ /** Build report collector for structured error reporting */
44
+ collector?: BuildReportCollector;
45
+ /** Development mode (less minification, inline sourcemaps) */
46
+ dev?: boolean;
47
+ /** Project ID (for Agentuity metadata) */
48
+ projectId?: string;
49
+ /** Org ID (for Agentuity metadata) */
50
+ orgId?: string;
51
+ /** Region (for Agentuity metadata) */
52
+ region?: string;
53
+ /** Deployment ID (for Agentuity metadata) */
54
+ deploymentId?: string;
55
+ /** Deployment options from CLI (git info, trigger, etc.) */
56
+ deploymentOptions?: DeployOptions;
57
+ /** Deployment config from agentuity.json (resources, mode, dependencies, domains) */
58
+ deploymentConfig?: Record<string, unknown>;
59
+ }
60
+ /**
61
+ * A build adapter that knows how to build a specific framework.
62
+ */
63
+ export interface BuildAdapter {
64
+ /** Framework this adapter handles */
65
+ name: string;
66
+ /**
67
+ * Run the build for this framework.
68
+ */
69
+ build(options: BuildAdapterOptions): Promise<BuildResult>;
70
+ }
71
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAElB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,IAAI,EAAE,MAAM,EAAE,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IAEnB,8BAA8B;IAC9B,SAAS,EAAE,iBAAiB,CAAC;IAE7B,0BAA0B;IAC1B,WAAW,EAAE,eAAe,CAAC;IAE7B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAElB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IAEf,4DAA4D;IAC5D,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAEjC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAElC,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC1D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Build adapter types.
3
+ *
4
+ * Adapters know how to build a specific framework and package the result.
5
+ * They receive a DetectedFramework and produce a BuildResult.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cmd/build/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Framework detection engine.
3
+ *
4
+ * Evaluates detector rules from the framework database against a real project
5
+ * directory. Handles three rule types:
6
+ * - matchPackage: check if package exists in dependencies/devDependencies
7
+ * - path: check if a file exists at the given path
8
+ * - path + matchContent: check if a file exists AND its content matches a regex
9
+ *
10
+ * The `every` array requires ALL rules to match.
11
+ * The `some` array requires at least ONE rule to match.
12
+ * If both are present, both conditions must be satisfied.
13
+ */
14
+ import type { FrameworkDefinition } from './frameworks';
15
+ import type { PackageJsonData } from './types';
16
+ /**
17
+ * Run detection against the framework database.
18
+ * Returns the first matching framework definition, or null.
19
+ *
20
+ * The framework list is evaluated in order — more specific frameworks
21
+ * should be listed before generic ones.
22
+ */
23
+ export declare function detectFromDatabase(projectDir: string, pkg: PackageJsonData, frameworkList: FrameworkDefinition[]): Promise<FrameworkDefinition | null>;
24
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/detect/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAgB,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA4E/C;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACvC,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,eAAe,EACpB,aAAa,EAAE,mBAAmB,EAAE,GAClC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAOrC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Framework detection engine.
3
+ *
4
+ * Evaluates detector rules from the framework database against a real project
5
+ * directory. Handles three rule types:
6
+ * - matchPackage: check if package exists in dependencies/devDependencies
7
+ * - path: check if a file exists at the given path
8
+ * - path + matchContent: check if a file exists AND its content matches a regex
9
+ *
10
+ * The `every` array requires ALL rules to match.
11
+ * The `some` array requires at least ONE rule to match.
12
+ * If both are present, both conditions must be satisfied.
13
+ */
14
+ import { join } from 'node:path';
15
+ /**
16
+ * Check if a single detector rule matches the project.
17
+ */
18
+ async function matchRule(rule, projectDir, pkg) {
19
+ // Package match: check dependencies and devDependencies
20
+ if (rule.matchPackage) {
21
+ const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
22
+ return rule.matchPackage in allDeps;
23
+ }
24
+ // File path match (with optional content matching)
25
+ if (rule.path) {
26
+ const filePath = join(projectDir, rule.path);
27
+ const file = Bun.file(filePath);
28
+ if (!(await file.exists()))
29
+ return false;
30
+ // If matchContent is specified, check file content against regex
31
+ if (rule.matchContent) {
32
+ try {
33
+ const content = await file.text();
34
+ return new RegExp(rule.matchContent).test(content);
35
+ }
36
+ catch {
37
+ return false;
38
+ }
39
+ }
40
+ // File exists, no content check needed
41
+ return true;
42
+ }
43
+ return false;
44
+ }
45
+ /**
46
+ * Check if a framework definition matches the project.
47
+ */
48
+ async function matchFramework(fw, projectDir, pkg) {
49
+ const { detectors } = fw;
50
+ if (!detectors)
51
+ return false;
52
+ // Check 'every' rules: ALL must match
53
+ if (detectors.every && detectors.every.length > 0) {
54
+ for (const rule of detectors.every) {
55
+ if (!(await matchRule(rule, projectDir, pkg))) {
56
+ return false;
57
+ }
58
+ }
59
+ }
60
+ // Check 'some' rules: at least ONE must match
61
+ if (detectors.some && detectors.some.length > 0) {
62
+ let anyMatch = false;
63
+ for (const rule of detectors.some) {
64
+ if (await matchRule(rule, projectDir, pkg)) {
65
+ anyMatch = true;
66
+ break;
67
+ }
68
+ }
69
+ if (!anyMatch)
70
+ return false;
71
+ }
72
+ // If we have 'every' rules and they all matched (and 'some' either matched or wasn't present), pass
73
+ // If we only have 'some' rules and one matched, pass
74
+ return true;
75
+ }
76
+ /**
77
+ * Run detection against the framework database.
78
+ * Returns the first matching framework definition, or null.
79
+ *
80
+ * The framework list is evaluated in order — more specific frameworks
81
+ * should be listed before generic ones.
82
+ */
83
+ export async function detectFromDatabase(projectDir, pkg, frameworkList) {
84
+ for (const fw of frameworkList) {
85
+ if (await matchFramework(fw, projectDir, pkg)) {
86
+ return fw;
87
+ }
88
+ }
89
+ return null;
90
+ }
91
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/cmd/build/detect/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC;;GAEG;AACH,KAAK,UAAU,SAAS,CACvB,IAAkB,EAClB,UAAkB,EAClB,GAAoB;IAEpB,wDAAwD;IACxD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC;IACrC,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAEzC,iEAAiE;QACjE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QAED,uCAAuC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC5B,EAAuB,EACvB,UAAkB,EAClB,GAAoB;IAEpB,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAE7B,sCAAsC;IACtC,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;IAED,8CAA8C;IAC9C,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,MAAM,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC5C,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACP,CAAC;QACF,CAAC;QACD,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;IAC7B,CAAC;IAED,oGAAoG;IACpG,qDAAqD;IACrD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,UAAkB,EAClB,GAAoB,EACpB,aAAoC;IAEpC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAChC,IAAI,MAAM,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Framework detection database.
3
+ *
4
+ * Package detection rules (which npm packages and config files identify each
5
+ * framework) were informed by the @vercel/frameworks package (Apache-2.0,
6
+ * Copyright 2017 Vercel Inc, github.com/vercel/vercel/tree/main/packages/frameworks).
7
+ *
8
+ * All Vercel-specific properties (logos, CDN URLs, runtime config, routing
9
+ * rules, deploy targets) have been stripped. Only generic framework facts
10
+ * remain: package names, config filenames, default build commands, and output
11
+ * directories as documented by each framework's own docs.
12
+ *
13
+ * Framework entries are ordered by specificity — more specific frameworks
14
+ * (e.g., SvelteKit) should be listed before generic ones (e.g., Vite).
15
+ */
16
+ export interface DetectorRule {
17
+ /** Match a package in dependencies or devDependencies */
18
+ matchPackage?: string;
19
+ /** Match a file path (relative to project root) */
20
+ path?: string;
21
+ /** Regex pattern to match against file content (requires `path`) */
22
+ matchContent?: string;
23
+ }
24
+ export interface FrameworkDefinition {
25
+ /** Human-readable name */
26
+ name: string;
27
+ /** Unique slug identifier */
28
+ slug: string;
29
+ /** Default build command (null = no build step) */
30
+ buildCommand: string | null;
31
+ /** Default output directory for static assets */
32
+ outputDirectory: string | null;
33
+ /**
34
+ * Static/CDN asset directory, relative to the project root.
35
+ *
36
+ * Points to the directory containing files suitable for CDN upload
37
+ * (JS bundles, CSS, images, fonts, etc.) after the build runs.
38
+ *
39
+ * - `null` means the entire outputDirectory IS the static output
40
+ * (pure static-site generators, SPAs) — resolved to outputDirectory.
41
+ * - A string path (e.g., `.next/static`, `.output/public`) is resolved
42
+ * relative to the project root, since some frameworks put static
43
+ * assets outside their main output directory.
44
+ * - `undefined` (omitted) means no known static asset directory.
45
+ */
46
+ staticDir?: string | null;
47
+ /** Environment variable prefix for browser-inlined values */
48
+ envPrefix?: string;
49
+ /**
50
+ * Detection rules.
51
+ * - `every`: ALL must match for the framework to be detected.
52
+ * - `some`: at least ONE must match (in addition to all `every` rules).
53
+ */
54
+ detectors: {
55
+ every?: DetectorRule[];
56
+ some?: DetectorRule[];
57
+ };
58
+ }
59
+ /**
60
+ * JS/TS framework definitions for detection.
61
+ *
62
+ * Order matters — first match wins. More specific frameworks come first,
63
+ * generic catch-alls (Vite, Parcel) come last.
64
+ */
65
+ export declare const frameworkDefinitions: FrameworkDefinition[];
66
+ //# sourceMappingURL=frameworks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frameworks.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/detect/frameworks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,WAAW,YAAY;IAC5B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IACnC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iDAAiD;IACjD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,EAAE;QACV,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;QACvB,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;KACtB,CAAC;CACF;AAID;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,EAuQrD,CAAC"}
@@ -0,0 +1,278 @@
1
+ /**
2
+ * Framework detection database.
3
+ *
4
+ * Package detection rules (which npm packages and config files identify each
5
+ * framework) were informed by the @vercel/frameworks package (Apache-2.0,
6
+ * Copyright 2017 Vercel Inc, github.com/vercel/vercel/tree/main/packages/frameworks).
7
+ *
8
+ * All Vercel-specific properties (logos, CDN URLs, runtime config, routing
9
+ * rules, deploy targets) have been stripped. Only generic framework facts
10
+ * remain: package names, config filenames, default build commands, and output
11
+ * directories as documented by each framework's own docs.
12
+ *
13
+ * Framework entries are ordered by specificity — more specific frameworks
14
+ * (e.g., SvelteKit) should be listed before generic ones (e.g., Vite).
15
+ */
16
+ // ─── Framework Database ──────────────────────────────────────────────────────
17
+ /**
18
+ * JS/TS framework definitions for detection.
19
+ *
20
+ * Order matters — first match wins. More specific frameworks come first,
21
+ * generic catch-alls (Vite, Parcel) come last.
22
+ */
23
+ export const frameworkDefinitions = [
24
+ // ── Meta-frameworks (most specific, check first) ──
25
+ {
26
+ name: 'Next.js',
27
+ slug: 'nextjs',
28
+ buildCommand: 'next build',
29
+ outputDirectory: null, // Dynamic — reads from next.config
30
+ staticDir: '.next/static', // Relative to project root (adapter handles standalone copy)
31
+ envPrefix: 'NEXT_PUBLIC_',
32
+ detectors: {
33
+ every: [{ matchPackage: 'next' }],
34
+ },
35
+ },
36
+ {
37
+ name: 'Nuxt',
38
+ slug: 'nuxt',
39
+ buildCommand: 'nuxt build',
40
+ outputDirectory: 'dist',
41
+ staticDir: '.output/public', // Nitro output; static assets served from here
42
+ envPrefix: 'NUXT_ENV_',
43
+ detectors: {
44
+ some: [
45
+ { matchPackage: 'nuxt' },
46
+ { matchPackage: 'nuxt3' },
47
+ { matchPackage: 'nuxt-edge' },
48
+ { matchPackage: 'nuxt-nightly' },
49
+ ],
50
+ },
51
+ },
52
+ {
53
+ name: 'Remix',
54
+ slug: 'remix',
55
+ buildCommand: 'remix build',
56
+ outputDirectory: 'public',
57
+ staticDir: 'public/build', // Built browser bundles
58
+ detectors: {
59
+ some: [
60
+ { matchPackage: '@remix-run/dev' },
61
+ { path: 'remix.config.js' },
62
+ { path: 'remix.config.mjs' },
63
+ ],
64
+ },
65
+ },
66
+ {
67
+ name: 'React Router',
68
+ slug: 'react-router',
69
+ buildCommand: 'react-router build',
70
+ outputDirectory: 'build',
71
+ staticDir: 'build/client', // Client-side assets
72
+ detectors: {
73
+ some: [
74
+ { path: 'react-router.config.js' },
75
+ { path: 'react-router.config.ts' },
76
+ { path: 'vite.config.js', matchContent: '@react-router/dev/vite' },
77
+ { path: 'vite.config.ts', matchContent: '@react-router/dev/vite' },
78
+ ],
79
+ },
80
+ },
81
+ {
82
+ name: 'SvelteKit',
83
+ slug: 'sveltekit',
84
+ buildCommand: 'vite build',
85
+ outputDirectory: 'public',
86
+ staticDir: 'build/client', // adapter-node client assets
87
+ detectors: {
88
+ every: [
89
+ {
90
+ path: 'package.json',
91
+ matchContent: '"(dev)?(d|D)ependencies":\\s*{[^}]*"@sveltejs\\/kit":\\s*".+?"[^}]*}',
92
+ },
93
+ ],
94
+ },
95
+ },
96
+ {
97
+ name: 'Astro',
98
+ slug: 'astro',
99
+ buildCommand: 'astro build',
100
+ outputDirectory: 'dist',
101
+ staticDir: null, // Entire dist/ is static (SSG default); dist/client/ for SSR
102
+ envPrefix: 'PUBLIC_',
103
+ detectors: {
104
+ every: [{ matchPackage: 'astro' }],
105
+ },
106
+ },
107
+ {
108
+ name: 'SolidStart',
109
+ slug: 'solidstart',
110
+ buildCommand: 'vinxi build',
111
+ outputDirectory: '.output',
112
+ staticDir: '.output/public', // Nitro-based static assets
113
+ envPrefix: 'VITE_',
114
+ detectors: {
115
+ every: [{ matchPackage: 'solid-js' }, { matchPackage: '@solidjs/start' }],
116
+ },
117
+ },
118
+ {
119
+ name: 'TanStack Start',
120
+ slug: 'tanstack-start',
121
+ buildCommand: 'vite build',
122
+ outputDirectory: 'dist',
123
+ staticDir: '.output/public', // Nitro-based; similar to Nuxt/SolidStart
124
+ detectors: {
125
+ every: [{ matchPackage: '@tanstack/router-plugin' }, { matchPackage: 'nitro' }],
126
+ },
127
+ },
128
+ {
129
+ name: 'RedwoodJS',
130
+ slug: 'redwoodjs',
131
+ buildCommand: 'yarn rw build',
132
+ outputDirectory: null, // Dynamic — depends on target
133
+ staticDir: 'web/dist', // Redwood web-side build output
134
+ envPrefix: 'REDWOOD_ENV_',
135
+ detectors: {
136
+ every: [{ matchPackage: '@redwoodjs/core' }],
137
+ },
138
+ },
139
+ // ── Static site generators ──
140
+ {
141
+ name: 'Gatsby.js',
142
+ slug: 'gatsby',
143
+ buildCommand: 'gatsby build',
144
+ outputDirectory: 'public',
145
+ staticDir: null, // Entire public/ is static output
146
+ envPrefix: 'GATSBY_',
147
+ detectors: {
148
+ every: [{ matchPackage: 'gatsby' }],
149
+ },
150
+ },
151
+ {
152
+ name: 'Eleventy',
153
+ slug: 'eleventy',
154
+ buildCommand: 'npx @11ty/eleventy',
155
+ outputDirectory: '_site',
156
+ staticDir: null, // Entire _site/ is static output
157
+ detectors: {
158
+ every: [{ matchPackage: '@11ty/eleventy' }],
159
+ },
160
+ },
161
+ {
162
+ name: 'VitePress',
163
+ slug: 'vitepress',
164
+ buildCommand: 'vitepress build docs',
165
+ outputDirectory: 'docs/.vitepress/dist',
166
+ staticDir: null, // Entire output is static
167
+ detectors: {
168
+ every: [{ matchPackage: 'vitepress' }],
169
+ },
170
+ },
171
+ {
172
+ name: 'VuePress',
173
+ slug: 'vuepress',
174
+ buildCommand: 'vuepress build src',
175
+ outputDirectory: 'src/.vuepress/dist',
176
+ staticDir: null, // Entire output is static
177
+ detectors: {
178
+ every: [{ matchPackage: 'vuepress' }],
179
+ },
180
+ },
181
+ {
182
+ name: 'Docusaurus',
183
+ slug: 'docusaurus',
184
+ buildCommand: 'docusaurus build',
185
+ outputDirectory: 'build',
186
+ staticDir: null, // Entire build/ is static output
187
+ detectors: {
188
+ some: [{ matchPackage: '@docusaurus/core' }],
189
+ },
190
+ },
191
+ {
192
+ name: 'Hexo',
193
+ slug: 'hexo',
194
+ buildCommand: 'hexo generate',
195
+ outputDirectory: 'public',
196
+ staticDir: null, // Entire public/ is static output
197
+ detectors: {
198
+ every: [{ matchPackage: 'hexo' }],
199
+ },
200
+ },
201
+ // ── UI frameworks (with CLI build) ──
202
+ {
203
+ name: 'Angular',
204
+ slug: 'angular',
205
+ buildCommand: 'ng build',
206
+ outputDirectory: 'dist',
207
+ staticDir: null, // Entire dist/ is static output (browser subfolder in v17+)
208
+ detectors: {
209
+ every: [{ matchPackage: '@angular/cli' }],
210
+ },
211
+ },
212
+ {
213
+ name: 'Vue.js',
214
+ slug: 'vue',
215
+ buildCommand: 'vue-cli-service build',
216
+ outputDirectory: 'dist',
217
+ staticDir: null, // Entire dist/ is static output
218
+ envPrefix: 'VUE_APP_',
219
+ detectors: {
220
+ every: [{ matchPackage: '@vue/cli-service' }],
221
+ },
222
+ },
223
+ {
224
+ name: 'Create React App',
225
+ slug: 'create-react-app',
226
+ buildCommand: 'react-scripts build',
227
+ outputDirectory: 'build',
228
+ staticDir: null, // Entire build/ is static output
229
+ envPrefix: 'REACT_APP_',
230
+ detectors: {
231
+ some: [{ matchPackage: 'react-scripts' }, { matchPackage: 'react-dev-utils' }],
232
+ },
233
+ },
234
+ {
235
+ name: 'Preact',
236
+ slug: 'preact',
237
+ buildCommand: 'preact build',
238
+ outputDirectory: 'build',
239
+ staticDir: null, // Entire build/ is static output
240
+ detectors: {
241
+ every: [{ matchPackage: 'preact-cli' }],
242
+ },
243
+ },
244
+ // ── Server frameworks (no default build step) ──
245
+ {
246
+ name: 'Nitro',
247
+ slug: 'nitro',
248
+ buildCommand: 'nitro build',
249
+ outputDirectory: 'dist',
250
+ staticDir: '.output/public', // Nitro static assets
251
+ detectors: {
252
+ some: [{ matchPackage: 'nitropack' }, { matchPackage: 'nitro' }],
253
+ },
254
+ },
255
+ // ── Generic bundlers (least specific, check last) ──
256
+ {
257
+ name: 'Vite',
258
+ slug: 'vite',
259
+ buildCommand: 'vite build',
260
+ outputDirectory: 'dist',
261
+ staticDir: null, // Entire dist/ is static output
262
+ envPrefix: 'VITE_',
263
+ detectors: {
264
+ every: [{ matchPackage: 'vite' }],
265
+ },
266
+ },
267
+ {
268
+ name: 'Parcel',
269
+ slug: 'parcel',
270
+ buildCommand: 'parcel build',
271
+ outputDirectory: 'dist',
272
+ staticDir: null, // Entire dist/ is static output
273
+ detectors: {
274
+ every: [{ matchPackage: 'parcel' }],
275
+ },
276
+ },
277
+ ];
278
+ //# sourceMappingURL=frameworks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../../../../src/cmd/build/detect/frameworks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Generic JS/TS project detector (fallback).
3
+ *
4
+ * This is the catch-all detector for projects that don't match any specific
5
+ * framework. It looks for:
6
+ * 1. A package.json with a "build" script
7
+ * 2. A "start" script or "main" field for the start command
8
+ *
9
+ * If neither is found, detection fails — we can't build what we don't understand.
10
+ */
11
+ import type { FrameworkDetector } from './types';
12
+ export declare const genericDetector: FrameworkDetector;
13
+ //# sourceMappingURL=generic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../../src/cmd/build/detect/generic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,SAAS,CAAC;AAGpE,eAAO,MAAM,eAAe,EAAE,iBAuD7B,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Generic JS/TS project detector (fallback).
3
+ *
4
+ * This is the catch-all detector for projects that don't match any specific
5
+ * framework. It looks for:
6
+ * 1. A package.json with a "build" script
7
+ * 2. A "start" script or "main" field for the start command
8
+ *
9
+ * If neither is found, detection fails — we can't build what we don't understand.
10
+ */
11
+ import { join } from 'node:path';
12
+ import { detectPackageManager } from './util';
13
+ export const genericDetector = {
14
+ name: 'generic',
15
+ priority: 100, // Lowest priority — true fallback
16
+ async detect(projectDir, pkg) {
17
+ // Must have a package.json with something we can work with
18
+ if (!pkg.scripts?.build && !pkg.scripts?.start && !pkg.main) {
19
+ return null;
20
+ }
21
+ const pm = await detectPackageManager(projectDir);
22
+ // Determine build command
23
+ const buildCommand = pkg.scripts?.build ?? null;
24
+ if (!buildCommand) {
25
+ // No build script — might be a runtime-only project
26
+ // We'll still try if there's a start command
27
+ }
28
+ // Determine start command
29
+ let startCommand;
30
+ let serverEntry;
31
+ if (pkg.scripts?.start) {
32
+ startCommand = pkg.scripts.start;
33
+ }
34
+ else if (pkg.main) {
35
+ // Check if main entry exists
36
+ const mainFile = Bun.file(join(projectDir, pkg.main));
37
+ if (await mainFile.exists()) {
38
+ const runtime = pm === 'bun' ? 'bun' : 'node';
39
+ startCommand = `${runtime} ${pkg.main}`;
40
+ serverEntry = pkg.main;
41
+ }
42
+ }
43
+ // If no build and no start, we can't do anything
44
+ if (!buildCommand && !startCommand) {
45
+ return null;
46
+ }
47
+ // Detect runtime from engines field or package manager
48
+ const runtime = pkg.engines?.bun ? 'bun' : pm === 'bun' ? 'bun' : 'node';
49
+ return {
50
+ name: 'generic',
51
+ runtime,
52
+ packageManager: pm,
53
+ buildCommand: buildCommand ?? 'echo "No build step"',
54
+ buildOutput: '.', // Generic — build output could be anywhere
55
+ startCommand,
56
+ serverEntry,
57
+ port: 3000,
58
+ confidence: 'low',
59
+ };
60
+ },
61
+ };
62
+ //# sourceMappingURL=generic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../../src/cmd/build/detect/generic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAsB;IACjD,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,GAAG,EAAE,kCAAkC;IAEjD,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG;QAC3B,2DAA2D;QAC3D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAElD,0BAA0B;QAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,oDAAoD;YACpD,6CAA6C;QAC9C,CAAC;QAED,0BAA0B;QAC1B,IAAI,YAAgC,CAAC;QACrC,IAAI,WAA+B,CAAC;QAEpC,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACxB,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACrB,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9C,YAAY,GAAG,GAAG,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACxC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;YACxB,CAAC;QACF,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,uDAAuD;QACvD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAEzE,OAAO;YACN,IAAI,EAAE,SAAS;YACf,OAAO;YACP,cAAc,EAAE,EAAE;YAClB,YAAY,EAAE,YAAY,IAAI,sBAAsB;YACpD,WAAW,EAAE,GAAG,EAAE,2CAA2C;YAC7D,YAAY;YACZ,WAAW;YACX,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,KAAK;SACjB,CAAC;IACH,CAAC;CACD,CAAC"}