create-prisma 0.1.3 → 0.2.0-pr.18.15.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 (110) hide show
  1. package/README.md +74 -18
  2. package/dist/cli.mjs +1 -1
  3. package/dist/create-C1pjI-gt.mjs +1684 -0
  4. package/dist/index.d.mts +34 -57
  5. package/dist/index.mjs +10 -21
  6. package/package.json +26 -20
  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/eslint.config.mjs +1 -6
  35. package/templates/create/next/package.json.hbs +4 -0
  36. package/templates/create/next/prisma/schema.prisma.hbs +21 -0
  37. package/templates/create/next/prisma/seed.ts.hbs +38 -0
  38. package/templates/create/next/prisma.config.ts +13 -0
  39. package/templates/create/next/src/app/globals.css +130 -0
  40. package/templates/create/next/src/app/page.tsx.hbs +104 -0
  41. package/templates/create/next/src/lib/prisma.ts.hbs +53 -0
  42. package/templates/create/nuxt/.yarnrc.yml.hbs +3 -0
  43. package/templates/create/nuxt/README.md.hbs +32 -0
  44. package/templates/create/nuxt/app/app.vue +4 -0
  45. package/templates/create/nuxt/app/pages/index.vue.hbs +230 -0
  46. package/templates/create/nuxt/deno.json.hbs +5 -0
  47. package/templates/create/nuxt/nuxt.config.ts +5 -0
  48. package/templates/create/nuxt/package.json.hbs +27 -0
  49. package/templates/create/nuxt/prisma/schema.prisma.hbs +21 -0
  50. package/templates/create/nuxt/prisma/seed.ts.hbs +38 -0
  51. package/templates/create/nuxt/prisma.config.ts +13 -0
  52. package/templates/create/nuxt/public/robots.txt +2 -0
  53. package/templates/create/nuxt/server/api/users.get.ts.hbs +36 -0
  54. package/templates/create/nuxt/server/utils/prisma.ts.hbs +53 -0
  55. package/templates/create/nuxt/tsconfig.json +17 -0
  56. package/templates/create/svelte/.vscode/extensions.json +3 -0
  57. package/templates/create/svelte/.yarnrc.yml.hbs +3 -0
  58. package/templates/create/svelte/README.md.hbs +34 -0
  59. package/templates/create/svelte/deno.json.hbs +5 -0
  60. package/templates/create/svelte/package.json.hbs +28 -0
  61. package/templates/create/svelte/prisma/schema.prisma.hbs +21 -0
  62. package/templates/create/svelte/prisma/seed.ts.hbs +87 -0
  63. package/templates/create/svelte/prisma.config.ts +13 -0
  64. package/templates/create/svelte/src/app.d.ts +13 -0
  65. package/templates/create/svelte/src/app.html +11 -0
  66. package/templates/create/svelte/src/lib/assets/favicon.svg +1 -0
  67. package/templates/create/svelte/src/lib/index.ts +1 -0
  68. package/templates/create/svelte/src/lib/server/prisma.ts.hbs +53 -0
  69. package/templates/create/svelte/src/routes/+layout.svelte +11 -0
  70. package/templates/create/svelte/src/routes/+page.server.ts.hbs +28 -0
  71. package/templates/create/svelte/src/routes/+page.svelte.hbs +350 -0
  72. package/templates/create/svelte/static/robots.txt +3 -0
  73. package/templates/create/svelte/svelte.config.js +13 -0
  74. package/templates/create/svelte/tsconfig.json +20 -0
  75. package/templates/create/svelte/vite.config.ts +6 -0
  76. package/templates/create/tanstack-start/.yarnrc.yml.hbs +4 -0
  77. package/templates/create/tanstack-start/README.md.hbs +31 -0
  78. package/templates/create/tanstack-start/deno.json.hbs +13 -0
  79. package/templates/create/tanstack-start/package.json.hbs +33 -0
  80. package/templates/create/tanstack-start/prisma/schema.prisma.hbs +22 -0
  81. package/templates/create/tanstack-start/prisma/seed.ts.hbs +37 -0
  82. package/templates/create/tanstack-start/prisma.config.ts +13 -0
  83. package/templates/create/tanstack-start/src/lib/prisma.server.ts.hbs +53 -0
  84. package/templates/create/tanstack-start/src/routeTree.gen.ts +74 -0
  85. package/templates/create/tanstack-start/src/router.tsx +18 -0
  86. package/templates/create/tanstack-start/src/routes/__root.tsx.hbs +71 -0
  87. package/templates/create/tanstack-start/src/routes/index.tsx.hbs +145 -0
  88. package/templates/create/tanstack-start/src/styles.css +187 -0
  89. package/templates/create/tanstack-start/tsconfig.json +22 -0
  90. package/templates/create/tanstack-start/vite.config.ts +8 -0
  91. package/templates/create/turborepo/.yarnrc.yml.hbs +3 -0
  92. package/templates/create/turborepo/README.md.hbs +29 -0
  93. package/templates/create/turborepo/apps/api/package.json.hbs +21 -0
  94. package/templates/create/turborepo/apps/api/src/index.ts.hbs +45 -0
  95. package/templates/create/turborepo/apps/api/tsconfig.json +15 -0
  96. package/templates/create/turborepo/deno.json.hbs +5 -0
  97. package/templates/create/turborepo/package.json.hbs +24 -0
  98. package/templates/create/turborepo/packages/db/package.json.hbs +17 -0
  99. package/templates/create/turborepo/packages/db/prisma/schema.prisma.hbs +21 -0
  100. package/templates/create/turborepo/packages/db/prisma/seed.ts.hbs +38 -0
  101. package/templates/create/turborepo/packages/db/prisma.config.ts +13 -0
  102. package/templates/create/turborepo/packages/db/src/client.ts.hbs +58 -0
  103. package/templates/create/turborepo/packages/db/src/index.ts +2 -0
  104. package/templates/create/turborepo/packages/db/tsconfig.json +15 -0
  105. package/templates/create/turborepo/turbo.json +28 -0
  106. package/dist/create-fJECj1B0.mjs +0 -1026
  107. package/templates/create/next/app/globals.css +0 -47
  108. package/templates/create/next/app/page.tsx.hbs +0 -40
  109. package/templates/init/prisma/index.ts.hbs +0 -44
  110. /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,79 +50,120 @@ 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:
