@geekmidas/cli 0.4.0 → 0.5.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 (298) hide show
  1. package/dist/CronGenerator-BPTqNYOR.d.cts +14 -0
  2. package/dist/{CronGenerator-Bh26MaNA.mjs → CronGenerator-CCRYptuT.mjs} +2 -2
  3. package/dist/{CronGenerator-Bh26MaNA.mjs.map → CronGenerator-CCRYptuT.mjs.map} +1 -1
  4. package/dist/{CronGenerator-C6MF8rlG.cjs → CronGenerator-D4TWXQbh.cjs} +2 -2
  5. package/dist/{CronGenerator-C6MF8rlG.cjs.map → CronGenerator-D4TWXQbh.cjs.map} +1 -1
  6. package/dist/CronGenerator-YAj59JUd.d.mts +14 -0
  7. package/dist/EndpointGenerator-ChAD1INz.d.cts +19 -0
  8. package/dist/EndpointGenerator-Cj3O1U8-.d.mts +19 -0
  9. package/dist/{EndpointGenerator-CzDhG7Or.mjs → EndpointGenerator-DGivkPLT.mjs} +22 -6
  10. package/dist/EndpointGenerator-DGivkPLT.mjs.map +1 -0
  11. package/dist/{EndpointGenerator-BxNCkus4.cjs → EndpointGenerator-npWEDoK2.cjs} +22 -6
  12. package/dist/EndpointGenerator-npWEDoK2.cjs.map +1 -0
  13. package/dist/FunctionGenerator-429-9NER.d.cts +14 -0
  14. package/dist/FunctionGenerator-BQ4ehoID.d.mts +14 -0
  15. package/dist/{FunctionGenerator-BNE_GC7N.mjs → FunctionGenerator-CVk0h8tO.mjs} +2 -2
  16. package/dist/{FunctionGenerator-BNE_GC7N.mjs.map → FunctionGenerator-CVk0h8tO.mjs.map} +1 -1
  17. package/dist/{FunctionGenerator-FgZUTd8L.cjs → FunctionGenerator-DYTnyr4c.cjs} +2 -2
  18. package/dist/{FunctionGenerator-FgZUTd8L.cjs.map → FunctionGenerator-DYTnyr4c.cjs.map} +1 -1
  19. package/dist/Generator-BjHK_qce.d.mts +27 -0
  20. package/dist/{Generator-UanJW0_V.mjs → Generator-CDt4pB3W.mjs} +1 -1
  21. package/dist/{Generator-UanJW0_V.mjs.map → Generator-CDt4pB3W.mjs.map} +1 -1
  22. package/dist/{Generator-CDoEXCDg.cjs → Generator-CLVplqm2.cjs} +1 -1
  23. package/dist/{Generator-CDoEXCDg.cjs.map → Generator-CLVplqm2.cjs.map} +1 -1
  24. package/dist/Generator-DxQMCQp7.d.cts +27 -0
  25. package/dist/{OpenApiTsGenerator-NBNEoaeO.cjs → OpenApiTsGenerator-Be-sKGTT.cjs} +1 -1
  26. package/dist/{OpenApiTsGenerator-NBNEoaeO.cjs.map → OpenApiTsGenerator-Be-sKGTT.cjs.map} +1 -1
  27. package/dist/{OpenApiTsGenerator-q3aWNkuM.mjs → OpenApiTsGenerator-C4mHHaku.mjs} +1 -1
  28. package/dist/{OpenApiTsGenerator-q3aWNkuM.mjs.map → OpenApiTsGenerator-C4mHHaku.mjs.map} +1 -1
  29. package/dist/SubscriberGenerator-7uX42xyG.d.mts +15 -0
  30. package/dist/{SubscriberGenerator-Dnlj_1FK.mjs → SubscriberGenerator-DABaJXML.mjs} +2 -2
  31. package/dist/{SubscriberGenerator-Dnlj_1FK.mjs.map → SubscriberGenerator-DABaJXML.mjs.map} +1 -1
  32. package/dist/{SubscriberGenerator-Bd-a7aiw.cjs → SubscriberGenerator-D_zpNGFr.cjs} +2 -2
  33. package/dist/{SubscriberGenerator-Bd-a7aiw.cjs.map → SubscriberGenerator-D_zpNGFr.cjs.map} +1 -1
  34. package/dist/SubscriberGenerator-Dtb3HS4i.d.cts +15 -0
  35. package/dist/api-B3SCEHPf.cjs +190 -0
  36. package/dist/api-B3SCEHPf.cjs.map +1 -0
  37. package/dist/api-BKIN0s0S.mjs +184 -0
  38. package/dist/api-BKIN0s0S.mjs.map +1 -0
  39. package/dist/build/index.cjs +11 -10
  40. package/dist/build/index.d.cts +7 -0
  41. package/dist/build/index.d.mts +7 -0
  42. package/dist/build/index.mjs +11 -10
  43. package/dist/build/manifests.cjs +1 -1
  44. package/dist/build/manifests.d.cts +13 -0
  45. package/dist/build/manifests.d.mts +13 -0
  46. package/dist/build/manifests.mjs +1 -1
  47. package/dist/build/providerResolver.cjs +1 -1
  48. package/dist/build/providerResolver.d.cts +23 -0
  49. package/dist/build/providerResolver.d.mts +23 -0
  50. package/dist/build/providerResolver.mjs +1 -1
  51. package/dist/build/types.d.cts +3 -0
  52. package/dist/build/types.d.mts +3 -0
  53. package/dist/{build-DyDgu_D1.mjs → build-B8C_qHir.mjs} +15 -13
  54. package/dist/build-B8C_qHir.mjs.map +1 -0
  55. package/dist/{build-CWtHnJMQ.cjs → build-D0Wr49bf.cjs} +15 -13
  56. package/dist/build-D0Wr49bf.cjs.map +1 -0
  57. package/dist/config-Ba-Gbpbc.d.cts +11 -0
  58. package/dist/config-Bq72aj8e.mjs +75 -0
  59. package/dist/config-Bq72aj8e.mjs.map +1 -0
  60. package/dist/config-CFls09Ey.cjs +93 -0
  61. package/dist/config-CFls09Ey.cjs.map +1 -0
  62. package/dist/config-CLEDqKO3.cjs +157 -0
  63. package/dist/config-CLEDqKO3.cjs.map +1 -0
  64. package/dist/config-DBsmMDhf.d.mts +11 -0
  65. package/dist/config-Dp8RonV_.mjs +151 -0
  66. package/dist/config-Dp8RonV_.mjs.map +1 -0
  67. package/dist/config.cjs +4 -2
  68. package/dist/config.d.cts +48 -0
  69. package/dist/config.d.mts +48 -0
  70. package/dist/config.mjs +2 -2
  71. package/dist/dev/index.cjs +10 -9
  72. package/dist/dev/index.d.cts +36 -0
  73. package/dist/dev/index.d.mts +36 -0
  74. package/dist/dev/index.mjs +10 -10
  75. package/dist/{dev-CpA8AQPX.mjs → dev-B734w3L1.mjs} +93 -49
  76. package/dist/dev-B734w3L1.mjs.map +1 -0
  77. package/dist/{dev-CgDYC4o8.cjs → dev-DHqYn8k4.cjs} +71 -21
  78. package/dist/dev-DHqYn8k4.cjs.map +1 -0
  79. package/dist/docker-5d8Yh5_X.cjs +119 -0
  80. package/dist/docker-5d8Yh5_X.cjs.map +1 -0
  81. package/dist/docker-DlUqdFle.mjs +113 -0
  82. package/dist/docker-DlUqdFle.mjs.map +1 -0
  83. package/dist/env-B-OKjgI4.cjs +144 -0
  84. package/dist/env-B-OKjgI4.cjs.map +1 -0
  85. package/dist/env-HfuJRlg5.d.cts +11 -0
  86. package/dist/env-nd-iQPYM.d.mts +11 -0
  87. package/dist/env-tv1HlZlw.mjs +138 -0
  88. package/dist/env-tv1HlZlw.mjs.map +1 -0
  89. package/dist/generators/CronGenerator.cjs +2 -2
  90. package/dist/generators/CronGenerator.d.cts +5 -0
  91. package/dist/generators/CronGenerator.d.mts +5 -0
  92. package/dist/generators/CronGenerator.mjs +2 -2
  93. package/dist/generators/EndpointGenerator.cjs +2 -2
  94. package/dist/generators/EndpointGenerator.d.cts +5 -0
  95. package/dist/generators/EndpointGenerator.d.mts +5 -0
  96. package/dist/generators/EndpointGenerator.mjs +2 -2
  97. package/dist/generators/FunctionGenerator.cjs +2 -2
  98. package/dist/generators/FunctionGenerator.d.cts +5 -0
  99. package/dist/generators/FunctionGenerator.d.mts +5 -0
  100. package/dist/generators/FunctionGenerator.mjs +2 -2
  101. package/dist/generators/Generator.cjs +1 -1
  102. package/dist/generators/Generator.d.cts +4 -0
  103. package/dist/generators/Generator.d.mts +4 -0
  104. package/dist/generators/Generator.mjs +1 -1
  105. package/dist/generators/OpenApiTsGenerator.cjs +1 -1
  106. package/dist/generators/OpenApiTsGenerator.d.cts +44 -0
  107. package/dist/generators/OpenApiTsGenerator.d.mts +44 -0
  108. package/dist/generators/OpenApiTsGenerator.mjs +1 -1
  109. package/dist/generators/SubscriberGenerator.cjs +2 -2
  110. package/dist/generators/SubscriberGenerator.d.cts +5 -0
  111. package/dist/generators/SubscriberGenerator.d.mts +5 -0
  112. package/dist/generators/SubscriberGenerator.mjs +2 -2
  113. package/dist/generators/index.cjs +6 -6
  114. package/dist/generators/index.d.cts +8 -0
  115. package/dist/generators/index.d.mts +8 -0
  116. package/dist/generators/index.mjs +6 -6
  117. package/dist/index-C523No_B.d.mts +64 -0
  118. package/dist/index-DrzN4xkQ.d.cts +64 -0
  119. package/dist/index.cjs +48 -16
  120. package/dist/index.cjs.map +1 -1
  121. package/dist/index.d.cts +1 -0
  122. package/dist/index.d.mts +1 -0
  123. package/dist/index.mjs +48 -16
  124. package/dist/index.mjs.map +1 -1
  125. package/dist/init/generators/config.cjs +3 -0
  126. package/dist/init/generators/config.d.cts +3 -0
  127. package/dist/init/generators/config.d.mts +3 -0
  128. package/dist/init/generators/config.mjs +3 -0
  129. package/dist/init/generators/docker.cjs +3 -0
  130. package/dist/init/generators/docker.d.cts +11 -0
  131. package/dist/init/generators/docker.d.mts +11 -0
  132. package/dist/init/generators/docker.mjs +3 -0
  133. package/dist/init/generators/env.cjs +3 -0
  134. package/dist/init/generators/env.d.cts +3 -0
  135. package/dist/init/generators/env.d.mts +3 -0
  136. package/dist/init/generators/env.mjs +3 -0
  137. package/dist/init/generators/index.cjs +9 -0
  138. package/dist/init/generators/index.d.cts +6 -0
  139. package/dist/init/generators/index.d.mts +6 -0
  140. package/dist/init/generators/index.mjs +6 -0
  141. package/dist/init/generators/models.cjs +3 -0
  142. package/dist/init/generators/models.d.cts +11 -0
  143. package/dist/init/generators/models.d.mts +11 -0
  144. package/dist/init/generators/models.mjs +3 -0
  145. package/dist/init/generators/monorepo.cjs +3 -0
  146. package/dist/init/generators/monorepo.d.cts +11 -0
  147. package/dist/init/generators/monorepo.d.mts +11 -0
  148. package/dist/init/generators/monorepo.mjs +3 -0
  149. package/dist/init/generators/package.cjs +3 -0
  150. package/dist/init/generators/package.d.cts +3 -0
  151. package/dist/init/generators/package.d.mts +3 -0
  152. package/dist/init/generators/package.mjs +3 -0
  153. package/dist/init/generators/source.cjs +3 -0
  154. package/dist/init/generators/source.d.cts +3 -0
  155. package/dist/init/generators/source.d.mts +3 -0
  156. package/dist/init/generators/source.mjs +3 -0
  157. package/dist/init/index.cjs +16 -0
  158. package/dist/init/index.d.cts +17 -0
  159. package/dist/init/index.d.mts +17 -0
  160. package/dist/init/index.mjs +16 -0
  161. package/dist/init/templates/api.cjs +3 -0
  162. package/dist/init/templates/api.d.cts +7 -0
  163. package/dist/init/templates/api.d.mts +7 -0
  164. package/dist/init/templates/api.mjs +3 -0
  165. package/dist/init/templates/index.cjs +10 -0
  166. package/dist/init/templates/index.d.cts +2 -0
  167. package/dist/init/templates/index.d.mts +2 -0
  168. package/dist/init/templates/index.mjs +7 -0
  169. package/dist/init/templates/minimal.cjs +3 -0
  170. package/dist/init/templates/minimal.d.cts +7 -0
  171. package/dist/init/templates/minimal.d.mts +7 -0
  172. package/dist/init/templates/minimal.mjs +3 -0
  173. package/dist/init/templates/serverless.cjs +3 -0
  174. package/dist/init/templates/serverless.d.cts +7 -0
  175. package/dist/init/templates/serverless.d.mts +7 -0
  176. package/dist/init/templates/serverless.mjs +3 -0
  177. package/dist/init/templates/worker.cjs +3 -0
  178. package/dist/init/templates/worker.d.cts +7 -0
  179. package/dist/init/templates/worker.d.mts +7 -0
  180. package/dist/init/templates/worker.mjs +3 -0
  181. package/dist/init/utils.cjs +7 -0
  182. package/dist/init/utils.d.cts +25 -0
  183. package/dist/init/utils.d.mts +25 -0
  184. package/dist/init/utils.mjs +3 -0
  185. package/dist/init-CtOnZn3G.mjs +145 -0
  186. package/dist/init-CtOnZn3G.mjs.map +1 -0
  187. package/dist/init-qLFsWR-R.cjs +151 -0
  188. package/dist/init-qLFsWR-R.cjs.map +1 -0
  189. package/dist/{manifests-C2eMoMUm.mjs → manifests-DIA_2QYd.mjs} +1 -1
  190. package/dist/{manifests-C2eMoMUm.mjs.map → manifests-DIA_2QYd.mjs.map} +1 -1
  191. package/dist/{manifests-CK1VV_pM.cjs → manifests-VJ9-2JpW.cjs} +1 -1
  192. package/dist/{manifests-CK1VV_pM.cjs.map → manifests-VJ9-2JpW.cjs.map} +1 -1
  193. package/dist/minimal-Bdhhpp7v.cjs +93 -0
  194. package/dist/minimal-Bdhhpp7v.cjs.map +1 -0
  195. package/dist/minimal-C4GsE45s.mjs +87 -0
  196. package/dist/minimal-C4GsE45s.mjs.map +1 -0
  197. package/dist/models-DyNwdOcz.cjs +121 -0
  198. package/dist/models-DyNwdOcz.cjs.map +1 -0
  199. package/dist/models-cvNg6Oea.mjs +115 -0
  200. package/dist/models-cvNg6Oea.mjs.map +1 -0
  201. package/dist/monorepo-Cknwzj5C.mjs +184 -0
  202. package/dist/monorepo-Cknwzj5C.mjs.map +1 -0
  203. package/dist/monorepo-sEK8gW59.cjs +190 -0
  204. package/dist/monorepo-sEK8gW59.cjs.map +1 -0
  205. package/dist/{openapi-DhK4b0lB.cjs → openapi-BQWPWyNB.cjs} +4 -4
  206. package/dist/{openapi-DhK4b0lB.cjs.map → openapi-BQWPWyNB.cjs.map} +1 -1
  207. package/dist/{openapi-DRTRGhTt.mjs → openapi-DBX8cJJ8.mjs} +4 -4
  208. package/dist/{openapi-DRTRGhTt.mjs.map → openapi-DBX8cJJ8.mjs.map} +1 -1
  209. package/dist/{openapi-react-query-D9Z7lh0p.cjs → openapi-react-query-DxHjXQvg.cjs} +1 -1
  210. package/dist/{openapi-react-query-D9Z7lh0p.cjs.map → openapi-react-query-DxHjXQvg.cjs.map} +1 -1
  211. package/dist/{openapi-react-query-MEBlYIM1.mjs → openapi-react-query-o7Mp1Jd5.mjs} +1 -1
  212. package/dist/{openapi-react-query-MEBlYIM1.mjs.map → openapi-react-query-o7Mp1Jd5.mjs.map} +1 -1
  213. package/dist/openapi-react-query.cjs +1 -1
  214. package/dist/openapi-react-query.d.cts +11 -0
  215. package/dist/openapi-react-query.d.mts +11 -0
  216. package/dist/openapi-react-query.mjs +1 -1
  217. package/dist/openapi.cjs +5 -5
  218. package/dist/openapi.d.cts +11 -0
  219. package/dist/openapi.d.mts +11 -0
  220. package/dist/openapi.mjs +5 -5
  221. package/dist/package-C7WhWU8m.d.mts +11 -0
  222. package/dist/package-CIfmeuSW.mjs +51 -0
  223. package/dist/package-CIfmeuSW.mjs.map +1 -0
  224. package/dist/package-DvWEMz6z.d.cts +11 -0
  225. package/dist/package-PP-o1nvq.cjs +57 -0
  226. package/dist/package-PP-o1nvq.cjs.map +1 -0
  227. package/dist/{providerResolver-B_TjNF0_.mjs → providerResolver-DEVKngbC.mjs} +1 -1
  228. package/dist/{providerResolver-B_TjNF0_.mjs.map → providerResolver-DEVKngbC.mjs.map} +1 -1
  229. package/dist/{providerResolver-DgvzNfP4.cjs → providerResolver-DOTbN9jo.cjs} +1 -1
  230. package/dist/{providerResolver-DgvzNfP4.cjs.map → providerResolver-DOTbN9jo.cjs.map} +1 -1
  231. package/dist/serverless-DkHBF2vC.mjs +108 -0
  232. package/dist/serverless-DkHBF2vC.mjs.map +1 -0
  233. package/dist/serverless-Yav3GRVz.cjs +114 -0
  234. package/dist/serverless-Yav3GRVz.cjs.map +1 -0
  235. package/dist/source-D6v2BnKT.d.mts +11 -0
  236. package/dist/source-D8fK9qRo.d.cts +11 -0
  237. package/dist/source-DT5Xhiob.cjs +17 -0
  238. package/dist/source-DT5Xhiob.cjs.map +1 -0
  239. package/dist/source-DnaH_MLA.mjs +11 -0
  240. package/dist/source-DnaH_MLA.mjs.map +1 -0
  241. package/dist/templates-CBFUwpBy.mjs +64 -0
  242. package/dist/templates-CBFUwpBy.mjs.map +1 -0
  243. package/dist/templates-DM_rtYYW.cjs +87 -0
  244. package/dist/templates-DM_rtYYW.cjs.map +1 -0
  245. package/dist/types-C4KITv-y.d.mts +51 -0
  246. package/dist/types-Cxl8-uwV.d.mts +129 -0
  247. package/dist/types-DB99_qIy.d.cts +129 -0
  248. package/dist/types-DLFN49M3.d.cts +51 -0
  249. package/dist/types.d.cts +2 -0
  250. package/dist/types.d.mts +2 -0
  251. package/dist/utils-BX3F4fT8.cjs +99 -0
  252. package/dist/utils-BX3F4fT8.cjs.map +1 -0
  253. package/dist/utils-C31-SWHP.mjs +69 -0
  254. package/dist/utils-C31-SWHP.mjs.map +1 -0
  255. package/dist/worker--8O5a3Hv.cjs +150 -0
  256. package/dist/worker--8O5a3Hv.cjs.map +1 -0
  257. package/dist/worker-Jme7uOOJ.mjs +144 -0
  258. package/dist/worker-Jme7uOOJ.mjs.map +1 -0
  259. package/package.json +11 -3
  260. package/src/__tests__/loadEnvFiles.spec.ts +131 -0
  261. package/src/build/index.ts +14 -16
  262. package/src/build/types.ts +5 -0
  263. package/src/config.ts +57 -0
  264. package/src/dev/index.ts +77 -17
  265. package/src/generators/EndpointGenerator.ts +37 -8
  266. package/src/index.ts +26 -0
  267. package/src/init/__tests__/generators.spec.ts +366 -0
  268. package/src/init/__tests__/init.spec.ts +341 -0
  269. package/src/init/__tests__/utils.spec.ts +104 -0
  270. package/src/init/generators/config.ts +192 -0
  271. package/src/init/generators/docker.ts +134 -0
  272. package/src/init/generators/env.ts +182 -0
  273. package/src/init/generators/index.ts +4 -0
  274. package/src/init/generators/models.ts +129 -0
  275. package/src/init/generators/monorepo.ts +211 -0
  276. package/src/init/generators/package.ts +81 -0
  277. package/src/init/generators/source.ts +15 -0
  278. package/src/init/index.ts +206 -0
  279. package/src/init/templates/api.ts +218 -0
  280. package/src/init/templates/index.ts +108 -0
  281. package/src/init/templates/minimal.ts +102 -0
  282. package/src/init/templates/serverless.ts +129 -0
  283. package/src/init/templates/worker.ts +169 -0
  284. package/src/init/utils.ts +98 -0
  285. package/src/types.ts +22 -2
  286. package/tsdown.config.ts +1 -1
  287. package/dist/EndpointGenerator-BxNCkus4.cjs.map +0 -1
  288. package/dist/EndpointGenerator-CzDhG7Or.mjs.map +0 -1
  289. package/dist/build-CWtHnJMQ.cjs.map +0 -1
  290. package/dist/build-DyDgu_D1.mjs.map +0 -1
  291. package/dist/config-AFmFKmU0.mjs +0 -30
  292. package/dist/config-AFmFKmU0.mjs.map +0 -1
  293. package/dist/config-BVIJpAsa.cjs +0 -36
  294. package/dist/config-BVIJpAsa.cjs.map +0 -1
  295. package/dist/dev-CgDYC4o8.cjs.map +0 -1
  296. package/dist/dev-CpA8AQPX.mjs.map +0 -1
  297. /package/dist/{generators-CEKtVh81.cjs → generators-3IemvCLk.cjs} +0 -0
  298. /package/dist/{generators-CsLujGXs.mjs → generators-FNpdfN6J.mjs} +0 -0
