create-prisma 0.1.3 → 0.2.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 (94) hide show
  1. package/README.md +55 -16
  2. package/dist/cli.mjs +1 -1
  3. package/dist/create-DgN5mAMV.mjs +1677 -0
  4. package/dist/index.d.mts +31 -57
  5. package/dist/index.mjs +10 -21
  6. package/package.json +2 -2
  7. package/templates/create/astro/.yarnrc.yml.hbs +3 -0
  8. package/templates/create/astro/README.md.hbs +35 -0
  9. package/templates/create/astro/astro.config.mjs +5 -0
  10. package/templates/create/astro/deno.json.hbs +5 -0
  11. package/templates/create/astro/package.json.hbs +22 -0
  12. package/templates/{init → create/astro}/prisma/schema.prisma.hbs +5 -2
  13. package/templates/create/astro/prisma/seed.ts.hbs +38 -0
  14. package/templates/{init/prisma.config.ts.hbs → create/astro/prisma.config.ts} +1 -0
  15. package/templates/create/astro/public/favicon.svg +14 -0
  16. package/templates/create/astro/src/env.d.ts +9 -0
  17. package/templates/create/astro/src/lib/prisma.ts.hbs +53 -0
  18. package/templates/create/astro/src/pages/api/users.ts.hbs +42 -0
  19. package/templates/create/astro/src/pages/index.astro.hbs +236 -0
  20. package/templates/create/astro/tsconfig.json +5 -0
  21. package/templates/create/hono/.yarnrc.yml.hbs +3 -0
  22. package/templates/create/hono/README.md.hbs +14 -11
  23. package/templates/create/hono/deno.json.hbs +5 -0
  24. package/templates/create/hono/package.json.hbs +4 -1
  25. package/templates/create/hono/prisma/schema.prisma.hbs +21 -0
  26. package/templates/create/hono/prisma/seed.ts.hbs +38 -0
  27. package/templates/create/hono/prisma.config.ts +13 -0
  28. package/templates/create/hono/src/index.ts.hbs +3 -3
  29. package/templates/create/hono/src/lib/prisma.ts.hbs +53 -0
  30. package/templates/create/hono/tsconfig.json +1 -2
  31. package/templates/create/next/.yarnrc.yml.hbs +3 -0
  32. package/templates/create/next/README.md.hbs +9 -6
  33. package/templates/create/next/deno.json.hbs +12 -0
  34. package/templates/create/next/package.json.hbs +4 -0
  35. package/templates/create/next/prisma/schema.prisma.hbs +21 -0
  36. package/templates/create/next/prisma/seed.ts.hbs +38 -0
  37. package/templates/create/next/prisma.config.ts +13 -0
  38. package/templates/create/next/src/app/globals.css +136 -0
  39. package/templates/create/next/src/app/page.tsx.hbs +104 -0
  40. package/templates/create/next/src/lib/prisma.ts.hbs +53 -0
  41. package/templates/create/nuxt/.yarnrc.yml.hbs +3 -0
  42. package/templates/create/nuxt/README.md.hbs +32 -0
  43. package/templates/create/nuxt/app/app.vue +4 -0
  44. package/templates/create/nuxt/app/pages/index.vue.hbs +230 -0
  45. package/templates/create/nuxt/deno.json.hbs +5 -0
  46. package/templates/create/nuxt/nuxt.config.ts +5 -0
  47. package/templates/create/nuxt/package.json.hbs +27 -0
  48. package/templates/create/nuxt/prisma/schema.prisma.hbs +21 -0
  49. package/templates/create/nuxt/prisma/seed.ts.hbs +38 -0
  50. package/templates/create/nuxt/prisma.config.ts +13 -0
  51. package/templates/create/nuxt/public/robots.txt +2 -0
  52. package/templates/create/nuxt/server/api/users.get.ts.hbs +36 -0
  53. package/templates/create/nuxt/server/utils/prisma.ts.hbs +53 -0
  54. package/templates/create/nuxt/tsconfig.json +17 -0
  55. package/templates/create/svelte/.vscode/extensions.json +3 -0
  56. package/templates/create/svelte/.yarnrc.yml.hbs +3 -0
  57. package/templates/create/svelte/README.md.hbs +34 -0
  58. package/templates/create/svelte/deno.json.hbs +5 -0
  59. package/templates/create/svelte/package.json.hbs +28 -0
  60. package/templates/create/svelte/prisma/schema.prisma.hbs +21 -0
  61. package/templates/create/svelte/prisma/seed.ts.hbs +87 -0
  62. package/templates/create/svelte/prisma.config.ts +13 -0
  63. package/templates/create/svelte/src/app.d.ts +13 -0
  64. package/templates/create/svelte/src/app.html +11 -0
  65. package/templates/create/svelte/src/lib/assets/favicon.svg +1 -0
  66. package/templates/create/svelte/src/lib/index.ts +1 -0
  67. package/templates/create/svelte/src/lib/server/prisma.ts.hbs +53 -0
  68. package/templates/create/svelte/src/routes/+layout.svelte +11 -0
  69. package/templates/create/svelte/src/routes/+page.server.ts.hbs +28 -0
  70. package/templates/create/svelte/src/routes/+page.svelte.hbs +350 -0
  71. package/templates/create/svelte/static/robots.txt +3 -0
  72. package/templates/create/svelte/svelte.config.js +13 -0
  73. package/templates/create/svelte/tsconfig.json +20 -0
  74. package/templates/create/svelte/vite.config.ts +6 -0
  75. package/templates/create/turborepo/.yarnrc.yml.hbs +3 -0
  76. package/templates/create/turborepo/README.md.hbs +29 -0
  77. package/templates/create/turborepo/apps/api/package.json.hbs +21 -0
  78. package/templates/create/turborepo/apps/api/src/index.ts.hbs +45 -0
  79. package/templates/create/turborepo/apps/api/tsconfig.json +17 -0
  80. package/templates/create/turborepo/deno.json.hbs +5 -0
  81. package/templates/create/turborepo/package.json.hbs +24 -0
  82. package/templates/create/turborepo/packages/db/package.json.hbs +17 -0
  83. package/templates/create/turborepo/packages/db/prisma/schema.prisma.hbs +21 -0
  84. package/templates/create/turborepo/packages/db/prisma/seed.ts.hbs +38 -0
  85. package/templates/create/turborepo/packages/db/prisma.config.ts +13 -0
  86. package/templates/create/turborepo/packages/db/src/client.ts.hbs +58 -0
  87. package/templates/create/turborepo/packages/db/src/index.ts +2 -0
  88. package/templates/create/turborepo/packages/db/tsconfig.json +19 -0
  89. package/templates/create/turborepo/turbo.json +34 -0
  90. package/dist/create-fJECj1B0.mjs +0 -1026
  91. package/templates/create/next/app/globals.css +0 -47
  92. package/templates/create/next/app/page.tsx.hbs +0 -40
  93. package/templates/init/prisma/index.ts.hbs +0 -44
  94. /package/templates/create/next/{app → src/app}/layout.tsx.hbs +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # create-prisma