60
+
61
+ ```bash
62
+ create-prisma --name my-site --template astro --provider postgresql
63
+ ```
64
+
65
+ Create a Nuxt project non-interactively:
42
66
 
43
67
  ```bash
44
- create-prisma init
68
+ create-prisma --name my-nuxt-app --template nuxt --provider postgresql
69
+ ```
70
+
71
+ Create a TanStack Start project non-interactively:
72
+
73
+ ```bash
74
+ create-prisma --name my-start-app --template tanstack-start --provider postgresql
75
+ ```
76
+
77
+ Create a Turborepo project with a `packages/db` Prisma package:
78
+
79
+ ```bash
80
+ create-prisma --name my-monorepo --template turborepo --provider postgresql
45
81
  ```
46
82
 
47
83
  Set package manager non-interactively:
48
84
 
49
85
  ```bash
50
- create-prisma init --package-manager pnpm --install
86
+ create-prisma --name my-app --template hono --package-manager pnpm --install
51
87
  ```
52
88
 
53
89
  Skip Prisma Client generation:
54
90
 
55
91
  ```bash
56
- create-prisma init --no-generate
92
+ create-prisma --name my-app --template hono --no-generate
57
93
  ```
58
94
 
59
95
  Show verbose command output:
60
96
 
61
97
  ```bash
62
- create-prisma init --verbose
98
+ create-prisma --name my-app --template hono --verbose
63
99
  ```
64
100
 
65
101
  Run fully non-interactive with defaults:
66
102
 
67
103
  ```bash
68
- create-prisma init --yes
104
+ create-prisma --yes
69
105
  ```
70
106
 
71
107
  Use Prisma Postgres auto-provisioning for PostgreSQL:
72
108
 
73
109
  ```bash
74
- create-prisma init --provider postgresql --prisma-postgres
110
+ create-prisma --name my-app --template hono --provider postgresql --prisma-postgres
111
+ ```
112
+
113
+ Enable add-ons with individual flags:
114
+
115
+ ```bash
116
+ create-prisma --name my-app --template next --skills --mcp --extension
75
117
  ```
76
118
 
77
119
  Or run locally:
78
120
 
79
121
  ```bash
80
122
  bun install
123
+ bun run lint
124
+ bun run format:check
81
125
  bun run build
82
126
  bun run start
83
127
  ```
84
128
 
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:
129
+ 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:
130
+
86
131
  - `prisma/schema.prisma`
