@percher/core 0.3.0 → 0.4.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 (270) hide show
  1. package/dist/commands/account.d.ts +24 -14
  2. package/dist/commands/account.d.ts.map +1 -1
  3. package/dist/commands/account.js +17 -4
  4. package/dist/commands/account.js.map +1 -1
  5. package/dist/commands/admin-reconcile-routes.d.ts +18 -0
  6. package/dist/commands/admin-reconcile-routes.d.ts.map +1 -0
  7. package/dist/commands/admin-reconcile-routes.js +22 -0
  8. package/dist/commands/admin-reconcile-routes.js.map +1 -0
  9. package/dist/commands/ai-files.d.ts +5 -17
  10. package/dist/commands/ai-files.d.ts.map +1 -1
  11. package/dist/commands/ai-files.js +3 -4
  12. package/dist/commands/ai-files.js.map +1 -1
  13. package/dist/commands/alerts.d.ts +69 -0
  14. package/dist/commands/alerts.d.ts.map +1 -0
  15. package/dist/commands/alerts.js +80 -0
  16. package/dist/commands/alerts.js.map +1 -0
  17. package/dist/commands/app-resources.d.ts +30 -0
  18. package/dist/commands/app-resources.d.ts.map +1 -0
  19. package/dist/commands/app-resources.js +34 -0
  20. package/dist/commands/app-resources.js.map +1 -0
  21. package/dist/commands/app-topology.d.ts +18 -0
  22. package/dist/commands/app-topology.d.ts.map +1 -0
  23. package/dist/commands/app-topology.js +25 -0
  24. package/dist/commands/app-topology.js.map +1 -0
  25. package/dist/commands/billing.d.ts +8 -8
  26. package/dist/commands/billing.d.ts.map +1 -1
  27. package/dist/commands/billing.js +1 -1
  28. package/dist/commands/billing.js.map +1 -1
  29. package/dist/commands/continue.d.ts +1 -1
  30. package/dist/commands/create.d.ts +2 -12
  31. package/dist/commands/create.d.ts.map +1 -1
  32. package/dist/commands/create.js +1 -1
  33. package/dist/commands/create.js.map +1 -1
  34. package/dist/commands/dashboard.d.ts +2 -8
  35. package/dist/commands/dashboard.d.ts.map +1 -1
  36. package/dist/commands/dashboard.js +1 -1
  37. package/dist/commands/dashboard.js.map +1 -1
  38. package/dist/commands/data-export.d.ts +2 -8
  39. package/dist/commands/data-export.d.ts.map +1 -1
  40. package/dist/commands/data-export.js +1 -1
  41. package/dist/commands/data-export.js.map +1 -1
  42. package/dist/commands/data.d.ts +2 -8
  43. package/dist/commands/data.d.ts.map +1 -1
  44. package/dist/commands/data.js +1 -1
  45. package/dist/commands/data.js.map +1 -1
  46. package/dist/commands/delete.d.ts +2 -8
  47. package/dist/commands/delete.d.ts.map +1 -1
  48. package/dist/commands/delete.js +1 -1
  49. package/dist/commands/delete.js.map +1 -1
  50. package/dist/commands/deploys.d.ts +4 -28
  51. package/dist/commands/deploys.d.ts.map +1 -1
  52. package/dist/commands/deploys.js +1 -1
  53. package/dist/commands/deploys.js.map +1 -1
  54. package/dist/commands/dev.d.ts +2 -6
  55. package/dist/commands/dev.d.ts.map +1 -1
  56. package/dist/commands/dev.js +3 -2
  57. package/dist/commands/dev.js.map +1 -1
  58. package/dist/commands/diagnose.d.ts +2 -22
  59. package/dist/commands/diagnose.d.ts.map +1 -1
  60. package/dist/commands/diagnose.js +1 -1
  61. package/dist/commands/diagnose.js.map +1 -1
  62. package/dist/commands/doctor.d.ts +20 -35
  63. package/dist/commands/doctor.d.ts.map +1 -1
  64. package/dist/commands/doctor.js +42 -4
  65. package/dist/commands/doctor.js.map +1 -1
  66. package/dist/commands/domains.d.ts +5 -27
  67. package/dist/commands/domains.d.ts.map +1 -1
  68. package/dist/commands/domains.js +1 -1
  69. package/dist/commands/domains.js.map +1 -1
  70. package/dist/commands/env-scan.js +1 -1
  71. package/dist/commands/env-scan.js.map +1 -1
  72. package/dist/commands/env.d.ts +4 -20
  73. package/dist/commands/env.d.ts.map +1 -1
  74. package/dist/commands/env.js +1 -1
  75. package/dist/commands/env.js.map +1 -1
  76. package/dist/commands/export.d.ts +1 -1
  77. package/dist/commands/forgejo.d.ts +45 -0
  78. package/dist/commands/forgejo.d.ts.map +1 -0
  79. package/dist/commands/forgejo.js +125 -0
  80. package/dist/commands/forgejo.js.map +1 -0
  81. package/dist/commands/generate.d.ts +2 -6
  82. package/dist/commands/generate.d.ts.map +1 -1
  83. package/dist/commands/generate.js +1 -1
  84. package/dist/commands/generate.js.map +1 -1
  85. package/dist/commands/github.d.ts +4 -15
  86. package/dist/commands/github.d.ts.map +1 -1
  87. package/dist/commands/github.js +17 -1
  88. package/dist/commands/github.js.map +1 -1
  89. package/dist/commands/import-project.d.ts +13 -9
  90. package/dist/commands/import-project.d.ts.map +1 -1
  91. package/dist/commands/import-project.js +73 -22
  92. package/dist/commands/import-project.js.map +1 -1
  93. package/dist/commands/init.d.ts +26 -11
  94. package/dist/commands/init.d.ts.map +1 -1
  95. package/dist/commands/init.js +103 -2
  96. package/dist/commands/init.js.map +1 -1
  97. package/dist/commands/insights.d.ts +2 -6
  98. package/dist/commands/insights.d.ts.map +1 -1
  99. package/dist/commands/insights.js +1 -1
  100. package/dist/commands/insights.js.map +1 -1
  101. package/dist/commands/login.d.ts +2 -8
  102. package/dist/commands/login.d.ts.map +1 -1
  103. package/dist/commands/login.js +22 -1
  104. package/dist/commands/login.js.map +1 -1
  105. package/dist/commands/logs.d.ts +25 -10
  106. package/dist/commands/logs.d.ts.map +1 -1
  107. package/dist/commands/logs.js +65 -5
  108. package/dist/commands/logs.js.map +1 -1
  109. package/dist/commands/mcp.d.ts +2 -2
  110. package/dist/commands/mcp.d.ts.map +1 -1
  111. package/dist/commands/mcp.js +1 -1
  112. package/dist/commands/mcp.js.map +1 -1
  113. package/dist/commands/migrate-supabase-map.d.ts +171 -0
  114. package/dist/commands/migrate-supabase-map.d.ts.map +1 -0
  115. package/dist/commands/migrate-supabase-map.js +452 -0
  116. package/dist/commands/migrate-supabase-map.js.map +1 -0
  117. package/dist/commands/migrate-supabase-schema.d.ts +67 -0
  118. package/dist/commands/migrate-supabase-schema.d.ts.map +1 -0
  119. package/dist/commands/migrate-supabase-schema.js +321 -0
  120. package/dist/commands/migrate-supabase-schema.js.map +1 -0
  121. package/dist/commands/migrate-supabase-scripts.d.ts +64 -0
  122. package/dist/commands/migrate-supabase-scripts.d.ts.map +1 -0
  123. package/dist/commands/migrate-supabase-scripts.js +564 -0
  124. package/dist/commands/migrate-supabase-scripts.js.map +1 -0
  125. package/dist/commands/migrate-supabase-sdk.d.ts +133 -0
  126. package/dist/commands/migrate-supabase-sdk.d.ts.map +1 -0
  127. package/dist/commands/migrate-supabase-sdk.js +1119 -0
  128. package/dist/commands/migrate-supabase-sdk.js.map +1 -0
  129. package/dist/commands/migrate-supabase-walker.d.ts +93 -0
  130. package/dist/commands/migrate-supabase-walker.d.ts.map +1 -0
  131. package/dist/commands/migrate-supabase-walker.js +413 -0
  132. package/dist/commands/migrate-supabase-walker.js.map +1 -0
  133. package/dist/commands/migrate-supabase.d.ts +81 -0
  134. package/dist/commands/migrate-supabase.d.ts.map +1 -0
  135. package/dist/commands/migrate-supabase.js +579 -0
  136. package/dist/commands/migrate-supabase.js.map +1 -0
  137. package/dist/commands/open.d.ts +2 -6
  138. package/dist/commands/open.d.ts.map +1 -1
  139. package/dist/commands/open.js +1 -1
  140. package/dist/commands/open.js.map +1 -1
  141. package/dist/commands/publish-api-error.d.ts +46 -0
  142. package/dist/commands/publish-api-error.d.ts.map +1 -0
  143. package/dist/commands/publish-api-error.js +307 -0
  144. package/dist/commands/publish-api-error.js.map +1 -0
  145. package/dist/commands/publish-failure.d.ts.map +1 -1
  146. package/dist/commands/publish-failure.js +11 -3
  147. package/dist/commands/publish-failure.js.map +1 -1
  148. package/dist/commands/publish-node.d.ts +5 -2
  149. package/dist/commands/publish-node.d.ts.map +1 -1
  150. package/dist/commands/publish-node.js +7 -3
  151. package/dist/commands/publish-node.js.map +1 -1
  152. package/dist/commands/publish.d.ts +58 -17
  153. package/dist/commands/publish.d.ts.map +1 -1
  154. package/dist/commands/publish.js +407 -145
  155. package/dist/commands/publish.js.map +1 -1
  156. package/dist/commands/push.d.ts +2 -12
  157. package/dist/commands/push.d.ts.map +1 -1
  158. package/dist/commands/push.js +25 -7
  159. package/dist/commands/push.js.map +1 -1
  160. package/dist/commands/redeploy.d.ts +2 -8
  161. package/dist/commands/redeploy.d.ts.map +1 -1
  162. package/dist/commands/redeploy.js +20 -16
  163. package/dist/commands/redeploy.js.map +1 -1
  164. package/dist/commands/rename.d.ts +2 -8
  165. package/dist/commands/rename.d.ts.map +1 -1
  166. package/dist/commands/rename.js +1 -1
  167. package/dist/commands/rename.js.map +1 -1
  168. package/dist/commands/reproduce.d.ts +2 -8
  169. package/dist/commands/reproduce.d.ts.map +1 -1
  170. package/dist/commands/reproduce.js +1 -1
  171. package/dist/commands/reproduce.js.map +1 -1
  172. package/dist/commands/reset-superuser.d.ts +2 -16
  173. package/dist/commands/reset-superuser.d.ts.map +1 -1
  174. package/dist/commands/reset-superuser.js +1 -1
  175. package/dist/commands/reset-superuser.js.map +1 -1
  176. package/dist/commands/restore.d.ts +7 -22
  177. package/dist/commands/restore.d.ts.map +1 -1
  178. package/dist/commands/restore.js +1 -1
  179. package/dist/commands/restore.js.map +1 -1
  180. package/dist/commands/resume.d.ts +2 -6
  181. package/dist/commands/resume.d.ts.map +1 -1
  182. package/dist/commands/resume.js +1 -1
  183. package/dist/commands/resume.js.map +1 -1
  184. package/dist/commands/rollback.d.ts +4 -9
  185. package/dist/commands/rollback.d.ts.map +1 -1
  186. package/dist/commands/rollback.js +3 -2
  187. package/dist/commands/rollback.js.map +1 -1
  188. package/dist/commands/sharing.d.ts +48 -0
  189. package/dist/commands/sharing.d.ts.map +1 -0
  190. package/dist/commands/sharing.js +85 -0
  191. package/dist/commands/sharing.js.map +1 -0
  192. package/dist/commands/status.d.ts +29 -0
  193. package/dist/commands/status.d.ts.map +1 -0
  194. package/dist/commands/status.js +48 -0
  195. package/dist/commands/status.js.map +1 -0
  196. package/dist/commands/transfers.d.ts +34 -0
  197. package/dist/commands/transfers.d.ts.map +1 -0
  198. package/dist/commands/transfers.js +62 -0
  199. package/dist/commands/transfers.js.map +1 -0
  200. package/dist/commands/unsuspend.d.ts +2 -6
  201. package/dist/commands/unsuspend.d.ts.map +1 -1
  202. package/dist/commands/unsuspend.js +1 -1
  203. package/dist/commands/unsuspend.js.map +1 -1
  204. package/dist/commands/versions.d.ts +2 -6
  205. package/dist/commands/versions.d.ts.map +1 -1
  206. package/dist/commands/versions.js +1 -1
  207. package/dist/commands/versions.js.map +1 -1
  208. package/dist/commands/wait-deploy.d.ts +2 -12
  209. package/dist/commands/wait-deploy.d.ts.map +1 -1
  210. package/dist/commands/wait-deploy.js +5 -4
  211. package/dist/commands/wait-deploy.js.map +1 -1
  212. package/dist/context.d.ts +15 -0
  213. package/dist/context.d.ts.map +1 -1
  214. package/dist/detect.d.ts +11 -0
  215. package/dist/detect.d.ts.map +1 -1
  216. package/dist/detect.js +31 -8
  217. package/dist/detect.js.map +1 -1
  218. package/dist/env-scan-source.js +1 -1
  219. package/dist/env-scan-source.js.map +1 -1
  220. package/dist/error-classifier.d.ts +17 -0
  221. package/dist/error-classifier.d.ts.map +1 -1
  222. package/dist/error-classifier.js +95 -9
  223. package/dist/error-classifier.js.map +1 -1
  224. package/dist/errors.d.ts +1 -1
  225. package/dist/errors.d.ts.map +1 -1
  226. package/dist/errors.js.map +1 -1
  227. package/dist/event-renderer.d.ts +17 -0
  228. package/dist/event-renderer.d.ts.map +1 -0
  229. package/dist/event-renderer.js +130 -0
  230. package/dist/event-renderer.js.map +1 -0
  231. package/dist/index.d.ts +63 -47
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +56 -40
  234. package/dist/index.js.map +1 -1
  235. package/dist/plans.d.ts +70 -5
  236. package/dist/plans.d.ts.map +1 -1
  237. package/dist/plans.js +83 -18
  238. package/dist/plans.js.map +1 -1
  239. package/dist/poll-deployment.d.ts +13 -1
  240. package/dist/poll-deployment.d.ts.map +1 -1
  241. package/dist/poll-deployment.js +37 -1
  242. package/dist/poll-deployment.js.map +1 -1
  243. package/dist/publish-retry.d.ts +29 -0
  244. package/dist/publish-retry.d.ts.map +1 -0
  245. package/dist/publish-retry.js +224 -0
  246. package/dist/publish-retry.js.map +1 -0
  247. package/dist/recovery.d.ts +60 -3
  248. package/dist/recovery.d.ts.map +1 -1
  249. package/dist/recovery.js +24 -1
  250. package/dist/recovery.js.map +1 -1
  251. package/dist/static-docker.d.ts +77 -0
  252. package/dist/static-docker.d.ts.map +1 -0
  253. package/dist/static-docker.js +105 -0
  254. package/dist/static-docker.js.map +1 -0
  255. package/dist/structured-error-codes.d.ts +30 -0
  256. package/dist/structured-error-codes.d.ts.map +1 -0
  257. package/dist/structured-error-codes.js +86 -0
  258. package/dist/structured-error-codes.js.map +1 -0
  259. package/dist/tarball.d.ts +11 -0
  260. package/dist/tarball.d.ts.map +1 -1
  261. package/dist/tarball.js +31 -10
  262. package/dist/tarball.js.map +1 -1
  263. package/dist/templates/ai-files/cursor-percher-mdc.d.ts.map +1 -1
  264. package/dist/templates/ai-files/cursor-percher-mdc.js +12 -9
  265. package/dist/templates/ai-files/cursor-percher-mdc.js.map +1 -1
  266. package/dist/templates.js +11 -11
  267. package/dist/templates.js.map +1 -1
  268. package/dist/watcher.js +1 -1
  269. package/dist/watcher.js.map +1 -1
  270. package/package.json +7 -2
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,11 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import type { Context } from "../context";
3
3
  export declare const githubConnectInputSchema: z.ZodObject<{
4
4
  app: z.ZodOptional<z.ZodString>;
5
5
  repoUrl: z.ZodString;
6
6
  branch: z.ZodOptional<z.ZodString>;
7
- }, "strip", z.ZodTypeAny, {
8
- repoUrl: string;
9
- app?: string | undefined;
10
- branch?: string | undefined;
11
- }, {
12
- repoUrl: string;
13
- app?: string | undefined;
14
- branch?: string | undefined;
15
- }>;
7
+ autoPreviews: z.ZodOptional<z.ZodBoolean>;
8
+ }, z.core.$strip>;
16
9
  export type GithubConnectInput = z.infer<typeof githubConnectInputSchema>;
