create-rudder-app 1.4.0 → 1.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 (243) hide show
  1. package/README.md +2 -51
  2. package/bin/index.mjs +18 -0
  3. package/package.json +8 -28
  4. package/dist/agent-detect.d.ts +0 -21
  5. package/dist/agent-detect.d.ts.map +0 -1
  6. package/dist/agent-detect.js +0 -36
  7. package/dist/agent-detect.js.map +0 -1
  8. package/dist/cli-flags.d.ts +0 -60
  9. package/dist/cli-flags.d.ts.map +0 -1
  10. package/dist/cli-flags.js +0 -251
  11. package/dist/cli-flags.js.map +0 -1
  12. package/dist/index.d.ts +0 -3
  13. package/dist/index.d.ts.map +0 -1
  14. package/dist/index.js +0 -642
  15. package/dist/index.js.map +0 -1
  16. package/dist/logo.d.ts +0 -6
  17. package/dist/logo.d.ts.map +0 -1
  18. package/dist/logo.js +0 -52
  19. package/dist/logo.js.map +0 -1
  20. package/dist/templates/app/auth-controller.d.ts +0 -2
  21. package/dist/templates/app/auth-controller.d.ts.map +0 -1
  22. package/dist/templates/app/auth-controller.js +0 -53
  23. package/dist/templates/app/auth-controller.js.map +0 -1
  24. package/dist/templates/app/mcp-echo-server.d.ts +0 -2
  25. package/dist/templates/app/mcp-echo-server.d.ts.map +0 -1
  26. package/dist/templates/app/mcp-echo-server.js +0 -13
  27. package/dist/templates/app/mcp-echo-server.js.map +0 -1
  28. package/dist/templates/app/mcp-echo-tool.d.ts +0 -2
  29. package/dist/templates/app/mcp-echo-tool.d.ts.map +0 -1
  30. package/dist/templates/app/mcp-echo-tool.js +0 -20
  31. package/dist/templates/app/mcp-echo-tool.js.map +0 -1
  32. package/dist/templates/app/service-provider.d.ts +0 -3
  33. package/dist/templates/app/service-provider.d.ts.map +0 -1
  34. package/dist/templates/app/service-provider.js +0 -33
  35. package/dist/templates/app/service-provider.js.map +0 -1
  36. package/dist/templates/app/terminal-dashboard.d.ts +0 -2
  37. package/dist/templates/app/terminal-dashboard.d.ts.map +0 -1
  38. package/dist/templates/app/terminal-dashboard.js +0 -22
  39. package/dist/templates/app/terminal-dashboard.js.map +0 -1
  40. package/dist/templates/app/user-model.d.ts +0 -2
  41. package/dist/templates/app/user-model.d.ts.map +0 -1
  42. package/dist/templates/app/user-model.js +0 -19
  43. package/dist/templates/app/user-model.js.map +0 -1
  44. package/dist/templates/bootstrap/app.d.ts +0 -3
  45. package/dist/templates/bootstrap/app.d.ts.map +0 -1
  46. package/dist/templates/bootstrap/app.js +0 -41
  47. package/dist/templates/bootstrap/app.js.map +0 -1
  48. package/dist/templates/bootstrap/providers.d.ts +0 -3
  49. package/dist/templates/bootstrap/providers.d.ts.map +0 -1
  50. package/dist/templates/bootstrap/providers.js +0 -27
  51. package/dist/templates/bootstrap/providers.js.map +0 -1
  52. package/dist/templates/components/site-header.d.ts +0 -4
  53. package/dist/templates/components/site-header.d.ts.map +0 -1
  54. package/dist/templates/components/site-header.js +0 -233
  55. package/dist/templates/components/site-header.js.map +0 -1
  56. package/dist/templates/configs/ai.d.ts +0 -2
  57. package/dist/templates/configs/ai.d.ts.map +0 -1
  58. package/dist/templates/configs/ai.js +0 -32
  59. package/dist/templates/configs/ai.js.map +0 -1
  60. package/dist/templates/configs/app.d.ts +0 -2
  61. package/dist/templates/configs/app.d.ts.map +0 -1
  62. package/dist/templates/configs/app.js +0 -12
  63. package/dist/templates/configs/app.js.map +0 -1
  64. package/dist/templates/configs/auth.d.ts +0 -3
  65. package/dist/templates/configs/auth.d.ts.map +0 -1
  66. package/dist/templates/configs/auth.js +0 -16
  67. package/dist/templates/configs/auth.js.map +0 -1
  68. package/dist/templates/configs/cache.d.ts +0 -2
  69. package/dist/templates/configs/cache.d.ts.map +0 -1
  70. package/dist/templates/configs/cache.js +0 -28
  71. package/dist/templates/configs/cache.js.map +0 -1
  72. package/dist/templates/configs/crypt.d.ts +0 -2
  73. package/dist/templates/configs/crypt.d.ts.map +0 -1
  74. package/dist/templates/configs/crypt.js +0 -16
  75. package/dist/templates/configs/crypt.js.map +0 -1
  76. package/dist/templates/configs/database.d.ts +0 -3
  77. package/dist/templates/configs/database.d.ts.map +0 -1
  78. package/dist/templates/configs/database.js +0 -28
  79. package/dist/templates/configs/database.js.map +0 -1
  80. package/dist/templates/configs/hash.d.ts +0 -2
  81. package/dist/templates/configs/hash.d.ts.map +0 -1
  82. package/dist/templates/configs/hash.js +0 -12
  83. package/dist/templates/configs/hash.js.map +0 -1
  84. package/dist/templates/configs/horizon.d.ts +0 -2
  85. package/dist/templates/configs/horizon.d.ts.map +0 -1
  86. package/dist/templates/configs/horizon.js +0 -30
  87. package/dist/templates/configs/horizon.js.map +0 -1
  88. package/dist/templates/configs/index.d.ts +0 -3
  89. package/dist/templates/configs/index.d.ts.map +0 -1
  90. package/dist/templates/configs/index.js +0 -92
  91. package/dist/templates/configs/index.js.map +0 -1
  92. package/dist/templates/configs/localization.d.ts +0 -2
  93. package/dist/templates/configs/localization.d.ts.map +0 -1
  94. package/dist/templates/configs/localization.js +0 -13
  95. package/dist/templates/configs/localization.js.map +0 -1
  96. package/dist/templates/configs/log.d.ts +0 -2
  97. package/dist/templates/configs/log.d.ts.map +0 -1
  98. package/dist/templates/configs/log.js +0 -40
  99. package/dist/templates/configs/log.js.map +0 -1
  100. package/dist/templates/configs/mail.d.ts +0 -2
  101. package/dist/templates/configs/mail.d.ts.map +0 -1
  102. package/dist/templates/configs/mail.js +0 -33
  103. package/dist/templates/configs/mail.js.map +0 -1
  104. package/dist/templates/configs/passport.d.ts +0 -2
  105. package/dist/templates/configs/passport.d.ts.map +0 -1
  106. package/dist/templates/configs/passport.js +0 -22
  107. package/dist/templates/configs/passport.js.map +0 -1
  108. package/dist/templates/configs/pennant.d.ts +0 -2
  109. package/dist/templates/configs/pennant.d.ts.map +0 -1
  110. package/dist/templates/configs/pennant.js +0 -16
  111. package/dist/templates/configs/pennant.js.map +0 -1
  112. package/dist/templates/configs/pulse.d.ts +0 -2
  113. package/dist/templates/configs/pulse.d.ts.map +0 -1
  114. package/dist/templates/configs/pulse.js +0 -21
  115. package/dist/templates/configs/pulse.js.map +0 -1
  116. package/dist/templates/configs/queue.d.ts +0 -2
  117. package/dist/templates/configs/queue.d.ts.map +0 -1
  118. package/dist/templates/configs/queue.js +0 -28
  119. package/dist/templates/configs/queue.js.map +0 -1
  120. package/dist/templates/configs/sanctum.d.ts +0 -2
  121. package/dist/templates/configs/sanctum.d.ts.map +0 -1
  122. package/dist/templates/configs/sanctum.js +0 -19
  123. package/dist/templates/configs/sanctum.js.map +0 -1
  124. package/dist/templates/configs/server.d.ts +0 -2
  125. package/dist/templates/configs/server.d.ts.map +0 -1
  126. package/dist/templates/configs/server.js +0 -15
  127. package/dist/templates/configs/server.js.map +0 -1
  128. package/dist/templates/configs/session.d.ts +0 -2
  129. package/dist/templates/configs/session.d.ts.map +0 -1
  130. package/dist/templates/configs/session.js +0 -26
  131. package/dist/templates/configs/session.js.map +0 -1
  132. package/dist/templates/configs/socialite.d.ts +0 -2
  133. package/dist/templates/configs/socialite.d.ts.map +0 -1
  134. package/dist/templates/configs/socialite.js +0 -27
  135. package/dist/templates/configs/socialite.js.map +0 -1
  136. package/dist/templates/configs/storage.d.ts +0 -2
  137. package/dist/templates/configs/storage.d.ts.map +0 -1
  138. package/dist/templates/configs/storage.js +0 -35
  139. package/dist/templates/configs/storage.js.map +0 -1
  140. package/dist/templates/configs/sync.d.ts +0 -3
  141. package/dist/templates/configs/sync.d.ts.map +0 -1
  142. package/dist/templates/configs/sync.js +0 -17
  143. package/dist/templates/configs/sync.js.map +0 -1
  144. package/dist/templates/configs/telescope.d.ts +0 -2
  145. package/dist/templates/configs/telescope.d.ts.map +0 -1
  146. package/dist/templates/configs/telescope.js +0 -25
  147. package/dist/templates/configs/telescope.js.map +0 -1
  148. package/dist/templates/css/index.d.ts +0 -3
  149. package/dist/templates/css/index.d.ts.map +0 -1
  150. package/dist/templates/css/index.js +0 -140
  151. package/dist/templates/css/index.js.map +0 -1
  152. package/dist/templates/css/plain.d.ts +0 -2
  153. package/dist/templates/css/plain.d.ts.map +0 -1
  154. package/dist/templates/css/plain.js +0 -373
  155. package/dist/templates/css/plain.js.map +0 -1
  156. package/dist/templates/css/tailwind.d.ts +0 -2
  157. package/dist/templates/css/tailwind.d.ts.map +0 -1
  158. package/dist/templates/css/tailwind.js +0 -176
  159. package/dist/templates/css/tailwind.js.map +0 -1
  160. package/dist/templates/env.d.ts +0 -7
  161. package/dist/templates/env.d.ts.map +0 -1
  162. package/dist/templates/env.js +0 -113
  163. package/dist/templates/env.js.map +0 -1
  164. package/dist/templates/package-json.d.ts +0 -3
  165. package/dist/templates/package-json.d.ts.map +0 -1
  166. package/dist/templates/package-json.js +0 -204
  167. package/dist/templates/package-json.js.map +0 -1
  168. package/dist/templates/package-managers.d.ts +0 -14
  169. package/dist/templates/package-managers.d.ts.map +0 -1
  170. package/dist/templates/package-managers.js +0 -49
  171. package/dist/templates/package-managers.js.map +0 -1
  172. package/dist/templates/pages/ai-chat.d.ts +0 -7
  173. package/dist/templates/pages/ai-chat.d.ts.map +0 -1
  174. package/dist/templates/pages/ai-chat.js +0 -285
  175. package/dist/templates/pages/ai-chat.js.map +0 -1
  176. package/dist/templates/pages/demo.d.ts +0 -4
  177. package/dist/templates/pages/demo.d.ts.map +0 -1
  178. package/dist/templates/pages/demo.js +0 -71
  179. package/dist/templates/pages/demo.js.map +0 -1
  180. package/dist/templates/pages/error.d.ts +0 -7
  181. package/dist/templates/pages/error.d.ts.map +0 -1
  182. package/dist/templates/pages/error.js +0 -148
  183. package/dist/templates/pages/error.js.map +0 -1
  184. package/dist/templates/pages/index.d.ts +0 -22
  185. package/dist/templates/pages/index.d.ts.map +0 -1
  186. package/dist/templates/pages/index.js +0 -374
  187. package/dist/templates/pages/index.js.map +0 -1
  188. package/dist/templates/prisma/auth.d.ts +0 -2
  189. package/dist/templates/prisma/auth.d.ts.map +0 -1
  190. package/dist/templates/prisma/auth.js +0 -22
  191. package/dist/templates/prisma/auth.js.map +0 -1
  192. package/dist/templates/prisma/base.d.ts +0 -3
  193. package/dist/templates/prisma/base.d.ts.map +0 -1
  194. package/dist/templates/prisma/base.js +0 -14
  195. package/dist/templates/prisma/base.js.map +0 -1
  196. package/dist/templates/prisma/config.d.ts +0 -3
  197. package/dist/templates/prisma/config.d.ts.map +0 -1
  198. package/dist/templates/prisma/config.js +0 -15
  199. package/dist/templates/prisma/config.js.map +0 -1
  200. package/dist/templates/prisma/notification.d.ts +0 -2
  201. package/dist/templates/prisma/notification.d.ts.map +0 -1
  202. package/dist/templates/prisma/notification.js +0 -16
  203. package/dist/templates/prisma/notification.js.map +0 -1
  204. package/dist/templates/prisma/passport.d.ts +0 -2
  205. package/dist/templates/prisma/passport.d.ts.map +0 -1
  206. package/dist/templates/prisma/passport.js +0 -69
  207. package/dist/templates/prisma/passport.js.map +0 -1
  208. package/dist/templates/routes/api.d.ts +0 -3
  209. package/dist/templates/routes/api.d.ts.map +0 -1
  210. package/dist/templates/routes/api.js +0 -76
  211. package/dist/templates/routes/api.js.map +0 -1
  212. package/dist/templates/routes/console.d.ts +0 -3
  213. package/dist/templates/routes/console.d.ts.map +0 -1
  214. package/dist/templates/routes/console.js +0 -29
  215. package/dist/templates/routes/console.js.map +0 -1
  216. package/dist/templates/routes/web.d.ts +0 -4
  217. package/dist/templates/routes/web.d.ts.map +0 -1
  218. package/dist/templates/routes/web.js +0 -77
  219. package/dist/templates/routes/web.js.map +0 -1
  220. package/dist/templates/routes-manifest.d.ts +0 -28
  221. package/dist/templates/routes-manifest.d.ts.map +0 -1
  222. package/dist/templates/routes-manifest.js +0 -48
  223. package/dist/templates/routes-manifest.js.map +0 -1
  224. package/dist/templates/server.d.ts +0 -2
  225. package/dist/templates/server.d.ts.map +0 -1
  226. package/dist/templates/server.js +0 -10
  227. package/dist/templates/server.js.map +0 -1
  228. package/dist/templates/tsconfig.d.ts +0 -3
  229. package/dist/templates/tsconfig.d.ts.map +0 -1
  230. package/dist/templates/tsconfig.js +0 -33
  231. package/dist/templates/tsconfig.js.map +0 -1
  232. package/dist/templates/views/welcome.d.ts +0 -19
  233. package/dist/templates/views/welcome.d.ts.map +0 -1
  234. package/dist/templates/views/welcome.js +0 -338
  235. package/dist/templates/views/welcome.js.map +0 -1
  236. package/dist/templates/vite.d.ts +0 -3
  237. package/dist/templates/vite.d.ts.map +0 -1
  238. package/dist/templates/vite.js +0 -66
  239. package/dist/templates/vite.js.map +0 -1
  240. package/dist/templates.d.ts +0 -45
  241. package/dist/templates.d.ts.map +0 -1
  242. package/dist/templates.js +0 -202
  243. package/dist/templates.js.map +0 -1
