@wundr.io/cli 1.0.0 → 1.0.3

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 (224) hide show
  1. package/README.md +696 -280
  2. package/dist/ai/ai-service.d.ts +2 -2
  3. package/dist/ai/ai-service.d.ts.map +1 -1
  4. package/dist/ai/ai-service.js +1 -1
  5. package/dist/ai/ai-service.js.map +1 -1
  6. package/dist/ai/claude-client.d.ts.map +1 -1
  7. package/dist/ai/claude-client.js +2 -1
  8. package/dist/ai/claude-client.js.map +1 -1
  9. package/dist/ai/conversation-manager.d.ts +2 -2
  10. package/dist/ai/conversation-manager.d.ts.map +1 -1
  11. package/dist/ai/conversation-manager.js +5 -3
  12. package/dist/ai/conversation-manager.js.map +1 -1
  13. package/dist/cli.d.ts.map +1 -1
  14. package/dist/cli.js +32 -13
  15. package/dist/cli.js.map +1 -1
  16. package/dist/commands/ai.d.ts +3 -3
  17. package/dist/commands/ai.d.ts.map +1 -1
  18. package/dist/commands/ai.js +2 -2
  19. package/dist/commands/ai.js.map +1 -1
  20. package/dist/commands/alignment.d.ts +78 -0
  21. package/dist/commands/alignment.d.ts.map +1 -0
  22. package/dist/commands/alignment.js +817 -0
  23. package/dist/commands/alignment.js.map +1 -0
  24. package/dist/commands/analyze-optimized.d.ts.map +1 -1
  25. package/dist/commands/analyze-optimized.js +9 -6
  26. package/dist/commands/analyze-optimized.js.map +1 -1
  27. package/dist/commands/analyze.d.ts +3 -3
  28. package/dist/commands/analyze.d.ts.map +1 -1
  29. package/dist/commands/analyze.js +2 -2
  30. package/dist/commands/analyze.js.map +1 -1
  31. package/dist/commands/batch.d.ts +3 -3
  32. package/dist/commands/batch.d.ts.map +1 -1
  33. package/dist/commands/batch.js +7 -7
  34. package/dist/commands/batch.js.map +1 -1
  35. package/dist/commands/chat.d.ts +3 -3
  36. package/dist/commands/chat.d.ts.map +1 -1
  37. package/dist/commands/chat.js +3 -3
  38. package/dist/commands/chat.js.map +1 -1
  39. package/dist/commands/claude-init.d.ts +1 -1
  40. package/dist/commands/claude-init.d.ts.map +1 -1
  41. package/dist/commands/claude-init.js +11 -7
  42. package/dist/commands/claude-init.js.map +1 -1
  43. package/dist/commands/claude-setup.d.ts +88 -1
  44. package/dist/commands/claude-setup.d.ts.map +1 -1
  45. package/dist/commands/claude-setup.js +549 -46
  46. package/dist/commands/claude-setup.js.map +1 -1
  47. package/dist/commands/computer-setup-commands.d.ts +17 -3
  48. package/dist/commands/computer-setup-commands.d.ts.map +1 -1
  49. package/dist/commands/computer-setup-commands.js +145 -3
  50. package/dist/commands/computer-setup-commands.js.map +1 -1
  51. package/dist/commands/computer-setup.d.ts.map +1 -1
  52. package/dist/commands/computer-setup.js +372 -4
  53. package/dist/commands/computer-setup.js.map +1 -1
  54. package/dist/commands/create-command.d.ts.map +1 -1
  55. package/dist/commands/create-command.js +3 -3
  56. package/dist/commands/create-command.js.map +1 -1
  57. package/dist/commands/create.d.ts +3 -3
  58. package/dist/commands/create.d.ts.map +1 -1
  59. package/dist/commands/create.js +3 -3
  60. package/dist/commands/create.js.map +1 -1
  61. package/dist/commands/dashboard.d.ts +3 -3
  62. package/dist/commands/dashboard.d.ts.map +1 -1
  63. package/dist/commands/dashboard.js +4 -3
  64. package/dist/commands/dashboard.js.map +1 -1
  65. package/dist/commands/govern.d.ts +3 -3
  66. package/dist/commands/govern.d.ts.map +1 -1
  67. package/dist/commands/govern.js +4 -3
  68. package/dist/commands/govern.js.map +1 -1
  69. package/dist/commands/governance.d.ts +17 -0
  70. package/dist/commands/governance.d.ts.map +1 -0
  71. package/dist/commands/governance.js +703 -0
  72. package/dist/commands/governance.js.map +1 -0
  73. package/dist/commands/guardian.d.ts +20 -0
  74. package/dist/commands/guardian.d.ts.map +1 -0
  75. package/dist/commands/guardian.js +597 -0
  76. package/dist/commands/guardian.js.map +1 -0
  77. package/dist/commands/init.d.ts +7 -3
  78. package/dist/commands/init.d.ts.map +1 -1
  79. package/dist/commands/init.js +71 -5
  80. package/dist/commands/init.js.map +1 -1
  81. package/dist/commands/performance-optimizer.d.ts +2 -2
  82. package/dist/commands/performance-optimizer.d.ts.map +1 -1
  83. package/dist/commands/performance-optimizer.js +8 -7
  84. package/dist/commands/performance-optimizer.js.map +1 -1
  85. package/dist/commands/plugins.d.ts +3 -3
  86. package/dist/commands/plugins.d.ts.map +1 -1
  87. package/dist/commands/plugins.js +2 -2
  88. package/dist/commands/plugins.js.map +1 -1
  89. package/dist/commands/rag.d.ts +7 -0
  90. package/dist/commands/rag.d.ts.map +1 -0
  91. package/dist/commands/rag.js +748 -0
  92. package/dist/commands/rag.js.map +1 -0
  93. package/dist/commands/session.d.ts +41 -0
  94. package/dist/commands/session.d.ts.map +1 -0
  95. package/dist/commands/session.js +441 -0
  96. package/dist/commands/session.js.map +1 -0
  97. package/dist/commands/setup.d.ts +3 -3
  98. package/dist/commands/setup.d.ts.map +1 -1
  99. package/dist/commands/setup.js +1 -3
  100. package/dist/commands/setup.js.map +1 -1
  101. package/dist/commands/test-init.d.ts.map +1 -1
  102. package/dist/commands/test-init.js +2 -2
  103. package/dist/commands/test-init.js.map +1 -1
  104. package/dist/commands/test.d.ts.map +1 -1
  105. package/dist/commands/test.js +2 -2
  106. package/dist/commands/test.js.map +1 -1
  107. package/dist/commands/vp.d.ts +7 -0
  108. package/dist/commands/vp.d.ts.map +1 -0
  109. package/dist/commands/vp.js +571 -0
  110. package/dist/commands/vp.js.map +1 -0
  111. package/dist/commands/watch.d.ts +3 -3
  112. package/dist/commands/watch.d.ts.map +1 -1
  113. package/dist/commands/watch.js +10 -7
  114. package/dist/commands/watch.js.map +1 -1
  115. package/dist/commands/worktree.d.ts +63 -0
  116. package/dist/commands/worktree.d.ts.map +1 -0
  117. package/dist/commands/worktree.js +774 -0
  118. package/dist/commands/worktree.js.map +1 -0
  119. package/dist/context/context-manager.d.ts +1 -1
  120. package/dist/context/context-manager.d.ts.map +1 -1
  121. package/dist/context/context-manager.js +1 -1
  122. package/dist/context/context-manager.js.map +1 -1
  123. package/dist/context/session-manager.d.ts +2 -2
  124. package/dist/context/session-manager.d.ts.map +1 -1
  125. package/dist/context/session-manager.js +9 -5
  126. package/dist/context/session-manager.js.map +1 -1
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +1 -1
  129. package/dist/index.js.map +1 -1
  130. package/dist/interactive/interactive-mode.d.ts +2 -2
  131. package/dist/interactive/interactive-mode.d.ts.map +1 -1
  132. package/dist/interactive/interactive-mode.js +6 -4
  133. package/dist/interactive/interactive-mode.js.map +1 -1
  134. package/dist/nlp/command-mapper.d.ts +1 -1
  135. package/dist/nlp/command-mapper.d.ts.map +1 -1
  136. package/dist/nlp/command-mapper.js +3 -2
  137. package/dist/nlp/command-mapper.js.map +1 -1
  138. package/dist/nlp/command-parser.d.ts +1 -1
  139. package/dist/nlp/command-parser.d.ts.map +1 -1
  140. package/dist/nlp/command-parser.js +2 -1
  141. package/dist/nlp/command-parser.js.map +1 -1
  142. package/dist/nlp/intent-parser.d.ts +1 -1
  143. package/dist/nlp/intent-parser.d.ts.map +1 -1
  144. package/dist/nlp/intent-parser.js +14 -9
  145. package/dist/nlp/intent-parser.js.map +1 -1
  146. package/dist/plugins/plugin-manager.d.ts +2 -2
  147. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  148. package/dist/plugins/plugin-manager.js +3 -3
  149. package/dist/plugins/plugin-manager.js.map +1 -1
  150. package/dist/types/index.d.ts +1 -1
  151. package/dist/types/index.d.ts.map +1 -1
  152. package/dist/utils/backup-rollback-manager.d.ts +72 -0
  153. package/dist/utils/backup-rollback-manager.d.ts.map +1 -0
  154. package/dist/utils/backup-rollback-manager.js +289 -0
  155. package/dist/utils/backup-rollback-manager.js.map +1 -0
  156. package/dist/utils/claude-config-installer.d.ts +94 -0
  157. package/dist/utils/claude-config-installer.d.ts.map +1 -0
  158. package/dist/utils/claude-config-installer.js +628 -0
  159. package/dist/utils/claude-config-installer.js.map +1 -0
  160. package/dist/utils/config-manager.d.ts +1 -1
  161. package/dist/utils/config-manager.d.ts.map +1 -1
  162. package/dist/utils/config-manager.js +5 -5
  163. package/dist/utils/config-manager.js.map +1 -1
  164. package/dist/utils/error-handler.d.ts +1 -1
  165. package/dist/utils/error-handler.d.ts.map +1 -1
  166. package/dist/utils/error-handler.js.map +1 -1
  167. package/dist/utils/logger.d.ts +1 -1
  168. package/dist/utils/logger.d.ts.map +1 -1
  169. package/dist/utils/logger.js +22 -11
  170. package/dist/utils/logger.js.map +1 -1
  171. package/package.json +26 -7
  172. package/src/ai/ai-service.ts +22 -19
  173. package/src/ai/claude-client.ts +20 -16
  174. package/src/ai/conversation-manager.ts +37 -30
  175. package/src/cli.ts +42 -13
  176. package/src/commands/ai.ts +59 -57
  177. package/src/commands/alignment.ts +1212 -0
  178. package/src/commands/analyze-optimized.ts +70 -62
  179. package/src/commands/analyze.ts +22 -20
  180. package/src/commands/batch.ts +41 -38
  181. package/src/commands/chat.ts +37 -34
  182. package/src/commands/claude-init.ts +38 -30
  183. package/src/commands/claude-setup.ts +692 -97
  184. package/src/commands/computer-setup-commands.ts +203 -37
  185. package/src/commands/computer-setup.ts +474 -4
  186. package/src/commands/create-command.ts +7 -7
  187. package/src/commands/create.ts +36 -33
  188. package/src/commands/dashboard.ts +33 -28
  189. package/src/commands/govern.ts +34 -29
  190. package/src/commands/governance.ts +1005 -0
  191. package/src/commands/guardian.ts +887 -0
  192. package/src/commands/init.ts +112 -22
  193. package/src/commands/performance-optimizer.ts +48 -42
  194. package/src/commands/plugins.ts +35 -32
  195. package/src/commands/project-update.ts +1053 -0
  196. package/src/commands/rag.ts +904 -0
  197. package/src/commands/session.ts +631 -0
  198. package/src/commands/setup.ts +35 -31
  199. package/src/commands/test-init.ts +6 -5
  200. package/src/commands/test.ts +7 -6
  201. package/src/commands/vp.ts +762 -0
  202. package/src/commands/watch.ts +44 -33
  203. package/src/commands/worktree.ts +1057 -0
  204. package/src/context/context-manager.ts +15 -12
  205. package/src/context/session-manager.ts +51 -40
  206. package/src/index.ts +7 -6
  207. package/src/interactive/interactive-mode.ts +25 -18
  208. package/src/lib/conflict-resolution.ts +28 -0
  209. package/src/lib/merge-strategy.ts +28 -0
  210. package/src/lib/safety-mechanisms.ts +47 -0
  211. package/src/lib/state-detection.ts +28 -0
  212. package/src/nlp/command-mapper.ts +35 -30
  213. package/src/nlp/command-parser.ts +20 -17
  214. package/src/nlp/intent-classifier.ts +7 -7
  215. package/src/nlp/intent-parser.ts +61 -49
  216. package/src/plugins/plugin-manager.ts +27 -23
  217. package/src/tests/computer-setup-integration.test.ts +439 -0
  218. package/src/types/index.ts +1 -1
  219. package/src/types/modules.d.ts +1 -0
  220. package/src/utils/backup-rollback-manager.ts +363 -0
  221. package/src/utils/claude-config-installer.ts +734 -0
  222. package/src/utils/config-manager.ts +12 -9
  223. package/src/utils/error-handler.ts +5 -3
  224. package/src/utils/logger.ts +35 -12
