vibe-fabric 0.2.0 → 0.3.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.
@@ -6,7 +6,26 @@ export declare class InitCommand extends Command {
6
6
  existing: boolean;
7
7
  new_: boolean;
8
8
  projectPath: string | undefined;
9
+ resume: boolean;
10
+ noCapture: boolean;
11
+ noPrd: boolean;
9
12
  execute(): Promise<number>;
13
+ /**
14
+ * Handle resume mode
15
+ */
16
+ private handleResume;
17
+ /**
18
+ * Continue setup from saved state
19
+ */
20
+ private continueFromState;
21
+ /**
22
+ * Continue from requirement capture step
23
+ */
24
+ private continueFromRequirementCapture;
25
+ /**
26
+ * Continue from PRD generation step
27
+ */
28
+ private continueFromPrdGeneration;
10
29
  /**
11
30
  * Check prerequisites (Claude Code, UV)
12
31
  */
@@ -36,9 +55,17 @@ export declare class InitCommand extends Command {
36
55
  */
37
56
  private showSuccess;
38
57
  /**
39
- * Run new project workflow: capture description, get recommendations, plan repos
58
+ * Run new project workflow: capture description, get recommendations, plan repos, capture requirements
40
59
  */
41
60
  private runNewProjectWorkflow;
61
+ /**
62
+ * Run the requirement capture step
63
+ */
64
+ private runRequirementCaptureStep;
65
+ /**
66
+ * Display a summary of captured requirements
67
+ */
68
+ private displayRequirementsSummary;
42
69
  /**
43
70
  * Capture project description from user
44
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAyB5C,qBAAa,WAAY,SAAQ,OAAO;IACtC,OAAgB,KAAK,aAAc;IAEnC,OAAgB,KAAK,4BAiBlB;IAGH,WAAW,qBAAsC;IAGjD,QAAQ,UAEL;IAEH,IAAI,UAED;IAEH,WAAW,qBAER;IAEG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAmDhC;;OAEG;YACW,kBAAkB;IAmChC;;OAEG;YACW,cAAc;IAqB5B;;OAEG;YACW,cAAc;IAuB5B;;OAEG;YACW,mBAAmB;IAuBjC;;OAEG;YACW,eAAe;IAsD7B;;OAEG;YACW,SAAS;IAiBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAgBnB;;OAEG;YACW,qBAAqB;IA0FnC;;OAEG;YACW,yBAAyB;IA+DvC;;OAEG;YACW,qBAAqB;IAmCnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;YACW,uBAAuB;IAyBrC;;OAEG;YACW,qBAAqB;IAgDnC;;OAEG;YACW,cAAc;IAuE5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CA4C9B"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA0C5C,qBAAa,WAAY,SAAQ,OAAO;IACtC,OAAgB,KAAK,aAAc;IAEnC,OAAgB,KAAK,4BAiBlB;IAGH,WAAW,qBAAsC;IAGjD,QAAQ,UAEL;IAEH,IAAI,UAED;IAEH,WAAW,qBAER;IAEH,MAAM,UAEH;IAEH,SAAS,UAEN;IAEH,KAAK,UAEF;IAEG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAwDhC;;OAEG;YACW,YAAY;IA+C1B;;OAEG;YACW,iBAAiB;IAgE/B;;OAEG;YACW,8BAA8B;IAmC5C;;OAEG;YACW,yBAAyB;IA0CvC;;OAEG;YACW,kBAAkB;IAmChC;;OAEG;YACW,cAAc;IAqB5B;;OAEG;YACW,cAAc;IAuB5B;;OAEG;YACW,mBAAmB;IAuBjC;;OAEG;YACW,eAAe;IAsD7B;;OAEG;YACW,SAAS;IAiBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAgBnB;;OAEG;YACW,qBAAqB;IAiJnC;;OAEG;YACW,yBAAyB;IA4EvC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAmClC;;OAEG;YACW,yBAAyB;IA+DvC;;OAEG;YACW,qBAAqB;IAmCnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;YACW,uBAAuB;IAyBrC;;OAEG;YACW,qBAAqB;IAgDnC;;OAEG;YACW,cAAc;IAuE5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAwD9B"}
@@ -8,7 +8,8 @@ import { isValidProjectName, getProjectNameError } from '../../types/config.js';
8
8
  import { validateGitHubToken, discoverGitHubToken, isGhCliInstalled, isClaudeCodeInstalled, isUvInstalled, } from '../../core/github.js';
9
9
  import { createPlanningHub, isInsideVibeProject } from '../../core/project.js';
10
10
  import { isVibeProject, loadConfig, saveConfig } from '../../core/config.js';
11
- import { getClaudeRecommendation, createPlannedRepo, addPlannedReposToConfig, formatTechStack, } from '../../core/planning.js';
11
+ import { getClaudeRecommendation, createPlannedRepo, addPlannedReposToConfig, formatTechStack, captureRequirementsWithClaude, saveDraftPrd, } from '../../core/planning.js';
12
+ import { loadSetupState, saveSetupState, clearSetupState, createSetupState, hasSetupState, setCurrentStep, markStepCompleted, setDescription, setRecommendation, setPlannedRepos, setRequirements, getStepDisplayName, } from '../../core/state.js';
12
13
  export class InitCommand extends Command {
13
14
  static paths = [['init']];
14
15
  static usage = Command.Usage({
@@ -41,11 +42,24 @@ export class InitCommand extends Command {
41
42
  projectPath = Option.String('--path,-p', {
42
43
  description: 'Create project at specified path',
43
44
  });
45
+ resume = Option.Boolean('--resume,-r', false, {
46
+ description: 'Resume interrupted setup',
47
+ });
48
+ noCapture = Option.Boolean('--no-capture', false, {
49
+ description: 'Skip requirement capture (new project)',
50
+ });
51
+ noPrd = Option.Boolean('--no-prd', false, {
52
+ description: 'Skip PRD generation',
53
+ });
44
54
  async execute() {
45
55
  this.context.stdout.write('\n');
46
56
  this.context.stdout.write(chalk.bold.blue(' VIBE-FABRIC') + chalk.gray(' - AI-Collaborative Development\n'));
47
57
  this.context.stdout.write(chalk.gray(' ─'.repeat(25)) + '\n\n');
48
58
  try {
59
+ // Handle resume mode
60
+ if (this.resume) {
61
+ return await this.handleResume();
62
+ }
49
63
  // Step 1: Check prerequisites
50
64
  await this.checkPrerequisites();
51
65
  // Step 2: Get project name
@@ -64,8 +78,8 @@ export class InitCommand extends Command {
64
78
  await this.createHub(finalPath, name, projectType, token);
65
79
  // Step 8: For new projects, run the planning workflow
66
80
  if (projectType === 'new') {
67
- const plannedRepos = await this.runNewProjectWorkflow(finalPath, name);
68
- this.showNewProjectSuccess(finalPath, name, plannedRepos);
81
+ const { plannedRepos, requirements } = await this.runNewProjectWorkflow(finalPath, name);
82
+ this.showNewProjectSuccess(finalPath, name, plannedRepos, requirements);
69
83
  }
70
84
  else {
71
85
  // Step 9: Show success message for existing projects
@@ -82,6 +96,151 @@ export class InitCommand extends Command {
82
96
  return 1;
83
97
  }
84
98
  }
99
+ /**
100
+ * Handle resume mode
101
+ */
102
+ async handleResume() {
103
+ // Look for state file in current directory or specified path
104
+ const searchPath = this.projectPath
105
+ ? path.resolve(this.projectPath)
106
+ : process.cwd();
107
+ // Check if there's a state file here
108
+ if (!hasSetupState(searchPath)) {
109
+ this.context.stderr.write(chalk.red(' No interrupted setup found.\n'));
110
+ this.context.stdout.write(chalk.gray(' Run `vibe init` to start a new setup.\n\n'));
111
+ return 1;
112
+ }
113
+ const state = await loadSetupState(searchPath);
114
+ if (!state) {
115
+ this.context.stderr.write(chalk.red(' Setup state file is corrupted.\n'));
116
+ this.context.stdout.write(chalk.gray(' Run `vibe init` to start a new setup.\n\n'));
117
+ return 1;
118
+ }
119
+ this.context.stdout.write(chalk.bold.cyan(' RESUMING SETUP\n'));
120
+ this.context.stdout.write(chalk.gray(' ─'.repeat(25)) + '\n\n');
121
+ this.context.stdout.write(` Project: ${chalk.cyan(state.projectName)}\n`);
122
+ this.context.stdout.write(` Type: ${chalk.cyan(state.projectType)}\n`);
123
+ this.context.stdout.write(` Last step: ${chalk.yellow(getStepDisplayName(state.currentStep))}\n\n`);
124
+ const resumeConfirm = await confirm({
125
+ message: 'Continue from where you left off?',
126
+ default: true,
127
+ });
128
+ if (!resumeConfirm) {
129
+ const restart = await confirm({
130
+ message: 'Start over with a fresh setup?',
131
+ default: false,
132
+ });
133
+ if (restart) {
134
+ await clearSetupState(searchPath);
135
+ this.context.stdout.write(chalk.gray('\n State cleared. Run `vibe init` to start fresh.\n\n'));
136
+ }
137
+ return 1;
138
+ }
139
+ return await this.continueFromState(state);
140
+ }
141
+ /**
142
+ * Continue setup from saved state
143
+ */
144
+ async continueFromState(state) {
145
+ try {
146
+ switch (state.currentStep) {
147
+ case 'requirement-capture':
148
+ return await this.continueFromRequirementCapture(state);
149
+ case 'prd-generation':
150
+ return await this.continueFromPrdGeneration(state);
151
+ case 'repo-planning':
152
+ // Re-run repo planning if we stopped there
153
+ if (state.data.recommendation && state.data.description) {
154
+ const confirmedRepos = await this.handleRecommendations(state.projectPath, state.data.description, state.data.recommendation);
155
+ if (confirmedRepos.length > 0) {
156
+ const spinner = ora('Creating planned repositories...').start();
157
+ for (const repo of confirmedRepos) {
158
+ await createPlannedRepo(state.projectPath, repo);
159
+ }
160
+ await addPlannedReposToConfig(state.projectPath, confirmedRepos);
161
+ spinner.succeed(`Created ${confirmedRepos.length} planned repositories`);
162
+ // Update state
163
+ let updatedState = setPlannedRepos(state, confirmedRepos);
164
+ updatedState = markStepCompleted(updatedState, 'repo-planning');
165
+ updatedState = setCurrentStep(updatedState, 'requirement-capture');
166
+ await saveSetupState(updatedState);
167
+ // Continue to requirement capture
168
+ return await this.continueFromRequirementCapture(updatedState);
169
+ }
170
+ }
171
+ // Fallback to showing success
172
+ await clearSetupState(state.projectPath);
173
+ this.showNewProjectSuccess(state.projectPath, state.projectName, [], undefined);
174
+ return 0;
175
+ default:
176
+ // For other steps, just show success - hub is created
177
+ await clearSetupState(state.projectPath);
178
+ if (state.projectType === 'new') {
179
+ this.showNewProjectSuccess(state.projectPath, state.projectName, state.data.plannedRepos || [], state.data.requirements);
180
+ }
181
+ else {
182
+ this.showSuccess(state.projectPath, state.projectName);
183
+ }
184
+ return 0;
185
+ }
186
+ }
187
+ catch (error) {
188
+ if (error instanceof Error && error.message === 'USER_CANCELLED') {
189
+ this.context.stdout.write(chalk.yellow('\nSetup cancelled. State saved for resume.\n'));
190
+ return 1;
191
+ }
192
+ throw error;
193
+ }
194
+ }
195
+ /**
196
+ * Continue from requirement capture step
197
+ */
198
+ async continueFromRequirementCapture(state) {
199
+ if (!state.data.description || !state.data.plannedRepos) {
200
+ await clearSetupState(state.projectPath);
201
+ this.showNewProjectSuccess(state.projectPath, state.projectName, [], undefined);
202
+ return 0;
203
+ }
204
+ // Ask about requirement capture
205
+ const result = await this.runRequirementCaptureStep(state.projectPath, state.projectName, state.data.description, state.data.plannedRepos);
206
+ if (result.requirements) {
207
+ let updatedState = setRequirements(state, result.requirements);
208
+ updatedState = markStepCompleted(updatedState, 'requirement-capture');
209
+ updatedState = setCurrentStep(updatedState, 'prd-generation');
210
+ await saveSetupState(updatedState);
211
+ return await this.continueFromPrdGeneration(updatedState);
212
+ }
213
+ // Skipped or no requirements - complete
214
+ await clearSetupState(state.projectPath);
215
+ this.showNewProjectSuccess(state.projectPath, state.projectName, state.data.plannedRepos, undefined);
216
+ return 0;
217
+ }
218
+ /**
219
+ * Continue from PRD generation step
220
+ */
221
+ async continueFromPrdGeneration(state) {
222
+ if (!state.data.requirements || !state.data.description) {
223
+ await clearSetupState(state.projectPath);
224
+ this.showNewProjectSuccess(state.projectPath, state.projectName, state.data.plannedRepos || [], undefined);
225
+ return 0;
226
+ }
227
+ // Generate and save PRD
228
+ if (!this.noPrd) {
229
+ const spinner = ora('Generating draft PRD...').start();
230
+ try {
231
+ const prdPath = await saveDraftPrd(state.projectPath, state.projectName, state.data.description, state.data.requirements);
232
+ spinner.succeed(`Draft PRD saved to ${chalk.cyan(prdPath)}`);
233
+ }
234
+ catch (error) {
235
+ spinner.fail('Failed to generate PRD');
236
+ this.context.stderr.write(chalk.yellow(` Warning: ${error instanceof Error ? error.message : 'Unknown error'}\n`));
237
+ }
238
+ }
239
+ // Complete
240
+ await clearSetupState(state.projectPath);
241
+ this.showNewProjectSuccess(state.projectPath, state.projectName, state.data.plannedRepos || [], state.data.requirements);
242
+ return 0;
243
+ }
85
244
  /**
86
245
  * Check prerequisites (Claude Code, UV)
87
246
  */
@@ -251,14 +410,22 @@ export class InitCommand extends Command {
251
410
  this.context.stdout.write(chalk.gray(' Run ') + chalk.cyan('vibe --help') + chalk.gray(' for all commands.\n\n'));
252
411
  }
253
412
  /**
254
- * Run new project workflow: capture description, get recommendations, plan repos
413
+ * Run new project workflow: capture description, get recommendations, plan repos, capture requirements
255
414
  */
256
- async runNewProjectWorkflow(projectPath, _projectName) {
415
+ async runNewProjectWorkflow(projectPath, projectName) {
257
416
  this.context.stdout.write('\n');
258
417
  this.context.stdout.write(chalk.bold.cyan(' NEW PROJECT PLANNING\n'));
259
418
  this.context.stdout.write(chalk.gray(' ─'.repeat(25)) + '\n\n');
419
+ // Initialize state for resume functionality
420
+ let state = createSetupState(projectName, projectPath, 'new');
421
+ state = setCurrentStep(state, 'description-capture');
422
+ await saveSetupState(state);
260
423
  // Step 1: Capture project description
261
424
  const description = await this.captureProjectDescription();
425
+ state = setDescription(state, description);
426
+ state = markStepCompleted(state, 'description-capture');
427
+ state = setCurrentStep(state, 'claude-recommendation');
428
+ await saveSetupState(state);
262
429
  // Save description to config
263
430
  const config = await loadConfig(projectPath);
264
431
  if (config) {
@@ -274,10 +441,17 @@ export class InitCommand extends Command {
274
441
  try {
275
442
  recommendation = await getClaudeRecommendation(projectPath, description);
276
443
  spinner.succeed('Received recommendations from Claude');
444
+ if (recommendation) {
445
+ state = setRecommendation(state, recommendation);
446
+ }
447
+ state = markStepCompleted(state, 'claude-recommendation');
448
+ state = setCurrentStep(state, 'repo-planning');
449
+ await saveSetupState(state);
277
450
  break;
278
451
  }
279
452
  catch (error) {
280
- spinner.fail('Failed to get recommendations');
453
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
454
+ spinner.fail(`Failed to get recommendations: ${errorMessage}`);
281
455
  attemptCount++;
282
456
  if (attemptCount < maxAttempts) {
283
457
  const retry = await confirm({
@@ -296,13 +470,15 @@ export class InitCommand extends Command {
296
470
  }
297
471
  if (!recommendation || recommendation.repos.length === 0) {
298
472
  this.context.stdout.write(chalk.yellow('\n No repositories recommended. You can add repos manually later.\n'));
299
- return [];
473
+ await clearSetupState(projectPath);
474
+ return { plannedRepos: [] };
300
475
  }
301
476
  // Step 3: Display and confirm recommendations
302
477
  const confirmedRepos = await this.handleRecommendations(projectPath, description, recommendation);
303
478
  if (confirmedRepos.length === 0) {
304
479
  this.context.stdout.write(chalk.yellow('\n No repositories planned. You can add repos manually later.\n'));
305
- return [];
480
+ await clearSetupState(projectPath);
481
+ return { plannedRepos: [] };
306
482
  }
307
483
  // Step 4: Create planned repos
308
484
  const spinner = ora('Creating planned repositories...').start();
@@ -312,12 +488,130 @@ export class InitCommand extends Command {
312
488
  }
313
489
  await addPlannedReposToConfig(projectPath, confirmedRepos);
314
490
  spinner.succeed(`Created ${confirmedRepos.length} planned repositories`);
491
+ state = setPlannedRepos(state, confirmedRepos);
492
+ state = markStepCompleted(state, 'repo-planning');
493
+ state = setCurrentStep(state, 'requirement-capture');
494
+ await saveSetupState(state);
315
495
  }
316
496
  catch (error) {
317
497
  spinner.fail('Failed to create planned repositories');
318
498
  throw error;
319
499
  }
320
- return confirmedRepos;
500
+ // Step 5: Requirement capture (optional)
501
+ const result = await this.runRequirementCaptureStep(projectPath, projectName, description, confirmedRepos);
502
+ if (result.requirements) {
503
+ state = setRequirements(state, result.requirements);
504
+ state = markStepCompleted(state, 'requirement-capture');
505
+ state = setCurrentStep(state, 'prd-generation');
506
+ await saveSetupState(state);
507
+ // Step 6: PRD generation (optional)
508
+ if (!this.noPrd) {
509
+ const prdSpinner = ora('Generating draft PRD...').start();
510
+ try {
511
+ const prdPath = await saveDraftPrd(projectPath, projectName, description, result.requirements);
512
+ prdSpinner.succeed(`Draft PRD saved to ${chalk.cyan(prdPath)}`);
513
+ state = markStepCompleted(state, 'prd-generation');
514
+ }
515
+ catch (error) {
516
+ prdSpinner.fail('Failed to generate PRD');
517
+ this.context.stderr.write(chalk.yellow(` Warning: ${error instanceof Error ? error.message : 'Unknown error'}\n`));
518
+ }
519
+ }
520
+ }
521
+ // Cleanup state on successful completion
522
+ await clearSetupState(projectPath);
523
+ return { plannedRepos: confirmedRepos, requirements: result.requirements };
524
+ }
525
+ /**
526
+ * Run the requirement capture step
527
+ */
528
+ async runRequirementCaptureStep(_projectPath, _projectName, description, repos) {
529
+ // Skip if --no-capture flag is set
530
+ if (this.noCapture) {
531
+ this.context.stdout.write(chalk.gray('\n Skipping requirement capture (--no-capture).\n'));
532
+ return {};
533
+ }
534
+ this.context.stdout.write('\n');
535
+ this.context.stdout.write(chalk.bold.green(' ┌─────────────────────────────────────────────────────────┐\n'));
536
+ this.context.stdout.write(chalk.bold.green(' │') + chalk.bold(' Requirement Capture (Optional)') + chalk.bold.green(' │\n'));
537
+ this.context.stdout.write(chalk.bold.green(' └─────────────────────────────────────────────────────────┘\n'));
538
+ this.context.stdout.write('\n');
539
+ this.context.stdout.write(chalk.gray(' Claude will help you:\n'));
540
+ this.context.stdout.write(chalk.gray(' - Define user stories\n'));
541
+ this.context.stdout.write(chalk.gray(' - Identify key features\n'));
542
+ this.context.stdout.write(chalk.gray(' - Establish technical requirements\n\n'));
543
+ const captureRequirements = await confirm({
544
+ message: 'Would you like to capture initial requirements?',
545
+ default: true,
546
+ });
547
+ if (!captureRequirements) {
548
+ this.context.stdout.write(chalk.gray('\n Skipping requirement capture. You can use `vibe prd` later.\n'));
549
+ return {};
550
+ }
551
+ // Capture requirements with Claude
552
+ let requirements = null;
553
+ let attemptCount = 0;
554
+ const maxAttempts = 3;
555
+ while (attemptCount < maxAttempts) {
556
+ const spinner = ora('Claude is capturing requirements...').start();
557
+ try {
558
+ requirements = await captureRequirementsWithClaude(description, repos);
559
+ spinner.succeed('Requirements captured successfully');
560
+ // Display captured requirements summary
561
+ if (requirements) {
562
+ this.displayRequirementsSummary(requirements);
563
+ }
564
+ break;
565
+ }
566
+ catch (error) {
567
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
568
+ spinner.fail(`Failed to capture requirements: ${errorMessage}`);
569
+ attemptCount++;
570
+ if (attemptCount < maxAttempts) {
571
+ const retry = await confirm({
572
+ message: 'Would you like to retry?',
573
+ default: true,
574
+ });
575
+ if (!retry) {
576
+ this.context.stdout.write(chalk.gray('\n Skipping requirements. You can use `vibe prd` later.\n'));
577
+ return {};
578
+ }
579
+ }
580
+ else {
581
+ this.context.stdout.write(chalk.yellow('\n Could not capture requirements. You can use `vibe prd` later.\n'));
582
+ return {};
583
+ }
584
+ }
585
+ }
586
+ return { requirements: requirements || undefined };
587
+ }
588
+ /**
589
+ * Display a summary of captured requirements
590
+ */
591
+ displayRequirementsSummary(requirements) {
592
+ this.context.stdout.write('\n');
593
+ this.context.stdout.write(chalk.bold(' Captured Requirements Summary:\n\n'));
594
+ // User stories
595
+ this.context.stdout.write(chalk.cyan(` User Stories: ${requirements.userStories.length}\n`));
596
+ for (const story of requirements.userStories.slice(0, 3)) {
597
+ this.context.stdout.write(chalk.gray(` - ${story.id}: ${story.title}\n`));
598
+ }
599
+ if (requirements.userStories.length > 3) {
600
+ this.context.stdout.write(chalk.gray(` ... and ${requirements.userStories.length - 3} more\n`));
601
+ }
602
+ // Features
603
+ const mustHave = requirements.features.filter((f) => f.priority === 'must-have').length;
604
+ const shouldHave = requirements.features.filter((f) => f.priority === 'should-have').length;
605
+ const niceToHave = requirements.features.filter((f) => f.priority === 'nice-to-have').length;
606
+ this.context.stdout.write(chalk.cyan(`\n Features: ${requirements.features.length}\n`));
607
+ this.context.stdout.write(chalk.gray(` - Must-have: ${mustHave}\n`));
608
+ this.context.stdout.write(chalk.gray(` - Should-have: ${shouldHave}\n`));
609
+ this.context.stdout.write(chalk.gray(` - Nice-to-have: ${niceToHave}\n`));
610
+ // Technical requirements
611
+ this.context.stdout.write(chalk.cyan(`\n Technical Requirements: ${requirements.technicalRequirements.length}\n`));
612
+ // Non-functional requirements
613
+ this.context.stdout.write(chalk.cyan(` Non-Functional Requirements: ${requirements.nonFunctionalRequirements.length}\n`));
614
+ this.context.stdout.write('\n');
321
615
  }
322
616
  /**
323
617
  * Capture project description from user
@@ -565,7 +859,7 @@ export class InitCommand extends Command {
565
859
  /**
566
860
  * Show success message for new projects with planned repos
567
861
  */
568
- showNewProjectSuccess(projectPath, name, plannedRepos) {
862
+ showNewProjectSuccess(projectPath, name, plannedRepos, requirements) {
569
863
  this.context.stdout.write('\n');
570
864
  this.context.stdout.write(chalk.green.bold(' ✓ Success!\n\n'));
571
865
  this.context.stdout.write(chalk.bold(' Planning hub created at:\n'));
@@ -578,11 +872,22 @@ export class InitCommand extends Command {
578
872
  }
579
873
  this.context.stdout.write('\n');
580
874
  }
875
+ if (requirements) {
876
+ this.context.stdout.write(chalk.bold(' Requirements captured:\n'));
877
+ this.context.stdout.write(chalk.gray(` - ${requirements.userStories.length} user stories\n`));
878
+ this.context.stdout.write(chalk.gray(` - ${requirements.features.length} features\n`));
879
+ this.context.stdout.write(chalk.gray(` - Draft PRD saved to docs/prd/requirements-draft.md\n\n`));
880
+ }
581
881
  this.context.stdout.write(chalk.bold(' Next steps:\n'));
582
882
  this.context.stdout.write(chalk.gray(` 1. cd ${name}\n`));
583
883
  if (plannedRepos.length > 0) {
584
884
  this.context.stdout.write(chalk.gray(' 2. vibe repo create --all # Create repos on GitHub\n'));
585
- this.context.stdout.write(chalk.gray(' 3. vibe prd # Define requirements\n'));
885
+ if (requirements) {
886
+ this.context.stdout.write(chalk.gray(' 3. vibe prd # Refine the draft PRD\n'));
887
+ }
888
+ else {
889
+ this.context.stdout.write(chalk.gray(' 3. vibe prd # Define requirements\n'));
890
+ }
586
891
  this.context.stdout.write(chalk.gray(' 4. vibe scope # Create work scopes\n\n'));
587
892
  }
588
893
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { PlannedRepo, ProjectRecommendation, TechStack, RepoStructure } from '../types/planning.js';
8
8
  import type { ProjectDescription } from '../types/config.js';
9
+ import type { CapturedRequirement } from '../types/state.js';
9
10
  /**
10
11
  * Create the prompt for Claude with project description
11
12
  */
@@ -14,7 +15,7 @@ export declare function createRecommendationPrompt(description: ProjectDescripti
14
15
  * Spawn Claude to get project recommendations
15
16
  * Returns the parsed recommendation or null on failure
16
17
  */
17
- export declare function getClaudeRecommendation(projectPath: string, description: ProjectDescription): Promise<ProjectRecommendation | null>;
18
+ export declare function getClaudeRecommendation(_projectPath: string, description: ProjectDescription): Promise<ProjectRecommendation | null>;
18
19
  /**
19
20
  * Create planned repo directory structure
20
21
  */
@@ -47,4 +48,25 @@ export declare function formatTechStack(techStack: TechStack): string;
47
48
  * Format repo structure for display
48
49
  */
49
50
  export declare function formatRepoStructure(structure: RepoStructure): string;
51
+ /**
52
+ * Create the prompt for requirement capture
53
+ */
54
+ export declare function createRequirementCapturePrompt(description: ProjectDescription, repos: PlannedRepo[]): string;
55
+ /**
56
+ * Spawn Claude to capture requirements
57
+ * Returns the parsed requirements or null on failure
58
+ */
59
+ export declare function captureRequirementsWithClaude(description: ProjectDescription, repos: PlannedRepo[]): Promise<CapturedRequirement | null>;
60
+ /**
61
+ * Validate requirements structure
62
+ */
63
+ export declare function validateRequirements(req: unknown): req is CapturedRequirement;
64
+ /**
65
+ * Generate a draft PRD markdown from captured requirements
66
+ */
67
+ export declare function generateDraftPrd(projectName: string, description: ProjectDescription, requirements: CapturedRequirement): string;
68
+ /**
69
+ * Save draft PRD to project
70
+ */
71
+ export declare function saveDraftPrd(projectPath: string, projectName: string, description: ProjectDescription, requirements: CapturedRequirement): Promise<string>;
50
72
  //# sourceMappingURL=planning.d.ts.map