87
- - `prisma/index.ts`
132
+ - `prisma/seed.ts`
133
+ - `src/lib/prisma.ts`, `src/lib/prisma.server.ts`, `src/lib/server/prisma.ts`, `server/utils/prisma.ts`, or `packages/db/src/client.ts`
88
134
  - `prisma.config.ts`
135
+ - `src/generated/prisma` or `server/generated/prisma` (Nuxt) or `packages/db/src/generated/prisma` (Turborepo)
89
136
  - `.env` (creates or updates `DATABASE_URL`, and writes `CLAIM_URL` when Prisma Postgres is provisioned)
90
137
  - runs `prisma generate` automatically after scaffolding
91
138
 
92
139
  `create` is the default command and currently supports:
93
- - templates: `hono`, `next`
140
+
141
+ - templates: `hono`, `next`, `svelte`, `astro`, `nuxt`, `tanstack-start`, `turborepo`
94
142
  - project name via `--name`
95
143
  - schema presets via `--schema-preset empty|basic` (default: `basic`)
96
144
 
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.
145
+ `create` prompts for database choice, package manager, and whether to install dependencies now.
99
146
  Supported providers in this flow: `postgresql`, `mysql`, `sqlite`, `sqlserver`, `cockroachdb`.
100
- Supported package managers: `bun`, `pnpm`, `npm`.
147
+ Supported package managers: `bun`, `deno`, `npm`, `pnpm`, `yarn`.
101
148
  Package manager prompt auto-detects from `package.json`/lockfiles/user agent and uses that as the initial selection.
102
149
  `--yes` accepts defaults (`postgresql`, detected package manager, Prisma Postgres enabled for PostgreSQL, install enabled) and skips prompts.
103
150
  `--no-generate` skips automatic `prisma generate`.
104
151
  `--verbose` prints full install/generate command output; default mode keeps output concise.
105
152
  `--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`.
153
+ Add-ons can be selected interactively or through flags: `--skills`, `--mcp`, `--extension`.
154
+ 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.
155
+ When `postgresql` is selected, `create` can provision Prisma Postgres via `create-db --json` and auto-fill `DATABASE_URL`.
156
+ Generated projects also include `db:seed` and configure Prisma's `migrations.seed` hook to run `tsx prisma/seed.ts`.
108
157
 
109
158
  ## Scripts
110
159
 
111
160
  - `bun run build` - Build to `dist/`
112
161
  - `bun run dev` - Watch mode build
113
162
  - `bun run start` - Run built CLI
163
+ - `bun run lint` - Run `oxlint` with warnings treated as failures
164
+ - `bun run lint:fix` - Apply safe `oxlint` fixes
165
+ - `bun run format` - Format the repo with `oxfmt`
166
+ - `bun run format:check` - Check formatting with `oxfmt`
114
167
  - `bun run typecheck` - TypeScript checks only
115
168
  - `bun run bump` - Create a release PR (interactive semver bump)
116
169
  - `bun run bump -- patch|minor|major|x.y.z` - Non-interactive bump
@@ -124,5 +177,8 @@ This repo uses a manual, script-driven release flow:
124
177
  1. Run `bun run bump` (or pass `patch|minor|major|x.y.z`).
125
178
  2. The script creates a `release/vX.Y.Z` branch and a PR with commit `chore(release): X.Y.Z`.
126
179
  3. Merge that PR to `main` with squash (keep commit title `chore(release): X.Y.Z`).
127
- 4. GitHub Actions creates the `vX.Y.Z` tag and GitHub Release notes via `changelogithub`.
128
- 5. GitHub Actions publishes only for `chore(release):` commits, using npm trusted publishing (OIDC, no npm token secret).
180
+ 4. GitHub Actions runs `bun run lint`, `bun run format:check`, `bun run typecheck`, and `bun run build` before publishing.
181
+ 5. GitHub Actions creates the `vX.Y.Z` tag and GitHub Release notes via `changelogithub`.
182
+ 6. GitHub Actions publishes only for `chore(release):` commits, using npm trusted publishing (OIDC, no npm token secret).
183
+
184
+ Every PR from a branch in this repository also publishes a preview package to npm using the dist-tag `pr<PR_NUMBER>`, so PR 3 is installable as `create-prisma@pr3`.
package/dist/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import "./create-fJECj1B0.mjs";
2
+ import "./create-C1pjI-gt.mjs";
3
3
  import { createCreatePrismaCli } from "./index.mjs";
4
4
 
5
5
  //#region src/cli.ts