@agentuity/cli 2.0.11 → 3.0.0-alpha.1

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 (339) 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.js +7 -7
  66. package/dist/cmd/coder/create.js.map +1 -1
  67. package/dist/cmd/coder/update.js +8 -8
  68. package/dist/cmd/coder/update.js.map +1 -1
  69. package/dist/cmd/coder/workspace/create.js +9 -9
  70. package/dist/cmd/coder/workspace/create.js.map +1 -1
  71. package/dist/cmd/dev/index.d.ts +9 -0
  72. package/dist/cmd/dev/index.d.ts.map +1 -1
  73. package/dist/cmd/dev/index.js +127 -923
  74. package/dist/cmd/dev/index.js.map +1 -1
  75. package/dist/cmd/project/auth/shared.d.ts.map +1 -1
  76. package/dist/cmd/project/auth/shared.js +14 -38
  77. package/dist/cmd/project/auth/shared.js.map +1 -1
  78. package/dist/cmd/project/create.d.ts.map +1 -1
  79. package/dist/cmd/project/create.js +12 -19
  80. package/dist/cmd/project/create.js.map +1 -1
  81. package/dist/cmd/project/frameworks-ai-examples.d.ts +15 -0
  82. package/dist/cmd/project/frameworks-ai-examples.d.ts.map +1 -0
  83. package/dist/cmd/project/frameworks-ai-examples.js +160 -0
  84. package/dist/cmd/project/frameworks-ai-examples.js.map +1 -0
  85. package/dist/cmd/project/frameworks-landing-pages.d.ts +17 -0
  86. package/dist/cmd/project/frameworks-landing-pages.d.ts.map +1 -0
  87. package/dist/cmd/project/frameworks-landing-pages.js +242 -0
  88. package/dist/cmd/project/frameworks-landing-pages.js.map +1 -0
  89. package/dist/cmd/project/frameworks.d.ts +58 -0
  90. package/dist/cmd/project/frameworks.d.ts.map +1 -0
  91. package/dist/cmd/project/frameworks.js +152 -0
  92. package/dist/cmd/project/frameworks.js.map +1 -0
  93. package/dist/cmd/project/reconcile.d.ts.map +1 -1
  94. package/dist/cmd/project/reconcile.js +10 -23
  95. package/dist/cmd/project/reconcile.js.map +1 -1
  96. package/dist/cmd/project/remote-import.js +1 -1
  97. package/dist/cmd/project/scaffold.d.ts +58 -0
  98. package/dist/cmd/project/scaffold.d.ts.map +1 -0
  99. package/dist/cmd/project/scaffold.js +223 -0
  100. package/dist/cmd/project/scaffold.js.map +1 -0
  101. package/dist/cmd/project/template-flow.d.ts +8 -4
  102. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  103. package/dist/cmd/project/template-flow.js +93 -144
  104. package/dist/cmd/project/template-flow.js.map +1 -1
  105. package/dist/deploy-metadata.d.ts +49 -0
  106. package/dist/deploy-metadata.d.ts.map +1 -0
  107. package/dist/deploy-metadata.js +183 -0
  108. package/dist/deploy-metadata.js.map +1 -0
  109. package/dist/index.d.ts +1 -1
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js.map +1 -1
  112. package/dist/types.d.ts +24 -30
  113. package/dist/types.d.ts.map +1 -1
  114. package/dist/types.js.map +1 -1
  115. package/package.json +13 -8
  116. package/src/cmd/ai/prompt/index.ts +2 -7
  117. package/src/cmd/build/adapters/generic.ts +239 -0
  118. package/src/cmd/build/adapters/index.ts +30 -0
  119. package/src/cmd/build/adapters/nextjs.ts +146 -0
  120. package/src/cmd/build/adapters/static-server.ts +143 -0
  121. package/src/cmd/build/adapters/types.ts +93 -0
  122. package/src/cmd/build/detect/engine.ts +111 -0
  123. package/src/cmd/build/detect/frameworks.ts +335 -0
  124. package/src/cmd/build/detect/generic.ts +71 -0
  125. package/src/cmd/build/detect/index.ts +122 -0
  126. package/src/cmd/build/detect/types.ts +109 -0
  127. package/src/cmd/build/detect/util.ts +104 -0
  128. package/src/cmd/build/index.ts +64 -24
  129. package/src/cmd/build/package/index.ts +66 -0
  130. package/src/cmd/build/package/launch.ts +104 -0
  131. package/src/cmd/build/typecheck.ts +9 -0
  132. package/src/cmd/cloud/deploy.ts +86 -13
  133. package/src/cmd/coder/create.ts +8 -8
  134. package/src/cmd/coder/update.ts +7 -7
  135. package/src/cmd/coder/workspace/create.ts +10 -10
  136. package/src/cmd/dev/index.ts +155 -1059
  137. package/src/cmd/project/auth/shared.ts +14 -39
  138. package/src/cmd/project/create.ts +14 -19
  139. package/src/cmd/project/frameworks-ai-examples.ts +166 -0
  140. package/src/cmd/project/frameworks-landing-pages.ts +267 -0
  141. package/src/cmd/project/frameworks.ts +223 -0
  142. package/src/cmd/project/reconcile.ts +10 -22
  143. package/src/cmd/project/remote-import.ts +1 -1
  144. package/src/cmd/project/scaffold.ts +300 -0
  145. package/src/cmd/project/template-flow.ts +102 -156
  146. package/src/deploy-metadata.ts +253 -0
  147. package/src/index.ts +0 -2
  148. package/src/types.ts +0 -31
  149. package/dist/agents-docs.d.ts +0 -23
  150. package/dist/agents-docs.d.ts.map +0 -1
  151. package/dist/agents-docs.js +0 -56
  152. package/dist/agents-docs.js.map +0 -1
  153. package/dist/cmd/ai/prompt/agent.d.ts +0 -10
  154. package/dist/cmd/ai/prompt/agent.d.ts.map +0 -1
  155. package/dist/cmd/ai/prompt/agent.js +0 -28
  156. package/dist/cmd/ai/prompt/agent.js.map +0 -1
  157. package/dist/cmd/build/app-router-detector.d.ts +0 -39
  158. package/dist/cmd/build/app-router-detector.d.ts.map +0 -1
  159. package/dist/cmd/build/app-router-detector.js +0 -229
  160. package/dist/cmd/build/app-router-detector.js.map +0 -1
  161. package/dist/cmd/build/format-schema.d.ts +0 -6
  162. package/dist/cmd/build/format-schema.d.ts.map +0 -1
  163. package/dist/cmd/build/format-schema.js +0 -60
  164. package/dist/cmd/build/format-schema.js.map +0 -1
  165. package/dist/cmd/build/vite/agent-discovery.d.ts +0 -37
  166. package/dist/cmd/build/vite/agent-discovery.d.ts.map +0 -1
  167. package/dist/cmd/build/vite/agent-discovery.js +0 -263
  168. package/dist/cmd/build/vite/agent-discovery.js.map +0 -1
  169. package/dist/cmd/build/vite/beacon-plugin.d.ts +0 -19
  170. package/dist/cmd/build/vite/beacon-plugin.d.ts.map +0 -1
  171. package/dist/cmd/build/vite/beacon-plugin.js +0 -137
  172. package/dist/cmd/build/vite/beacon-plugin.js.map +0 -1
  173. package/dist/cmd/build/vite/browser-env-plugin.d.ts +0 -9
  174. package/dist/cmd/build/vite/browser-env-plugin.d.ts.map +0 -1
  175. package/dist/cmd/build/vite/browser-env-plugin.js +0 -28
  176. package/dist/cmd/build/vite/browser-env-plugin.js.map +0 -1
  177. package/dist/cmd/build/vite/bun-dev-server.d.ts +0 -67
  178. package/dist/cmd/build/vite/bun-dev-server.d.ts.map +0 -1
  179. package/dist/cmd/build/vite/bun-dev-server.js +0 -340
  180. package/dist/cmd/build/vite/bun-dev-server.js.map +0 -1
  181. package/dist/cmd/build/vite/bundle-files.d.ts +0 -12
  182. package/dist/cmd/build/vite/bundle-files.d.ts.map +0 -1
  183. package/dist/cmd/build/vite/bundle-files.js +0 -107
  184. package/dist/cmd/build/vite/bundle-files.js.map +0 -1
  185. package/dist/cmd/build/vite/config-loader.d.ts +0 -29
  186. package/dist/cmd/build/vite/config-loader.d.ts.map +0 -1
  187. package/dist/cmd/build/vite/config-loader.js +0 -57
  188. package/dist/cmd/build/vite/config-loader.js.map +0 -1
  189. package/dist/cmd/build/vite/db-rewrite.d.ts +0 -50
  190. package/dist/cmd/build/vite/db-rewrite.d.ts.map +0 -1
  191. package/dist/cmd/build/vite/db-rewrite.js +0 -169
  192. package/dist/cmd/build/vite/db-rewrite.js.map +0 -1
  193. package/dist/cmd/build/vite/docs-generator.d.ts +0 -13
  194. package/dist/cmd/build/vite/docs-generator.d.ts.map +0 -1
  195. package/dist/cmd/build/vite/docs-generator.js +0 -97
  196. package/dist/cmd/build/vite/docs-generator.js.map +0 -1
  197. package/dist/cmd/build/vite/env-types-generator.d.ts +0 -26
  198. package/dist/cmd/build/vite/env-types-generator.d.ts.map +0 -1
  199. package/dist/cmd/build/vite/env-types-generator.js +0 -110
  200. package/dist/cmd/build/vite/env-types-generator.js.map +0 -1
  201. package/dist/cmd/build/vite/index.d.ts +0 -3
  202. package/dist/cmd/build/vite/index.d.ts.map +0 -1
  203. package/dist/cmd/build/vite/index.js +0 -4
  204. package/dist/cmd/build/vite/index.js.map +0 -1
  205. package/dist/cmd/build/vite/lifecycle-generator.d.ts +0 -19
  206. package/dist/cmd/build/vite/lifecycle-generator.d.ts.map +0 -1
  207. package/dist/cmd/build/vite/lifecycle-generator.js +0 -328
  208. package/dist/cmd/build/vite/lifecycle-generator.js.map +0 -1
  209. package/dist/cmd/build/vite/metadata-generator.d.ts +0 -36
  210. package/dist/cmd/build/vite/metadata-generator.d.ts.map +0 -1
  211. package/dist/cmd/build/vite/metadata-generator.js +0 -575
  212. package/dist/cmd/build/vite/metadata-generator.js.map +0 -1
  213. package/dist/cmd/build/vite/prompt-generator.d.ts +0 -23
  214. package/dist/cmd/build/vite/prompt-generator.d.ts.map +0 -1
  215. package/dist/cmd/build/vite/prompt-generator.js +0 -123
  216. package/dist/cmd/build/vite/prompt-generator.js.map +0 -1
  217. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +0 -45
  218. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +0 -1
  219. package/dist/cmd/build/vite/public-asset-path-plugin.js +0 -166
  220. package/dist/cmd/build/vite/public-asset-path-plugin.js.map +0 -1
  221. package/dist/cmd/build/vite/route-discovery.d.ts +0 -64
  222. package/dist/cmd/build/vite/route-discovery.d.ts.map +0 -1
  223. package/dist/cmd/build/vite/route-discovery.js +0 -187
  224. package/dist/cmd/build/vite/route-discovery.js.map +0 -1
  225. package/dist/cmd/build/vite/server-bundler.d.ts +0 -20
  226. package/dist/cmd/build/vite/server-bundler.d.ts.map +0 -1
  227. package/dist/cmd/build/vite/server-bundler.js +0 -388
  228. package/dist/cmd/build/vite/server-bundler.js.map +0 -1
  229. package/dist/cmd/build/vite/static-renderer.d.ts +0 -26
  230. package/dist/cmd/build/vite/static-renderer.d.ts.map +0 -1
  231. package/dist/cmd/build/vite/static-renderer.js +0 -188
  232. package/dist/cmd/build/vite/static-renderer.js.map +0 -1
  233. package/dist/cmd/build/vite/tailwind-source-plugin.d.ts +0 -15
  234. package/dist/cmd/build/vite/tailwind-source-plugin.d.ts.map +0 -1
  235. package/dist/cmd/build/vite/tailwind-source-plugin.js +0 -61
  236. package/dist/cmd/build/vite/tailwind-source-plugin.js.map +0 -1
  237. package/dist/cmd/build/vite/vite-asset-server-config.d.ts +0 -24
  238. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +0 -1
  239. package/dist/cmd/build/vite/vite-asset-server-config.js +0 -285
  240. package/dist/cmd/build/vite/vite-asset-server-config.js.map +0 -1
  241. package/dist/cmd/build/vite/vite-asset-server.d.ts +0 -30
  242. package/dist/cmd/build/vite/vite-asset-server.d.ts.map +0 -1
  243. package/dist/cmd/build/vite/vite-asset-server.js +0 -109
  244. package/dist/cmd/build/vite/vite-asset-server.js.map +0 -1
  245. package/dist/cmd/build/vite/vite-builder.d.ts +0 -59
  246. package/dist/cmd/build/vite/vite-builder.d.ts.map +0 -1
  247. package/dist/cmd/build/vite/vite-builder.js +0 -401
  248. package/dist/cmd/build/vite/vite-builder.js.map +0 -1
  249. package/dist/cmd/build/vite/workbench-generator.d.ts +0 -10
  250. package/dist/cmd/build/vite/workbench-generator.d.ts.map +0 -1
  251. package/dist/cmd/build/vite/workbench-generator.js +0 -135
  252. package/dist/cmd/build/vite/workbench-generator.js.map +0 -1
  253. package/dist/cmd/build/vite/ws-proxy.d.ts +0 -53
  254. package/dist/cmd/build/vite/ws-proxy.d.ts.map +0 -1
  255. package/dist/cmd/build/vite/ws-proxy.js +0 -95
  256. package/dist/cmd/build/vite/ws-proxy.js.map +0 -1
  257. package/dist/cmd/build/vite-bundler.d.ts +0 -29
  258. package/dist/cmd/build/vite-bundler.d.ts.map +0 -1
  259. package/dist/cmd/build/vite-bundler.js +0 -93
  260. package/dist/cmd/build/vite-bundler.js.map +0 -1
  261. package/dist/cmd/dev/agents.d.ts +0 -2
  262. package/dist/cmd/dev/agents.d.ts.map +0 -1
  263. package/dist/cmd/dev/agents.js +0 -123
  264. package/dist/cmd/dev/agents.js.map +0 -1
  265. package/dist/cmd/dev/api.d.ts +0 -20
  266. package/dist/cmd/dev/api.d.ts.map +0 -1
  267. package/dist/cmd/dev/api.js +0 -42
  268. package/dist/cmd/dev/api.js.map +0 -1
  269. package/dist/cmd/dev/dev-lock.d.ts +0 -62
  270. package/dist/cmd/dev/dev-lock.d.ts.map +0 -1
  271. package/dist/cmd/dev/dev-lock.js +0 -250
  272. package/dist/cmd/dev/dev-lock.js.map +0 -1
  273. package/dist/cmd/dev/download.d.ts +0 -11
  274. package/dist/cmd/dev/download.d.ts.map +0 -1
  275. package/dist/cmd/dev/download.js +0 -94
  276. package/dist/cmd/dev/download.js.map +0 -1
  277. package/dist/cmd/dev/file-watcher.d.ts +0 -24
  278. package/dist/cmd/dev/file-watcher.d.ts.map +0 -1
  279. package/dist/cmd/dev/file-watcher.js +0 -349
  280. package/dist/cmd/dev/file-watcher.js.map +0 -1
  281. package/dist/cmd/dev/process-manager.d.ts +0 -104
  282. package/dist/cmd/dev/process-manager.d.ts.map +0 -1
  283. package/dist/cmd/dev/process-manager.js +0 -204
  284. package/dist/cmd/dev/process-manager.js.map +0 -1
  285. package/dist/cmd/dev/sync.d.ts +0 -12
  286. package/dist/cmd/dev/sync.d.ts.map +0 -1
  287. package/dist/cmd/dev/sync.js +0 -227
  288. package/dist/cmd/dev/sync.js.map +0 -1
  289. package/dist/cmd/dev/templates.d.ts +0 -3
  290. package/dist/cmd/dev/templates.d.ts.map +0 -1
  291. package/dist/cmd/dev/templates.js +0 -58
  292. package/dist/cmd/dev/templates.js.map +0 -1
  293. package/dist/cmd/project/download.d.ts +0 -35
  294. package/dist/cmd/project/download.d.ts.map +0 -1
  295. package/dist/cmd/project/download.js +0 -403
  296. package/dist/cmd/project/download.js.map +0 -1
  297. package/dist/cmd/project/templates.d.ts +0 -9
  298. package/dist/cmd/project/templates.d.ts.map +0 -1
  299. package/dist/cmd/project/templates.js +0 -34
  300. package/dist/cmd/project/templates.js.map +0 -1
  301. package/src/agents-docs.ts +0 -86
  302. package/src/cmd/ai/prompt/agent.md +0 -305
  303. package/src/cmd/ai/prompt/agent.ts +0 -31
  304. package/src/cmd/build/app-router-detector.ts +0 -320
  305. package/src/cmd/build/format-schema.ts +0 -66
  306. package/src/cmd/build/vite/agent-discovery.ts +0 -380
  307. package/src/cmd/build/vite/beacon-plugin.ts +0 -164
  308. package/src/cmd/build/vite/browser-env-plugin.ts +0 -34
  309. package/src/cmd/build/vite/bun-dev-server.ts +0 -458
  310. package/src/cmd/build/vite/bundle-files.ts +0 -135
  311. package/src/cmd/build/vite/config-loader.ts +0 -76
  312. package/src/cmd/build/vite/db-rewrite.ts +0 -189
  313. package/src/cmd/build/vite/docs-generator.ts +0 -103
  314. package/src/cmd/build/vite/env-types-generator.ts +0 -145
  315. package/src/cmd/build/vite/index.ts +0 -3
  316. package/src/cmd/build/vite/lifecycle-generator.ts +0 -381
  317. package/src/cmd/build/vite/metadata-generator.ts +0 -713
  318. package/src/cmd/build/vite/prompt-generator.ts +0 -169
  319. package/src/cmd/build/vite/public-asset-path-plugin.ts +0 -209
  320. package/src/cmd/build/vite/route-discovery.ts +0 -271
  321. package/src/cmd/build/vite/server-bundler.ts +0 -481
  322. package/src/cmd/build/vite/static-renderer.ts +0 -239
  323. package/src/cmd/build/vite/tailwind-source-plugin.ts +0 -73
  324. package/src/cmd/build/vite/vite-asset-server-config.ts +0 -349
  325. package/src/cmd/build/vite/vite-asset-server.ts +0 -154
  326. package/src/cmd/build/vite/vite-builder.ts +0 -503
  327. package/src/cmd/build/vite/workbench-generator.ts +0 -152
  328. package/src/cmd/build/vite/ws-proxy.ts +0 -126
  329. package/src/cmd/build/vite-bundler.ts +0 -137
  330. package/src/cmd/dev/agents.ts +0 -140
  331. package/src/cmd/dev/api.ts +0 -65
  332. package/src/cmd/dev/dev-lock.ts +0 -332
  333. package/src/cmd/dev/download.ts +0 -117
  334. package/src/cmd/dev/file-watcher.ts +0 -423
  335. package/src/cmd/dev/process-manager.ts +0 -261
  336. package/src/cmd/dev/sync.ts +0 -411
  337. package/src/cmd/dev/templates.ts +0 -66
  338. package/src/cmd/project/download.ts +0 -505
  339. package/src/cmd/project/templates.ts +0 -56