package/README.md CHANGED
@@ -7,58 +7,9 @@
7
7
  > npm create rudder-app@latest my-app # still works (this package)
8
8
  > ```
9
9
 
10
- **Spin up a production-ready [RudderJS](https://github.com/rudderjs/rudder) app in under 60 seconds** — pick a recipe, the installer handles deps, database, auth views, and git init for you.
10
+ Source of truth: <https://github.com/rudderjs/rudder/tree/main/create-rudder>.
11
11
 
12
- ```bash
13
- pnpm create rudder my-app
14
- cd my-app && pnpm dev
15
- # → http://localhost:3000 — welcome page + register/login working end-to-end
16
- ```
17
-
18
- The installer asks four to six questions, then runs `pnpm install`, generates the Prisma client, pushes the schema (for SQLite) or asks first (for Postgres/MySQL), publishes auth views, generates Passport keys (when selected), and initializes git — all in one shot.
19
-
20
- ---
21
-
22
- ## Install
23
-
24
- All four major package managers work. The installer detects which one you used and adapts every generated file, install command, and post-scaffold hint.
25
-
26
- ```bash
27
- pnpm create rudder [name]
28
- npm create rudder@latest [name]
29
- yarn create rudder [name]
30
- bunx create-rudder [name]
31
- ```
32
-
33
- Skip `[name]` to be prompted for one.
34
-
35
- > The legacy `create-rudder-app` invocation (`pnpm create rudder-app …`) still works — it now prints a one-line nudge to switch to `create-rudder` and otherwise scaffolds identically.
36
-
37
- ---
38
-
39
- ## Full documentation
40
-
41
- The detailed scaffolder docs — recipe table, prompt-by-prompt walkthrough, generated structure, non-interactive (CI/AI agent) flag list, after-scaffold cascade — live with the framework guide:
42
-
43
- - **Installation guide**: <https://github.com/rudderjs/rudder/blob/main/docs/guide/installation.md>
44
- - **Main framework**: <https://github.com/rudderjs/rudder>
45
- - **Report issues**: <https://github.com/rudderjs/rudder/issues>
46
-
47
- ---
48
-
49
- ## Contributing to the scaffolder
50
-
51
- The scaffolder source lives at `create-rudder-app/` in the framework monorepo (the `create-rudder` package is a thin stub that re-spawns this one):
52
-
53
- ```bash
54
- git clone https://github.com/rudderjs/rudder.git
55
- cd rudder/create-rudder-app
56
- pnpm install
57
- pnpm build
58
- node dist/index.js # launches the interactive CLI from source
59
- pnpm test # template tests + snapshot baseline
60
- pnpm smoke # default end-to-end smoke
61
- ```
12
+ For documentation, install instructions, and contributing details see the [`create-rudder` README](https://github.com/rudderjs/rudder/blob/main/create-rudder/README.md).
62
13
 
63
14
  ---
64
15
 
package/bin/index.mjs ADDED
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ // `npm create rudder-app@latest` — legacy alias that delegates to create-rudder.
3
+ // Source of truth lives in /create-rudder; this package exists for backwards
4
+ // compatibility with the old install command (blog posts, muscle memory).
5
+ import { spawn } from 'node:child_process'
6
+ import { fileURLToPath } from 'node:url'
7
+
8
+ // create-rudder's `main` and `bin` both point at ./dist/index.js, so
9
+ // resolving the package entry gives us exactly the file we need to invoke.
10
+ // `import.meta.resolve` honors ESM `import` conditions; `require.resolve`
11
+ // would fail because the package exports map has no `require` condition.
12
+ const entry = fileURLToPath(import.meta.resolve('create-rudder'))
13
+
14
+ const child = spawn(process.execPath, [entry, ...process.argv.slice(2)], {
15
+ stdio: 'inherit',
16
+ env: { ...process.env, RUDDER_INVOKED_AS: 'create-rudder-app' },
17
+ })
18
+ child.on('exit', code => process.exit(code ?? 0))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-rudder-app",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,35 +11,15 @@
11
11
  "engines": {
12
12
  "node": "^20.19.0 || >=22.12.0"
13
13
  },
14
- "files": [
15
- "dist"
16
- ],
17
- "description": "Create a new RudderJS application",
14
+ "description": "Legacy alias for `create-rudder` — `npm create rudder-app@latest` still works but `npm create rudder@latest` is the canonical command.",
18
15
  "bin": {
19
- "create-rudder-app": "./dist/index.js"
20
- },
21
- "main": "./dist/index.js",
22
- "exports": {
23
- ".": {
24
- "import": "./dist/index.js"
25
- }
16
+ "create-rudder-app": "./bin/index.mjs"
26
17
  },
18
+ "files": [
19
+ "bin"
20
+ ],
27
21
  "dependencies": {
28
- "@clack/prompts": "^1.0.0",
29
- "@rudderjs/auth": "6.1.0"
30
- },
31
- "devDependencies": {
32
- "@types/node": "^20.0.0",
33
- "playwright": "^1.60.0",
34
- "typescript": "^5.4.0"
22
+ "create-rudder": "^1.5.0"
35
23
  },
36
- "author": "Suleiman Shahbari",
37
- "scripts": {
38
- "build": "tsc -p tsconfig.build.json",
39
- "dev": "tsc -p tsconfig.build.json --watch",
40
- "typecheck": "tsc --noEmit",
41
- "test": "tsc -p tsconfig.test.json && cd dist-test && node --test",
42
- "smoke": "tsx scripts/smoke.ts",
43
- "clean": "rm -rf dist"
44
- }
24
+ "author": "Suleiman Shahbari"
45
25
  }
@@ -1,21 +0,0 @@
1
- /**
2
- * Detect when create-rudder-app is running inside an AI coding agent.
3
- *
4
- * In agent contexts the interactive @clack/prompts UI degrades to garbage
5
- * (TTY redraws, ANSI escapes the agent can't fill in), and the agent often
6
- * just hangs or times out. When detected, the installer switches to a
7
- * non-interactive flag-driven mode and emits a single line of JSON to stdout.
8
- *
9
- * Inspired by Laravel Installer v5.27 (Joe Tannenbaum, 2025).
10
- */
11
- export interface AgentDetectionResult {
12
- detected: boolean;
13
- /** Friendly name of the detected agent, included in JSON output. */
14
- name?: string;
15
- }
16
- /**
17
- * Inspect process.env for markers set by common agent runtimes.
18
- * Returns the first match in declaration order.
19
- */
20
- export declare function detectAgent(env?: NodeJS.ProcessEnv): AgentDetectionResult;
21
- //# sourceMappingURL=agent-detect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-detect.d.ts","sourceRoot":"","sources":["../src/agent-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAA;IACjB,oEAAoE;IACpE,IAAI,CAAC,EAAK,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,oBAAoB,CA8BtF"}
@@ -1,36 +0,0 @@
1
- /**
2
- * Inspect process.env for markers set by common agent runtimes.
3
- * Returns the first match in declaration order.
4
- */
5
- export function detectAgent(env = process.env) {
6
- // Claude Code — sets CLAUDECODE=1 and CLAUDE_CODE_ENTRYPOINT
7
- if (env['CLAUDECODE'] || env['CLAUDE_CODE_ENTRYPOINT']) {
8
- return { detected: true, name: 'claude-code' };
9
- }
10
- // Cursor — sets CURSOR_TRACE_ID; also reports TERM_PROGRAM=cursor in the integrated terminal
11
- if (env['CURSOR_TRACE_ID'] || env['TERM_PROGRAM'] === 'cursor') {
12
- return { detected: true, name: 'cursor' };
13
- }
14
- // GitHub Copilot CLI
15
- if (env['GITHUB_COPILOT_CLI']) {
16
- return { detected: true, name: 'copilot' };
17
- }
18
- // OpenAI Codex CLI
19
- if (env['CODEX_CLI'] || env['OPENAI_CODEX']) {
20
- return { detected: true, name: 'codex' };
21
- }
22
- // Google Gemini CLI
23
- if (env['GEMINI_CLI']) {
24
- return { detected: true, name: 'gemini' };
25
- }
26
- // Windsurf
27
- if (env['WINDSURF_AGENT'] || env['WINDSURF']) {
28
- return { detected: true, name: 'windsurf' };
29
- }
30
- // Generic opt-in (CI, scripts, custom integrations)
31
- if (env['RUDDER_NONINTERACTIVE'] === '1' || env['RUDDER_NONINTERACTIVE'] === 'true') {
32
- return { detected: true, name: 'noninteractive' };
33
- }
34
- return { detected: false };
35
- }
36
- //# sourceMappingURL=agent-detect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-detect.js","sourceRoot":"","sources":["../src/agent-detect.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC9D,6DAA6D;IAC7D,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;IAChD,CAAC;IACD,6FAA6F;IAC7F,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC3C,CAAC;IACD,qBAAqB;IACrB,IAAI,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAC5C,CAAC;IACD,mBAAmB;IACnB,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC1C,CAAC;IACD,oBAAoB;IACpB,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC3C,CAAC;IACD,WAAW;IACX,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IAC7C,CAAC;IACD,oDAAoD;IACpD,IAAI,GAAG,CAAC,uBAAuB,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,KAAK,MAAM,EAAE,CAAC;QACpF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;IACnD,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAC5B,CAAC"}
@@ -1,60 +0,0 @@
1
- import type { TemplateContext } from './templates.js';
2
- export type Frameworks = ('react' | 'vue' | 'solid')[];
3
- export type Orm = 'prisma' | 'drizzle' | false;
4
- export type Db = 'sqlite' | 'postgresql' | 'mysql';
5
- export type Recipe = 'web-app' | 'saas' | 'api-service' | 'realtime' | 'minimal' | 'custom';
6
- export type Styling = 'tailwind+shadcn' | 'tailwind' | 'plain';
7
- export interface Answers {
8
- name: string;
9
- recipe: Recipe;
10
- orm: Orm;
11
- db: Db;
12
- packages: TemplateContext['packages'];
13
- /** Single framework picked in the new flow; multi-framework only via legacy --frameworks flag. */
14
- frameworks: Frameworks;
15
- primary: 'react' | 'vue' | 'solid';
16
- tailwind: boolean;
17
- shadcn: boolean;
18
- /** Whether to run `git init` + initial commit after scaffolding. */
19
- git: boolean;
20
- /** Whether the user's DB is currently reachable — set to false to skip `db:push`. */
21
- dbReady: boolean;
22
- install: boolean;
23
- }
24
- /**
25
- * Recipe → packages preset. Each recipe is a curated bundle that covers
26
- * what the named scenario actually needs. "Custom" carries no preset —
27
- * the user picks packages via the (legacy) multiselect.
28
- */
29
- export declare const RECIPES: Record<Exclude<Recipe, 'custom'>, {
30
- packages: ReadonlyArray<keyof TemplateContext['packages']>;
31
- needsOrm: boolean;
32
- needsFrontend: boolean;
33
- }>;
34
- export type PartialAnswers = Partial<Answers>;
35
- export interface ParsedFlags {
36
- name: string | undefined;
37
- partial: PartialAnswers;
38
- jsonRequested: boolean;
39
- forceInteractive: boolean;
40
- }
41
- export declare class FlagError extends Error {
42
- }
43
- export declare const PACKAGE_KEYS: ReadonlyArray<keyof TemplateContext['packages']>;
44
- export declare const DB_GATED: Set<string>;
45
- export declare function emptyPackages(): TemplateContext['packages'];
46
- export declare function packagesFromList(list: string[], orm: Orm): TemplateContext['packages'];
47
- export declare function parseFlags(argv: string[]): ParsedFlags;
48
- /**
49
- * JSON-mode required-flags validation.
50
- *
51
- * Two valid call shapes:
52
- * 1. Recipe shortcut — `--recipe + --db + --install` (and `--framework`
53
- * when the recipe has `needsFrontend: true`). Everything else inferred.
54
- * 2. Legacy explicit — `--orm + --packages + --frameworks + --tailwind +
55
- * --install` (the pre-recipe contract; still supported for older
56
- * scripts/CI).
57
- */
58
- export declare function validateJsonMode(name: string | undefined, p: PartialAnswers): string[];
59
- export declare function resolveJsonAnswers(name: string, p: PartialAnswers): Answers;
60
- //# sourceMappingURL=cli-flags.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-flags.d.ts","sourceRoot":"","sources":["../src/cli-flags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC,EAAE,CAAA;AACtD,MAAM,MAAM,GAAG,GAAU,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAA;AACrD,MAAM,MAAM,EAAE,GAAW,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAA;AAC1D,MAAM,MAAM,MAAM,GAAO,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;AAC/F,MAAM,MAAM,OAAO,GAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAA;AAEjE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAQ,MAAM,CAAA;IAClB,MAAM,EAAM,MAAM,CAAA;IAClB,GAAG,EAAS,GAAG,CAAA;IACf,EAAE,EAAU,EAAE,CAAA;IACd,QAAQ,EAAI,eAAe,CAAC,UAAU,CAAC,CAAA;IACvC,kGAAkG;IAClG,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAK,OAAO,GAAG,KAAK,GAAG,OAAO,CAAA;IACrC,QAAQ,EAAI,OAAO,CAAA;IACnB,MAAM,EAAM,OAAO,CAAA;IACnB,oEAAoE;IACpE,GAAG,EAAS,OAAO,CAAA;IACnB,qFAAqF;IACrF,OAAO,EAAK,OAAO,CAAA;IACnB,OAAO,EAAK,OAAO,CAAA;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;IACtD,QAAQ,EAAK,aAAa,CAAC,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;IAC7D,QAAQ,EAAK,OAAO,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;CACvB,CAMS,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;AAE7C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAc,MAAM,GAAG,SAAS,CAAA;IACpC,OAAO,EAAW,cAAc,CAAA;IAChC,aAAa,EAAK,OAAO,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,qBAAa,SAAU,SAAQ,KAAK;CAAG;AAEvC,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,MAAM,eAAe,CAAC,UAAU,CAAC,CAQhE,CAAA;AAEV,eAAO,MAAM,QAAQ,aAA2C,CAAA;AAEhE,wBAAgB,aAAa,IAAI,eAAe,CAAC,UAAU,CAAC,CAI3D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,CAWtF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAmGtD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,cAAc,GAAG,MAAM,EAAE,CA4BtF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAmD3E"}
package/dist/cli-flags.js DELETED
@@ -1,251 +0,0 @@
1
- /**
2
- * Recipe → packages preset. Each recipe is a curated bundle that covers
3
- * what the named scenario actually needs. "Custom" carries no preset —
4
- * the user picks packages via the (legacy) multiselect.
5
- */
6
- export const RECIPES = {
7
- 'web-app': { packages: ['auth'], needsOrm: true, needsFrontend: true },
8
- 'saas': { packages: ['auth', 'queue', 'mail', 'notifications'], needsOrm: true, needsFrontend: true },
9
- 'api-service': { packages: ['auth', 'http'], needsOrm: true, needsFrontend: false },
10
- 'realtime': { packages: ['auth', 'broadcast', 'sync'], needsOrm: true, needsFrontend: true },
11
- 'minimal': { packages: [], needsOrm: false, needsFrontend: false },
12
- };
13
- export class FlagError extends Error {
14
- }
15
- export const PACKAGE_KEYS = [
16
- 'auth', 'sanctum', 'passport', 'socialite',
17
- 'queue', 'storage', 'scheduler',
18
- 'image', 'mail', 'notifications', 'broadcast', 'sync',
19
- 'ai', 'mcp', 'boost',
20
- 'localization', 'pennant',
21
- 'telescope', 'pulse', 'horizon',
22
- 'crypt', 'http', 'process', 'concurrency', 'terminal',
23
- ];
24
- export const DB_GATED = new Set(['auth', 'sanctum', 'passport']);
25
- export function emptyPackages() {
26
- const out = {};
27
- for (const k of PACKAGE_KEYS)
28
- out[k] = false;
29
- return out;
30
- }
31
- export function packagesFromList(list, orm) {
32
- const out = emptyPackages();
33
- const wanted = list.includes('*')
34
- ? PACKAGE_KEYS.filter(k => orm !== false || !DB_GATED.has(k))
35
- : list;
36
- for (const k of wanted) {
37
- if (PACKAGE_KEYS.includes(k)) {
38
- ;
39
- out[k] = true;
40
- }
41
- }
42
- return out;
43
- }
44
- export function parseFlags(argv) {
45
- let name;
46
- const flags = {};
47
- const bools = {};
48
- for (const arg of argv) {
49
- if (!arg.startsWith('--')) {
50
- if (!name)
51
- name = arg;
52
- continue;
53
- }
54
- const eq = arg.indexOf('=');
55
- if (eq !== -1)
56
- flags[arg.slice(2, eq)] = arg.slice(eq + 1);
57
- else
58
- bools[arg.slice(2)] = true;
59
- }
60
- const partial = {};
61
- if (flags['orm']) {
62
- const v = flags['orm'];
63
- if (v === 'none')
64
- partial.orm = false;
65
- else if (v === 'prisma' || v === 'drizzle')
66
- partial.orm = v;
67
- else
68
- throw new FlagError(`--orm must be one of: prisma, drizzle, none (got "${v}")`);
69
- }
70
- if (flags['db']) {
71
- const v = flags['db'];
72
- if (v === 'sqlite' || v === 'postgresql' || v === 'mysql')
73
- partial.db = v;
74
- else
75
- throw new FlagError(`--db must be one of: sqlite, postgresql, mysql (got "${v}")`);
76
- }
77
- if (flags['packages'] !== undefined) {
78
- const list = flags['packages'].split(',').map(s => s.trim()).filter(Boolean);
79
- const valid = new Set([...PACKAGE_KEYS, '*']);
80
- for (const k of list) {
81
- if (!valid.has(k))
82
- throw new FlagError(`--packages: unknown package "${k}". Valid: ${[...valid].join(', ')}`);
83
- }
84
- partial.packages = packagesFromList(list, partial.orm ?? 'prisma');
85
- }
86
- if (flags['frameworks'] !== undefined) {
87
- const list = flags['frameworks'].split(',').map(s => s.trim()).filter(Boolean);
88
- for (const f of list) {
89
- if (f !== 'react' && f !== 'vue' && f !== 'solid') {
90
- throw new FlagError(`--frameworks: unknown framework "${f}". Valid: react, vue, solid`);
91
- }
92
- }
93
- if (list.length === 0)
94
- throw new FlagError('--frameworks must include at least one of: react, vue, solid');
95
- partial.frameworks = list;
96
- }
97
- if (flags['primary-framework']) {
98
- const v = flags['primary-framework'];
99
- if (v !== 'react' && v !== 'vue' && v !== 'solid') {
100
- throw new FlagError(`--primary-framework must be one of: react, vue, solid (got "${v}")`);
101
- }
102
- partial.primary = v;
103
- }
104
- if ('tailwind' in flags)
105
- partial.tailwind = flags['tailwind'] === 'true';
106
- if ('shadcn' in flags)
107
- partial.shadcn = flags['shadcn'] === 'true';
108
- if ('install' in flags)
109
- partial.install = flags['install'] === 'true';
110
- if ('git' in flags)
111
- partial.git = flags['git'] === 'true';
112
- if ('db-ready' in flags)
113
- partial.dbReady = flags['db-ready'] === 'true';
114
- // --recipe — preset that derives orm/packages/needsFrontend.
115
- if (flags['recipe']) {
116
- const v = flags['recipe'];
117
- const valid = new Set(['web-app', 'saas', 'api-service', 'realtime', 'minimal', 'custom']);
118
- if (!valid.has(v)) {
119
- throw new FlagError(`--recipe must be one of: ${[...valid].join(', ')} (got "${v}")`);
120
- }
121
- partial.recipe = v;
122
- }
123
- // --framework — singular shortcut. Maps to --frameworks=react + --primary-framework=react.
124
- if (flags['framework']) {
125
- const v = flags['framework'];
126
- if (v !== 'react' && v !== 'vue' && v !== 'solid' && v !== 'none') {
127
- throw new FlagError(`--framework must be one of: react, vue, solid, none (got "${v}")`);
128
- }
129
- if (v === 'none') {
130
- partial.frameworks = [];
131
- }
132
- else {
133
- partial.frameworks = [v];
134
- partial.primary = v;
135
- }
136
- }
137
- // --styling — collapses --tailwind + --shadcn into one. Explicit --tailwind/--shadcn override.
138
- if (flags['styling']) {
139
- const v = flags['styling'];
140
- if (v !== 'tailwind+shadcn' && v !== 'tailwind' && v !== 'plain') {
141
- throw new FlagError(`--styling must be one of: tailwind+shadcn, tailwind, plain (got "${v}")`);
142
- }
143
- if (partial.tailwind === undefined)
144
- partial.tailwind = v !== 'plain';
145
- if (partial.shadcn === undefined)
146
- partial.shadcn = v === 'tailwind+shadcn';
147
- }
148
- return {
149
- name,
150
- partial,
151
- jsonRequested: bools['json'] ?? false,
152
- forceInteractive: bools['interactive'] ?? false,
153
- };
154
- }
155
- /**
156
- * JSON-mode required-flags validation.
157
- *
158
- * Two valid call shapes:
159
- * 1. Recipe shortcut — `--recipe + --db + --install` (and `--framework`
160
- * when the recipe has `needsFrontend: true`). Everything else inferred.
161
- * 2. Legacy explicit — `--orm + --packages + --frameworks + --tailwind +
162
- * --install` (the pre-recipe contract; still supported for older
163
- * scripts/CI).
164
- */
165
- export function validateJsonMode(name, p) {
166
- const missing = [];
167
- if (!name)
168
- missing.push('<project-name>');
169
- if (p.recipe) {
170
- // Recipe path — most fields inferred from the preset.
171
- if (p.recipe !== 'custom' && p.recipe !== 'minimal' && !p.db)
172
- missing.push('--db');
173
- const preset = p.recipe === 'custom' ? null : RECIPES[p.recipe];
174
- if (preset?.needsFrontend && !p.frameworks?.length && !p.primary) {
175
- missing.push('--framework');
176
- }
177
- if (p.recipe === 'custom' && p.packages === undefined)
178
- missing.push('--packages');
179
- if (p.install === undefined)
180
- missing.push('--install');
181
- return missing;
182
- }
183
- // Legacy explicit path
184
- if (p.orm === undefined)
185
- missing.push('--orm');
186
- if (p.orm !== false && !p.db)
187
- missing.push('--db');
188
- if (p.packages === undefined)
189
- missing.push('--packages');
190
- if (!p.frameworks)
191
- missing.push('--frameworks');
192
- if (p.frameworks && p.frameworks.length > 1 && !p.primary)
193
- missing.push('--primary-framework');
194
- if (p.tailwind === undefined)
195
- missing.push('--tailwind');
196
- if (p.frameworks?.includes('react') && p.tailwind === true && p.shadcn === undefined) {
197
- missing.push('--shadcn');
198
- }
199
- if (p.install === undefined)
200
- missing.push('--install');
201
- return missing;
202
- }
203
- export function resolveJsonAnswers(name, p) {
204
- // Recipe path — derive everything from the preset, with explicit flags as overrides.
205
- if (p.recipe) {
206
- const recipe = p.recipe;
207
- const preset = recipe === 'custom' ? null : RECIPES[recipe];
208
- const orm = p.orm !== undefined
209
- ? p.orm
210
- : (preset?.needsOrm ? 'prisma' : false);
211
- const db = (orm === false ? 'sqlite' : (p.db ?? 'sqlite'));
212
- const packages = recipe === 'custom'
213
- ? p.packages
214
- : packagesFromList([...(preset?.packages ?? [])], orm);
215
- // Allow explicit overrides on top of the recipe
216
- if (recipe !== 'custom' && p.packages) {
217
- for (const k of Object.keys(p.packages)) {
218
- if (p.packages[k])
219
- packages[k] = true;
220
- }
221
- }
222
- const wantsFrontend = preset ? preset.needsFrontend : (p.frameworks?.length ?? 0) > 0;
223
- const frameworks = wantsFrontend
224
- ? (p.frameworks?.length ? p.frameworks : ['react'])
225
- : [];
226
- const primary = (frameworks[0] ?? p.primary ?? 'react');
227
- const tailwind = p.tailwind ?? wantsFrontend;
228
- const shadcn = p.shadcn ?? (wantsFrontend && primary === 'react' && tailwind);
229
- return {
230
- name, recipe, orm, db, packages, frameworks, primary, tailwind, shadcn,
231
- git: p.git ?? true,
232
- dbReady: p.dbReady ?? (db === 'sqlite'),
233
- install: p.install,
234
- };
235
- }
236
- // Legacy explicit path (pre-recipe)
237
- const orm = p.orm;
238
- const db = (orm === false ? 'sqlite' : p.db);
239
- const packages = p.packages;
240
- const frameworks = p.frameworks;
241
- const primary = p.primary ?? frameworks[0];
242
- const tailwind = p.tailwind;
243
- const shadcn = p.shadcn ?? false;
244
- return {
245
- name, recipe: 'custom', orm, db, packages, frameworks, primary, tailwind, shadcn,
246
- git: p.git ?? true,
247
- dbReady: p.dbReady ?? (db === 'sqlite'),
248
- install: p.install,
249
- };
250
- }
251
- //# sourceMappingURL=cli-flags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-flags.js","sourceRoot":"","sources":["../src/cli-flags.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}