@@ -0,0 +1,138 @@
1
+ //#region src/init/generators/env.ts
2
+ /**
3
+ * Generate environment files (.env, .env.example, .env.development, .env.test, .gitignore)
4
+ */
5
+ function generateEnvFiles(options, template) {
6
+ const { database } = options;
7
+ const isServerless = template.name === "serverless";
8
+ const hasWorker = template.name === "worker";
9
+ let baseEnv = `# Application
10
+ NODE_ENV=development
11
+ PORT=3000
12
+ LOG_LEVEL=info
13
+ `;
14
+ if (isServerless) baseEnv = `# AWS
15
+ STAGE=dev
16
+ AWS_REGION=us-east-1
17
+ LOG_LEVEL=info
18
+ `;
19
+ if (database) baseEnv += `
20
+ # Database
21
+ DATABASE_URL=postgresql://user:password@localhost:5432/mydb
22
+ `;
23
+ if (hasWorker) baseEnv += `
24
+ # Message Queue
25
+ RABBITMQ_URL=amqp://localhost:5672
26
+ `;
27
+ baseEnv += `
28
+ # Authentication
29
+ JWT_SECRET=your-secret-key-change-in-production
30
+ `;
31
+ let devEnv = `# Development Environment
32
+ NODE_ENV=development
33
+ PORT=3000
34
+ LOG_LEVEL=debug
35
+ `;
36
+ if (isServerless) devEnv = `# Development Environment
37
+ STAGE=dev
38
+ AWS_REGION=us-east-1
39
+ LOG_LEVEL=debug
40
+ `;
41
+ if (database) devEnv += `
42
+ # Database
43
+ DATABASE_URL=postgresql://postgres:postgres@localhost:5432/mydb_dev
44
+ `;
45
+ if (hasWorker) devEnv += `
46
+ # Message Queue
47
+ RABBITMQ_URL=amqp://localhost:5672
48
+ `;
49
+ devEnv += `
50
+ # Authentication
51
+ JWT_SECRET=dev-secret-not-for-production
52
+ `;
53
+ let testEnv = `# Test Environment
54
+ NODE_ENV=test
55
+ PORT=3001
56
+ LOG_LEVEL=error
57
+ `;
58
+ if (isServerless) testEnv = `# Test Environment
59
+ STAGE=test
60
+ AWS_REGION=us-east-1
61
+ LOG_LEVEL=error
62
+ `;
63
+ if (database) testEnv += `
64
+ # Database
65
+ DATABASE_URL=postgresql://postgres:postgres@localhost:5432/mydb_test
66
+ `;
67
+ if (hasWorker) testEnv += `
68
+ # Message Queue
69
+ RABBITMQ_URL=amqp://localhost:5672
70
+ `;
71
+ testEnv += `
72
+ # Authentication
73
+ JWT_SECRET=test-secret-not-for-production
74
+ `;
75
+ const files = [
76
+ {
77
+ path: ".env.example",
78
+ content: baseEnv
79
+ },
80
+ {
81
+ path: ".env",
82
+ content: baseEnv
83
+ },
84
+ {
85
+ path: ".env.development",
86
+ content: devEnv
87
+ },
88
+ {
89
+ path: ".env.test",
90
+ content: testEnv
91
+ }
92
+ ];
93
+ if (!options.monorepo) {
94
+ const gitignore = `# Dependencies
95
+ node_modules/
96
+
97
+ # Build output
98
+ dist/
99
+ .gkm/
100
+
101
+ # Environment
102
+ .env
103
+ .env.local
104
+ .env.*.local
105
+
106
+ # IDE
107
+ .idea/
108
+ .vscode/
109
+ *.swp
110
+ *.swo
111
+
112
+ # OS
113
+ .DS_Store
114
+ Thumbs.db
115
+
116
+ # Logs
117
+ *.log
118
+ npm-debug.log*
119
+ yarn-debug.log*
120
+ pnpm-debug.log*
121
+
122
+ # Test coverage
123
+ coverage/
124
+
125
+ # TypeScript cache
126
+ *.tsbuildinfo
127
+ `;
128
+ files.push({
129
+ path: ".gitignore",
130
+ content: gitignore
131
+ });
132
+ }
133
+ return files;
134
+ }
135
+
136
+ //#endregion
137
+ export { generateEnvFiles };
138
+ //# sourceMappingURL=env-tv1HlZlw.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-tv1HlZlw.mjs","names":["options: TemplateOptions","template: TemplateConfig","files: GeneratedFile[]"],"sources":["../src/init/generators/env.ts"],"sourcesContent":["import type {\n GeneratedFile,\n TemplateConfig,\n TemplateOptions,\n} from '../templates/index.js';\n\n/**\n * Generate environment files (.env, .env.example, .env.development, .env.test, .gitignore)\n */\nexport function generateEnvFiles(\n options: TemplateOptions,\n template: TemplateConfig,\n): GeneratedFile[] {\n const { database } = options;\n const isServerless = template.name === 'serverless';\n const hasWorker = template.name === 'worker';\n\n // Build base env content\n let baseEnv = `# Application\nNODE_ENV=development\nPORT=3000\nLOG_LEVEL=info\n`;\n\n if (isServerless) {\n baseEnv = `# AWS\nSTAGE=dev\nAWS_REGION=us-east-1\nLOG_LEVEL=info\n`;\n }\n\n if (database) {\n baseEnv += `\n# Database\nDATABASE_URL=postgresql://user:password@localhost:5432/mydb\n`;\n }\n\n if (hasWorker) {\n baseEnv += `\n# Message Queue\nRABBITMQ_URL=amqp://localhost:5672\n`;\n }\n\n baseEnv += `\n# Authentication\nJWT_SECRET=your-secret-key-change-in-production\n`;\n\n // Development env\n let devEnv = `# Development Environment\nNODE_ENV=development\nPORT=3000\nLOG_LEVEL=debug\n`;\n\n if (isServerless) {\n devEnv = `# Development Environment\nSTAGE=dev\nAWS_REGION=us-east-1\nLOG_LEVEL=debug\n`;\n }\n\n if (database) {\n devEnv += `\n# Database\nDATABASE_URL=postgresql://postgres:postgres@localhost:5432/mydb_dev\n`;\n }\n\n if (hasWorker) {\n devEnv += `\n# Message Queue\nRABBITMQ_URL=amqp://localhost:5672\n`;\n }\n\n devEnv += `\n# Authentication\nJWT_SECRET=dev-secret-not-for-production\n`;\n\n // Test env\n let testEnv = `# Test Environment\nNODE_ENV=test\nPORT=3001\nLOG_LEVEL=error\n`;\n\n if (isServerless) {\n testEnv = `# Test Environment\nSTAGE=test\nAWS_REGION=us-east-1\nLOG_LEVEL=error\n`;\n }\n\n if (database) {\n testEnv += `\n# Database\nDATABASE_URL=postgresql://postgres:postgres@localhost:5432/mydb_test\n`;\n }\n\n if (hasWorker) {\n testEnv += `\n# Message Queue\nRABBITMQ_URL=amqp://localhost:5672\n`;\n }\n\n testEnv += `\n# Authentication\nJWT_SECRET=test-secret-not-for-production\n`;\n\n const files: GeneratedFile[] = [\n {\n path: '.env.example',\n content: baseEnv,\n },\n {\n path: '.env',\n content: baseEnv,\n },\n {\n path: '.env.development',\n content: devEnv,\n },\n {\n path: '.env.test',\n content: testEnv,\n },\n ];\n\n // Only add .gitignore for non-monorepo (monorepo has it at root)\n if (!options.monorepo) {\n const gitignore = `# Dependencies\nnode_modules/\n\n# Build output\ndist/\n.gkm/\n\n# Environment\n.env\n.env.local\n.env.*.local\n\n# IDE\n.idea/\n.vscode/\n*.swp\n*.swo\n\n# OS\n.DS_Store\nThumbs.db\n\n# Logs\n*.log\nnpm-debug.log*\nyarn-debug.log*\npnpm-debug.log*\n\n# Test coverage\ncoverage/\n\n# TypeScript cache\n*.tsbuildinfo\n`;\n files.push({\n path: '.gitignore',\n content: gitignore,\n });\n }\n\n return files;\n}\n"],"mappings":";;;;AASA,SAAgB,iBACdA,SACAC,UACiB;CACjB,MAAM,EAAE,UAAU,GAAG;CACrB,MAAM,eAAe,SAAS,SAAS;CACvC,MAAM,YAAY,SAAS,SAAS;CAGpC,IAAI,WAAW;;;;;AAMf,KAAI,aACF,YAAW;;;;;AAOb,KAAI,SACF,aAAY;;;;AAMd,KAAI,UACF,aAAY;;;;AAMd,aAAY;;;;CAMZ,IAAI,UAAU;;;;;AAMd,KAAI,aACF,WAAU;;;;;AAOZ,KAAI,SACF,YAAW;;;;AAMb,KAAI,UACF,YAAW;;;;AAMb,YAAW;;;;CAMX,IAAI,WAAW;;;;;AAMf,KAAI,aACF,YAAW;;;;;AAOb,KAAI,SACF,aAAY;;;;AAMd,KAAI,UACF,aAAY;;;;AAMd,aAAY;;;;CAKZ,MAAMC,QAAyB;EAC7B;GACE,MAAM;GACN,SAAS;EACV;EACD;GACE,MAAM;GACN,SAAS;EACV;EACD;GACE,MAAM;GACN,SAAS;EACV;EACD;GACE,MAAM;GACN,SAAS;EACV;CACF;AAGD,MAAK,QAAQ,UAAU;EACrB,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCnB,QAAM,KAAK;GACT,MAAM;GACN,SAAS;EACV,EAAC;CACH;AAED,QAAO;AACR"}
@@ -1,4 +1,4 @@
1
- require('../Generator-CDoEXCDg.cjs');
2
- const require_CronGenerator = require('../CronGenerator-C6MF8rlG.cjs');
1
+ require('../Generator-CLVplqm2.cjs');
2
+ const require_CronGenerator = require('../CronGenerator-D4TWXQbh.cjs');
3
3
 
