netlify-cli 24.4.1 → 24.5.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 (76) hide show
  1. package/dist/commands/agents/types.d.ts +1 -0
  2. package/dist/commands/agents/types.d.ts.map +1 -1
  3. package/dist/commands/base-command.d.ts +1 -0
  4. package/dist/commands/base-command.d.ts.map +1 -1
  5. package/dist/commands/base-command.js +27 -2
  6. package/dist/commands/base-command.js.map +1 -1
  7. package/dist/commands/create/create-action.d.ts +18 -0
  8. package/dist/commands/create/create-action.d.ts.map +1 -0
  9. package/dist/commands/create/create-action.js +477 -0
  10. package/dist/commands/create/create-action.js.map +1 -0
  11. package/dist/commands/create/create.d.ts +3 -0
  12. package/dist/commands/create/create.d.ts.map +1 -0
  13. package/dist/commands/create/create.js +31 -0
  14. package/dist/commands/create/create.js.map +1 -0
  15. package/dist/commands/create/index.d.ts +2 -0
  16. package/dist/commands/create/index.d.ts.map +1 -0
  17. package/dist/commands/create/index.js +2 -0
  18. package/dist/commands/create/index.js.map +1 -0
  19. package/dist/commands/deploy/deploy.d.ts.map +1 -1
  20. package/dist/commands/deploy/deploy.js +57 -27
  21. package/dist/commands/deploy/deploy.js.map +1 -1
  22. package/dist/commands/deploy/index.d.ts.map +1 -1
  23. package/dist/commands/deploy/index.js +14 -4
  24. package/dist/commands/deploy/index.js.map +1 -1
  25. package/dist/commands/deploy/option_values.d.ts +1 -0
  26. package/dist/commands/deploy/option_values.d.ts.map +1 -1
  27. package/dist/commands/login/login-request.d.ts.map +1 -1
  28. package/dist/commands/login/login-request.js +6 -1
  29. package/dist/commands/login/login-request.js.map +1 -1
  30. package/dist/commands/login/login.d.ts.map +1 -1
  31. package/dist/commands/login/login.js +6 -0
  32. package/dist/commands/login/login.js.map +1 -1
  33. package/dist/commands/main.d.ts.map +1 -1
  34. package/dist/commands/main.js +4 -0
  35. package/dist/commands/main.js.map +1 -1
  36. package/dist/commands/sites/sites-create.d.ts.map +1 -1
  37. package/dist/commands/sites/sites-create.js +35 -13
  38. package/dist/commands/sites/sites-create.js.map +1 -1
  39. package/dist/commands/sites/sites.d.ts.map +1 -1
  40. package/dist/commands/sites/sites.js +8 -11
  41. package/dist/commands/sites/sites.js.map +1 -1
  42. package/dist/commands/status/status.d.ts.map +1 -1
  43. package/dist/commands/status/status.js +7 -1
  44. package/dist/commands/status/status.js.map +1 -1
  45. package/dist/commands/teams/index.d.ts +2 -0
  46. package/dist/commands/teams/index.d.ts.map +1 -0
  47. package/dist/commands/teams/index.js +2 -0
  48. package/dist/commands/teams/index.js.map +1 -0
  49. package/dist/commands/teams/teams-list.d.ts +4 -0
  50. package/dist/commands/teams/teams-list.d.ts.map +1 -0
  51. package/dist/commands/teams/teams-list.js +37 -0
  52. package/dist/commands/teams/teams-list.js.map +1 -0
  53. package/dist/commands/teams/teams.d.ts +3 -0
  54. package/dist/commands/teams/teams.d.ts.map +1 -0
  55. package/dist/commands/teams/teams.js +20 -0
  56. package/dist/commands/teams/teams.js.map +1 -0
  57. package/dist/tsconfig.build.tsbuildinfo +1 -1
  58. package/dist/utils/command-helpers.d.ts.map +1 -1
  59. package/dist/utils/command-helpers.js +3 -2
  60. package/dist/utils/command-helpers.js.map +1 -1
  61. package/dist/utils/scripted-commands.d.ts +1 -0
  62. package/dist/utils/scripted-commands.d.ts.map +1 -1
  63. package/dist/utils/scripted-commands.js +1 -0
  64. package/dist/utils/scripted-commands.js.map +1 -1
  65. package/dist/utils/team.d.ts +4 -0
  66. package/dist/utils/team.d.ts.map +1 -0
  67. package/dist/utils/team.js +22 -0
  68. package/dist/utils/team.js.map +1 -0
  69. package/dist/utils/types.d.ts +10 -0
  70. package/dist/utils/types.d.ts.map +1 -1
  71. package/dist/utils/validation.d.ts +1 -0
  72. package/dist/utils/validation.d.ts.map +1 -1
  73. package/dist/utils/validation.js +11 -0
  74. package/dist/utils/validation.js.map +1 -1
  75. package/npm-shrinkwrap.json +34 -34
  76. package/package.json +4 -4
