@idea1/cli 1.2.3 → 1.3.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 (82) hide show
  1. package/README.md +19 -152
  2. package/dist/cli/parser.d.ts +20 -0
  3. package/dist/cli/parser.d.ts.map +1 -0
  4. package/dist/cli/parser.js +105 -0
  5. package/dist/cli/parser.js.map +1 -0
  6. package/dist/cli/resolver.d.ts +16 -0
  7. package/dist/cli/resolver.d.ts.map +1 -0
  8. package/dist/cli/resolver.js +72 -0
  9. package/dist/cli/resolver.js.map +1 -0
  10. package/dist/cli.d.ts +0 -5
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +38 -357
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/approve-pr.d.ts.map +1 -1
  15. package/dist/commands/approve-pr.js +13 -28
  16. package/dist/commands/approve-pr.js.map +1 -1
  17. package/dist/commands/close-worktree.d.ts.map +1 -1
  18. package/dist/commands/close-worktree.js +29 -42
  19. package/dist/commands/close-worktree.js.map +1 -1
  20. package/dist/commands/create-worktree.d.ts.map +1 -1
  21. package/dist/commands/create-worktree.js +34 -55
  22. package/dist/commands/create-worktree.js.map +1 -1
  23. package/dist/commands/help.d.ts.map +1 -1
  24. package/dist/commands/help.js +107 -68
  25. package/dist/commands/help.js.map +1 -1
  26. package/dist/commands/index.d.ts +2 -2
  27. package/dist/commands/index.d.ts.map +1 -1
  28. package/dist/commands/index.js +10 -8
  29. package/dist/commands/index.js.map +1 -1
  30. package/dist/commands/next-workflow-step.js +4 -4
  31. package/dist/commands/next-workflow-step.js.map +1 -1
  32. package/dist/commands/push.d.ts.map +1 -1
  33. package/dist/commands/push.js +45 -54
  34. package/dist/commands/push.js.map +1 -1
  35. package/dist/commands/ready-for-approval.d.ts.map +1 -1
  36. package/dist/commands/ready-for-approval.js +25 -62
  37. package/dist/commands/ready-for-approval.js.map +1 -1
  38. package/dist/commands/release.d.ts.map +1 -1
  39. package/dist/commands/release.js +47 -98
  40. package/dist/commands/release.js.map +1 -1
  41. package/dist/commands/start-dev-implementation.d.ts.map +1 -1
  42. package/dist/commands/start-dev-implementation.js +41 -43
  43. package/dist/commands/start-dev-implementation.js.map +1 -1
  44. package/dist/commands/start-project-item.d.ts.map +1 -1
  45. package/dist/commands/start-project-item.js +219 -150
  46. package/dist/commands/start-project-item.js.map +1 -1
  47. package/dist/commands/update-branch.d.ts +3 -0
  48. package/dist/commands/update-branch.d.ts.map +1 -0
  49. package/dist/commands/update-branch.js +191 -0
  50. package/dist/commands/update-branch.js.map +1 -0
  51. package/dist/commands/update-docs.js +1 -1
  52. package/dist/commands/update-docs.js.map +1 -1
  53. package/dist/index.js +0 -0
  54. package/dist/interactive.d.ts +19 -0
  55. package/dist/interactive.d.ts.map +1 -1
  56. package/dist/interactive.js +14 -56
  57. package/dist/interactive.js.map +1 -1
  58. package/dist/lib/settings.d.ts +18 -0
  59. package/dist/lib/settings.d.ts.map +1 -1
  60. package/dist/lib/settings.js +30 -0
  61. package/dist/lib/settings.js.map +1 -1
  62. package/dist/services/claude.d.ts +5 -0
  63. package/dist/services/claude.d.ts.map +1 -1
  64. package/dist/services/claude.js +16 -0
  65. package/dist/services/claude.js.map +1 -1
  66. package/dist/services/config.d.ts +8 -0
  67. package/dist/services/config.d.ts.map +1 -1
  68. package/dist/services/config.js +14 -1
  69. package/dist/services/config.js.map +1 -1
  70. package/dist/services/git.d.ts +59 -0
  71. package/dist/services/git.d.ts.map +1 -1
  72. package/dist/services/git.js +163 -2
  73. package/dist/services/git.js.map +1 -1
  74. package/dist/services/worktree.d.ts +36 -2
  75. package/dist/services/worktree.d.ts.map +1 -1
  76. package/dist/services/worktree.js +170 -9
  77. package/dist/services/worktree.js.map +1 -1
  78. package/dist/types/index.d.ts +31 -93
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/dist/version.d.ts +1 -1
  81. package/dist/version.js +1 -1
  82. package/package.json +1 -2