4
4
  exports.CronGenerator = require_CronGenerator.CronGenerator;
@@ -0,0 +1,5 @@
1
+ import "../types-DB99_qIy.cjs";
2
+ import "../types-DLFN49M3.cjs";
3
+ import "../Generator-DxQMCQp7.cjs";
4
+ import { CronGenerator } from "../CronGenerator-BPTqNYOR.cjs";
5
+ export { CronGenerator };
@@ -0,0 +1,5 @@
1
+ import "../types-Cxl8-uwV.mjs";
2
+ import "../types-C4KITv-y.mjs";
3
+ import "../Generator-BjHK_qce.mjs";
4
+ import { CronGenerator } from "../CronGenerator-YAj59JUd.mjs";
5
+ export { CronGenerator };
@@ -1,4 +1,4 @@
1
- import "../Generator-UanJW0_V.mjs";
2
- import { CronGenerator } from "../CronGenerator-Bh26MaNA.mjs";
1
+ import "../Generator-CDt4pB3W.mjs";
2
+ import { CronGenerator } from "../CronGenerator-CCRYptuT.mjs";
3
3
 
4
4
  export { CronGenerator };
@@ -1,4 +1,4 @@
1
- require('../Generator-CDoEXCDg.cjs');
2
- const require_EndpointGenerator = require('../EndpointGenerator-BxNCkus4.cjs');
1
+ require('../Generator-CLVplqm2.cjs');
2
+ const require_EndpointGenerator = require('../EndpointGenerator-npWEDoK2.cjs');
3
3
 
