@prisma/cli 3.0.0-alpha.0 → 3.0.0-alpha.2

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.
@@ -4,17 +4,15 @@ const DESCRIPTORS = [
4
4
  {
5
5
  id: "root",
6
6
  path: ["prisma"],
7
- description: "Unified Prisma CLI.",
8
- docsPath: "docs/product/command-principles.md",
9
- examples: ["prisma auth login", "prisma project list"],
10
- longDescription: "The Prisma CLI groups commands by developer workflow and keeps human and agent behavior aligned."
7
+ description: "The Prisma Developer Platform, from your terminal",
8
+ examples: ["prisma-cli auth login", "prisma-cli app deploy"],
9
+ longDescription: "Deploy your app with isolated infrastructure for every branch"
11
10
  },
12
11
  {
13
12
  id: "auth",
14
13
  path: ["prisma", "auth"],
15
- description: "Authentication and identity commands.",
16
- docsPath: "docs/product/command-spec.md#prisma-auth-login",
17
- examples: ["prisma auth login", "prisma auth whoami"]
14
+ description: "Manage local authentication for the CLI",
15
+ examples: ["prisma-cli auth login", "prisma-cli auth whoami"]
18
16
  },
19
17
  {
20
18
  id: "auth.login",
@@ -23,9 +21,8 @@ const DESCRIPTORS = [
23
21
  "auth",
24
22
  "login"
25
23
  ],
26
- description: "Start an authenticated CLI session.",
27
- docsPath: "docs/product/command-spec.md#prisma-auth-login",
28
- examples: ["prisma auth login"]
24
+ description: "Log in to your Prisma platform account",
25
+ examples: ["prisma-cli auth login"]
29
26
  },
30
27
  {
31
28
  id: "auth.logout",
@@ -34,9 +31,8 @@ const DESCRIPTORS = [
34
31
  "auth",
35
32
  "logout"
36
33
  ],
37
- description: "Clear the current CLI session.",
38
- docsPath: "docs/product/command-spec.md#prisma-auth-logout",
39
- examples: ["prisma auth logout"]
34
+ description: "Clear stored authentication credentials",
35
+ examples: ["prisma-cli auth logout"]
40
36
  },
41
37
  {
42
38
  id: "auth.whoami",
@@ -45,30 +41,26 @@ const DESCRIPTORS = [
45
41
  "auth",
46
42
  "whoami"
47
43
  ],
48
- description: "Show the current authenticated identity.",
49
- docsPath: "docs/product/command-spec.md#prisma-auth-whoami",
50
- examples: ["prisma auth whoami", "prisma auth whoami --json"]
44
+ description: "Show the authenticated user and accessible workspace",
45
+ examples: ["prisma-cli auth whoami", "prisma-cli auth whoami --json"]
51
46
  },
52
47
  {
53
48
  id: "project",
54
49
  path: ["prisma", "project"],
55
- description: "Project discovery and repo linking commands.",
56
- docsPath: "docs/product/command-spec.md#prisma-project-list",
57
- examples: ["prisma project list", "prisma project show"]
50
+ description: "Manage the link between this directory and a Prisma project",
51
+ examples: ["prisma-cli project list", "prisma-cli project show"]
58
52
  },
59
53
  {
60
54
  id: "app",
61
55
  path: ["prisma", "app"],
62
- description: "App deployment and release commands.",
63
- docsPath: "docs/product/command-spec.md#prisma-app-deploy---app-name---entry-path---build-type-autobunnextjs---http-port-port---env-namevalue",
64
- examples: ["prisma app build --build-type nextjs", "prisma app deploy --app hello-world --build-type nextjs --http-port 3000"]
56
+ description: "Manage apps and deployments for a project",
57
+ examples: ["prisma-cli app deploy", "prisma-cli app deploy --app hello-world --build-type nextjs --http-port 3000"]
65
58
  },
66
59
  {
67
60
  id: "branch",
68
61
  path: ["prisma", "branch"],
69
- description: "Branch context and safety commands.",
70
- docsPath: "docs/product/command-spec.md#prisma-branch-list",
71
- examples: ["prisma branch list", "prisma branch use production"]
62
+ description: "View your active Platform branches",
63
+ examples: ["prisma-cli branch list", "prisma-cli branch show"]
72
64
  },
73
65
  {
74
66
  id: "project.list",
@@ -77,9 +69,8 @@ const DESCRIPTORS = [
77
69
  "project",
78
70
  "list"
79
71
  ],
80
- description: "List projects for the authenticated workspace.",
81
- docsPath: "docs/product/command-spec.md#prisma-project-list",
82
- examples: ["prisma project list", "prisma project list --json"]
72
+ description: "List all projects in your workspace",
73
+ examples: ["prisma-cli project list", "prisma-cli project list --json"]
83
74
  },
84
75
  {
85
76
  id: "project.show",
@@ -88,9 +79,8 @@ const DESCRIPTORS = [
88
79
  "project",
89
80
  "show"
90
81
  ],
91
- description: "Show the linked project for the current repo.",
92
- docsPath: "docs/product/command-spec.md#prisma-project-show",
93
- examples: ["prisma project show", "prisma project show --json"]
82
+ description: "Show the Prisma project linked to this directory",
83
+ examples: ["prisma-cli project show", "prisma-cli project show --json"]
94
84
  },
95
85
  {
96
86
  id: "project.link",
@@ -99,9 +89,8 @@ const DESCRIPTORS = [
99
89
  "project",
100
90
  "link"
101
91
  ],
102
- description: "Link the current repo to an existing project.",
103
- docsPath: "docs/product/command-spec.md#prisma-project-link-project",
104
- examples: ["prisma project link", "prisma project link proj_123"]
92
+ description: "Link this directory to a Prisma project",
93
+ examples: ["prisma-cli project link", "prisma-cli project link proj_123"]
105
94
  },
106
95
  {
107
96
  id: "branch.list",
@@ -110,9 +99,8 @@ const DESCRIPTORS = [
110
99
  "branch",
111
100
  "list"
112
101
  ],
113
- description: "List branches for the linked project.",
114
- docsPath: "docs/product/command-spec.md#prisma-branch-list",
115
- examples: ["prisma branch list", "prisma branch list --json"]
102
+ description: "List active Platform branches linked to this project",
103
+ examples: ["prisma-cli branch list", "prisma-cli branch list --json"]
116
104
  },
117
105
  {
118
106
  id: "branch.show",
@@ -121,9 +109,8 @@ const DESCRIPTORS = [
121
109
  "branch",
122
110
  "show"
123
111
  ],
124
- description: "Show the current active branch context.",
125
- docsPath: "docs/product/command-spec.md#prisma-branch-show",
126
- examples: ["prisma branch show", "prisma branch show --json"]
112
+ description: "Show the Platform branch matching your current Git branch",
113
+ examples: ["prisma-cli branch show", "prisma-cli branch show --json"]
127
114
  },
128
115
  {
129
116
  id: "branch.use",
@@ -133,8 +120,7 @@ const DESCRIPTORS = [
133
120
  "use"
134
121
  ],
135
122
  description: "Change the local default branch context.",
136
- docsPath: "docs/product/command-spec.md#prisma-branch-use-name",
137
- examples: ["prisma branch use", "prisma branch use production"]
123
+ examples: ["prisma-cli branch use", "prisma-cli branch use production"]
138
124
  },
139
125
  {
140
126
  id: "app.build",
@@ -143,9 +129,12 @@ const DESCRIPTORS = [
143
129
  "app",
144
130
  "build"
145
131
  ],
146
- description: "Build the local app into a deployable artifact.",
147
- docsPath: "docs/product/command-spec.md#prisma-app-build---entry-path---build-type-autobunnextjs",
148
- examples: ["prisma app build --build-type nextjs", "prisma app build --build-type bun --entry server.ts"]
132
+ description: "Build the app locally into a deployable artifact",
133
+ examples: [
134
+ "prisma-cli app build --build-type nextjs",
135
+ "prisma-cli app build --build-type nuxt",
136
+ "prisma-cli app build --build-type bun --entry server.ts"
137
+ ]
149
138
  },
150
139
  {
151
140
  id: "app.run",
@@ -154,9 +143,8 @@ const DESCRIPTORS = [
154
143
  "app",
155
144
  "run"
156
145
  ],
157
- description: "Start a local framework dev server.",
158
- docsPath: "docs/product/command-spec.md#prisma-app-run---entry-path---build-type-autobunnextjs---port-port",
159
- examples: ["prisma app run --build-type nextjs", "prisma app run --build-type bun --entry server.ts --port 3000"]
146
+ description: "Run your app locally",
147
+ examples: ["prisma-cli app run --build-type nextjs", "prisma-cli app run --build-type bun --entry server.ts --port 3000"]
160
148
  },
161
149
  {
162
150
  id: "app.deploy",
@@ -165,12 +153,12 @@ const DESCRIPTORS = [
165
153
  "app",
166
154
  "deploy"
167
155
  ],
168
- description: "Build and release the selected app.",
169
- docsPath: "docs/product/command-spec.md#prisma-app-deploy---app-name---entry-path---build-type-autobunnextjs---http-port-port---env-namevalue",
156
+ description: "Creates a new deployment for the app",
170
157
  examples: [
171
- "prisma app deploy",
172
- "prisma app deploy --app hello-world --env DATABASE_URL=postgresql://example",
173
- "prisma app deploy --app hello-world --build-type nextjs --http-port 3000"
158
+ "prisma-cli app deploy",
159
+ "prisma-cli app deploy --app hello-world --env DATABASE_URL=postgresql://example",
160
+ "prisma-cli app deploy --app hello-world --build-type nextjs --http-port 3000",
161
+ "prisma-cli app deploy --app hello-world --build-type nuxt"
174
162
  ]
175
163
  },
176
164
  {
@@ -181,8 +169,7 @@ const DESCRIPTORS = [
181
169
  "update-env"
182
170
  ],
183
171
  description: "Create a new deployment with updated environment variables.",
184
- docsPath: "docs/product/command-spec.md#prisma-app-update-env---app-name---env-namevalue",
185
- examples: ["prisma app update-env --env DATABASE_URL=postgresql://example", "prisma app update-env --app hello-world --env DATABASE_URL=postgresql://another"]
172
+ examples: ["prisma-cli app update-env --env DATABASE_URL=postgresql://example", "prisma-cli app update-env --app hello-world --env DATABASE_URL=postgresql://another"]
186
173
  },
187
174
  {
188
175
  id: "app.list-env",
@@ -192,8 +179,7 @@ const DESCRIPTORS = [
192
179
  "list-env"
193
180
  ],
194
181
  description: "List environment variable names for the selected app.",
195
- docsPath: "docs/product/command-spec.md#prisma-app-list-env---app-name",
196
- examples: ["prisma app list-env", "prisma app list-env --app hello-world"]
182
+ examples: ["prisma-cli app list-env", "prisma-cli app list-env --app hello-world"]
197
183
  },
198
184
  {
199
185
  id: "app.show",
@@ -202,9 +188,8 @@ const DESCRIPTORS = [
202
188
  "app",
203
189
  "show"
204
190
  ],
205
- description: "Show the current state of the selected app.",
206
- docsPath: "docs/product/command-spec.md#prisma-app-show---app-name",
207
- examples: ["prisma app show", "prisma app show --app hello-world"]
191
+ description: "Show the app and its current deployment",
192
+ examples: ["prisma-cli app show", "prisma-cli app show --app hello-world"]
208
193
  },
209
194
  {
210
195
  id: "app.open",
@@ -213,9 +198,8 @@ const DESCRIPTORS = [
213
198
  "app",
214
199
  "open"
215
200
  ],
216
- description: "Open the live URL for the selected app.",
217
- docsPath: "docs/product/command-spec.md#prisma-app-open---app-name",
218
- examples: ["prisma app open", "prisma app open --app hello-world"]
201
+ description: "Open the app's live URL",
202
+ examples: ["prisma-cli app open", "prisma-cli app open --app hello-world"]
219
203
  },
220
204
  {
221
205
  id: "app.logs",
@@ -224,9 +208,8 @@ const DESCRIPTORS = [
224
208
  "app",
225
209
  "logs"
226
210
  ],
227
- description: "Show or stream logs for a deployment.",
228
- docsPath: "docs/product/command-spec.md#prisma-app-logs---app-name---deployment-id",
229
- examples: ["prisma app logs", "prisma app logs --deployment dep_123"]
211
+ description: "Stream logs for the app's current deployment",
212
+ examples: ["prisma-cli app logs", "prisma-cli app logs --deployment dep_123"]
230
213
  },
231
214
  {
232
215
  id: "app.list-deploys",
@@ -235,9 +218,8 @@ const DESCRIPTORS = [
235
218
  "app",
236
219
  "list-deploys"
237
220
  ],
238
- description: "List deployments for the selected app.",
239
- docsPath: "docs/product/command-spec.md#prisma-app-list-deploys---app-name",
240
- examples: ["prisma app list-deploys", "prisma app list-deploys --app hello-world"]
221
+ description: "List deployments for the app",
222
+ examples: ["prisma-cli app list-deploys", "prisma-cli app list-deploys --app hello-world"]
241
223
  },
242
224
  {
243
225
  id: "app.show-deploy",
@@ -246,9 +228,8 @@ const DESCRIPTORS = [
246
228
  "app",
247
229
  "show-deploy"
248
230
  ],
249
- description: "Show one deployment in detail.",
250
- docsPath: "docs/product/command-spec.md#prisma-app-show-deploy-deployment",
251
- examples: ["prisma app show-deploy dep_123"]
231
+ description: "Show a deployment in detail",
232
+ examples: ["prisma-cli app show-deploy dep_123"]
252
233
  },
253
234
  {
254
235
  id: "app.promote",
@@ -257,9 +238,8 @@ const DESCRIPTORS = [
257
238
  "app",
258
239
  "promote"
259
240
  ],
260
- description: "Switch the live deployment for the selected app.",
261
- docsPath: "docs/product/command-spec.md#prisma-app-promote-deployment---app-name",
262
- examples: ["prisma app promote dep_123", "prisma app promote dep_123 --app hello-world"]
241
+ description: "Promote a deployment to production by rebuilding with production env vars",
242
+ examples: ["prisma-cli app promote dep_123", "prisma-cli app promote dep_123 --app hello-world"]
263
243
  },
264
244
  {
265
245
  id: "app.rollback",
@@ -268,9 +248,8 @@ const DESCRIPTORS = [
268
248
  "app",
269
249
  "rollback"
270
250
  ],
271
- description: "Restore the selected app to an earlier deployment.",
272
- docsPath: "docs/product/command-spec.md#prisma-app-rollback---app-name---to-deployment",
273
- examples: ["prisma app rollback", "prisma app rollback --app hello-world --to dep_123"]
251
+ description: "Roll back production to a previous deployment",
252
+ examples: ["prisma-cli app rollback", "prisma-cli app rollback --app hello-world --to dep_123"]
274
253
  },
275
254
  {
276
255
  id: "app.remove",
@@ -279,9 +258,8 @@ const DESCRIPTORS = [
279
258
  "app",
280
259
  "remove"
281
260
  ],
282
- description: "Remove the selected app from the linked project.",
283
- docsPath: "docs/product/command-spec.md#prisma-app-remove---app-name--y---yes",
284
- examples: ["prisma app remove --app hello-world", "prisma app remove --app hello-world --yes"]
261
+ description: "Remove the app from the current branch",
262
+ examples: ["prisma-cli app remove --app hello-world", "prisma-cli app remove --app hello-world --yes"]
285
263
  }
286
264
  ];