package/dist/cli.js CHANGED
@@ -1,307 +1,11 @@
1
- import { Command } from 'commander';
2
- import { startProjectItemCommand, closeWorktreeCommand, createWorktreeCommand, pushCommand, updateDocsCommand, helpCommand, releaseCommand, startDevImplementationCommand, readyForApprovalCommand, approvePrCommand, nextWorkflowStepCommand } from './commands/index.js';
1
+ import { getCommand } from './commands/index.js';
2
+ import { parseCommandLine, printUsage, printCommandUsage } from './cli/parser.js';
3
+ import { resolveOptions } from './cli/resolver.js';
3
4
  import { runInteractiveMode } from './interactive.js';
4
5
  import { logger } from './lib/logger.js';
5
6
  import { VERSION } from './version.js';
6
7
  import { ensureSetup } from './services/setup.js';
7
8
  import * as git from './services/git.js';
8
- /**
9
- * Create and configure the CLI program
10
- */
11
- export function createProgram() {
12
- const program = new Command();
13
- program
14
- .name('idea1')
15
- .description('CLI tool for Idea1.ai workflow automation - AI-assisted development workflows')
16
- .version(VERSION, '-v, --version', 'Output the current version');
17
- // Global command line options (main names only, no aliases)
18
- program
19
- .option('--start-project-item <url>', 'Start implementing a project item')
20
- .option('--close-worktree', 'Close current worktree and create PR')
21
- .option('--create-worktree <name>', 'Create a new branch and worktree')
22
- .option('--push', 'Commit, push changes, and create PR')
23
- .option('--update-docs', 'Update README.md for changed folders')
24
- .option('--help-command', 'Show help information');
25
- // Start project item command
26
- program
27
- .command('start-project-item <url> [branch-name]')
28
- .alias('s')
29
- .description('Start implementing a project item in an isolated environment')
30
- .option('-m, --isolation-mode <mode>', 'Isolation mode: worktree (default) or container', 'worktree')
31
- .option('-p, --source-path <path>', 'Path to source directory')
32
- .option('-b, --base-branch <branch>', 'Base branch (default: working/release)', 'working/release')
33
- .option('--build-image', 'Force rebuild of Docker image (container mode)')
34
- .option('--disable-firewall', 'Disable network firewall (container mode)')
35
- .action(async (url, branchName, options) => {
36
- try {
37
- const args = [url];
38
- if (branchName) {
39
- args.push(branchName);
40
- }
41
- if (options.isolationMode && options.isolationMode !== 'worktree') {
42
- args.unshift('-m', options.isolationMode);
43
- }
44
- if (options.sourcePath) {
45
- args.unshift('-p', options.sourcePath);
46
- }
47
- if (options.baseBranch && options.baseBranch !== 'working/release') {
48
- args.unshift('-b', options.baseBranch);
49
- }
50
- if (options.buildImage) {
51
- args.unshift('--build-image');
52
- }
53
- if (options.disableFirewall) {
54
- args.unshift('--disable-firewall');
55
- }
56
- await startProjectItemCommand.execute(args);
57
- }
58
- catch (error) {
59
- const err = error;
60
- logger.error(err.message);
61
- process.exit(1);
62
- }
63
- });
64
- // Close worktree command
65
- program
66
- .command('close-worktree')
67
- .alias('c')
68
- .description('Close current worktree, commit changes, and create PR')
69
- .option('-p, --source-path <path>', 'Path to worktree directory')
70
- .option('-b, --base-branch <branch>', 'Base branch for PR')
71
- .option('--prompt-pr', 'Prompt before creating PR')
72
- .action(async (options) => {
73
- try {
74
- const args = [];
75
- if (options.sourcePath) {
76
- args.push('-p', options.sourcePath);
77
- }
78
- if (options.baseBranch) {
79
- args.push('-b', options.baseBranch);
80
- }
81
- if (options.promptPr) {
82
- args.push('--prompt-pr');
83
- }
84
- await closeWorktreeCommand.execute(args);
85
- }
86
- catch (error) {
87
- const err = error;
88
- logger.error(err.message);
89
- process.exit(1);
90
- }
91
- });
92
- // Create worktree command
93
- program
94
- .command('create-worktree <name>')
95
- .alias('w')
96
- .description('Create a new branch and git worktree for development')
97
- .option('-d, --dest-branch <branch>', 'Base branch to branch from (default: working/release)')
98
- .option('-p, --branch-prefix <prefix>', 'Prefix for new branch (default: working/agent)')
99
- .option('-s, --source-path <path>', 'Path to source directory')
100
- .action(async (name, options) => {
101
- try {
102
- const args = [name];
103
- if (options.destBranch) {
104
- args.unshift('-d', options.destBranch);
105
- }
106
- if (options.branchPrefix) {
107
- args.unshift('-p', options.branchPrefix);
108
- }
109
- if (options.sourcePath) {
110
- args.unshift('-s', options.sourcePath);
111
- }
112
- await createWorktreeCommand.execute(args);
113
- }
114
- catch (error) {
115
- const err = error;
116
- logger.error(err.message);
117
- process.exit(1);
118
- }
119
- });
120
- // Push command
121
- program
122
- .command('push')
123
- .alias('p')
124
- .description('Commit and push changes, optionally creating a PR')
125
- .option('-i, --project-item-url <url>', 'Project item URL for commit message')
126
- .option('--no-project-item', 'Skip project item URL')
127
- .option('--no-tests', 'Skip running tests before PR creation')
128
- .option('--create-pr <value>', 'Whether to create PR (default: true)')
129
- .option('-d, --dest-branch <branch>', 'PR target branch')
130
- .action(async (options) => {
131
- try {
132
- const args = [];
133
- if (options.projectItemUrl) {
134
- args.push('-i', options.projectItemUrl);
135
- }
136
- if (options.noProjectItem === true) {
137
- args.push('--no-project-item');
138
- }
139
- if (options.tests === false) {
140
- args.push('--no-tests');
141
- }
142
- if (options.createPr !== undefined) {
143
- args.push('--create-pr', String(options.createPr));
144
- }
145
- if (options.destBranch) {
146
- args.push('-d', options.destBranch);
147
- }
148
- await pushCommand.execute(args);
149
- }
150
- catch (error) {
151
- const err = error;
152
- logger.error(err.message);
153
- process.exit(1);
154
- }
155
- });
156
- // Update docs command
157
- program
158
- .command('update-docs')
159
- .alias('docs')
160
- .description('Update README.md files for folders with code changes')
161
- .action(async () => {
162
- try {
163
- await updateDocsCommand.execute([]);
164
- }
165
- catch (error) {
166
- const err = error;
167
- logger.error(err.message);
168
- process.exit(1);
169
- }
170
- });
171
- // Help command (also available as --help by default)
172
- program
173
- .command('help')
174
- .alias('h')
175
- .description('Show help information')
176
- .action(async () => {
177
- await helpCommand.execute([]);
178
- });
179
- // Release command
180
- program
181
- .command('release')
182
- .alias('r')
183
- .description('Create a release PR from release branch to main')
184
- .option('-b, --branch <branch>', 'Source branch to release from')
185
- .option('-t, --target <branch>', 'Target branch to release to')
186
- .option('-pr, --pr-mode <mode>', 'PR mode: merge or review')
187
- .option('--title <title>', 'PR title')
188
- .action(async (options) => {
189
- try {
190
- const args = [];
191
- if (options.branch) {
192
- args.push('-b', options.branch);
193
- }
194
- if (options.target) {
195
- args.push('-t', options.target);
196
- }
197
- if (options.prMode) {
198
- args.push('--pr-mode', options.prMode);
199
- }
200
- if (options.title) {
201
- args.push('--title', options.title);
202
- }
203
- await releaseCommand.execute(args);
204
- }
205
- catch (error) {
206
- const err = error;
207
- logger.error(err.message);
208
- process.exit(1);
209
- }
210
- });
211
- // Start dev implementation command
212
- program
213
- .command('start-dev-implementation')
214
- .alias('dev')
215
- .description('Transition from agent to dev implementation - creates PR and closes worktree')
216
- .option('-p, --source-path <path>', 'Path to worktree directory')
217
- .action(async (options) => {
218
- try {
219
- const args = [];
220
- if (options.sourcePath) {
221
- args.push('-p', options.sourcePath);
222
- }
223
- await startDevImplementationCommand.execute(args);
224
- }
225
- catch (error) {
226
- const err = error;
227
- logger.error(err.message);
228
- process.exit(1);
229
- }
230
- });
231
- // Ready for approval command
232
- program
233
- .command('ready-for-approval [reviewer]')
234
- .alias('rfa')
235
- .description('Mark PR as ready for approval and assign reviewer')
236
- .option('-r, --reviewer <username>', 'GitHub username of reviewer')
237
- .action(async (reviewer, options) => {
238
- try {
239
- const args = [];
240
- if (reviewer) {
241
- args.push(reviewer);
242
- }
243
- else if (options.reviewer) {
244
- args.push('--reviewer', options.reviewer);
245
- }
246
- await readyForApprovalCommand.execute(args);
247
- }
248
- catch (error) {
249
- const err = error;
250
- logger.error(err.message);
251
- process.exit(1);
252
- }
253
- });
254
- // Approve PR command
255
- program
256
- .command('approve-pr')
257
- .alias('approve')
258
- .description('Approve and merge the PR, completing the workflow')
259
- .option('-c, --comment <message>', 'Custom approval comment')
260
- .action(async (options) => {
261
- try {
262
- const args = [];
263
- if (options.comment) {
264
- args.push('--comment', options.comment);
265
- }
266
- await approvePrCommand.execute(args);
267
- }
268
- catch (error) {
269
- const err = error;
270
- logger.error(err.message);
271
- process.exit(1);
272
- }
273
- });
274
- // Next workflow step command
275
- program
276
- .command('next-workflow-step')
277
- .aliases(['next', 'n'])
278
- .description('Automatically perform the next workflow transition')
279
- .action(async () => {
280
- try {
281
- await nextWorkflowStepCommand.execute([]);
282
- }
283
- catch (error) {
284
- const err = error;
285
- logger.error(err.message);
286
- process.exit(1);
287
- }
288
- });
289
- return program;
290
- }
291
- /**
292
- * Check if argv contains a global option and return its value
293
- */
294
- function findGlobalOption(argv, option) {
295
- const index = argv.indexOf(option);
296
- if (index === -1)
297
- return undefined;
298
- // Check if next arg exists and is not another option
299
- const nextArg = argv[index + 1];
300
- if (nextArg && !nextArg.startsWith('-')) {
301
- return nextArg; // Return the value
302
- }
303
- return true; // Boolean flag
304
- }
305
9
  /**
306
10
  * Run the CLI
307
11
  */