4
4
  exports.EndpointGenerator = require_EndpointGenerator.EndpointGenerator;
@@ -0,0 +1,5 @@
1
+ import "../types-DB99_qIy.cjs";
2
+ import "../types-DLFN49M3.cjs";
3
+ import "../Generator-DxQMCQp7.cjs";
4
+ import { EndpointGenerator } from "../EndpointGenerator-ChAD1INz.cjs";
5
+ export { EndpointGenerator };
@@ -0,0 +1,5 @@
1
+ import "../types-Cxl8-uwV.mjs";
2
+ import "../types-C4KITv-y.mjs";
3
+ import "../Generator-BjHK_qce.mjs";
4
+ import { EndpointGenerator } from "../EndpointGenerator-Cj3O1U8-.mjs";
5
+ export { EndpointGenerator };
@@ -1,4 +1,4 @@
1
- import "../Generator-UanJW0_V.mjs";
2
- import { EndpointGenerator } from "../EndpointGenerator-CzDhG7Or.mjs";
1
+ import "../Generator-CDt4pB3W.mjs";
2
+ import { EndpointGenerator } from "../EndpointGenerator-DGivkPLT.mjs";
3
3
 
4
4
  export { EndpointGenerator };
@@ -1,4 +1,4 @@
1
- require('../Generator-CDoEXCDg.cjs');
2
- const require_FunctionGenerator = require('../FunctionGenerator-FgZUTd8L.cjs');
1
+ require('../Generator-CLVplqm2.cjs');
2
+ const require_FunctionGenerator = require('../FunctionGenerator-DYTnyr4c.cjs');
3
3
 