@@ -3,21 +3,25 @@
3
3
  * Provides the primary wundr setup commands that integrate with computer-setup
4
4
  */
5
5
 
6
- import { Command } from 'commander';
7
6
  import chalk from 'chalk';
8
- import ora from 'ora';
9
7
  import inquirer from 'inquirer';
10
- import { ConfigManager } from '../utils/config-manager';
11
- import { PluginManager } from '../plugins/plugin-manager';
12
- import { logger } from '../utils/logger';
13
- // Note: Using relative path import due to workspace resolution issues in this monorepo setup
14
- // The computer-setup package must be built first before building this CLI package
8
+ import ora from 'ora';
9
+
15
10
  import {
16
- SetupPlatform,
17
- SetupProgress,
18
- SetupResult,
19
11
  RealSetupOrchestrator,
20
12
  } from '../../../computer-setup/dist';
13
+ import { logger } from '../utils/logger';
14
+
15
+ import type {
16
+ SetupPlatform,
17
+ SetupProgress,
18
+ SetupResult} from '../../../computer-setup/dist';
19
+ import type { PluginManager } from '../plugins/plugin-manager';
20
+ import type { ConfigManager } from '../utils/config-manager';
21
+
22
+ // Note: Using relative path import due to workspace resolution issues in this monorepo setup
23
+ // The computer-setup package must be built first before building this CLI package
24
+ import type { Command } from 'commander';
21
25
 