@@ -314,76 +18,53 @@ export async function runCli(argv) {
314
18
  catch {
315
19
  // Not in a git repository - skip setup
316
20
  }
21
+ // Effective args (strip node and script path)
22
+ const args = argv.slice(2);
317
23
  // If no arguments provided, run interactive mode
318
- if (argv.length <= 2) {
24
+ if (args.length === 0) {
319
25
  await runInteractiveMode();
320
26
  return;
321
27
  }
322
- // Check for global command line options BEFORE parsing
323
- // This avoids double execution of subcommand actions
324
- const startProjectItemValue = findGlobalOption(argv, '--start-project-item');
325
- if (startProjectItemValue && typeof startProjectItemValue === 'string') {
326
- try {
327
- await startProjectItemCommand.execute([startProjectItemValue]);
328
- }
329
- catch (error) {
330
- const err = error;
331
- logger.error(err.message);
332
- process.exit(1);
333
- }
28
+ // Handle global flags
29
+ const firstArg = args[0];
30
+ if (firstArg === '--version' || firstArg === '-v') {
31
+ console.log(VERSION);
334
32
  return;
335
33
  }
336
- if (findGlobalOption(argv, '--close-worktree')) {
337
- try {
338
- await closeWorktreeCommand.execute([]);
339
- }
340
- catch (error) {
341
- const err = error;
342
- logger.error(err.message);
343
- process.exit(1);
344
- }
34
+ if (firstArg === '--help' || firstArg === '-h') {
35
+ printUsage();
345
36
  return;
346
37
  }
347
- const createWorktreeValue = findGlobalOption(argv, '--create-worktree');
348
- if (createWorktreeValue && typeof createWorktreeValue === 'string') {
349
- try {
350
- await createWorktreeCommand.execute([createWorktreeValue]);
351
- }
352
- catch (error) {
353
- const err = error;
354
- logger.error(err.message);
355
- process.exit(1);
356
- }
357
- return;
38
+ // Extract command name
39
+ const commandName = firstArg;
40
+ const remainingArgs = args.slice(1);
41
+ // Find command in registry
42
+ const command = getCommand(commandName);
43
+ if (!command) {
44
+ logger.error(`Unknown command: ${commandName}`);
45
+ logger.dim("Run 'idea1 --help' to see available commands.");
46
+ process.exit(1);
358
47
  }
359
- if (findGlobalOption(argv, '--push')) {
360
- try {
361
- await pushCommand.execute([]);
362
- }
363
- catch (error) {
364
- const err = error;
365
- logger.error(err.message);
366
- process.exit(1);
367
- }
48
+ // Check for per-command --help
49
+ if (remainingArgs.includes('--help') || remainingArgs.includes('-h')) {
50
+ printCommandUsage(command);
368
51
  return;
369
52
  }
370
- if (findGlobalOption(argv, '--update-docs')) {
371
- try {
372
- await updateDocsCommand.execute([]);
373
- }
374
- catch (error) {
375
- const err = error;
376
- logger.error(err.message);
377
- process.exit(1);
378
- }
379
- return;
53
+ try {
54
+ // Parse command line options
55
+ const parsed = parseCommandLine(remainingArgs, command);
56
+ // Resolve missing options (prompts if needed)
57
+ const resolved = await resolveOptions(command, parsed);
58
+ // Execute command
59
+ await command.execute(resolved);
380
60
  }
381
- if (findGlobalOption(argv, '--help-command')) {
382
- await helpCommand.execute([]);
383
- return;
61
+ catch (error) {
62
+ const err = error;
63
+ if (err.message?.includes('command cancelled') || err.message?.includes('force closed')) {
64
+ return;
65
+ }
66
+ logger.error(err.message);
67
+ process.exit(1);
384
68
  }
385
- // Parse and execute subcommand
386
- const program = createProgram();
387
- await program.parseAsync(argv);
388
69
  }
389
70
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"approve-pr.d.ts","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAoB,MAAM,mBAAmB,CAAC;AAuCnE,eAAO,MAAM,gBAAgB,EAAE,OAuH9B,CAAC"}
1
+ {"version":3,"file":"approve-pr.d.ts","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQjD,eAAO,MAAM,gBAAgB,EAAE,OAgI9B,CAAC"}
@@ -4,36 +4,21 @@ import * as github from '../services/github.js';
4
4
  import * as claude from '../services/claude.js';
5
5
  import * as workflow from '../services/workflow.js';
6
6
  import inquirer from 'inquirer';
7
- /**
8
- * Parse command line arguments for approve-pr
9
- */
10
- function parseArgs(args) {
11
- const options = {};
12
- let i = 0;
13
- while (i < args.length) {
14
- const arg = args[i];
15
- switch (arg) {
16
- case '--comment':
17
- case '-c':
18
- i++;
19
- options.comment = args[i];
20
- break;
21
- default:
22
- if (arg.startsWith('-')) {
23
- throw new Error(`Unknown option: ${arg}`);
24
- }
25
- throw new Error(`Unexpected argument: ${arg}`);
26
- }
27
- i++;
28
- }
29
- return options;
30
- }
31
7
  export const approvePrCommand = {
32
8
  name: 'approve-pr',
33
9
  aliases: ['approve'],
34
10
  description: 'Approve and merge the PR, completing the workflow',
35
- async execute(args) {
36
- const options = parseArgs(args);
11
+ options: [
12
+ {
13
+ longName: 'comment',
14
+ shortName: 'c',
15
+ description: 'Custom approval comment',
16
+ defaultValue: '',
17
+ promptWhenDefaultExists: false
18
+ }
19
+ ],
20
+ async execute(resolved) {
21
+ const comment = resolved['comment'] || undefined;
37
22
  // Validate transition
38
23
  const validation = await workflow.validateTransition('approve-pr');
39
24
  if (!validation.valid) {
@@ -65,7 +50,7 @@ export const approvePrCommand = {
65
50
  }
66
51
  else if (approvalStatus.isRequestedReviewer) {
67
52
  // User is a reviewer and hasn't approved yet - approve
68
- const approvalComment = options.comment ?? 'Approved via idea1 CLI workflow';
53
+ const approvalComment = comment ?? 'Approved via idea1 CLI workflow';
69
54
  const approved = await github.approvePr(branchName, approvalComment);
70
55
  if (!approved) {
71
56
  logger.warning('Failed to approve PR, continuing with merge...');
@@ -125,7 +110,7 @@ export const approvePrCommand = {
125
110
  try {
126
111
  await git.deleteBranch(branchName, true);
127
112
  }
128
- catch (error) {
113
+ catch {
129
114
  // Branch might already be deleted on remote after merge
130
115
  logger.dim(`Note: Branch ${branchName} may have been automatically deleted after merge`);
131
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"approve-pr.js","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approve-pr.js","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"close-worktree.d.ts","sourceRoot":"","sources":["../../src/commands/close-worktree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,mBAAmB,CAAC;AAwHvE,eAAO,MAAM,oBAAoB,EAAE,OAmHlC,CAAC"}
1
+ {"version":3,"file":"close-worktree.d.ts","sourceRoot":"","sources":["../../src/commands/close-worktree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AA6EjD,eAAO,MAAM,oBAAoB,EAAE,OAuIlC,CAAC"}
@@ -4,40 +4,6 @@ import * as github from '../services/github.js';
4
4
  import * as claude from '../services/claude.js';
5
5
  import { configService } from '../services/config.js';
6
6
  import inquirer from 'inquirer';
7
- /**
8
- * Parse command line arguments for close-worktree
9
- */
10
- function parseArgs(args) {
11
- const options = {
12
- promptPr: false
13
- };
14
- let i = 0;
15
- while (i < args.length) {
16
- const arg = args[i];
17
- switch (arg) {
18
- case '--source-path':
19
- case '-p':
20
- i++;
21
- options.sourcePath = args[i];
22
- break;
23
- case '--base-branch':
24
- case '-b':
25
- i++;
26
- options.baseBranch = args[i];
27
- break;
28
- case '--prompt-pr':
29
- options.promptPr = true;
30
- break;
31
- default:
32
- if (arg.startsWith('-')) {
33
- throw new Error(`Unknown option: ${arg}`);
34
- }
35
- throw new Error(`Unexpected argument: ${arg}`);
36
- }
37
- i++;
38
- }
39
- return options;
40
- }
41
7
  /**
42
8
  * Prompt for project item URL
43
9
  */
@@ -100,17 +66,38 @@ export const closeWorktreeCommand = {
100
66
  name: 'close-worktree',
101
67
  aliases: ['c', 'close'],
102
68
  description: 'Close current worktree, commit changes, and create PR',
103
- async execute(args) {
104
- const options = parseArgs(args);
69
+ options: [
70
+ {
71
+ longName: 'source-path',
72
+ shortName: 'p',
73
+ description: 'Path to worktree directory',
74
+ defaultValue: './',
75
+ promptWhenDefaultExists: true
76
+ },
77
+ {
78
+ longName: 'base-branch',
79
+ shortName: 'b',
80
+ description: 'Base branch for PR',
81
+ defaultValue: undefined,
82
+ promptWhenDefaultExists: true
83
+ },
84
+ {
85
+ longName: 'prompt-pr',
86
+ description: 'Prompt before creating PR',
87
+ isFlag: true
88
+ }
89
+ ],
90
+ async execute(resolved) {
91
+ const sourcePath = resolved['source-path'];
92
+ const baseBranchArg = resolved['base-branch'] || undefined;
93
+ const promptPr = resolved['prompt-pr'] === 'true';
105
94
  // Navigate to source path if provided
106
- if (options.sourcePath) {
107
- process.chdir(options.sourcePath);
95
+ if (sourcePath) {
96
+ process.chdir(sourcePath);
108
97
  }
109
98
  logger.step('Gathering worktree information...');
110
99
  // Get the main repository root dynamically
111
100
  const mainRepoRoot = await git.getMainRepoRoot();
112
- // Get repository name
113
- const repoName = await git.getRepoName();
114
101
  // Get current branch
115
102
  const fullBranchName = await git.getCurrentBranch();
116
103
  // Extract short branch name (remove "working/agent/" prefix)
@@ -127,7 +114,7 @@ export const closeWorktreeCommand = {
127
114
  logger.dim(`Found stored project item URL: ${projectItemUrl}`);
128
115
  }
129
116
  // Resolve base branch
130
- const baseBranchName = await resolveBaseBranch(options.baseBranch, fullBranchName);
117
+ const baseBranchName = await resolveBaseBranch(baseBranchArg, fullBranchName);
131
118
  // Check for uncommitted changes
132
119
  const hasChanges = await git.hasUncommittedChanges();
133
120
  if (hasChanges) {
@@ -153,7 +140,7 @@ export const closeWorktreeCommand = {
153
140
  if (!prInfo) {
154
141
  logger.newline();
155
142
  let shouldCreatePr = true;
156
- if (options.promptPr) {
143
+ if (promptPr) {
157
144
  shouldCreatePr = await askCreatePr();
158
145
  }
159
146
  if (shouldCreatePr) {