4
4
  exports.FunctionGenerator = require_FunctionGenerator.FunctionGenerator;
@@ -0,0 +1,5 @@
1
+ import "../types-DB99_qIy.cjs";
2
+ import "../types-DLFN49M3.cjs";
3
+ import "../Generator-DxQMCQp7.cjs";
4
+ import { FunctionGenerator } from "../FunctionGenerator-429-9NER.cjs";
5
+ export { FunctionGenerator };
@@ -0,0 +1,5 @@
1
+ import "../types-Cxl8-uwV.mjs";
2
+ import "../types-C4KITv-y.mjs";
3
+ import "../Generator-BjHK_qce.mjs";
4
+ import { FunctionGenerator } from "../FunctionGenerator-BQ4ehoID.mjs";
5
+ export { FunctionGenerator };
@@ -1,4 +1,4 @@
1
- import "../Generator-UanJW0_V.mjs";
2
- import { FunctionGenerator } from "../FunctionGenerator-BNE_GC7N.mjs";
1
+ import "../Generator-CDt4pB3W.mjs";
2
+ import { FunctionGenerator } from "../FunctionGenerator-CVk0h8tO.mjs";
3
3
 
4
4
  export { FunctionGenerator };
@@ -1,3 +1,3 @@
1
- const require_Generator = require('../Generator-CDoEXCDg.cjs');
1
+ const require_Generator = require('../Generator-CLVplqm2.cjs');
2
2
 