17
10
  export interface GithubConnectResult {
18
11
  app: string;
@@ -37,11 +30,7 @@ export interface GithubConnectResult {
37
30
  export declare function githubConnect(ctx: Context, input: GithubConnectInput): Promise<GithubConnectResult>;
38
31
  export declare const githubSetupWebhookInputSchema: z.ZodObject<{
39
32
  app: z.ZodOptional<z.ZodString>;
40
- }, "strip", z.ZodTypeAny, {
41
- app?: string | undefined;
42
- }, {
43
- app?: string | undefined;
44
- }>;
33
+ }, z.core.$strip>;
45
34
  export type GithubSetupWebhookInput = z.infer<typeof githubSetupWebhookInputSchema>;
46
35
  export interface GithubSetupWebhookResult {
47
36
  app: string;
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/commands/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM1C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAOnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,kBAAkB,CAAC;QAChC,kGAAkG;QAClG,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;KAClB,CAAC;IACF;wFACoF;IACpF,kBAAkB,CAAC,EAAE,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAaD,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CA+D9B;AAED,eAAO,MAAM,6BAA6B;;;;;;EAExC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,kBAAkB,CAAC;QAChC,kGAAkG;QAClG,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;KAClB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAwBnC"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/commands/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAM1C,eAAO,MAAM,wBAAwB;;;;;iBAmBnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,kBAAkB,CAAC;QAChC,kGAAkG;QAClG,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;KAClB,CAAC;IACF;wFACoF;IACpF,kBAAkB,CAAC,EAAE,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAaD,wBAAsB,aAAa,CACjC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAqE9B;AAED,eAAO,MAAM,6BAA6B;;iBAExC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,kBAAkB,CAAC;QAChC,kGAAkG;QAClG,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;KAClB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAwBnC"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import { readPercherTomlAppName } from "../app-name";
3
3
  import { PercherCoreError } from "../errors";
4
4
  // Keep in sync with the API-side GITHUB_URL_RE in packages/api/src/routes/github.ts
@@ -10,6 +10,16 @@ export const githubConnectInputSchema = z.object({
10
10
  .regex(GITHUB_URL_RE, "Must be a public GitHub HTTPS URL (https://github.com/owner/repo)")
11
11
  .describe("Public GitHub repo URL (https://github.com/owner/repo)"),
12
12
  branch: z.string().optional().describe("Branch to deploy and track (default: main)"),
13
+ /**
14
+ * FUTURE9 Fas 5 — opt-in to converting pushes to non-tracked branches
15
+ * into preview deploys. Default false — every push to a non-tracked
16
+ * branch is skipped today; flipping this on creates a preview URL
17
+ * at `<app>--p-<branch-slug>.percher.run` for every such push.
18
+ */
19
+ autoPreviews: z
20
+ .boolean()
21
+ .optional()
22
+ .describe("Opt-in: push to a non-tracked branch creates a preview deploy at <app>--p-<branch-slug>.percher.run. Default false."),
13
23
  });
14
24
  function resolveApp(ctx, app) {
15
25
  const name = app ?? readPercherTomlAppName(ctx.cwd);
@@ -28,6 +38,7 @@ export async function githubConnect(ctx, input) {
28
38
  const deployment = await ctx.client.apps.importFromGithub(appRef, {
29
39
  repoUrl: input.repoUrl,
30
40
  branch,
41
+ ...(input.autoPreviews !== undefined ? { autoPreviews: input.autoPreviews } : {}),
31
42
  });
32
43
  // 2. Generate webhook secret — separate call, may fail independently
33
44
  let webhook = null;
@@ -78,6 +89,11 @@ export async function githubConnect(ctx, input) {
78
89
  " Secret: [see webhookInstructions.secret]",
79
90
  " Event: Just the push event",
80
91
  `Every push to ${branch} will auto-deploy the app.`,
92
+ ...(input.autoPreviews
93
+ ? [
94
+ "Auto-previews enabled: pushes to any other branch will deploy to <app>--p-<branch-slug>.percher.run.",
95
+ ]
96
+ : []),
81
97
  ].join("\n"),
82
98
  };
83
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/commands/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/commands/github.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,25 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import type { Context } from "../context";
3
3
  export declare const importInputSchema: z.ZodObject<{
4
- from: z.ZodOptional<z.ZodEnum<["vercel", "netlify"]>>;
4
+ from: z.ZodOptional<z.ZodEnum<{
5
+ vercel: "vercel";
6
+ netlify: "netlify";
7
+ }>>;
5
8
  app: z.ZodOptional<z.ZodString>;
6
- }, "strip", z.ZodTypeAny, {
7
- app?: string | undefined;
8
- from?: "vercel" | "netlify" | undefined;
9
- }, {
10
- app?: string | undefined;
11
- from?: "vercel" | "netlify" | undefined;
12
- }>;
9
+ }, z.core.$strip>;
13
10
  export type ImportInput = z.infer<typeof importInputSchema>;
14
11
  export interface ImportResult {
15
12
  provider: string;
16
13
  configGenerated: boolean;
17
14
  warnings: string[];
18
15
  envVars: string[];
16
+ /**
17
+ * Extra files written next to percher.toml — the Dockerfile +
18
+ * Caddyfile scaffolded when the imported project is a static
19
+ * framework that needs a build step. Empty otherwise. Relative to
20
+ * the project root.
21
+ */
22
+ scaffoldedFiles: string[];
19
23
  }
20
24
  export declare function importProject(ctx: Context, input?: ImportInput): Promise<ImportResult>;
21
25
  //# sourceMappingURL=import-project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-project.d.ts","sourceRoot":"","sources":["../../src/commands/import-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,iBAAiB;;;;;;;;;EAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAwID,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,WAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAsChG"}
1
+ {"version":3,"file":"import-project.d.ts","sourceRoot":"","sources":["../../src/commands/import-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAQ1C,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAoKD,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,WAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAkEhG"}
@@ -1,7 +1,8 @@
1
- import { existsSync, readFileSync } from "node:fs";
1
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { z } from "zod/v3";
3
+ import { z } from "zod";
4
4
  import { PercherCoreError } from "../errors";
5
+ import { renderStaticFrameworkCaddyfile, renderStaticFrameworkDockerfile, STATIC_DOCKER_PORT, } from "../static-docker";
5
6
  export const importInputSchema = z.object({
6
7
  from: z
7
8
  .enum(["vercel", "netlify"])
@@ -19,13 +20,15 @@ function detectProvider(cwd) {
19
20
  function mapVercelFramework(framework) {
20
21
  const map = {
21
22
  nextjs: { runtime: "node", framework: "nextjs" },
22
- "create-react-app": { runtime: "static", framework: "vite" },
23
- vite: { runtime: "static", framework: "vite" },
23
+ // Static frameworks need a build step the `runtime = "static"`
24
+ // Caddy path won't run — they ship as `runtime = "docker"`.
25
+ "create-react-app": { runtime: "docker", framework: "vite", staticBuildSpa: true },
26
+ vite: { runtime: "docker", framework: "vite", staticBuildSpa: true },
24
27
  svelte: { runtime: "node", framework: "sveltekit" },
25
28
  remix: { runtime: "node", framework: "remix" },
26
- astro: { runtime: "static", framework: "astro" },
29
+ astro: { runtime: "docker", framework: "astro", staticBuildSpa: false },
27
30
  nuxtjs: { runtime: "node" },
28
- gatsby: { runtime: "static" },
31
+ gatsby: { runtime: "docker", staticBuildSpa: false },
29
32
  };
30
33
  return map[framework ?? ""] ?? { runtime: "node" };
31
34
  }
@@ -34,14 +37,23 @@ function parseVercelJson(cwd) {
34
37
  const config = JSON.parse(raw);
35
38
  const warnings = [];
36
39
  const envVars = [];
37
- const { runtime, framework } = mapVercelFramework(config.framework);
38
- const buildCommand = config.buildCommand ?? "bun run build";
39
- const output = config.outputDirectory ?? (framework === "nextjs" ? ".next" : "dist");
40
+ const { runtime, framework, staticBuildSpa } = mapVercelFramework(config.framework);
40
41
  let toml = `[app]\nname = "imported-app"\nruntime = "${runtime}"\n`;
41
42
  if (framework)
42
43
  toml += `framework = "${framework}"\n`;
43
- toml += `\n[build]\ncommand = "${buildCommand}"\noutput = "${output}"\n`;
44
- if (runtime !== "static") {
44
+ let staticBuild;
45
+ if (staticBuildSpa !== undefined) {
46
+ // Static framework that needs a build step → runtime = "docker"
47
+ // multi-stage build. The static Caddy runtime rejects a
48
+ // [build].command, so [build] is dropped and a Dockerfile +
49
+ // Caddyfile are scaffolded instead.
50
+ staticBuild = { outputDir: config.outputDirectory ?? "dist", spa: staticBuildSpa };
51
+ toml += `\n[web]\nport = ${STATIC_DOCKER_PORT}\nhealth = "/"\n`;
52
+ }
53
+ else {
54
+ const buildCommand = config.buildCommand ?? "bun run build";
55
+ const output = config.outputDirectory ?? (framework === "nextjs" ? ".next" : "dist");
56
+ toml += `\n[build]\ncommand = "${buildCommand}"\noutput = "${output}"\n`;
45
57
  toml += `\n[web]\nport = 3000\nhealth = "/api/health"\n`;
46
58
  }
47
59
  if (config.env) {
@@ -58,7 +70,7 @@ function parseVercelJson(cwd) {
58
70
  if (config.installCommand && config.installCommand !== "npm install") {
59
71
  warnings.push(`Custom install command "${config.installCommand}" — Percher uses bun install by default`);
60
72
  }
61
- return { toml, warnings, envVars };
73
+ return { toml, warnings, envVars, staticBuild };
62
74
  }
63
75
  function parseNetlifyToml(cwd) {
64
76
  const raw = readFileSync(join(cwd, "netlify.toml"), "utf-8");
@@ -67,14 +79,27 @@ function parseNetlifyToml(cwd) {
67
79
  // Simple TOML parsing for netlify.toml (build section)
68
80
  const buildCommand = raw.match(/command\s*=\s*"([^"]+)"/)?.[1] ?? "bun run build";
69
81
  const publishDir = raw.match(/publish\s*=\s*"([^"]+)"/)?.[1] ?? "dist";
70
- // Detect if static or server
71
- const isStatic = !existsSync(join(cwd, "package.json")) ||
72
- publishDir === "dist" ||
73
- publishDir === "build" ||
74
- publishDir === "public";
75
- let toml = `[app]\nname = "imported-app"\nruntime = "${isStatic ? "static" : "node"}"\n`;
76
- toml += `\n[build]\ncommand = "${buildCommand.replace(/npm run/g, "bun run")}"\noutput = "${publishDir}"\n`;
77
- if (!isStatic) {
82
+ const hasPackageJson = existsSync(join(cwd, "package.json"));
83
+ const looksLikeStaticOutput = publishDir === "dist" || publishDir === "build" || publishDir === "public";
84
+ let toml = `[app]\nname = "imported-app"\n`;
85
+ let staticBuild;
86
+ if (!hasPackageJson) {
87
+ // Plain static site, no build step the static Caddy runtime
88
+ // serves the published files directly. No [build] section.
89
+ toml += `runtime = "static"\n`;
90
+ }
91
+ else if (looksLikeStaticOutput) {
92
+ // Static frontend that needs a build step → runtime = "docker"
93
+ // multi-stage build. netlify.toml doesn't name the framework, so
94
+ // assume an SPA (index.html fallback): a soft 404 on a static
95
+ // site generator is far less broken than a hard 404 on every
96
+ // deep link of an SPA.
97
+ toml += `runtime = "docker"\n\n[web]\nport = ${STATIC_DOCKER_PORT}\nhealth = "/"\n`;
98
+ staticBuild = { outputDir: publishDir, spa: true };
99
+ }
100
+ else {
101
+ toml += `runtime = "node"\n`;
102
+ toml += `\n[build]\ncommand = "${buildCommand.replace(/npm run/g, "bun run")}"\noutput = "${publishDir}"\n`;
78
103
  toml += `\n[web]\nport = 3000\nhealth = "/health"\n`;
79
104
  }
80
105
  // Check for environment variables
@@ -94,7 +119,7 @@ function parseNetlifyToml(cwd) {
94
119
  if (raw.includes("[[redirects]]")) {
95
120
  warnings.push("Netlify redirects detected — Percher doesn't support _redirects. Use your framework's built-in routing instead.");
96
121
  }
97
- return { toml, warnings, envVars };
122
+ return { toml, warnings, envVars, staticBuild };
98
123
  }
99
124
  export async function importProject(ctx, input = {}) {
100
125
  const provider = input.from ?? detectProvider(ctx.cwd);
@@ -122,13 +147,39 @@ export async function importProject(ctx, input = {}) {
122
147
  if (existsSync(tomlPath)) {
123
148
  result.warnings.unshift("percher.toml already exists — overwriting with imported config");
124
149
  }
125
- const { writeFileSync } = await import("node:fs");
126
150
  writeFileSync(tomlPath, result.toml);
151
+ // Static-framework imports ship as runtime = "docker": scaffold the
152
+ // multi-stage Dockerfile + Caddyfile so the project is deploy-ready.
153
+ // A pre-existing Dockerfile/Caddyfile is the user's own — leave it
154
+ // untouched and warn rather than clobbering it.
155
+ const scaffoldedFiles = [];
156
+ if (result.staticBuild) {
157
+ const targets = [
158
+ {
159
+ name: "Dockerfile",
160
+ content: renderStaticFrameworkDockerfile({ outputDir: result.staticBuild.outputDir }),
161
+ },
162
+ {
163
+ name: "Caddyfile",
164
+ content: renderStaticFrameworkCaddyfile({ spa: result.staticBuild.spa }),
165
+ },
166
+ ];
167
+ for (const { name, content } of targets) {
168
+ const target = join(ctx.cwd, name);
169
+ if (existsSync(target)) {
170
+ result.warnings.push(`${name} already exists — left untouched. The imported config expects a multi-stage static build; merge by hand if needed.`);
171
+ continue;
172
+ }
173
+ writeFileSync(target, content, "utf-8");
174
+ scaffoldedFiles.push(name);
175
+ }
176
+ }
127
177
  return {
128
178
  provider,
129
179
  configGenerated: true,
130
180
  warnings: result.warnings,
131
181
  envVars: result.envVars,
182
+ scaffoldedFiles,
132
183
  };
133
184
  }
134
185
  //# sourceMappingURL=import-project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-project.js","sourceRoot":"","sources":["../../src/commands/import-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-project.js","sourceRoot":"","sources":["../../src/commands/import-project.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,41 @@
1
1
  import { type PercherConfig } from "@percher/toml";
2
- import { z } from "zod/v3";
2
+ import { z } from "zod";
3
3
  import type { Context } from "../context";
4
4
  import { type DetectedFramework } from "../detect";
5
+ /**
6
+ * FUTURE11 Fas 5 — detect names that almost certainly came from an
7
+ * auto-generated temp directory (timestamps, date stamps, very long
8
+ * trailing slugs). These get a prompt in interactive mode and a
9
+ * stderr warning otherwise — preventing a temp-dir name from
10
+ * silently becoming the app's permanent subdomain.
11
+ *
12
+ * Exported for unit testing.
13
+ */
14
+ export declare function isSuspiciousAutoName(name: string): boolean;
5
15
  export declare const initInputSchema: z.ZodObject<{
6
16
  force: z.ZodOptional<z.ZodBoolean>;
7
17
  name: z.ZodOptional<z.ZodString>;
8
- dataMode: z.ZodOptional<z.ZodEnum<["pocketbase", "postgres", "sqlite", "none"]>>;
9
- }, "strip", z.ZodTypeAny, {
10
- force?: boolean | undefined;
11
- name?: string | undefined;
12
- dataMode?: "pocketbase" | "postgres" | "sqlite" | "none" | undefined;
13
- }, {
14
- force?: boolean | undefined;
15
- name?: string | undefined;
16
- dataMode?: "pocketbase" | "postgres" | "sqlite" | "none" | undefined;
17
- }>;
18
+ dataMode: z.ZodOptional<z.ZodEnum<{
19
+ pocketbase: "pocketbase";
20
+ postgres: "postgres";
21
+ sqlite: "sqlite";
22
+ none: "none";
23
+ }>>;
24
+ interactive: z.ZodOptional<z.ZodBoolean>;
25
+ }, z.core.$strip>;
18
26
  export type InitInput = z.infer<typeof initInputSchema>;
19
27
  export interface InitResult {
20
28
  path: string;
21
29
  config: PercherConfig;
22
30
  detected: DetectedFramework | null;
23
31
  overwritten: boolean;
32
+ /**
33
+ * Extra files written next to percher.toml — currently the
34
+ * Dockerfile + Caddyfile scaffolded for static frameworks that need
35
+ * a build step (Vite, static Astro). Empty for every other project.
36
+ * Relative to the project root.
37
+ */
38
+ scaffoldedFiles: string[];
24
39
  }
25
40
  export declare function init(ctx: Context, input?: InitInput): Promise<InitResult>;
26
41
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAA2B,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,iBAAiB,EAAqC,MAAM,WAAW,CAAC;AAmBtF,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;CACtB;AAQD,wBAAsB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CA6CnF"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,aAAa,EAAa,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,iBAAiB,EAAqC,MAAM,WAAW,CAAC;AAItF;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAU1D;AA6BD,eAAO,MAAM,eAAe;;;;;;;;;;iBAU1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAQD,wBAAsB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,SAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAgHnF"}
@@ -1,9 +1,43 @@
1
1
  import { existsSync, writeFileSync } from "node:fs";
2
2
  import { basename, join } from "node:path";
3
3
  import { generateName, serialize } from "@percher/toml";
4
- import { z } from "zod/v3";
4
+ import { z } from "zod";
5
5
  import { detectFramework, refineBunRuntime } from "../detect";
6
6
  import { PercherCoreError } from "../errors";
7
+ import { renderStaticFrameworkCaddyfile, renderStaticFrameworkDockerfile } from "../static-docker";
8
+ /**
9
+ * FUTURE11 Fas 5 — detect names that almost certainly came from an
10
+ * auto-generated temp directory (timestamps, date stamps, very long
11
+ * trailing slugs). These get a prompt in interactive mode and a
12
+ * stderr warning otherwise — preventing a temp-dir name from
13
+ * silently becoming the app's permanent subdomain.
14
+ *
15
+ * Exported for unit testing.
16
+ */
17
+ export function isSuspiciousAutoName(name) {
18
+ // Suffix of 8+ digits — catches `tool-20260512164520` without
19
+ // catching `app-v2` or `app-123`.
20
+ if (/-\d{8,}$/.test(name))
21
+ return true;
22
+ // Date-shaped substring — `2026-05-12`, `20260512`, `app-2026-05`.
23
+ if (/\d{4}-?\d{2}-?\d{2}/.test(name))
24
+ return true;
25
+ // Very long names — almost certainly an auto-generated dir slug
26
+ // rather than a deliberate app name.
27
+ if (name.length >= 30)
28
+ return true;
29
+ return false;
30
+ }
31
+ /**
32
+ * Heuristic for interactive mode used when an explicit
33
+ * `interactive` value isn't passed via input. Treats Node's TTY
34
+ * check as the source of truth — bun:test, MCP, and CI all see
35
+ * `process.stdin?.isTTY === undefined`, so they fall through to
36
+ * non-interactive behavior naturally.
37
+ */
38
+ function detectInteractive() {
39
+ return process.stdin?.isTTY === true && process.stdout?.isTTY === true;
40
+ }
7
41
  function buildDataConfig(mode) {
8
42
  if (mode === "convex") {
9
43
  return {
@@ -23,6 +57,12 @@ export const initInputSchema = z.object({
23
57
  force: z.boolean().optional(),
24
58
  name: z.string().optional(),
25
59
  dataMode: z.enum(["pocketbase", "postgres", "sqlite", "none"]).optional(),
60
+ /**
61
+ * Override the TTY-based interactive detection. CLI passes true,
62
+ * MCP / CI / agent callers pass false, tests pin it explicitly.
63
+ * Defaults to `process.stdin.isTTY && process.stdout.isTTY`.
64
+ */
65
+ interactive: z.boolean().optional(),
26
66
  });
27
67
  function scanEnvVars(_cwd) {
28
68
  // Minimal implementation: do not walk the full tree in init. The CLI can
@@ -40,7 +80,37 @@ export async function init(ctx, input = {}) {
40
80
  }
41
81
  const rawDetected = await detectFramework(ctx.cwd);
42
82
  const detected = rawDetected ? refineBunRuntime(rawDetected, ctx.cwd) : null;
43
- const name = input.name ?? generateName(basename(ctx.cwd));
83
+ // FUTURE11 Fas 5 — auto-name flow:
84
+ // - --name takes priority (CI/agent path).
85
+ // - Otherwise slugify the dir name. If the slug looks
86
+ // auto-generated (timestamp, date stamp, ≥30 chars) and we're
87
+ // interactive, prompt the user with the suggestion as default.
88
+ // In non-interactive mode emit a stderr warning so the user
89
+ // notices the name retroactively when reading the log.
90
+ let name;
91
+ if (input.name) {
92
+ name = input.name;
93
+ }
94
+ else {
95
+ const suggestion = generateName(basename(ctx.cwd));
96
+ const interactive = input.interactive ?? detectInteractive();
97
+ if (isSuspiciousAutoName(suggestion) && interactive) {
98
+ const answer = (await ctx.prompt(`Suggested app name: '${suggestion}'. Press Enter to accept, or type a different name: `, { default: suggestion })).trim();
99
+ name = answer.length > 0 ? answer : suggestion;
100
+ }
101
+ else {
102
+ if (isSuspiciousAutoName(suggestion)) {
103
+ const writer = ctx.stderr.getWriter();
104
+ try {
105
+ await writer.write(new TextEncoder().encode(`warning: auto-generated app name '${suggestion}' looks like a temp-dir slug — set [app].name in percher.toml or pass --name to override.\n`));
106
+ }
107
+ finally {
108
+ writer.releaseLock();
109
+ }
110
+ }
111
+ name = suggestion;
112
+ }
113
+ }
44
114
  const config = {
45
115
  app: {
46
116
  name,
@@ -62,11 +132,42 @@ export async function init(ctx, input = {}) {
62
132
  config.env = envVars;
63
133
  }
64
134
  writeFileSync(path, serialize(config), "utf8");
135
+ // Static frameworks that need a build step ship as runtime = "docker"
136
+ // (the static Caddy path serves pre-built files only — it rejects a
137
+ // [build].command). Scaffold the multi-stage Dockerfile + Caddyfile
138
+ // alongside percher.toml so the project is deploy-ready. Detection
139
+ // guarantees no Dockerfile exists here — a pre-existing one routes to
140
+ // runtime = "docker"/framework = "docker" earlier and never sets
141
+ // `staticBuild` — but guard every write so an unrelated file is never
142
+ // clobbered without --force.
143
+ const scaffoldedFiles = [];
144
+ if (detected?.staticBuild) {
145
+ const targets = [
146
+ {
147
+ name: "Dockerfile",
148
+ content: renderStaticFrameworkDockerfile({
149
+ outputDir: detected.staticBuild.outputDir,
150
+ }),
151
+ },
152
+ {
153
+ name: "Caddyfile",
154
+ content: renderStaticFrameworkCaddyfile({ spa: detected.staticBuild.spa }),
155
+ },
156
+ ];
157
+ for (const { name, content } of targets) {
158
+ const target = join(ctx.cwd, name);
159
+ if (existsSync(target) && !input.force)
160
+ continue;
161
+ writeFileSync(target, content, "utf8");
162
+ scaffoldedFiles.push(name);
163
+ }
164
+ }
65
165
  return {
66
166
  path,
67
167
  config,
68
168
  detected,
69
169
  overwritten: exists,
170
+ scaffoldedFiles,
70
171
  };
71
172
  }
72
173
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import type { Context } from "../context";
3
3
  export declare const insightsInputSchema: z.ZodObject<{
4
4
  app: z.ZodOptional<z.ZodString>;
5
- }, "strip", z.ZodTypeAny, {
6
- app?: string | undefined;
7
- }, {
8
- app?: string | undefined;
9
- }>;
5
+ }, z.core.$strip>;
10
6
  export type InsightsInput = z.infer<typeof insightsInputSchema>;
11
7
  export interface InsightSuggestion {
12
8
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/commands/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;IAC3E,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAqC/F"}
1
+ {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/commands/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,eAAO,MAAM,mBAAmB;;iBAE9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;IAC3E,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAqC/F"}
@@ -1,4 +1,4 @@
1
- import { z } from "zod/v3";
1
+ import { z } from "zod";
2
2
  import { readPercherTomlAppName } from "../app-name";
3
3
  import { PercherCoreError } from "../errors";
4
4
  export const insightsInputSchema = z.object({