@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
@@ -1,41 +1,27 @@
1
1
  import { logger } from '../lib/logger.js';
2
+ import { getRemoveWorktreeOnDevTransition } from '../lib/settings.js';
2
3
  import * as git from '../services/git.js';
3
4
  import * as github from '../services/github.js';
4
5
  import * as claude from '../services/claude.js';
5
6
  import * as workflow from '../services/workflow.js';
6
- /**
7
- * Parse command line arguments for start-dev-implementation
8
- */
9
- function parseArgs(args) {
10
- const options = {};
11
- let i = 0;
12
- while (i < args.length) {
13
- const arg = args[i];
14
- switch (arg) {
15
- case '--source-path':
16
- case '-p':
17
- i++;
18
- options.sourcePath = args[i];
19
- break;
20
- default:
21
- if (arg.startsWith('-')) {
22
- throw new Error(`Unknown option: ${arg}`);
23
- }
24
- throw new Error(`Unexpected argument: ${arg}`);
25
- }
26
- i++;
27
- }
28
- return options;
29
- }
30
7
  export const startDevImplementationCommand = {
31
8
  name: 'start-dev-implementation',
32
9
  aliases: ['dev'],
33
- description: 'Transition from agent to dev implementation - creates PR and closes worktree',
34
- async execute(args) {
35
- const options = parseArgs(args);
10
+ description: 'Transition from agent to dev implementation - creates PR and optionally closes worktree',
11
+ options: [
12
+ {
13
+ longName: 'source-path',
14
+ shortName: 'p',
15
+ description: 'Path to worktree directory',
16
+ defaultValue: '',
17
+ promptWhenDefaultExists: false
18
+ }
19
+ ],
20
+ async execute(resolved) {
21
+ const sourcePath = resolved['source-path'];
36
22
  // Navigate to source path if provided
37
- if (options.sourcePath) {
38
- process.chdir(options.sourcePath);
23
+ if (sourcePath) {
24
+ process.chdir(sourcePath);
39
25
  }
40
26
  // Validate transition
41
27
  const validation = await workflow.validateTransition('start-dev-implementation');
@@ -74,20 +60,15 @@ export const startDevImplementationCommand = {
74
60
  // Update workflow state
75
61
  await git.storeWorkflowState('Dev implementation');
76
62
  await claude.setWorkflowStatus(projectItemUrl, 'Dev implementation');
77
- // If in a worktree, close it and move to main repo
63
+ // If in a worktree, optionally close it based on settings
78
64
  if (isWorktree) {
79
- const worktreePath = process.cwd();
80
- // Navigate to main repo root
81
- process.chdir(mainRepoRoot);
82
- // Remove the worktree
83
- logger.newline();
84
- logger.step('Removing worktree...');
85
- await git.removeWorktree(worktreePath);
86
- // Garbage collect orphaned branch configs
87
- logger.step('Cleaning up orphaned branch configs...');
88
- await git.gcOrphanedBranchConfigs();
89
- // Checkout the branch in main repo
90
- await git.checkoutBranch(branchName);
65
+ const shouldRemove = await getRemoveWorktreeOnDevTransition(mainRepoRoot);
66
+ if (shouldRemove) {
67
+ await removeCurrentWorktree(mainRepoRoot, branchName);
68
+ }
69
+ else {
70
+ logger.dim('Worktree kept (removeWorktreeOnDevTransition is not enabled)');
71
+ }
91
72
  }
92
73
  logger.newline();
93
74
  logger.success('Transitioned to Dev implementation');
@@ -95,7 +76,24 @@ export const startDevImplementationCommand = {
95
76
  if (prInfo) {
96
77
  logger.hint(`PR: ${prInfo.url}`);
97
78
  }
98
- logger.hint('When ready for review, run: idea1 ready-for-approval [reviewer]');
79
+ logger.hint('When ready for review, run: idea1 ready-for-approval [--reviewer <username>]');
99
80
  }
100
81
  };
82
+ /**
83
+ * Remove the current worktree and checkout the branch in the main repo
84
+ */
85
+ async function removeCurrentWorktree(mainRepoRoot, branchName) {
86
+ const worktreePath = process.cwd();
87
+ // Navigate to main repo root
88
+ process.chdir(mainRepoRoot);
89
+ // Remove the worktree
90
+ logger.newline();
91
+ logger.step('Removing worktree...');
92
+ await git.removeWorktree(worktreePath);
93
+ // Garbage collect orphaned branch configs
94
+ logger.step('Cleaning up orphaned branch configs...');
95
+ await git.gcOrphanedBranchConfigs();
96
+ // Checkout the branch in main repo
97
+ await git.checkoutBranch(branchName);
98
+ }
101
99
  //# sourceMappingURL=start-dev-implementation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start-dev-implementation.js","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAEpD;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAkC,EAAE,CAAC;IAElD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,eAAe,CAAC;YACrB,KAAK,IAAI;gBACP,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM;YAER;gBACE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAY;IACpD,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,8EAA8E;IAE3F,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhC,sCAAsC;QACtC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,sBAAsB;QACtB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC;QAC5D,CAAC;QAED,+EAA+E;QAC/E,kFAAkF;QAClF,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACrD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,IAAI,iBAAiB,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAE1C,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,2BAA2B,cAAc,OAAO,UAAU,EAAE,CAAC;YACnF,MAAM,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;QAED,yBAAyB;QACzB,MAAM,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEnC,gCAAgC;QAChC,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,MAAM,kCAAkC,CAAC,CAAC;QACtE,CAAC;QAED,wBAAwB;QACxB,MAAM,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAErE,mDAAmD;QACnD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAEnC,6BAA6B;YAC7B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE5B,sBAAsB;YACtB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACpC,MAAM,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAEvC,0CAA0C;YAC1C,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC;YAEpC,mCAAmC;YACnC,MAAM,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IACjF,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"start-dev-implementation.js","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start-project-item.d.ts","sourceRoot":"","sources":["../../src/commands/start-project-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiD,MAAM,mBAAmB,CAAC;AAiJhG,eAAO,MAAM,uBAAuB,EAAE,OA+FrC,CAAC"}
1
+ {"version":3,"file":"start-project-item.d.ts","sourceRoot":"","sources":["../../src/commands/start-project-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA+D,MAAM,mBAAmB,CAAC;AA2D9G,eAAO,MAAM,uBAAuB,EAAE,OA8IrC,CAAC"}
@@ -1,140 +1,60 @@
1
1
  import { logger } from '../lib/logger.js';
2
+ import { promptTextInput, promptSelection } from '../interactive.js';
2
3
  import * as git from '../services/git.js';
3
4
  import * as claude from '../services/claude.js';
4
5
  import * as worktree from '../services/worktree.js';
5
6
  import { configService } from '../services/config.js';
6
- import inquirer from 'inquirer';
7
- /**
8
- * Parse command line arguments for start-project-item
9
- */
10
7
  const VALID_PERMISSION_MODES = ['acceptEdits', 'bypassPermissions', 'default', 'delegate', 'dontAsk', 'plan'];
11
- function parseArgs(args) {
12
- const options = {
13
- isolationMode: configService.getDefaultIsolationMode(),
14
- baseBranch: configService.getDefaultBaseBranch(),
15
- buildImage: false,
16
- disableFirewall: false,
17
- permissionMode: 'plan'
18
- };
19
- let projectItemUrl = '';
20
- let shortBranchName;
21
- let i = 0;
22
- while (i < args.length) {
23
- const arg = args[i];
24
- switch (arg) {
25
- case '--isolation-mode':
26
- case '-m':
27
- i++;
28
- if (args[i] === 'worktree' || args[i] === 'container') {
29
- options.isolationMode = args[i];
30
- }
31
- else {
32
- throw new Error('--isolation-mode must be either "worktree" or "container"');
33
- }
34
- break;
35
- case '--source-path':
36
- case '-p':
37
- i++;
38
- options.sourcePath = args[i];
39
- break;
40
- case '--base-branch':
41
- case '-b':
42
- i++;
43
- options.baseBranch = args[i];
44
- break;
45
- case '--build-image':
46
- options.buildImage = true;
47
- break;
48
- case '--disable-firewall':
49
- options.disableFirewall = true;
50
- break;
51
- case '--permission-mode':
52
- case '-pm':
53
- i++;
54
- if (VALID_PERMISSION_MODES.includes(args[i])) {
55
- options.permissionMode = args[i];
56
- }
57
- else {
58
- throw new Error(`--permission-mode must be one of: ${VALID_PERMISSION_MODES.join(', ')}`);
59
- }
60
- break;
61
- default:
62
- if (arg.startsWith('-')) {
63
- throw new Error(`Unknown option: ${arg}`);
64
- }
65
- if (!projectItemUrl) {
66
- projectItemUrl = arg;
67
- }
68
- else if (!shortBranchName) {
69
- shortBranchName = arg;
70
- }
71
- else {
72
- throw new Error('Too many arguments');
73
- }
74
- }
75
- i++;
76
- }
77
- return { projectItemUrl, shortBranchName, options };
78
- }
8
+ const VALID_ENTRY_POINT_MODES = ['launch', 'inline', 'none'];
9
+ const ENTRY_POINT_MODE_CHOICES = [
10
+ { label: 'Launch new Claude session', value: 'launch' },
11
+ { label: 'Output prompt for current Claude session', value: 'inline' },
12
+ { label: 'Do not invoke Claude', value: 'none' }
13
+ ];
14
+ const WORKFLOW_CHOICES = [
15
+ { label: 'Independent Feature', value: 'independent' },
16
+ { label: 'Work for Integration', value: 'integration' }
17
+ ];
18
+ const STACK_CHOICES = [
19
+ { label: 'No', value: 'no' },
20
+ { label: 'Yes - specify a branch', value: 'branch' },
21
+ { label: 'Yes - specify a project item URL', value: 'url' }
22
+ ];
23
+ const INTEGRATION_BRANCH_CHOICES = [
24
+ { label: 'Create new integration branch', value: 'new' },
25
+ { label: 'Use existing integration branch', value: 'existing' }
26
+ ];
79
27
  /**
80
- * Prompt user to select base branch interactively
28
+ * Resolve the stack branch from a project item URL.
29
+ * First checks local git config, then falls back to searching
30
+ * remote branches for a committed .idea1/project-item-url file.
81
31
  */
82
- async function promptBaseBranch() {
83
- let currentBranch = 'unknown';
84
- try {
85
- currentBranch = await git.getCurrentBranch();
86
- }
87
- catch {
88
- // Ignore
89
- }
90
- const { choice } = await inquirer.prompt([
91
- {
92
- type: 'list',
93
- name: 'choice',
94
- message: 'Select base branch:',
95
- choices: [
96
- { name: `Current branch (${currentBranch})`, value: 'current' },
97
- { name: 'working/release', value: 'working/release' },
98
- { name: 'Enter custom branch', value: 'custom' }
99
- ],
100
- default: 'current'
101
- }
102
- ]);
103
- if (choice === 'current') {
104
- return currentBranch;
105
- }
106
- else if (choice === 'custom') {
107
- const { customBranch } = await inquirer.prompt([
108
- {
109
- type: 'input',
110
- name: 'customBranch',
111
- message: 'Enter branch name:',
112
- validate: (input) => input.trim() ? true : 'Branch name cannot be empty'
32
+ async function resolveStackBranchFromUrl(projectItemUrl) {
33
+ // Fetch latest so remote refs are up-to-date
34
+ await git.fetchLatest();
35
+ // Fast path: search local git config
36
+ const { exec } = await import('../lib/shell.js');
37
+ const result = await exec('git', ['config', '--local', '--list']);
38
+ if (result.exitCode === 0) {
39
+ const lines = result.stdout.split('\n');
40
+ for (const line of lines) {
41
+ const match = line.match(/^branch\.(.+)\.idea1projectitemurl=(.+)$/i);
42
+ if (match && match[2] === projectItemUrl) {
43
+ return match[1];
113
44
  }
114
- ]);
115
- return customBranch.trim();
45
+ }
116
46
  }
117
- return choice;
118
- }
119
- /**
120
- * Setup container isolation mode (not yet implemented)
121
- */
122
- async function setupContainerIsolation(_fullBranchName, _shortBranchName, _projectItemUrl, _options) {
123
- logger.error('Container isolation mode is not yet implemented in the CLI tool.');
124
- logger.info('Please use the shell script directly:');
125
- logger.plain('dev/workflow/start-project-item.sh --isolation-mode container <url>');
47
+ // Fallback: search remote branches for committed metadata
48
+ return git.findBranchByProjectItemFile(projectItemUrl);
126
49
  }
127
50
  export const startProjectItemCommand = {
128
51
  name: 'start-project-item',
129
52
  aliases: ['s', 'start'],
130
53
  description: 'Start implementing a project item in an isolated environment',
131
- arguments: [
54
+ options: [
132
55
  {
133
- name: 'url',
134
- label: 'Project item URL',
135
- description: 'The idea1.ai project item URL to implement',
136
- required: true,
137
- type: 'text',
56
+ longName: 'url',
57
+ description: 'Project item URL',
138
58
  validate: (value) => {
139
59
  if (!value)
140
60
  return 'URL is required';
@@ -145,15 +65,70 @@ export const startProjectItemCommand = {
145
65
  }
146
66
  },
147
67
  {
148
- name: 'branchName',
149
- label: 'Branch name',
150
- description: 'Short branch name (auto-generated if not provided)',
151
- required: false,
152
- type: 'text'
68
+ longName: 'branch-name',
69
+ shortName: 'n',
70
+ description: 'Branch name (auto-generated if not provided)',
71
+ defaultValue: undefined,
72
+ promptWhenDefaultExists: true
73
+ },
74
+ {
75
+ longName: 'source-path',
76
+ shortName: 'p',
77
+ description: 'Path to source directory',
78
+ defaultValue: '',
79
+ promptWhenDefaultExists: false
80
+ },
81
+ {
82
+ longName: 'base-branch',
83
+ shortName: 'b',
84
+ description: 'Base branch',
85
+ defaultValue: () => configService.getDefaultBaseBranch(),
86
+ promptWhenDefaultExists: false
87
+ },
88
+ {
89
+ longName: 'permission-mode',
90
+ shortName: 'pm',
91
+ description: 'Claude permission mode',
92
+ defaultValue: 'plan',
93
+ promptWhenDefaultExists: true,
94
+ choices: VALID_PERMISSION_MODES.map(m => ({ label: m, value: m })),
95
+ validate: (value) => {
96
+ if (!VALID_PERMISSION_MODES.includes(value)) {
97
+ return `Must be one of: ${VALID_PERMISSION_MODES.join(', ')}`;
98
+ }
99
+ return undefined;
100
+ }
101
+ },
102
+ {
103
+ longName: 'workflow-type',
104
+ shortName: 'w',
105
+ description: 'Development workflow type',
106
+ defaultValue: undefined,
107
+ choices: WORKFLOW_CHOICES
108
+ },
109
+ {
110
+ longName: 'claude-entry-point',
111
+ shortName: 'im',
112
+ description: 'How to invoke Claude after setup',
113
+ defaultValue: 'launch',
114
+ promptWhenDefaultExists: false,
115
+ choices: ENTRY_POINT_MODE_CHOICES,
116
+ validate: (value) => {
117
+ if (!VALID_ENTRY_POINT_MODES.includes(value)) {
118
+ return `Must be one of: ${VALID_ENTRY_POINT_MODES.join(', ')}`;
119
+ }
120
+ return undefined;
121
+ }
153
122
  }
154
123
  ],
155
- async execute(args) {
156
- const { projectItemUrl, shortBranchName: providedBranchName, options } = parseArgs(args);
124
+ async execute(resolved) {
125
+ const projectItemUrl = resolved['url'];
126
+ const sourcePath = resolved['source-path'];
127
+ const baseBranch = resolved['base-branch'];
128
+ const permissionMode = resolved['permission-mode'];
129
+ const workflowType = (resolved['workflow-type'] ?? 'independent');
130
+ const claudeEntryPointMode = (resolved['claude-entry-point'] ?? 'launch');
131
+ let shortBranchName = resolved['branch-name'] || undefined;
157
132
  if (!projectItemUrl) {
158
133
  throw new Error('Please provide a project item URL');
159
134
  }
@@ -161,19 +136,13 @@ export const startProjectItemCommand = {
161
136
  if (!projectItemUrl.includes('idea1.ai/project/items/')) {
162
137
  logger.warning('URL does not appear to be an idea1.ai project item URL');
163
138
  }
164
- // Handle --base-branch prompt
165
- if (options.baseBranch === 'prompt') {
166
- options.baseBranch = await promptBaseBranch();
167
- logger.info(`Using base branch: ${options.baseBranch}`);
168
- }
169
139
  // Navigate to source path if provided
170
- if (options.sourcePath) {
171
- process.chdir(options.sourcePath);
140
+ if (sourcePath) {
141
+ process.chdir(sourcePath);
172
142
  }
173
143
  // Set workflow status to "Agent implementation"
174
144
  await claude.setWorkflowStatus(projectItemUrl, 'Agent implementation');
175
145
  // Generate branch name if not provided
176
- let shortBranchName = providedBranchName;
177
146
  if (!shortBranchName) {
178
147
  shortBranchName = await claude.generateBranchName(projectItemUrl);
179
148
  }
@@ -181,23 +150,123 @@ export const startProjectItemCommand = {
181
150
  if (!shortBranchName) {
182
151
  throw new Error('Failed to generate a branch name');
183
152
  }
184
- // Resolve branch prefix using config hierarchy
185
- const branchPrefix = await worktree.resolveBranchPrefix();
186
- // Prepare branch for worktree (validates, fetches, creates branch)
187
- const fullBranchName = await worktree.prepareBranchForWorktree(shortBranchName, options.baseBranch, branchPrefix);
188
- // Store workflow state in git config
189
- await git.storeWorkflowState('Agent implementation', fullBranchName);
190
- // Setup isolation
191
- if (options.isolationMode === 'container') {
192
- await setupContainerIsolation(fullBranchName, shortBranchName, projectItemUrl, options);
153
+ // Prompt for stack option
154
+ const stackChoice = await promptSelection('Stack this branch on another?', STACK_CHOICES);
155
+ let stackBranch = null;
156
+ if (stackChoice === 'branch') {
157
+ stackBranch = await promptTextInput('Branch to stack on');
158
+ if (!stackBranch) {
159
+ throw new Error('Stack branch is required when stacking');
160
+ }
161
+ const stackExists = await git.branchExists(stackBranch);
162
+ if (!stackExists) {
163
+ throw new Error(`Stack branch '${stackBranch}' does not exist locally or on origin`);
164
+ }
165
+ }
166
+ else if (stackChoice === 'url') {
167
+ const stackUrl = await promptTextInput('Project item URL to stack on');
168
+ if (!stackUrl) {
169
+ throw new Error('Project item URL is required when stacking by URL');
170
+ }
171
+ stackBranch = await resolveStackBranchFromUrl(stackUrl);
172
+ if (!stackBranch) {
173
+ throw new Error(`No branch found for project item URL: ${stackUrl}. Make sure the project item has been started.`);
174
+ }
175
+ logger.info(`Resolved stack branch: ${stackBranch}`);
176
+ }
177
+ if (workflowType === 'independent') {
178
+ await startIndependentFeature(projectItemUrl, shortBranchName, baseBranch, permissionMode, claudeEntryPointMode, stackBranch);
193
179
  }
194
180
  else {
195
- await worktree.setupWorktreeIsolation(fullBranchName, shortBranchName, options.baseBranch, {
196
- projectItemUrl,
197
- launchClaude: true,
198
- permissionMode: options.permissionMode
199
- });
181
+ await startWorkForIntegration(projectItemUrl, shortBranchName, baseBranch, permissionMode, claudeEntryPointMode, stackBranch);
200
182
  }
201
183
  }
202
184
  };
185
+ /**
186
+ * Start an Independent Feature workflow
187
+ */
188
+ async function startIndependentFeature(projectItemUrl, shortBranchName, baseBranch, permissionMode, claudeEntryPointMode, stackBranch) {
189
+ logger.section('Independent Feature Workflow');
190
+ // Resolve branch prefix
191
+ const branchPrefix = await worktree.resolveBranchPrefix();
192
+ // Determine which branch to base off of
193
+ const sourceBranch = stackBranch ?? baseBranch;
194
+ // PR always targets baseBranch for independent features
195
+ const prTargetBranch = baseBranch;
196
+ const fullBranchName = `${branchPrefix}/${shortBranchName}`;
197
+ if (stackBranch) {
198
+ logger.info(`Stacked workflow: branching from ${stackBranch}, PR will target ${baseBranch}`);
199
+ }
200
+ // Prepare branch
201
+ await worktree.prepareBranchForWorktreeWithFullName(fullBranchName, shortBranchName, sourceBranch, prTargetBranch);
202
+ // Store workflow state in git config
203
+ await git.storeWorkflowState('Agent implementation', fullBranchName);
204
+ await git.storeDevWorkflowType('independent', fullBranchName);
205
+ if (stackBranch) {
206
+ await git.storeStackBranch(stackBranch, fullBranchName);
207
+ }
208
+ await worktree.setupWorktreeIsolation(fullBranchName, shortBranchName, prTargetBranch, {
209
+ projectItemUrl,
210
+ permissionMode,
211
+ claudeEntryPointMode
212
+ });
213
+ }
214
+ /**
215
+ * Start a Work for Integration workflow
216
+ */
217
+ async function startWorkForIntegration(projectItemUrl, shortBranchName, baseBranch, permissionMode, claudeEntryPointMode, stackBranch) {
218
+ logger.section('Work for Integration Workflow');
219
+ // Get integration branch - either new or existing
220
+ let integrationBranchName;
221
+ let integrationName;
222
+ // Check for existing integration branches
223
+ const existingBranches = await worktree.listExistingIntegrationBranches();
224
+ let branchChoice;
225
+ if (existingBranches.length > 0) {
226
+ branchChoice = await promptSelection('Integration branch', INTEGRATION_BRANCH_CHOICES);
227
+ }
228
+ else {
229
+ branchChoice = 'new';
230
+ }
231
+ if (branchChoice === 'existing') {
232
+ // Let user pick from existing integration branches
233
+ const branchChoices = existingBranches.map(b => ({ label: b, value: b }));
234
+ integrationBranchName = await promptSelection('Select integration branch', branchChoices);
235
+ integrationName = await worktree.extractIntegrationName(integrationBranchName);
236
+ }
237
+ else {
238
+ // Create new integration branch
239
+ integrationName = await promptTextInput('Integration name (e.g., my-cool-feature)');
240
+ if (!integrationName) {
241
+ throw new Error('Integration name is required');
242
+ }
243
+ integrationBranchName = await worktree.buildIntegrationBranchName(integrationName);
244
+ // Create the integration branch from baseBranch if it doesn't exist
245
+ await worktree.ensureIntegrationBranch(integrationBranchName, baseBranch);
246
+ }
247
+ logger.info(`Integration branch: ${integrationBranchName}`);
248
+ // For integration workflow, the integration branch acts as the base for PRs
249
+ const prTargetBranch = integrationBranchName;
250
+ // Determine which branch to base off of
251
+ const sourceBranch = stackBranch ?? integrationBranchName;
252
+ // Build the full work branch name using integration template
253
+ const fullBranchName = await worktree.buildIntegrationWorkBranchName(integrationName, shortBranchName);
254
+ if (stackBranch) {
255
+ logger.info(`Stacked workflow: branching from ${stackBranch}, PR will target ${integrationBranchName}`);
256
+ }
257
+ // Prepare branch
258
+ await worktree.prepareBranchForWorktreeWithFullName(fullBranchName, shortBranchName, sourceBranch, prTargetBranch);
259
+ // Store workflow state in git config
260
+ await git.storeWorkflowState('Agent implementation', fullBranchName);
261
+ await git.storeDevWorkflowType('integration', fullBranchName);
262
+ await git.storeIntegrationBranch(integrationBranchName, fullBranchName);
263
+ if (stackBranch) {
264
+ await git.storeStackBranch(stackBranch, fullBranchName);
265
+ }
266
+ await worktree.setupWorktreeIsolation(fullBranchName, shortBranchName, prTargetBranch, {
267
+ projectItemUrl,
268
+ permissionMode,
269
+ claudeEntryPointMode
270
+ });
271
+ }
203
272
  //# sourceMappingURL=start-project-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start-project-item.js","sourceRoot":"","sources":["../../src/commands/start-project-item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start-project-item.js","sourceRoot":"","sources":["../../src/commands/start-project-item.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from '../types/index.js';
2
+ export declare const updateBranchCommand: Command;
3
+ //# sourceMappingURL=update-branch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-branch.d.ts","sourceRoot":"","sources":["../../src/commands/update-branch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,mBAAmB,CAAC;AAsDlE,eAAO,MAAM,mBAAmB,EAAE,OAiLjC,CAAC"}