3
3
  exports.ConstructGenerator = require_Generator.ConstructGenerator;
@@ -0,0 +1,4 @@
1
+ import "../types-DB99_qIy.cjs";
2
+ import "../types-DLFN49M3.cjs";
3
+ import { ConstructGenerator, GeneratedConstruct, GeneratorOptions } from "../Generator-DxQMCQp7.cjs";
4
+ export { ConstructGenerator, GeneratedConstruct, GeneratorOptions };
@@ -0,0 +1,4 @@
1
+ import "../types-Cxl8-uwV.mjs";
2
+ import "../types-C4KITv-y.mjs";
3
+ import { ConstructGenerator, GeneratedConstruct, GeneratorOptions } from "../Generator-BjHK_qce.mjs";
4
+ export { ConstructGenerator, GeneratedConstruct, GeneratorOptions };
@@ -1,3 +1,3 @@
1
- import { ConstructGenerator } from "../Generator-UanJW0_V.mjs";
1
+ import { ConstructGenerator } from "../Generator-CDt4pB3W.mjs";
2
2
 
3
3
  export { ConstructGenerator };
@@ -1,3 +1,3 @@
1
- const require_OpenApiTsGenerator = require('../OpenApiTsGenerator-NBNEoaeO.cjs');
1
+ const require_OpenApiTsGenerator = require('../OpenApiTsGenerator-Be-sKGTT.cjs');
2
2
 
3
3
  exports.OpenApiTsGenerator = require_OpenApiTsGenerator.OpenApiTsGenerator;