2
2
 
3
- A modern Prisma 7 CLI with first-party project templates and great init DX.
3
+ A modern Prisma 7 CLI with first-party project templates and a smooth create flow.
4
4
 
5
5
  ## Stack
6
6
 
@@ -20,6 +20,18 @@ Run directly with Bun:
20
20
  bunx create-prisma@latest
21
21
  ```
22
22
 
23
+ Run directly with Yarn:
24
+
25
+ ```bash
26
+ yarn dlx create-prisma@latest
27
+ ```
28
+
29
+ Run directly with Deno:
30
+
31
+ ```bash
32
+ deno run -A npm:create-prisma@latest
33
+ ```
34
+
23
35
  Create a new project (default command):
24
36
 
25
37
  ```bash
@@ -38,40 +50,64 @@ Create a Next.js project non-interactively:
38
50
  create-prisma --name my-web --template next --provider postgresql
39
51
  ```
40
52
 
41
- Initialize Prisma explicitly in the current project:
53
+ Create a SvelteKit project non-interactively:
54
+
55
+ ```bash
56
+ create-prisma --name my-app --template svelte --provider postgresql
57
+ ```
58
+
59
+ Create an Astro project non-interactively:
42
60
 
43
61
  ```bash
44
- create-prisma init
62
+ create-prisma --name my-site --template astro --provider postgresql
63
+ ```
64
+
65
+ Create a Nuxt project non-interactively:
66
+
67
+ ```bash
68
+ create-prisma --name my-nuxt-app --template nuxt --provider postgresql
69
+ ```
70
+
71
+ Create a Turborepo project with a `packages/db` Prisma package:
72
+
73
+ ```bash
74
+ create-prisma --name my-monorepo --template turborepo --provider postgresql
45
75
  ```
46
76
 
47
77
  Set package manager non-interactively:
48
78
 
49
79
  ```bash
50
- create-prisma init --package-manager pnpm --install
80
+ create-prisma --name my-app --template hono --package-manager pnpm --install
51
81
  ```
52
82
 
53
83
  Skip Prisma Client generation:
54
84
 
55
85
  ```bash