22
26
  export class SetupCommands {
23
27
  private orchestrator: RealSetupOrchestrator;
@@ -26,7 +30,7 @@ export class SetupCommands {
26
30
  constructor(
27
31
  private program: Command,
28
32
  private configManager: ConfigManager,
29
- private pluginManager: PluginManager
33
+ private pluginManager: PluginManager,
30
34
  ) {
31
35
  this.platform = this.detectPlatform();
32
36
  this.orchestrator = new RealSetupOrchestrator(this.platform);
@@ -41,11 +45,11 @@ export class SetupCommands {
41
45
  .option(
42
46
  '-p, --profile <profile>',
43
47
  'Use specific profile (frontend, backend, fullstack, devops)',
44
- 'fullstack'
48
+ 'fullstack',
45
49
  )
46
50
  .option(
47
51
  '--dry-run',
48
- 'Show what would be installed without making changes'
52
+ 'Show what would be installed without making changes',
49
53
  )
50
54
  .option('--interactive', 'Run in interactive mode')
51
55
  .action(async options => {
@@ -145,7 +149,7 @@ export class SetupCommands {
145
149
 
146
150
  // Try different matching strategies
147
151
  let profile = availableProfiles.find(
148
- p => p.name.toLowerCase() === profileName.toLowerCase()
152
+ p => p.name.toLowerCase() === profileName.toLowerCase(),
149
153
  );
150
154
 
151
155
  if (!profile) {
@@ -155,7 +159,7 @@ export class SetupCommands {
155
159
  p.name.toLowerCase().includes(profileName.toLowerCase()) ||
156
160
  profileName
157
161
  .toLowerCase()
158
- .includes(p.name.toLowerCase().split(' ')[0])
162
+ .includes(p.name.toLowerCase().split(' ')[0]),
159
163
  );
160
164
  }
161
165
 
@@ -180,23 +184,23 @@ export class SetupCommands {
180
184
  console.log(chalk.cyan('\nšŸ“‹ Available profiles:'));
181
185
  availableProfiles.forEach(p =>
182
186
  console.log(
183
- ` • ${chalk.white(p.name)}: ${chalk.gray(p.description)}`
184
- )
187
+ ` • ${chalk.white(p.name)}: ${chalk.gray(p.description)}`,
188
+ ),
185
189
  );
186
190
  return;
187
191
  }
188
192
 
189
193
  console.log(
190
- chalk.cyan(`\nšŸ“‹ Selected Profile: ${chalk.white(profile.name)}`)
194
+ chalk.cyan(`\nšŸ“‹ Selected Profile: ${chalk.white(profile.name)}`),
191
195
  );
192
196
  console.log(chalk.gray(`${profile.description}`));
193
197
  console.log(
194
- chalk.gray(`Estimated time: ${profile.estimatedTimeMinutes} minutes\n`)
198
+ chalk.gray(`Estimated time: ${profile.estimatedTimeMinutes} minutes\n`),
195
199
  );
196
200
 
197
201
  if (options.dryRun) {
198
202
  console.log(
199
- chalk.yellow('šŸ” DRY RUN - Showing what would be installed:\n')
203
+ chalk.yellow('šŸ” DRY RUN - Showing what would be installed:\n'),
200
204
  );
201
205
  console.log(chalk.cyan('Required tools:'));
202
206
  profile.requiredTools.forEach(tool => console.log(` āœ“ ${tool}`));
@@ -213,7 +217,7 @@ export class SetupCommands {
213
217
  process.stdout.cursorTo(0);
214
218
  const progressBar = this.createProgressBar(progress.percentage);
215
219
  process.stdout.write(
216
- `${progressBar} ${progress.percentage.toFixed(1)}% - ${progress.currentStep}`
220
+ `${progressBar} ${progress.percentage.toFixed(1)}% - ${progress.currentStep}`,
217
221
  );
218
222
  };
219
223
 
@@ -227,7 +231,7 @@ export class SetupCommands {
227
231
  parallel: false,
228
232
  generateReport: true,
229
233
  },
230
- progressCallback
234
+ progressCallback,
231
235
  );
232
236
 
233
237
  console.log('\n'); // New line after progress
@@ -235,7 +239,7 @@ export class SetupCommands {
235
239
  if (result.success) {
236
240
  console.log(chalk.green('\nāœ… Setup completed successfully!'));
237
241
  console.log(
238
- chalk.gray(`Duration: ${Math.round(result.duration / 1000)}s\n`)
242
+ chalk.gray(`Duration: ${Math.round(result.duration / 1000)}s\n`),
239
243
  );
240
244
 
241
245
  this.showSetupSummary(result);
@@ -311,7 +315,7 @@ export class SetupCommands {
311
315
  await this.runSetup({ profile: options.profile || 'fullstack' });
312
316
  } else {
313
317
  console.log(
314
- chalk.cyan('\nšŸ’” Fix issues with: wundr setup:validate --fix')
318
+ chalk.cyan('\nšŸ’” Fix issues with: wundr setup:validate --fix'),
315
319
  );
316
320
  }
317
321
  } else {
@@ -327,7 +331,7 @@ export class SetupCommands {
327
331
  process.stdout.cursorTo(0);
328
332
  const progressBar = this.createProgressBar(progress.percentage);
329
333
  process.stdout.write(
330
- `${progressBar} ${progress.percentage.toFixed(1)}% - ${progress.currentStep}`
334
+ `${progressBar} ${progress.percentage.toFixed(1)}% - ${progress.currentStep}`,
331
335
  );
332
336
  };
333
337
 
@@ -388,7 +392,7 @@ export class SetupCommands {
388
392
  try {
389
393
  await this.runCommand(`git config --global user.name "${answers.name}"`);
390
394
  await this.runCommand(
391
- `git config --global user.email "${answers.email}"`
395
+ `git config --global user.email "${answers.email}"`,
392
396
  );
393
397
  console.log(chalk.green('āœ… Git configured'));
394
398
  } catch (error) {
@@ -432,7 +436,7 @@ export class SetupCommands {
432
436
  private showSetupSummary(result: SetupResult): void {
433
437
  if (result.completedSteps.length > 0) {
434
438
  console.log(
435
- chalk.cyan(`šŸŽÆ Completed (${result.completedSteps.length}):`)
439
+ chalk.cyan(`šŸŽÆ Completed (${result.completedSteps.length}):`),
436
440
  );
437
441
  result.completedSteps
438
442
  .slice(0, 5)
@@ -444,14 +448,14 @@ export class SetupCommands {
444
448
 
445
449
  if (result.skippedSteps.length > 0) {
446
450
  console.log(
447
- chalk.yellow(`\nā­ļø Skipped (${result.skippedSteps.length}):`)
451
+ chalk.yellow(`\nā­ļø Skipped (${result.skippedSteps.length}):`),
448
452
  );
449
453
  result.skippedSteps
450
454
  .slice(0, 3)
451
455
  .forEach(step =>
452
456
  console.log(
453
- ` ā­ļø ${step.replace('install-', '')} (already installed)`
454
- )
457
+ ` ā­ļø ${step.replace('install-', '')} (already installed)`,
458
+ ),
455
459
  );
456
460
  }
457
461
  }
@@ -460,7 +464,7 @@ export class SetupCommands {
460
464
  if (result.failedSteps.length > 0) {
461
465
  console.log(chalk.red(`āŒ Failed (${result.failedSteps.length}):`));
462
466
  result.failedSteps.forEach(step =>
463
- console.log(` āŒ ${step.replace('install-', '')}`)
467
+ console.log(` āŒ ${step.replace('install-', '')}`),
464
468
  );
465
469
  }
466
470
 
@@ -1,7 +1,8 @@
1
- import { Command } from 'commander';
1
+ import path from 'path';
2
+
2
3
  import chalk from 'chalk';
4
+ import { Command } from 'commander';
3
5
  import fs from 'fs-extra';
4
- import path from 'path';
5
6
  import inquirer from 'inquirer';
6
7
 
7
8
  export class TestInitCommand {
@@ -70,7 +71,7 @@ export class TestInitCommand {
70
71
  await fs.writeFile(configPath, config);
71
72
 
72
73
  console.log(
73
- chalk.green('\nāœ… Test configuration created: wundr-test.config.js')
74
+ chalk.green('\nāœ… Test configuration created: wundr-test.config.js'),
74
75
  );
75
76
 
76
77
  // Add package.json scripts
@@ -224,8 +225,8 @@ jobs:
224
225
 
225
226
  console.log(
226
227
  chalk.green(
227
- 'āœ… Created GitHub Actions workflow: .github/workflows/wundr-tests.yml'
228
- )
228
+ 'āœ… Created GitHub Actions workflow: .github/workflows/wundr-tests.yml',
229
+ ),
229
230
  );
230
231
  }
231
232
  }
@@ -1,7 +1,8 @@
1
- import { Command } from 'commander';
2
- import chalk from 'chalk';
3
1
  import { spawn } from 'child_process';
4
2
  import path from 'path';
3
+
4
+ import chalk from 'chalk';
5
+ import { Command } from 'commander';
5
6
  import fs from 'fs-extra';
6
7
  import ora from 'ora';
7
8
 
@@ -133,7 +134,7 @@ export default defineConfig({
133
134
 
134
135
  await fs.writeFile(
135
136
  path.join(config.outputDir, 'playwright.config.ts'),
136
- playwrightConfig
137
+ playwrightConfig,
137
138
  );
138
139
  }
139
140
 
@@ -190,7 +191,7 @@ export default defineConfig({
190
191
 
191
192
  // Check for Jest or Vitest
192
193
  const packageJson = await fs.readJson(
193
- path.join(process.cwd(), 'package.json')
194
+ path.join(process.cwd(), 'package.json'),
194
195
  );
195
196
 
196
197
  if (packageJson.scripts?.test) {
@@ -234,11 +235,11 @@ export function createTestCommand(): Command {
234
235
  .option(
235
236
  '-t, --type <type>',
236
237
  'Type of tests to run (ui, api, unit, all)',
237
- 'all'
238
+ 'all',
238
239
  )
239
240
  .option(
240
241
  '-b, --browser <browser>',
241
- 'Browser to use (chromium, firefox, webkit)'
242
+ 'Browser to use (chromium, firefox, webkit)',
242
243
  )
243
244
  .option('--headed', 'Run tests in headed mode')
244
245
  .option('--base-url <url>', 'Base URL for the application')