@@ -0,0 +1,477 @@
1
+ import { execFile as execFileCb } from 'child_process';
2
+ import { createWriteStream } from 'fs';
3
+ import { mkdir, rm, unlink, readdir } from 'fs/promises';
4
+ import path from 'path';
5
+ import process from 'process';
6
+ import readline from 'readline';
7
+ import { pipeline } from 'stream/promises';
8
+ import { promisify } from 'util';
9
+ import extractZip from 'extract-zip';
10
+ import inquirer from 'inquirer';
11
+ import fetch from 'node-fetch';
12
+ import { LocalState } from '@netlify/dev-utils';
13
+ import { Octokit } from '@octokit/rest';
14
+ import { chalk, logAndThrowError, log, logJson, warn } from '../../utils/command-helpers.js';
15
+ import { ensureNetlifyIgnore } from '../../utils/gitignore.js';
16
+ import { getGitHubToken as promptForGitHubToken } from '../../utils/gh-auth.js';
17
+ import { startSpinner, stopSpinner } from '../../lib/spinner.js';
18
+ import { isInteractive } from '../../utils/scripted-commands.js';
19
+ import { track } from '../../utils/telemetry/index.js';
20
+ import { validatePrompt, validateAgent, formatStatus } from '../agents/utils.js';
21
+ const execFile = promisify(execFileCb);
22
+ const resolveGitHubToken = async (globalConfig) => {
23
+ const userId = globalConfig.get('userId');
24
+ if (userId) {
25
+ const cached = globalConfig.get(`users.${userId}.auth.github`);
26
+ if (cached?.token) {
27
+ try {
28
+ const octokit = new Octokit({ auth: `token ${cached.token}` });
29
+ await octokit.rest.users.getAuthenticated();
30
+ return cached.token;
31
+ }
32
+ catch {
33
+ // Token expired or invalid, fall through to re-auth
34
+ }
35
+ }
36
+ }
37
+ const newToken = await promptForGitHubToken();
38
+ if (userId) {
39
+ globalConfig.set(`users.${userId}.auth.github`, newToken);
40
+ }
41
+ return newToken.token;
42
+ };
43
+ const POLL_INTERVAL = 2000;
44
+ const TERMINAL_STATES = ['done', 'error', 'cancelled'];
45
+ const fetchAgentRunner = async (id, api) => {
46
+ const result = await api.getAgentRunner({ agent_runner_id: id });
47
+ return result;
48
+ };
49
+ const readMultilineInput = () => new Promise((resolve) => {
50
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
51
+ const lines = [];
52
+ rl.on('line', (line) => {
53
+ if (line === '' && lines.length > 0) {
54
+ rl.close();
55
+ return;
56
+ }
57
+ lines.push(line);
58
+ });
59
+ rl.on('close', () => {
60
+ resolve(lines.join('\n').trim());
61
+ });
62
+ });
63
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
64
+ // TODO: Replace with api client call once the deploy download endpoint is added to @netlify/open-api
65
+ const downloadAndExtractSource = async (deployId, projectDir, api, apiOpts) => {
66
+ const urlResponse = await fetch(`${apiOpts.scheme ?? 'https'}://${apiOpts.host ?? api.host}/api/v1/deploys/${deployId}/download`, {
67
+ headers: {
68
+ Authorization: `Bearer ${api.accessToken ?? ''}`,
69
+ 'User-Agent': apiOpts.userAgent,
70
+ },
71
+ });
72
+ if (!urlResponse.ok) {
73
+ throw new Error(`Failed to get source download URL (HTTP ${urlResponse.status.toString()})`);
74
+ }
75
+ const { url } = (await urlResponse.json());
76
+ const zipResponse = await fetch(url, { redirect: 'follow' });
77
+ if (!zipResponse.ok || !zipResponse.body) {
78
+ throw new Error(`Failed to download source zip (HTTP ${zipResponse.status.toString()})`);
79
+ }
80
+ await mkdir(projectDir, { recursive: true });
81
+ const tmpFile = path.join(projectDir, '_source.zip');
82
+ await pipeline(zipResponse.body, createWriteStream(tmpFile));
83
+ try {
84
+ await extractZip(tmpFile, { dir: projectDir });
85
+ }
86
+ finally {
87
+ await unlink(tmpFile);
88
+ }
89
+ };
90
+ const selectRepoOwner = async (ghToken, repoOwnerFlag) => {
91
+ if (repoOwnerFlag) {
92
+ return repoOwnerFlag;
93
+ }
94
+ const octokit = new Octokit({ auth: `token ${ghToken}` });
95
+ const { data: user } = await octokit.rest.users.getAuthenticated();
96
+ const { data: orgs } = await octokit.rest.orgs.listForAuthenticatedUser();
97
+ if (orgs.length === 0) {
98
+ return user.login;
99
+ }
100
+ const choices = [
101
+ { name: `${user.login} (personal)`, value: user.login },
102
+ ...orgs.map((org) => ({ name: org.login, value: org.login })),
103
+ ];
104
+ const { owner } = await inquirer.prompt([
105
+ {
106
+ type: 'list',
107
+ name: 'owner',
108
+ message: 'Where should the GitHub repo be created?',
109
+ choices,
110
+ },
111
+ ]);
112
+ return owner;
113
+ };
114
+ // TODO: Replace with api client call once the site repo endpoint is added to @netlify/open-api
115
+ const createGitHubRepo = async (siteId, repoName, providerToken, repoOwner, api, apiOpts) => {
116
+ const body = {
117
+ provider: 'github',
118
+ provider_token: providerToken,
119
+ repo_name: repoName,
120
+ repo_owner: repoOwner,
121
+ private: true,
122
+ create_initial_commit: true,
123
+ };
124
+ const response = await fetch(`${apiOpts.scheme ?? 'https'}://${apiOpts.host ?? api.host}/api/v1/sites/${siteId}/repo`, {
125
+ method: 'POST',
126
+ headers: {
127
+ Authorization: `Bearer ${api.accessToken ?? ''}`,
128
+ 'Content-Type': 'application/json',
129
+ 'User-Agent': apiOpts.userAgent,
130
+ },
131
+ body: JSON.stringify(body),
132
+ });
133
+ if (!response.ok) {
134
+ const errorData = (await response.json().catch(() => ({})));
135
+ throw new Error(errorData.error ?? `HTTP ${response.status.toString()}: ${response.statusText}`);
136
+ }
137
+ return (await response.json());
138
+ };
139
+ const PUSH_TERMINAL_STATES = ['complete', 'failed'];
140
+ const PUSH_STATE_LABELS = {
141
+ pending: 'Preparing to push to GitHub...',
142
+ fetching_files: 'Fetching source files...',
143
+ pushing: 'Pushing to GitHub...',
144
+ };
145
+ const pollRepoPush = async (siteId, api, spinner) => {
146
+ let lastState = '';
147
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
148
+ while (true) {
149
+ await sleep(POLL_INTERVAL);
150
+ const siteData = (await api.getSite({ siteId }));
151
+ const progress = siteData.git_initial_push_progress;
152
+ if (progress && progress.state !== lastState) {
153
+ lastState = progress.state;
154
+ const label = PUSH_STATE_LABELS[progress.state];
155
+ if (label) {
156
+ spinner.update({ text: label });
157
+ }
158
+ }
159
+ if (progress && PUSH_TERMINAL_STATES.includes(progress.state)) {
160
+ if (progress.state === 'failed') {
161
+ throw new Error(progress.error_message ?? 'Push to GitHub failed');
162
+ }
163
+ return siteData;
164
+ }
165
+ if (!progress && siteData.repo?.repo_path) {
166
+ return siteData;
167
+ }
168
+ }
169
+ };
170
+ export const createAction = async (promptArg, options, command) => {
171
+ const { accounts, api, apiOpts } = command.netlify;
172
+ await command.authenticate();
173
+ const { prompt, agent: initialAgent, model, name: siteName, dir, accountSlug: accountSlugFlag } = options;
174
+ // Resolve prompt
175
+ let finalPrompt;
176
+ if (!prompt && !promptArg) {
177
+ log(chalk.bold('What do you want to build? Type out the prompt for your project:'));
178
+ log(chalk.dim('(Press Enter on an empty line to submit)'));
179
+ finalPrompt = await readMultilineInput();
180
+ }
181
+ else {
182
+ finalPrompt = (promptArg || prompt) ?? '';
183
+ }
184
+ const promptIsValid = validatePrompt(finalPrompt);
185
+ if (promptIsValid !== true) {
186
+ return logAndThrowError(promptIsValid);
187
+ }
188
+ // Resolve agent (default to claude)
189
+ const agent = initialAgent ?? 'claude';
190
+ const agentIsValid = validateAgent(agent);
191
+ if (agentIsValid !== true) {
192
+ return logAndThrowError(agentIsValid);
193
+ }
194
+ // Resolve team
195
+ let accountSlug;
196
+ if (accountSlugFlag) {
197
+ accountSlug = accountSlugFlag;
198
+ }
199
+ else if (accounts.length > 1) {
200
+ const { accountSlug: selected } = await inquirer.prompt([
201
+ {
202
+ type: 'list',
203
+ name: 'accountSlug',
204
+ message: 'Team:',
205
+ choices: accounts.map((account) => ({
206
+ value: account.slug,
207
+ name: account.name,
208
+ })),
209
+ },
210
+ ]);
211
+ accountSlug = selected;
212
+ }
213
+ else {
214
+ accountSlug = accounts[0]?.slug;
215
+ }
216
+ if (!accountSlug) {
217
+ return logAndThrowError('No account found. Please log in first.');
218
+ }
219
+ // Step 1: Create site (with retry on name collision)
220
+ const MAX_NAME_RETRIES = 2;
221
+ const siteSpinner = startSpinner({ text: 'Creating project...' });
222
+ let site;
223
+ let nameAttempt = siteName;
224
+ let retries = 0;
225
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
226
+ while (true) {
227
+ try {
228
+ const body = { created_via: 'agent_runner' };
229
+ if (nameAttempt && nameAttempt !== 'undefined') {
230
+ body.name = nameAttempt.trim();
231
+ }
232
+ site = (await api.createSiteInTeam({
233
+ accountSlug,
234
+ body,
235
+ }));
236
+ stopSpinner({ spinner: siteSpinner });
237
+ log(`${chalk.green('✓')} Project created: ${chalk.cyan(site.name)}`);
238
+ break;
239
+ }
240
+ catch (error_) {
241
+ if (error_.status === 422 && siteName && retries < MAX_NAME_RETRIES) {
242
+ retries++;
243
+ const suffix = Math.floor(Math.random() * 900 + 100).toString();
244
+ nameAttempt = `${siteName}-${suffix}`;
245
+ warn(`${siteName}.netlify.app already exists. Trying ${nameAttempt}...`);
246
+ continue;
247
+ }
248
+ stopSpinner({ spinner: siteSpinner, error: true });
249
+ if (error_.status === 422) {
250
+ const name = nameAttempt ?? siteName;
251
+ return logAndThrowError(name
252
+ ? `Project name "${name}" is already taken. Please try a different name.`
253
+ : `Failed to create project: ${error_.message}`);
254
+ }
255
+ return logAndThrowError(`Failed to create project: ${error_.message}`);
256
+ }
257
+ }
258
+ // Step 2: Create agent runner
259
+ const agentSpinner = startSpinner({ text: 'Starting agent...' });
260
+ let agentRunner;
261
+ try {
262
+ // TODO: Replace with api.createAgentRunner() once @netlify/open-api supports body params and the mode field
263
+ const agentRunnerUrl = new URL(`/api/v1/agent_runners`, `${apiOpts.scheme ?? 'https'}://${apiOpts.host ?? api.host}`);
264
+ agentRunnerUrl.searchParams.set('site_id', site.id);
265
+ const response = await fetch(agentRunnerUrl, {
266
+ method: 'POST',
267
+ headers: {
268
+ Authorization: `Bearer ${api.accessToken ?? ''}`,
269
+ 'Content-Type': 'application/json',
270
+ 'User-Agent': apiOpts.userAgent,
271
+ },
272
+ body: JSON.stringify({
273
+ prompt: finalPrompt,
274
+ agent,
275
+ ...(model ? { model } : {}),
276
+ mode: 'create',
277
+ }),
278
+ });
279
+ if (!response.ok) {
280
+ const errorData = (await response.json().catch(() => ({})));
281
+ throw new Error(errorData.error ?? `HTTP ${response.status.toString()}: ${response.statusText}`);
282
+ }
283
+ agentRunner = (await response.json());
284
+ stopSpinner({ spinner: agentSpinner });
285
+ }
286
+ catch (error_) {
287
+ stopSpinner({ spinner: agentSpinner, error: true });
288
+ return logAndThrowError(`Failed to start agent: ${error_.message}`);
289
+ }
290
+ const agentRunUrl = `https://app.netlify.com/projects/${site.name}/agent-runs/${agentRunner.id}`;
291
+ const agentRunCreateUrl = `${agentRunUrl}/create`;
292
+ const showCmd = `netlify agents:show ${agentRunner.id} --project ${site.name}`;
293
+ const shouldSkipPolling = options.wait === false || options.json || !isInteractive();
294
+ if (shouldSkipPolling) {
295
+ void track('sites_createStarted', {
296
+ siteId: site.id,
297
+ agentRunnerId: agentRunner.id,
298
+ noWait: true,
299
+ });
300
+ if (options.json) {
301
+ logJson({
302
+ site: {
303
+ id: site.id,
304
+ name: site.name,
305
+ admin_url: site.admin_url,
306
+ },
307
+ agentRunner: {
308
+ id: agentRunner.id,
309
+ state: agentRunner.state,
310
+ url: agentRunCreateUrl,
311
+ },
312
+ });
313
+ return;
314
+ }
315
+ log();
316
+ log(`${chalk.green('✓')} Agent run started! The agent is now building your site in the background.`);
317
+ log();
318
+ log(chalk.bold('Next steps:'));
319
+ log(` View progress in the browser:`);
320
+ log(` ${chalk.blue(agentRunCreateUrl)}`);
321
+ log();
322
+ log(` Check status from the CLI:`);
323
+ log(` ${chalk.cyan(showCmd)}`);
324
+ log();
325
+ log(chalk.dim("The agent typically takes a few minutes to complete. You'll be able to see the site URL once it's done."));
326
+ log();
327
+ return;
328
+ }
329
+ // Step 3: Poll for completion
330
+ const pollSpinner = startSpinner({ text: 'Agent is working...' });
331
+ let lastTask = '';
332
+ try {
333
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
334
+ while (true) {
335
+ await sleep(POLL_INTERVAL);
336
+ const runner = await fetchAgentRunner(agentRunner.id, api);
337
+ if (runner.current_task && runner.current_task !== lastTask) {
338
+ lastTask = runner.current_task;
339
+ pollSpinner.update({ text: `Agent: ${runner.current_task}` });
340
+ }
341
+ if (TERMINAL_STATES.includes(runner.state ?? '')) {
342
+ agentRunner = runner;
343
+ break;
344
+ }
345
+ }
346
+ }
347
+ catch (error_) {
348
+ stopSpinner({ spinner: pollSpinner, error: true });
349
+ log();
350
+ log(` View details: ${chalk.blue(agentRunUrl)}`);
351
+ return logAndThrowError(`Error polling agent status: ${error_.message}`);
352
+ }
353
+ stopSpinner({ spinner: pollSpinner });
354
+ // Fetch final site info for URL
355
+ let finalSite;
356
+ try {
357
+ finalSite = (await api.getSite({ siteId: site.id }));
358
+ }
359
+ catch {
360
+ finalSite = site;
361
+ }
362
+ let githubRepoPath;
363
+ const siteUrl = finalSite.ssl_url || finalSite.url;
364
+ void track('sites_createCompleted', {
365
+ siteId: site.id,
366
+ agentRunnerId: agentRunner.id,
367
+ state: agentRunner.state,
368
+ });
369
+ if (agentRunner.state === 'done') {
370
+ log(`${chalk.green('✓')} Agent run complete!`);
371
+ // Step 4: Download source and link project
372
+ const projectDir = path.resolve(dir || '.', site.name);
373
+ const relativeDir = path.relative(command.workingDir, projectDir) || '.';
374
+ let downloaded = false;
375
+ if (options.download !== false && agentRunner.latest_session_deploy_id) {
376
+ let dirExists = false;
377
+ try {
378
+ const entries = await readdir(projectDir);
379
+ dirExists = entries.length > 0;
380
+ }
381
+ catch {
382
+ // Directory doesn't exist, which is what we want
383
+ }
384
+ if (dirExists) {
385
+ warn(`Directory ${relativeDir} already exists and is not empty. Skipping source download.`);
386
+ }
387
+ else {
388
+ const downloadSpinner = startSpinner({ text: 'Downloading source...' });
389
+ try {
390
+ await downloadAndExtractSource(agentRunner.latest_session_deploy_id, projectDir, api, apiOpts);
391
+ stopSpinner({ spinner: downloadSpinner });
392
+ log(`${chalk.green('✓')} Source downloaded to ${chalk.cyan(relativeDir)}`);
393
+ const state = new LocalState(projectDir);
394
+ state.set('siteId', site.id);
395
+ await ensureNetlifyIgnore(projectDir);
396
+ log(`${chalk.green('✓')} Project linked to ${chalk.cyan(site.name)}`);
397
+ downloaded = true;
398
+ }
399
+ catch (error_) {
400
+ stopSpinner({ spinner: downloadSpinner, error: true });
401
+ await rm(projectDir, { recursive: true, force: true }).catch(() => { });
402
+ warn(`Failed to download source: ${error_.message}`);
403
+ }
404
+ }
405
+ }
406
+ else if (options.download !== false && !agentRunner.latest_session_deploy_id) {
407
+ warn('No deploy found for this agent run. Skipping source download.');
408
+ }
409
+ // Step 5: Create GitHub repo and push source
410
+ if (options.git) {
411
+ if (options.git !== 'github') {
412
+ warn(`Unsupported git provider "${options.git}". Only "github" is supported.`);
413
+ }
414
+ else {
415
+ try {
416
+ const ghToken = await resolveGitHubToken(command.netlify.globalConfig);
417
+ const repoOwner = await selectRepoOwner(ghToken, options.repoOwner);
418
+ const repoSpinner = startSpinner({ text: 'Creating GitHub repository...' });
419
+ try {
420
+ await createGitHubRepo(site.id, site.name, ghToken, repoOwner, api, apiOpts);
421
+ repoSpinner.update({ text: 'Pushing source to GitHub...' });
422
+ await pollRepoPush(site.id, api, repoSpinner);
423
+ stopSpinner({ spinner: repoSpinner });
424
+ githubRepoPath = `${repoOwner}/${site.name}`;
425
+ log(`${chalk.green('✓')} GitHub repo created: ${chalk.cyan(`https://github.com/${githubRepoPath}`)}`);
426
+ if (downloaded) {
427
+ try {
428
+ const repoUrl = `https://github.com/${githubRepoPath}.git`;
429
+ await execFile('git', ['init'], { cwd: projectDir });
430
+ await execFile('git', ['remote', 'add', 'origin', repoUrl], { cwd: projectDir });
431
+ await execFile('git', ['fetch', 'origin'], { cwd: projectDir });
432
+ await execFile('git', ['reset', 'origin/main'], { cwd: projectDir });
433
+ await execFile('git', ['branch', '-u', 'origin/main'], { cwd: projectDir });
434
+ log(`${chalk.green('✓')} Git repository initialized`);
435
+ }
436
+ catch {
437
+ // Non-fatal: local git init is best-effort
438
+ }
439
+ }
440
+ }
441
+ catch (error_) {
442
+ stopSpinner({ spinner: repoSpinner, error: true });
443
+ warn(`Failed to create GitHub repo: ${error_.message}`);
444
+ }
445
+ }
446
+ catch (error_) {
447
+ warn(`GitHub authentication failed: ${error_.message}`);
448
+ }
449
+ }
450
+ }
451
+ log();
452
+ log(` Site URL: ${chalk.cyan(siteUrl)}`);
453
+ log(` Admin URL: ${chalk.blue(site.admin_url)}`);
454
+ if (githubRepoPath) {
455
+ log(` Repo URL: ${chalk.blue(`https://github.com/${githubRepoPath}`)}`);
456
+ }
457
+ log();
458
+ if (downloaded) {
459
+ log(chalk.bold('Next steps:'));
460
+ log(` cd ${chalk.cyan(relativeDir)} and start making changes`);
461
+ if (githubRepoPath) {
462
+ log(' When ready, push your changes to your repo and Netlify will automatically deploy your changes');
463
+ }
464
+ else {
465
+ log(` When ready, run ${chalk.cyan('netlify deploy')} to publish your new changes`);
466
+ }
467
+ log();
468
+ }
469
+ }
470
+ else {
471
+ log(`${chalk.red('✗')} Agent run ${formatStatus(agentRunner.state ?? 'error')}`);
472
+ log();
473
+ log(` View details: ${chalk.blue(agentRunUrl)}`);
474
+ }
475
+ log();
476
+ };
477
+ //# sourceMappingURL=create-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-action.js","sourceRoot":"","sources":["../../../src/commands/create/create-action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type BaseCommand from '../base-command.js';
2
+ export declare const createCreateCommand: (program: BaseCommand) => void;
3
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/create/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAGjD,eAAO,MAAM,mBAAmB,GAAI,SAAS,WAAW,SA4BvD,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { validateSiteName } from '../../utils/validation.js';
2
+ export const createCreateCommand = (program) => {
3
+ program
4
+ .command('create')
5
+ .description('Create a new Netlify project using an AI agent')
6
+ .argument('[prompt]', 'description of the site to create')
7
+ .option('-p, --prompt <prompt>', 'description of the site to create')
8
+ .option('--agent <agent>', 'agent type (claude, codex, gemini)')
9
+ .option('-m, --model <model>', 'model to use for the agent')
10
+ .option('-n, --name <name>', 'project name (subdomain)', validateSiteName)
11
+ .option('-d, --dir <path>', 'directory to create the project in (defaults to current directory)')
12
+ .option('-a, --account-slug <slug>', 'account slug to create the project under')
13
+ .option('--git <provider>', 'create a git repository and push source code (e.g. github)')
14
+ .option('--repo-owner <owner>', 'GitHub org or user to create the repo under')
15
+ .option('--no-download', 'skip downloading source code after the agent run completes')
16
+ .option('--no-wait', 'return immediately after starting the agent run without polling for completion')
17
+ .option('--json', 'output result as JSON')
18
+ .addExamples([
19
+ 'netlify create "a portfolio site"',
20
+ 'netlify create --prompt "a blog with dark mode" --agent claude',
21
+ 'netlify create "landing page for a coffee shop" --account-slug my-team',
22
+ 'netlify create "an e-commerce store" --name my-store',
23
+ 'netlify create "an e-commerce store" --git github',
24
+ 'netlify create "an e-commerce store" --no-wait',
25
+ ])
26
+ .action(async (prompt, options, command) => {
27
+ const { createAction } = await import('./create-action.js');
28
+ await createAction(prompt, options, command);
29
+ });
30
+ };
31
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/create/create.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAoB,EAAE,EAAE;IAC1D,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,QAAQ,CAAC,UAAU,EAAE,mCAAmC,CAAC;SACzD,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;SACpE,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SAC/D,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;SAC3D,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,gBAAgB,CAAC;SACzE,MAAM,CAAC,kBAAkB,EAAE,oEAAoE,CAAC;SAChG,MAAM,CAAC,2BAA2B,EAAE,0CAA0C,CAAC;SAC/E,MAAM,CAAC,kBAAkB,EAAE,4DAA4D,CAAC;SACxF,MAAM,CAAC,sBAAsB,EAAE,6CAA6C,CAAC;SAC7E,MAAM,CAAC,eAAe,EAAE,4DAA4D,CAAC;SACrF,MAAM,CAAC,WAAW,EAAE,gFAAgF,CAAC;SACrG,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,WAAW,CAAC;QACX,mCAAmC;QACnC,gEAAgE;QAChE,wEAAwE;QACxE,sDAAsD;QACtD,mDAAmD;QACnD,gDAAgD;KACjD,CAAC;SACD,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAqB,EAAE,OAAoB,EAAE,EAAE;QAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAC3D,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { createCreateCommand } from './create.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/create/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { createCreateCommand } from './create.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/create/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/deploy.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAKjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAsgC5D,eAAO,MAAM,MAAM,GAAU,SAAS,kBAAkB,EAAE,SAAS,WAAW,uBAwH7E,CAAA"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/deploy.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAKjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AA+hC5D,eAAO,MAAM,MAAM,GAAU,SAAS,kBAAkB,EAAE,SAAS,WAAW,uBAwH7E,CAAA"}