56
- create-prisma init --no-generate
86
+ create-prisma --name my-app --template hono --no-generate
57
87
  ```
58
88
 
59
89
  Show verbose command output:
60
90
 
61
91
  ```bash
62
- create-prisma init --verbose
92
+ create-prisma --name my-app --template hono --verbose
63
93
  ```
64
94
 
65
95
  Run fully non-interactive with defaults:
66
96
 
67
97
  ```bash
68
- create-prisma init --yes
98
+ create-prisma --yes
69
99
  ```
70
100
 
71
101
  Use Prisma Postgres auto-provisioning for PostgreSQL:
72
102
 
73
103
  ```bash
74
- create-prisma init --provider postgresql --prisma-postgres
104
+ create-prisma --name my-app --template hono --provider postgresql --prisma-postgres
105
+ ```
106
+
107
+ Enable add-ons with individual flags:
108
+
109
+ ```bash
110
+ create-prisma --name my-app --template next --skills --mcp --extension
75
111
  ```
76
112
 
77
113
  Or run locally:
@@ -82,29 +118,32 @@ bun run build
82
118
  bun run start
83
119
  ```
84
120
 
85
- The CLI updates `package.json` with Prisma dependencies, optionally runs dependency installation with your selected package manager, and scaffolds Prisma 7 setup files from Handlebars templates:
121
+ The CLI updates `package.json` with Prisma dependencies, optionally runs dependency installation with your selected package manager, and scaffolds Prisma 7 setup files directly inside each app template:
86
122
  - `prisma/schema.prisma`
87
- - `prisma/index.ts`
123
+ - `prisma/seed.ts`
124
+ - `src/lib/prisma.ts` or `src/lib/server/prisma.ts`
88
125
  - `prisma.config.ts`
126
+ - `src/generated/prisma` or `server/generated/prisma` (Nuxt) or `packages/db/src/generated/prisma` (Turborepo)
89
127
  - `.env` (creates or updates `DATABASE_URL`, and writes `CLAIM_URL` when Prisma Postgres is provisioned)
90
128
  - runs `prisma generate` automatically after scaffolding
91
129
 
92
130
  `create` is the default command and currently supports:
93
- - templates: `hono`, `next`
131
+ - templates: `hono`, `next`, `svelte`, `astro`, `nuxt`, `turborepo`
94
132
  - project name via `--name`
95
133
  - schema presets via `--schema-preset empty|basic` (default: `basic`)
96
134
 
97
- `init` configures Prisma in the current project and supports schema presets too (default: `empty`).
98
- Both commands prompt for database choice, package manager, and whether to install dependencies now.
135
+ `create` prompts for database choice, package manager, and whether to install dependencies now.
99
136
  Supported providers in this flow: `postgresql`, `mysql`, `sqlite`, `sqlserver`, `cockroachdb`.
100
- Supported package managers: `bun`, `pnpm`, `npm`.
137
+ Supported package managers: `bun`, `deno`, `npm`, `pnpm`, `yarn`.
101
138
  Package manager prompt auto-detects from `package.json`/lockfiles/user agent and uses that as the initial selection.
102
139
  `--yes` accepts defaults (`postgresql`, detected package manager, Prisma Postgres enabled for PostgreSQL, install enabled) and skips prompts.
103
140
  `--no-generate` skips automatic `prisma generate`.
104
141
  `--verbose` prints full install/generate command output; default mode keeps output concise.
105
142
  `--force` (create only) allows scaffolding in a non-empty target directory.
106
- If Prisma files already exist, `init` asks whether to keep existing files or overwrite them.
107
- When `postgresql` is selected, `init` can provision Prisma Postgres via `create-db --json` and auto-fill `DATABASE_URL`.
143
+ Add-ons can be selected interactively or through flags: `--skills`, `--mcp`, `--extension`.
144
+ When add-ons are enabled, `create` prompts for the relevant agent and IDE selections, then installs curated Prisma skills (`skills@latest`), configures Prisma MCP (`add-mcp@latest`), and installs the Prisma IDE extension for supported IDE CLIs.
145
+ When `postgresql` is selected, `create` can provision Prisma Postgres via `create-db --json` and auto-fill `DATABASE_URL`.
146
+ Generated projects also include `db:seed` and configure Prisma's `migrations.seed` hook to run `tsx prisma/seed.ts`.
108
147
 
109
148
  ## Scripts
110
149
 
package/dist/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import "./create-fJECj1B0.mjs";
2
+ import "./create-DgN5mAMV.mjs";
3
3
  import { createCreatePrismaCli } from "./index.mjs";
4
4
 
5
5
  //#region src/cli.ts