287
265
  const DESCRIPTORS_BY_ID = new Map(DESCRIPTORS.map((descriptor) => [descriptor.id, descriptor]));
@@ -40,13 +40,13 @@ function usageError(summary, why, fix, nextSteps = [], domain = "cli") {
40
40
  nextSteps
41
41
  });
42
42
  }
43
- function authRequiredError(nextSteps = ["prisma auth login"]) {
43
+ function authRequiredError(nextSteps = ["prisma-cli auth login"]) {
44
44
  return new CliError({
45
45
  code: "AUTH_REQUIRED",
46
46
  domain: "auth",
47
47
  summary: "Authentication required",
48
48
  why: "This command needs an authenticated session.",
49
- fix: "Run prisma auth login, or rerun the command in a TTY to sign in interactively.",
49
+ fix: "Run prisma-cli auth login, or rerun the command in a TTY to sign in interactively.",
50
50
  exitCode: 1,
51
51
  nextSteps
52
52
  });
@@ -1,8 +1,19 @@
1
1
  import { Option } from "commander";
2
2
  //#region src/shell/global-flags.ts
3
+ const COMPACT_GLOBAL_OPTION_FLAGS = [
4
+ "--json",
5
+ "-q, --quiet",
6
+ "-v, --verbose",
7
+ "--trace",
8
+ "--no-interactive",
9
+ "-y, --yes"
10
+ ];
3
11
  function addGlobalFlags(command) {
4
12
  return command.option("--json", "Emit structured JSON output.").option("-q, --quiet", "Reduce human-oriented output.").option("-v, --verbose", "Increase human-oriented output detail.").option("--trace", "Show deeper diagnostics for failures.").option("-y, --yes", "Accept supported confirmation prompts.").addOption(new Option("--interactive", "Force interactive behavior when prompts are supported.")).addOption(new Option("--no-interactive", "Disable interactive behavior and prompts.")).addOption(new Option("--color", "Force color output in supported terminals.")).addOption(new Option("--no-color", "Disable color output."));
5
13
  }
14
+ function addCompactGlobalFlags(command) {
15
+ return command.option("--json", "Emit structured JSON output.").option("-q, --quiet", "Reduce human-oriented output.").option("-v, --verbose", "Increase human-oriented output detail.").option("--trace", "Show deeper diagnostics for failures.").addOption(new Option("--no-interactive", "Disable interactive behavior and prompts.")).option("-y, --yes", "Accept supported confirmation prompts.");
16
+ }
6
17
  function getExplicitBoolean(argv, positive, negative) {
7
18
  for (let index = argv.length - 1; index >= 0; index -= 1) {
8
19
  const value = argv[index];
@@ -22,4 +33,4 @@ function resolveGlobalFlags(argv, options) {
22
33
  };
23
34
  }
24
35
  //#endregion
25
- export { addGlobalFlags, resolveGlobalFlags };
36
+ export { COMPACT_GLOBAL_OPTION_FLAGS, addCompactGlobalFlags, addGlobalFlags, resolveGlobalFlags };
@@ -1,5 +1,5 @@
1
1
  import { formatDescriptorLabel, getDescriptorForCommand } from "./command-meta.js";
2
- import { resolveGlobalFlags } from "./global-flags.js";
2
+ import { COMPACT_GLOBAL_OPTION_FLAGS, resolveGlobalFlags } from "./global-flags.js";
3
3
  import { createShellUi, padDisplay, wrapText } from "./ui.js";
4
4
  //#region src/shell/help.ts
5
5
  function renderHelp(command, runtime) {
@@ -10,8 +10,14 @@ function renderHelp(command, runtime) {
10
10
  const visibleCommands = command.commands.filter((candidate) => candidate.name() !== "help" && !candidate.hidden);
11
11
  const visibleOptions = command.options.filter((candidate) => !candidate.hidden);
12
12
  if (visibleCommands.length > 0) lines.push(...renderCommandRows(rail, ui, visibleCommands));
13
+ if (descriptor.longDescription) {
14
+ lines.push(`${rail}`);
15
+ const wrapped = wrapText(descriptor.longDescription, Math.max(ui.width - 3, 40));
16
+ for (const line of wrapped) lines.push(`${rail} ${line}`);
17
+ }
13
18
  if (visibleOptions.length > 0) {
14
19
  if (visibleCommands.length > 0) lines.push(`${rail}`);
20
+ if (visibleCommands.length > 0 && visibleOptions.every((option) => COMPACT_GLOBAL_OPTION_FLAGS.includes(option.flags))) lines.push(`${rail} Global options:`);
15
21
  lines.push(...renderOptionRows(rail, ui, visibleOptions));
16
22
  }
17
23
  if (descriptor.examples && descriptor.examples.length > 0) {
@@ -19,11 +25,6 @@ function renderHelp(command, runtime) {
19
25
  lines.push(`${rail} Examples:`);
20
26
  for (const example of descriptor.examples) lines.push(`${rail} $ ${example}`);
21
27
  }
22
- if (descriptor.longDescription) {
23
- lines.push(`${rail}`);
24
- const wrapped = wrapText(descriptor.longDescription, Math.max(ui.width - 3, 40));
25
- for (const line of wrapped) lines.push(`${rail} ${line}`);
26
- }
27
28
  if (descriptor.docsPath) {
28
29
  lines.push(`${rail}`);
29
30
  lines.push(`${rail} ${ui.accent(padDisplay("Read more", 16))} ${ui.link(descriptor.docsPath)}`);
@@ -18,23 +18,23 @@ function createAuthUseCases(dependencies) {
18
18
  listProviders: async () => dependencies.identityGateway.listProviders(),
19
19
  resolveProvider: async (providerId) => {
20
20
  const provider = dependencies.identityGateway.getProvider(providerId);
21
- if (!provider) throw usageError("Login requires a valid mock provider", `The mock provider "${providerId}" does not exist.`, "Use --provider github or --provider google.", ["prisma auth login"], "auth");
21
+ if (!provider) throw usageError("Login requires a valid mock provider", `The mock provider "${providerId}" does not exist.`, "Use --provider github or --provider google.", ["prisma-cli auth login"], "auth");
22
22
  return provider;
23
23
  },
24
24
  listUsersForProvider: async (providerId) => {
25
25
  const users = dependencies.identityGateway.listUsersForProvider(providerId);
26
- if (users.length === 0) throw usageError("Login requires a valid mock user", `No mock users support provider "${providerId}".`, "Update the fixture data or choose a different provider.", ["prisma auth login"], "auth");
26
+ if (users.length === 0) throw usageError("Login requires a valid mock user", `No mock users support provider "${providerId}".`, "Update the fixture data or choose a different provider.", ["prisma-cli auth login"], "auth");
27
27
  return users;
28
28
  },
29
29
  resolveUserForProvider: async (providerId, userId) => {
30
30
  const user = dependencies.identityGateway.getUserForProvider(providerId, userId);
31
- if (!user) throw usageError("Login requires a valid mock user", `The mock user "${userId}" is not available for provider "${providerId}".`, "Choose a user that supports the selected provider.", ["prisma auth login"], "auth");
31
+ if (!user) throw usageError("Login requires a valid mock user", `The mock user "${userId}" is not available for provider "${providerId}".`, "Choose a user that supports the selected provider.", ["prisma-cli auth login"], "auth");
32
32
  return user;
33
33
  },
34
34
  listWorkspacesForUser: async (userId) => dependencies.identityGateway.listUserWorkspaces(userId),
35
35
  resolveWorkspaceForUser: async (userId, workspaceId) => {
36
36
  const workspace = dependencies.identityGateway.getUserWorkspace(userId, workspaceId);
37
- if (!workspace) throw usageError("Login requires a valid mock workspace", `The mock workspace "${workspaceId}" is not available for the selected user.`, "Choose a workspace that the selected user can access.", ["prisma auth login"], "auth");
37
+ if (!workspace) throw usageError("Login requires a valid mock workspace", `The mock workspace "${workspaceId}" is not available for the selected user.`, "Choose a workspace that the selected user can access.", ["prisma-cli auth login"], "auth");
38
38
  return workspace;
39
39
  }
40
40
  };
@@ -50,7 +50,7 @@ function createCliUseCaseGateways(context) {
50
50
  try {
51
51
  await writeLinkedProjectId(context.runtime.cwd, projectId);
52
52
  } catch (error) {
53
- if (error instanceof UnsafeConfigWriteError) throw usageError("Project link requires a writable Prisma config", error.message, "Update prisma.config.ts to use a recognizable project field, or remove it and rerun prisma project link.", ["prisma project link proj_123"], "project");
53
+ if (error instanceof UnsafeConfigWriteError) throw usageError("Project link requires a writable Prisma config", error.message, "Update prisma.config.ts to use a recognizable project field, or remove it and rerun prisma-cli project link.", ["prisma-cli project link proj_123"], "project");
54
54
  throw error;
55
55
  }
56
56
  }
@@ -36,7 +36,7 @@ function createProjectUseCases(dependencies) {
36
36
  link: async (authState, projectId) => {
37
37
  const workspace = requireWorkspace(authState);
38
38
  const project = dependencies.projectGateway.getProjectForWorkspace(workspace.id, projectId);
39
- if (!project) throw projectNotFoundError(`The project "${projectId}" does not exist in workspace "${workspace.name}".`, "Run prisma project list and choose a project id from the active workspace.");
39
+ if (!project) throw projectNotFoundError(`The project "${projectId}" does not exist in workspace "${workspace.name}".`, "Run prisma-cli project list and choose a project id from the active workspace.");
40
40
  await dependencies.projectConfigGateway.writeLinkedProjectId(project.id);
41
41
  return {
42
42
  linkedProjectId: project.id,
@@ -60,7 +60,7 @@ function toProjectSummary(project) {
60
60
  name: project.name
61
61
  };
62
62
  }
63
- function projectNotFoundError(why, fix, nextSteps = ["prisma project list"]) {
63
+ function projectNotFoundError(why, fix, nextSteps = ["prisma-cli project list"]) {
64
64
  return new CliError({
65
65
  code: "PROJECT_NOT_FOUND",
66
66
  domain: "project",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/cli",
3
- "version": "3.0.0-alpha.0",
3
+ "version": "3.0.0-alpha.2",
4
4
  "description": "Preview of the unified Prisma CLI.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -36,7 +36,7 @@
36
36
  "license": "Apache-2.0",
37
37
  "dependencies": {
38
38
  "@clack/prompts": "^1.2.0",
39
- "@prisma/compute-sdk": "^0.14.0",
39
+ "@prisma/compute-sdk": "^0.17.0",
40
40
  "c12": "4.0.0-beta.4",
41
41
  "@prisma/credentials-store": "^7.7.0",
42
42
  "@prisma/management-api-sdk": "^1.24.0",