@@ -1,403 +0,0 @@
1
- import { cpSync, createReadStream, existsSync, mkdirSync, mkdtempSync, readdirSync, renameSync, rmSync, } from 'node:fs';
2
- import { tmpdir } from 'node:os';
3
- import { join, resolve } from 'node:path';
4
- import { finished } from 'node:stream/promises';
5
- import { createGunzip } from 'node:zlib';
6
- import { StructuredError } from '@agentuity/core';
7
- import { extract } from 'tar-fs';
8
- import { writeAgentsDocs } from '../../agents-docs';
9
- import { downloadWithSpinner } from '../../download';
10
- import * as tui from '../../tui';
11
- const GITHUB_BRANCH = 'main';
12
- const BASE_TEMPLATE_DIR = '_base';
13
- const TemplateDirectoryNotFoundError = StructuredError('TemplateDirectoryNotFoundError')();
14
- async function copyTemplateFiles(sourceDir, dest, skipGitignoreRename = false) {
15
- if (!existsSync(sourceDir)) {
16
- return; // Source directory doesn't exist, skip (overlay may be empty)
17
- }
18
- // Copy all files from source to dest (overlay wins on conflicts)
19
- const files = readdirSync(sourceDir);
20
- for (const file of files) {
21
- // Skip package.overlay.json - it's handled separately for merging
22
- if (file === 'package.overlay.json') {
23
- continue;
24
- }
25
- // Skip .gitkeep files - they're just placeholders for empty directories
26
- if (file === '.gitkeep') {
27
- continue;
28
- }
29
- cpSync(join(sourceDir, file), join(dest, file), { recursive: true });
30
- }
31
- // Rename gitignore -> .gitignore (only do this once, after all copies)
32
- if (!skipGitignoreRename) {
33
- const gi = join(dest, 'gitignore');
34
- if (existsSync(gi)) {
35
- renameSync(gi, join(dest, '.gitignore'));
36
- }
37
- }
38
- }
39
- async function mergePackageJson(dest, overlayDir) {
40
- const basePackagePath = join(dest, 'package.json');
41
- const overlayPackagePath = join(overlayDir, 'package.overlay.json');
42
- // If no overlay package.json exists, nothing to merge
43
- if (!existsSync(overlayPackagePath)) {
44
- return;
45
- }
46
- // Read base package.json
47
- const basePackage = JSON.parse(await Bun.file(basePackagePath).text());
48
- // Read overlay package.json
49
- const overlayPackage = JSON.parse(await Bun.file(overlayPackagePath).text());
50
- // Merge dependencies (overlay wins on conflicts)
51
- if (overlayPackage.dependencies) {
52
- basePackage.dependencies = {
53
- ...basePackage.dependencies,
54
- ...overlayPackage.dependencies,
55
- };
56
- }
57
- // Merge devDependencies (overlay wins on conflicts)
58
- if (overlayPackage.devDependencies) {
59
- basePackage.devDependencies = {
60
- ...basePackage.devDependencies,
61
- ...overlayPackage.devDependencies,
62
- };
63
- }
64
- // Merge scripts (overlay wins on conflicts)
65
- if (overlayPackage.scripts) {
66
- basePackage.scripts = {
67
- ...basePackage.scripts,
68
- ...overlayPackage.scripts,
69
- };
70
- }
71
- // Write merged package.json
72
- await Bun.write(basePackagePath, JSON.stringify(basePackage, null, '\t') + '\n');
73
- }
74
- async function _cleanup(sourceDir, dest) {
75
- if (!existsSync(sourceDir)) {
76
- throw new TemplateDirectoryNotFoundError({
77
- directory: sourceDir,
78
- message: `Template directory not found: ${sourceDir}`,
79
- });
80
- }
81
- await tui.spinner('📦 Copying template files...', async () => {
82
- // Copy all files from source to dest
83
- const files = readdirSync(sourceDir);
84
- for (const file of files) {
85
- cpSync(join(sourceDir, file), join(dest, file), { recursive: true });
86
- }
87
- // Rename gitignore -> .gitignore
88
- const gi = join(dest, 'gitignore');
89
- if (existsSync(gi)) {
90
- renameSync(gi, join(dest, '.gitignore'));
91
- }
92
- });
93
- }
94
- export async function downloadTemplate(options) {
95
- const { dest, template, templateDir, templateBranch, logger } = options;
96
- mkdirSync(dest, { recursive: true });
97
- // Copy from local directory if provided
98
- if (templateDir) {
99
- const baseDir = resolve(join(templateDir, BASE_TEMPLATE_DIR));
100
- const overlayDir = resolve(join(templateDir, template.directory));
101
- // Base template must exist
102
- if (!existsSync(baseDir)) {
103
- throw new TemplateDirectoryNotFoundError({
104
- directory: baseDir,
105
- message: `Base template directory not found: ${baseDir}`,
106
- });
107
- }
108
- // Overlay directory must exist (even if empty)
109
- if (!existsSync(overlayDir)) {
110
- throw new TemplateDirectoryNotFoundError({
111
- directory: overlayDir,
112
- message: `Template directory not found: ${overlayDir}`,
113
- });
114
- }
115
- await tui.spinner({
116
- type: 'progress',
117
- message: '📦 Copying template files...',
118
- clearOnSuccess: true,
119
- callback: async (progress) => {
120
- // Step 1: Copy base template files (skip gitignore rename for now)
121
- await copyTemplateFiles(baseDir, dest, true);
122
- progress(33);
123
- // Step 2: Copy overlay template files (overlay wins on conflicts)
124
- await copyTemplateFiles(overlayDir, dest, false);
125
- progress(66);
126
- // Step 3: Merge package.json with overlay dependencies
127
- await mergePackageJson(dest, overlayDir);
128
- progress(100);
129
- },
130
- });
131
- return;
132
- }
133
- // Download from GitHub
134
- const branch = templateBranch || GITHUB_BRANCH;
135
- const basePath = `templates/${BASE_TEMPLATE_DIR}`;
136
- const overlayPath = `templates/${template.directory}`;
137
- const url = `https://agentuity.sh/template/sdk/${branch}/tar.gz`;
138
- const tempDir = mkdtempSync(join(tmpdir(), 'agentuity-'));
139
- const tarballPath = join(tempDir, 'download.tar.gz');
140
- logger.debug('[download] URL: %s', url);
141
- logger.debug('[download] Branch: %s', branch);
142
- logger.debug('[download] Base path: %s', basePath);
143
- logger.debug('[download] Overlay path: %s', overlayPath);
144
- logger.debug('[download] Temp dir: %s', tempDir);
145
- try {
146
- // Step 1: Download tarball to temp file
147
- // We download to a file first rather than piping directly to tar-fs
148
- // because this avoids Bun/Node stream compatibility issues
149
- await downloadWithSpinner({
150
- url,
151
- message: templateBranch
152
- ? `Downloading template files from branch ${branch}...`
153
- : 'Downloading template files...',
154
- }, async (stream) => {
155
- // Collect all chunks from the download stream
156
- const chunks = [];
157
- for await (const chunk of stream) {
158
- chunks.push(Buffer.from(chunk));
159
- }
160
- const buffer = Buffer.concat(chunks);
161
- await Bun.write(tarballPath, buffer);
162
- logger.debug('[download] Downloaded bytes: %dbytes', buffer.length);
163
- logger.debug('[download] Tarball path: %s', tarballPath);
164
- });
165
- // Step 2: Extract tarball - extract both base and overlay templates
166
- // The tarball structure is: sdk-{branch}/templates/{template.directory}/...
167
- const baseExtractDir = join(tempDir, 'base');
168
- const overlayExtractDir = join(tempDir, 'overlay');
169
- mkdirSync(baseExtractDir, { recursive: true });
170
- mkdirSync(overlayExtractDir, { recursive: true });
171
- const basePrefix = `sdk-${branch}/${basePath}/`;
172
- const overlayPrefix = `sdk-${branch}/${overlayPath}/`;
173
- logger.debug('[extract] Base extract dir: %s', baseExtractDir);
174
- logger.debug('[extract] Overlay extract dir: %s', overlayExtractDir);
175
- logger.debug('[extract] Base prefix: %s', basePrefix);
176
- logger.debug('[extract] Overlay prefix: %s', overlayPrefix);
177
- // Track extraction stats for debugging
178
- let ignoredCount = 0;
179
- let baseExtractedCount = 0;
180
- let overlayExtractedCount = 0;
181
- // Track which entries we've mapped so we don't ignore them later
182
- // Note: tar-fs calls map BEFORE ignore (despite what docs say)
183
- const mappedEntries = new Set();
184
- const extractor = extract(tempDir, {
185
- // map callback: called FIRST, allows modifying the entry before extraction
186
- // We extract base files to baseExtractDir and overlay files to overlayExtractDir
187
- map: (header) => {
188
- const originalName = header.name;
189
- // Check if this is a base template file
190
- if (header.name.startsWith(basePrefix) && header.name.length > basePrefix.length) {
191
- header.name = `base/${header.name.substring(basePrefix.length)}`;
192
- mappedEntries.add(header.name);
193
- logger.debug('[extract] MAP BASE: %s -> %s', originalName, header.name);
194
- baseExtractedCount++;
195
- }
196
- // Check if this is an overlay template file
197
- else if (header.name.startsWith(overlayPrefix) &&
198
- header.name.length > overlayPrefix.length) {
199
- header.name = `overlay/${header.name.substring(overlayPrefix.length)}`;
200
- mappedEntries.add(header.name);
201
- logger.debug('[extract] MAP OVERLAY: %s -> %s', originalName, header.name);
202
- overlayExtractedCount++;
203
- }
204
- return header;
205
- },
206
- // ignore callback: called AFTER map, receives the MAPPED name
207
- // Return true to skip the entry, false to extract it
208
- ignore: (_name, header) => {
209
- if (!header) {
210
- ignoredCount++;
211
- return true;
212
- }
213
- // If we already mapped this entry, don't ignore it
214
- if (mappedEntries.has(header.name)) {
215
- return false;
216
- }
217
- // Otherwise, ignore it
218
- logger.debug('[extract] IGNORE: %s', header.name);
219
- ignoredCount++;
220
- return true;
221
- },
222
- });
223
- // Pipe: tarball file -> gunzip -> tar extractor
224
- createReadStream(tarballPath).pipe(createGunzip()).pipe(extractor);
225
- await finished(extractor);
226
- logger.debug('[extract] Extraction complete');
227
- logger.debug('[extract] Ignored entries: %d', ignoredCount);
228
- logger.debug('[extract] Base extracted entries: %d', baseExtractedCount);
229
- logger.debug('[extract] Overlay extracted entries: %d', overlayExtractedCount);
230
- // Step 3: Copy base template files, then overlay template files
231
- await tui.spinner({
232
- type: 'progress',
233
- message: '📦 Copying template files...',
234
- clearOnSuccess: true,
235
- callback: async (progress) => {
236
- // Copy base template files (skip gitignore rename for now)
237
- await copyTemplateFiles(baseExtractDir, dest, true);
238
- progress(33);
239
- // Copy overlay template files (overlay wins on conflicts)
240
- await copyTemplateFiles(overlayExtractDir, dest, false);
241
- progress(66);
242
- // Merge package.json with overlay dependencies
243
- await mergePackageJson(dest, overlayExtractDir);
244
- progress(100);
245
- },
246
- });
247
- }
248
- finally {
249
- // Clean up temp directory
250
- logger.debug('[cleanup] Removing temp dir: %s', tempDir);
251
- rmSync(tempDir, { recursive: true, force: true });
252
- }
253
- }
254
- export async function setupProject(options) {
255
- const { dest, projectName, dirName, noInstall, noBuild, logger } = options;
256
- let hasError = false;
257
- // Replace {{PROJECT_NAME}} in files
258
- tui.info(`🔧 Setting up ${projectName}...`);
259
- await replaceInFiles(dest, projectName, dirName);
260
- // Install dependencies
261
- if (!noInstall) {
262
- const exitCode = await tui.runCommand({
263
- command: 'bun install',
264
- cwd: dest,
265
- cmd: ['bun', 'install'],
266
- clearOnSuccess: true,
267
- });
268
- if (exitCode !== 0) {
269
- logger.error('Failed to install dependencies');
270
- hasError = true;
271
- }
272
- }
273
- // Run optional template setup script if it exists
274
- // This allows templates to run custom setup logic after bun install
275
- const setupScriptPath = join(dest, '_setup.ts');
276
- if (existsSync(setupScriptPath)) {
277
- try {
278
- const exitCode = await tui.runCommand({
279
- command: 'bun _setup.ts',
280
- cwd: dest,
281
- cmd: ['bun', '_setup.ts'],
282
- clearOnSuccess: true,
283
- });
284
- if (exitCode !== 0) {
285
- logger.error('Template setup script failed');
286
- hasError = true;
287
- }
288
- }
289
- finally {
290
- // Always delete the setup script after running (or attempting to run)
291
- try {
292
- rmSync(setupScriptPath);
293
- }
294
- catch {
295
- // Ignore errors when deleting the setup script
296
- }
297
- }
298
- }
299
- // Build project
300
- if (!noBuild) {
301
- const exitCode = await tui.runCommand({
302
- command: 'bun run build --dev',
303
- cwd: dest,
304
- cmd: ['bun', 'run', 'build', '--dev'],
305
- clearOnSuccess: true,
306
- });
307
- if (exitCode !== 0) {
308
- logger.error('Failed to build project');
309
- hasError = true;
310
- }
311
- }
312
- // Generate and write AGENTS.md files for the CLI and source folders
313
- // Always overwrite during project setup to ensure fresh content
314
- await writeAgentsDocs(dest);
315
- return { success: !hasError };
316
- }
317
- export async function initGitRepo(dest, options) {
318
- // Safety: refuse to init if .git already exists (prevents clobbering existing repos)
319
- if (existsSync(join(dest, '.git'))) {
320
- throw new Error(`Refusing to initialize git: "${dest}" already contains a .git directory.`);
321
- }
322
- // Initialize git repository if git is available
323
- // Check for real git (not macOS stub that triggers Xcode CLT popup)
324
- const { isGitAvailable, getDefaultBranch } = await import('../../git-helper');
325
- const gitAvailable = await isGitAvailable();
326
- if (gitAvailable) {
327
- // Get default branch from git config, fallback to 'main'
328
- const defaultBranch = (await getDefaultBranch()) || 'main';
329
- // Git is available, initialize repository
330
- await tui.runCommand({
331
- command: `git init -b ${defaultBranch}`,
332
- cwd: dest,
333
- cmd: ['git', 'init', '-b', defaultBranch],
334
- clearOnSuccess: true,
335
- });
336
- // Configure git user in CI/sandbox environments (where git config may not be set)
337
- if (process.env.CI || process.env.AGENTUITY_SANDBOX_ID) {
338
- const cfgEmail = options?.author?.email ?? 'bot@agentuity.com';
339
- const cfgName = options?.author?.name ?? 'Agentuity';
340
- await tui.runCommand({
341
- command: 'git config user.email',
342
- cwd: dest,
343
- cmd: ['git', 'config', 'user.email', cfgEmail],
344
- clearOnSuccess: true,
345
- });
346
- await tui.runCommand({
347
- command: 'git config user.name',
348
- cwd: dest,
349
- cmd: ['git', 'config', 'user.name', cfgName],
350
- clearOnSuccess: true,
351
- });
352
- }
353
- // Add all files
354
- await tui.runCommand({
355
- command: 'git add .',
356
- cwd: dest,
357
- cmd: ['git', 'add', '.'],
358
- clearOnSuccess: true,
359
- });
360
- const commitMessage = 'Initial Setup';
361
- // Create initial commit — authored by the GitHub App bot if available,
362
- // otherwise fallback to generic Agentuity identity
363
- const authorName = options?.author?.name ?? 'Agentuity';
364
- const authorEmail = options?.author?.email ?? 'bot@agentuity.com';
365
- const authorStr = `${authorName} <${authorEmail}>`;
366
- await tui.runCommand({
367
- command: 'git commit',
368
- cwd: dest,
369
- cmd: [
370
- 'git',
371
- '-c',
372
- 'commit.gpgsign=false',
373
- 'commit',
374
- `--author=${authorStr}`,
375
- '-m',
376
- commitMessage,
377
- ],
378
- env: {
379
- GIT_COMMITTER_NAME: authorName,
380
- GIT_COMMITTER_EMAIL: authorEmail,
381
- },
382
- clearOnSuccess: true,
383
- });
384
- }
385
- }
386
- async function replaceInFiles(dir, projectName, dirName) {
387
- const filesToReplace = ['package.json', 'README.md', 'AGENTS.md'];
388
- for (const file of filesToReplace) {
389
- const filePath = join(dir, file);
390
- const bunFile = Bun.file(filePath);
391
- if (await bunFile.exists()) {
392
- let content = await bunFile.text();
393
- // Replace human-readable name in most places
394
- content = content.replace(/\{\{PROJECT_NAME\}\}/g, projectName);
395
- // Replace with directory name for package.json "name" field (npm package name)
396
- if (file === 'package.json') {
397
- content = content.replace(/"name":\s*".*?"/, `"name": "${dirName}"`);
398
- }
399
- await Bun.write(filePath, content);
400
- }
401
- }
402
- }
403
- //# sourceMappingURL=download.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/cmd/project/download.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { Logger } from '@agentuity/core';
2
- export interface TemplateInfo {
3
- id: string;
4
- name: string;
5
- description: string;
6
- directory: string;
7
- }
8
- export declare function fetchTemplates(logger: Logger, localDir?: string, branch?: string): Promise<TemplateInfo[]>;
9
- //# sourceMappingURL=templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI1D,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CAClB;AASD,wBAAsB,cAAc,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC,CAiCzB"}
@@ -1,34 +0,0 @@
1
- import { StructuredError } from '@agentuity/core';
2
- const GITHUB_BRANCH = 'main';
3
- const TemplateMissingConfigurationError = StructuredError('TemplateMissingConfigurationError');
4
- const TemplateDownloadError = StructuredError('TemplateDownloadError')();
5
- export async function fetchTemplates(logger, localDir, branch) {
6
- // Load from local directory if provided
7
- if (localDir) {
8
- const { join } = await import('node:path');
9
- const { resolve } = await import('node:path');
10
- const manifestPath = resolve(join(localDir, 'templates.json'));
11
- const file = Bun.file(manifestPath);
12
- if (!(await file.exists())) {
13
- throw new TemplateMissingConfigurationError({
14
- message: `templates.json not found at ${manifestPath}`,
15
- });
16
- }
17
- const manifest = (await file.json());
18
- return manifest.templates;
19
- }
20
- // Fetch from GitHub
21
- const branchToUse = branch || GITHUB_BRANCH;
22
- const url = `https://agentuity.sh/template/sdk/${branchToUse}`;
23
- const response = await fetch(url);
24
- if (!response.ok) {
25
- logger.trace('error fetching template from %s. %s', url, await response.text());
26
- throw new TemplateDownloadError({
27
- status: response.status,
28
- message: `Failed to fetch templates: ${response.statusText}`,
29
- });
30
- }
31
- const manifest = (await response.json());
32
- return manifest.templates;
33
- }
34
- //# sourceMappingURL=templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/cmd/project/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAU,MAAM,iBAAiB,CAAC;AAE1D,MAAM,aAAa,GAAG,MAAM,CAAC;AAa7B,MAAM,iCAAiC,GAAG,eAAe,CAAC,mCAAmC,CAAC,CAAC;AAC/F,MAAM,qBAAqB,GAAG,eAAe,CAAC,uBAAuB,CAAC,EAAsB,CAAC;AAE7F,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAc,EACd,QAAiB,EACjB,MAAe;IAEf,wCAAwC;IACxC,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,iCAAiC,CAAC;gBAC3C,OAAO,EAAE,+BAA+B,YAAY,EAAE;aACtD,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAsB,CAAC;QAC1D,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC3B,CAAC;IAED,oBAAoB;IACpB,MAAM,WAAW,GAAG,MAAM,IAAI,aAAa,CAAC;IAC5C,MAAM,GAAG,GAAG,qCAAqC,WAAW,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,IAAI,qBAAqB,CAAC;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,8BAA8B,QAAQ,CAAC,UAAU,EAAE;SAC5D,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAC;IAC9D,OAAO,QAAQ,CAAC,SAAS,CAAC;AAC3B,CAAC"}
@@ -1,86 +0,0 @@
1
- import { join } from 'node:path';
2
- import { existsSync } from 'node:fs';
3
- import { mkdir } from 'node:fs/promises';
4
- import { generateLLMPrompt as generateCLIPrompt } from './cmd/ai/prompt/llm';
5
- import { generateLLMPrompt as generateAgentPrompt } from './cmd/ai/prompt/agent';
6
- import { generateLLMPrompt as generateWebPrompt } from './cmd/ai/prompt/web';
7
- import { generateLLMPrompt as generateAPIPrompt } from './cmd/ai/prompt/api';
8
-
9
- interface WriteAgentsDocsOptions {
10
- /**
11
- * If true, only write files that don't already exist.
12
- * If false (default), always write files, overwriting existing ones.
13
- */
14
- onlyIfMissing?: boolean;
15
- }
16
-
17
- /**
18
- * Generate the reference file content that points to .agents/
19
- */
20
- function generateReferenceContent(name: string): string {
21
- return `See [.agents/agentuity/sdk/${name}/AGENTS.md](../../.agents/agentuity/sdk/${name}/AGENTS.md) for Agentuity ${name} development guidelines.
22
- `;
23
- }
24
-
25
- /**
26
- * Writes AGENTS.md documentation files to the appropriate locations in a project.
27
- *
28
- * This function generates and writes AGENTS.md files to:
29
- * - node_modules/@agentuity/cli/AGENTS.md (CLI documentation - full content)
30
- * - .agents/agentuity/sdk/[type]/AGENTS.md (Full content for agent, api, web)
31
- * - src/agent/AGENTS.md (Reference file pointing to .agents/)
32
- * - src/api/AGENTS.md (Reference file pointing to .agents/)
33
- * - src/web/AGENTS.md (Reference file pointing to .agents/)
34
- *
35
- * @param rootDir - The root directory of the project
36
- * @param options - Options for controlling write behavior
37
- */
38
- export async function writeAgentsDocs(
39
- rootDir: string,
40
- options: WriteAgentsDocsOptions = {}
41
- ): Promise<void> {
42
- const { onlyIfMissing = false } = options;
43
-
44
- const ensure = async (dir: string, fileName: string, content: string) => {
45
- if (!existsSync(dir)) return;
46
- const filePath = join(dir, fileName);
47
- if (onlyIfMissing && existsSync(filePath)) return;
48
- await Bun.write(filePath, content);
49
- };
50
-
51
- const ensureWithCreate = async (dir: string, fileName: string, content: string) => {
52
- await mkdir(dir, { recursive: true });
53
- const filePath = join(dir, fileName);
54
- if (onlyIfMissing && existsSync(filePath)) return;
55
- await Bun.write(filePath, content);
56
- };
57
-
58
- // Generate and write AGENTS.md for the CLI (in node_modules)
59
- await ensure(
60
- join(rootDir, 'node_modules', '@agentuity', 'cli'),
61
- 'AGENTS.md',
62
- generateCLIPrompt()
63
- );
64
-
65
- // Write full content to .agents/agentuity/sdk/[type]/AGENTS.md
66
- await ensureWithCreate(
67
- join(rootDir, '.agents', 'agentuity', 'sdk', 'agent'),
68
- 'AGENTS.md',
69
- generateAgentPrompt()
70
- );
71
- await ensureWithCreate(
72
- join(rootDir, '.agents', 'agentuity', 'sdk', 'api'),
73
- 'AGENTS.md',
74
- generateAPIPrompt()
75
- );
76
- await ensureWithCreate(
77
- join(rootDir, '.agents', 'agentuity', 'sdk', 'web'),
78
- 'AGENTS.md',
79
- generateWebPrompt()
80
- );
81
-
82
- // Write reference files to src/[type]/AGENTS.md (pointing to .agents/)
83
- await ensure(join(rootDir, 'src', 'agent'), 'AGENTS.md', generateReferenceContent('agent'));
84
- await ensure(join(rootDir, 'src', 'api'), 'AGENTS.md', generateReferenceContent('api'));
85
- await ensure(join(rootDir, 'src', 'web'), 'AGENTS.md', generateReferenceContent('web'));
86
- }