@@ -0,0 +1,44 @@
1
+ import { Endpoint } from "@geekmidas/constructs/endpoints";
2
+
3
+ //#region src/generators/OpenApiTsGenerator.d.ts
4
+ interface OpenApiTsOptions {
5
+ title?: string;
6
+ version?: string;
7
+ description?: string;
8
+ }
9
+ /**
10
+ * Generates TypeScript OpenAPI module from endpoints.
11
+ * Outputs:
12
+ * - securitySchemes: typed security scheme definitions
13
+ * - endpointAuth: runtime map of endpoints to auth requirements
14
+ * - paths: TypeScript interface for type-safe fetcher
15
+ * - schema interfaces: reusable TypeScript types from Zod/Valibot schemas
16
+ */
17
+ declare class OpenApiTsGenerator {
18
+ generate(endpoints: Endpoint<any, any, any, any, any, any>[], options?: OpenApiTsOptions): Promise<string>;
19
+ private extractEndpointInfos;
20
+ private collectSecuritySchemes;
21
+ private mapAuthorizerToSecurityScheme;
22
+ private buildEndpointAuthMap;
23
+ private generateSchemaInterfaces;
24
+ /**
25
+ * Get the name for a schema, using metadata `id` if available,
26
+ * otherwise falling back to the provided default name.
27
+ */
28
+ private getSchemaName;
29
+ private getSchemaBaseName;
30
+ private pascalCase;
31
+ /**
32
+ * Convert schema to interface while collecting $defs for nested schemas
33
+ * with .meta({ id: 'X' }).
34
+ */
35
+ private schemaToInterfaceWithDefs;
36
+ private jsonSchemaToInterface;
37
+ private jsonSchemaTypeToTs;
38
+ private generatePathsInterface;
39
+ private generateMethodDefinition;
40
+ private buildModule;
41
+ }
42
+ //#endregion
43
+ export { OpenApiTsGenerator };
44
+ //# sourceMappingURL=OpenApiTsGenerator.d.cts.map
@@ -0,0 +1,44 @@
1
+ import { Endpoint } from "@geekmidas/constructs/endpoints";
2
+
3
+ //#region src/generators/OpenApiTsGenerator.d.ts
4
+ interface OpenApiTsOptions {
5
+ title?: string;
6
+ version?: string;
7
+ description?: string;
8
+ }
9
+ /**
10
+ * Generates TypeScript OpenAPI module from endpoints.
11
+ * Outputs:
12
+ * - securitySchemes: typed security scheme definitions
13
+ * - endpointAuth: runtime map of endpoints to auth requirements
14
+ * - paths: TypeScript interface for type-safe fetcher
15
+ * - schema interfaces: reusable TypeScript types from Zod/Valibot schemas
16
+ */
17
+ declare class OpenApiTsGenerator {
18
+ generate(endpoints: Endpoint<any, any, any, any, any, any>[], options?: OpenApiTsOptions): Promise<string>;
19
+ private extractEndpointInfos;
20
+ private collectSecuritySchemes;
21
+ private mapAuthorizerToSecurityScheme;
22
+ private buildEndpointAuthMap;
23
+ private generateSchemaInterfaces;
24
+ /**
25
+ * Get the name for a schema, using metadata `id` if available,
26
+ * otherwise falling back to the provided default name.
27
+ */
28
+ private getSchemaName;
29
+ private getSchemaBaseName;
30
+ private pascalCase;
31
+ /**
32
+ * Convert schema to interface while collecting $defs for nested schemas
33
+ * with .meta({ id: 'X' }).
34
+ */
35
+ private schemaToInterfaceWithDefs;
36
+ private jsonSchemaToInterface;
37
+ private jsonSchemaTypeToTs;
38
+ private generatePathsInterface;
39
+ private generateMethodDefinition;
40
+ private buildModule;
41
+ }
42
+ //#endregion
43
+ export { OpenApiTsGenerator };
44
+ //# sourceMappingURL=OpenApiTsGenerator.d.mts.map
@@ -1,3 +1,3 @@
1
- import { OpenApiTsGenerator } from "../OpenApiTsGenerator-q3aWNkuM.mjs";
1
+ import { OpenApiTsGenerator } from "../OpenApiTsGenerator-C4mHHaku.mjs";
2
2
 
3
3
  export { OpenApiTsGenerator };
@@ -1,4 +1,4 @@
1
- require('../Generator-CDoEXCDg.cjs');
2
- const require_SubscriberGenerator = require('../SubscriberGenerator-Bd-a7aiw.cjs');
1
+ require('../Generator-CLVplqm2.cjs');
2
+ const require_SubscriberGenerator = require('../SubscriberGenerator-D_zpNGFr.cjs');
3
3
 
4
4
  exports.SubscriberGenerator = require_SubscriberGenerator.SubscriberGenerator;
@@ -0,0 +1,5 @@
1
+ import "../types-DB99_qIy.cjs";
2
+ import "../types-DLFN49M3.cjs";
3
+ import "../Generator-DxQMCQp7.cjs";
4
+ import { SubscriberGenerator } from "../SubscriberGenerator-Dtb3HS4i.cjs";
5
+ export { SubscriberGenerator };
@@ -0,0 +1,5 @@
1
+ import "../types-Cxl8-uwV.mjs";
2
+ import "../types-C4KITv-y.mjs";
3
+ import "../Generator-BjHK_qce.mjs";
4
+ import { SubscriberGenerator } from "../SubscriberGenerator-7uX42xyG.mjs";
5
+ export { SubscriberGenerator };
@@ -1,4 +1,4 @@
1
- import "../Generator-UanJW0_V.mjs";
2
- import { SubscriberGenerator } from "../SubscriberGenerator-Dnlj_1FK.mjs";
1
+ import "../Generator-CDt4pB3W.mjs";
2
+ import { SubscriberGenerator } from "../SubscriberGenerator-DABaJXML.mjs";
3
3
 
4
4
  export { SubscriberGenerator };
@@ -1,9 +1,9 @@
1
- const require_Generator = require('../Generator-CDoEXCDg.cjs');
2
- const require_CronGenerator = require('../CronGenerator-C6MF8rlG.cjs');
3
- const require_EndpointGenerator = require('../EndpointGenerator-BxNCkus4.cjs');
4
- const require_FunctionGenerator = require('../FunctionGenerator-FgZUTd8L.cjs');
5
- const require_SubscriberGenerator = require('../SubscriberGenerator-Bd-a7aiw.cjs');
6
- require('../generators-CEKtVh81.cjs');
1
+ const require_Generator = require('../Generator-CLVplqm2.cjs');
2
+ const require_CronGenerator = require('../CronGenerator-D4TWXQbh.cjs');
3
+ const require_EndpointGenerator = require('../EndpointGenerator-npWEDoK2.cjs');
4
+ const require_FunctionGenerator = require('../FunctionGenerator-DYTnyr4c.cjs');
5
+ const require_SubscriberGenerator = require('../SubscriberGenerator-D_zpNGFr.cjs');
6
+ require('../generators-3IemvCLk.cjs');
7
7
 
8
8
  exports.ConstructGenerator = require_Generator.ConstructGenerator;
9
9
  exports.CronGenerator = require_CronGenerator.CronGenerator;
@@ -0,0 +1,8 @@
1
+ import "../types-DB99_qIy.cjs";
2
+ import "../types-DLFN49M3.cjs";
3
+ import { ConstructGenerator, GeneratedConstruct, GeneratorOptions } from "../Generator-DxQMCQp7.cjs";
4
+ import { CronGenerator } from "../CronGenerator-BPTqNYOR.cjs";
5
+ import { EndpointGenerator } from "../EndpointGenerator-ChAD1INz.cjs";
6
+ import { FunctionGenerator } from "../FunctionGenerator-429-9NER.cjs";
7
+ import { SubscriberGenerator } from "../SubscriberGenerator-Dtb3HS4i.cjs";
8
+ export { ConstructGenerator, CronGenerator, EndpointGenerator, FunctionGenerator, GeneratedConstruct, GeneratorOptions, SubscriberGenerator };
@@ -0,0 +1,8 @@
1
+ import "../types-Cxl8-uwV.mjs";
2
+ import "../types-C4KITv-y.mjs";
3
+ import { ConstructGenerator, GeneratedConstruct, GeneratorOptions } from "../Generator-BjHK_qce.mjs";
4
+ import { CronGenerator } from "../CronGenerator-YAj59JUd.mjs";
5
+ import { EndpointGenerator } from "../EndpointGenerator-Cj3O1U8-.mjs";
6
+ import { FunctionGenerator } from "../FunctionGenerator-BQ4ehoID.mjs";
7
+ import { SubscriberGenerator } from "../SubscriberGenerator-7uX42xyG.mjs";
8
+ export { ConstructGenerator, CronGenerator, EndpointGenerator, FunctionGenerator, GeneratedConstruct, GeneratorOptions, SubscriberGenerator };
@@ -1,8 +1,8 @@
1
- import { ConstructGenerator } from "../Generator-UanJW0_V.mjs";
2
- import { CronGenerator } from "../CronGenerator-Bh26MaNA.mjs";
3
- import { EndpointGenerator } from "../EndpointGenerator-CzDhG7Or.mjs";
4
- import { FunctionGenerator } from "../FunctionGenerator-BNE_GC7N.mjs";
5
- import { SubscriberGenerator } from "../SubscriberGenerator-Dnlj_1FK.mjs";
6
- import "../generators-CsLujGXs.mjs";
1
+ import { ConstructGenerator } from "../Generator-CDt4pB3W.mjs";
2
+ import { CronGenerator } from "../CronGenerator-CCRYptuT.mjs";
3
+ import { EndpointGenerator } from "../EndpointGenerator-DGivkPLT.mjs";
4
+ import { FunctionGenerator } from "../FunctionGenerator-CVk0h8tO.mjs";
5
+ import { SubscriberGenerator } from "../SubscriberGenerator-DABaJXML.mjs";
6
+ import "../generators-FNpdfN6J.mjs";
7
7
 
8
8
  export { ConstructGenerator, CronGenerator, EndpointGenerator, FunctionGenerator, SubscriberGenerator };
@@ -0,0 +1,64 @@
1
+ //#region src/init/templates/index.d.ts
2
+ /**
3
+ * Route organization style
4
+ */
5
+ type RouteStyle = 'file-based' | 'flat';
6
+ /**
7
+ * Options collected from user prompts
8
+ */
9
+ interface TemplateOptions {
10
+ name: string;
11
+ template: TemplateName;
12
+ telescope: boolean;
13
+ database: boolean;
14
+ routeStyle: RouteStyle;
15
+ monorepo: boolean;
16
+ /** Path for the API app in monorepo (e.g., 'apps/api') */
17
+ apiPath: string;
18
+ }
19
+ /**
20
+ * A file to be generated
21
+ */
22
+ interface GeneratedFile {
23
+ path: string;
24
+ content: string;
25
+ }
26
+ /**
27
+ * Template configuration
28
+ */
29
+ interface TemplateConfig {
30
+ name: TemplateName;
31
+ description: string;
32
+ dependencies: Record<string, string>;
33
+ devDependencies: Record<string, string>;
34
+ scripts: Record<string, string>;
35
+ files: (options: TemplateOptions) => GeneratedFile[];
36
+ }
37
+ type TemplateName = 'minimal' | 'api' | 'serverless' | 'worker';
38
+ /**
39
+ * All available templates
40
+ */
41
+ declare const templates: Record<TemplateName, TemplateConfig>;
42
+ /**
43
+ * Template choices for prompts
44
+ */
45
+ declare const templateChoices: {
46
+ title: string;
47
+ value: TemplateName;
48
+ description: string;
49
+ }[];
50
+ /**
51
+ * Route style choices for prompts
52
+ */
53
+ declare const routeStyleChoices: {
54
+ title: string;
55
+ value: RouteStyle;
56
+ description: string;
57
+ }[];
58
+ /**
59
+ * Get a template by name
60
+ */
61
+ declare function getTemplate(name: TemplateName): TemplateConfig;
62
+ //#endregion
63
+ export { GeneratedFile, RouteStyle, TemplateConfig, TemplateName, TemplateOptions, getTemplate, routeStyleChoices, templateChoices, templates };
64
+ //# sourceMappingURL=index-C523No_B.d.mts.map
@@ -0,0 +1,64 @@
1
+ //#region src/init/templates/index.d.ts
2
+ /**
3
+ * Route organization style
4
+ */
5
+ type RouteStyle = 'file-based' | 'flat';
6
+ /**
7
+ * Options collected from user prompts
8
+ */
9
+ interface TemplateOptions {
10
+ name: string;
11
+ template: TemplateName;
12
+ telescope: boolean;
13
+ database: boolean;
14
+ routeStyle: RouteStyle;
15
+ monorepo: boolean;
16
+ /** Path for the API app in monorepo (e.g., 'apps/api') */
17
+ apiPath: string;
18
+ }
19
+ /**
20
+ * A file to be generated
21
+ */
22
+ interface GeneratedFile {
23
+ path: string;
24
+ content: string;
25
+ }
26
+ /**
27
+ * Template configuration
28
+ */
29
+ interface TemplateConfig {
30
+ name: TemplateName;
31
+ description: string;
32
+ dependencies: Record<string, string>;
33
+ devDependencies: Record<string, string>;
34
+ scripts: Record<string, string>;
35
+ files: (options: TemplateOptions) => GeneratedFile[];
36
+ }
37
+ type TemplateName = 'minimal' | 'api' | 'serverless' | 'worker';
38
+ /**
39
+ * All available templates
40
+ */
41
+ declare const templates: Record<TemplateName, TemplateConfig>;
42
+ /**
43
+ * Template choices for prompts
44
+ */
45
+ declare const templateChoices: {
46
+ title: string;
47
+ value: TemplateName;
48
+ description: string;
49
+ }[];
50
+ /**
51
+ * Route style choices for prompts
52
+ */
53
+ declare const routeStyleChoices: {
54
+ title: string;
55
+ value: RouteStyle;
56
+ description: string;
57
+ }[];
58
+ /**
59
+ * Get a template by name
60
+ */
61
+ declare function getTemplate(name: TemplateName): TemplateConfig;
62
+ //#endregion
63
+ export { GeneratedFile, RouteStyle, TemplateConfig, TemplateName, TemplateOptions, getTemplate, routeStyleChoices, templateChoices, templates };
64
+ //# sourceMappingURL=index-DrzN4xkQ.d.cts.map