@idea1/cli 1.2.3 → 1.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.
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 +214 -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 +49 -0
  71. package/dist/services/git.d.ts.map +1 -1
  72. package/dist/services/git.js +129 -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 +164 -7
  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":"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"}
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;AAqD9G,eAAO,MAAM,uBAAuB,EAAE,OA8IrC,CAAC"}
@@ -1,140 +1,55 @@
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 by looking up its branch in git config
81
29
  */
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'
30
+ async function resolveStackBranchFromUrl(projectItemUrl) {
31
+ // Search git config for a branch that has this project item URL
32
+ const { exec } = await import('../lib/shell.js');
33
+ const result = await exec('git', ['config', '--local', '--list']);
34
+ if (result.exitCode !== 0)
35
+ return null;
36
+ const lines = result.stdout.split('\n');
37
+ for (const line of lines) {
38
+ const match = line.match(/^branch\.(.+)\.idea1ProjectItemUrl=(.+)$/);
39
+ if (match && match[2] === projectItemUrl) {
40
+ return match[1];
101
41
  }
102
- ]);
103
- if (choice === 'current') {
104
- return currentBranch;
105
42
  }
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'
113
- }
114
- ]);
115
- return customBranch.trim();
116
- }
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>');
43
+ return null;
126
44
  }
127
45
  export const startProjectItemCommand = {
128
46
  name: 'start-project-item',
129
47
  aliases: ['s', 'start'],
130
48
  description: 'Start implementing a project item in an isolated environment',
131
- arguments: [
49
+ options: [
132
50
  {
133
- name: 'url',
134
- label: 'Project item URL',
135
- description: 'The idea1.ai project item URL to implement',
136
- required: true,
137
- type: 'text',
51
+ longName: 'url',
52
+ description: 'Project item URL',
138
53
  validate: (value) => {
139
54
  if (!value)
140
55
  return 'URL is required';
@@ -145,15 +60,70 @@ export const startProjectItemCommand = {
145
60
  }
146
61
  },
147
62
  {
148
- name: 'branchName',
149
- label: 'Branch name',
150
- description: 'Short branch name (auto-generated if not provided)',
151
- required: false,
152
- type: 'text'
63
+ longName: 'branch-name',
64
+ shortName: 'n',
65
+ description: 'Branch name (auto-generated if not provided)',
66
+ defaultValue: undefined,
67
+ promptWhenDefaultExists: true
68
+ },
69
+ {
70
+ longName: 'source-path',
71
+ shortName: 'p',
72
+ description: 'Path to source directory',
73
+ defaultValue: '',
74
+ promptWhenDefaultExists: false
75
+ },
76
+ {
77
+ longName: 'base-branch',
78
+ shortName: 'b',
79
+ description: 'Base branch',
80
+ defaultValue: () => configService.getDefaultBaseBranch(),
81
+ promptWhenDefaultExists: false
82
+ },
83
+ {
84
+ longName: 'permission-mode',
85
+ shortName: 'pm',
86
+ description: 'Claude permission mode',
87
+ defaultValue: 'plan',
88
+ promptWhenDefaultExists: true,
89
+ choices: VALID_PERMISSION_MODES.map(m => ({ label: m, value: m })),
90
+ validate: (value) => {
91
+ if (!VALID_PERMISSION_MODES.includes(value)) {
92
+ return `Must be one of: ${VALID_PERMISSION_MODES.join(', ')}`;
93
+ }
94
+ return undefined;
95
+ }
96
+ },
97
+ {
98
+ longName: 'workflow-type',
99
+ shortName: 'w',
100
+ description: 'Development workflow type',
101
+ defaultValue: undefined,
102
+ choices: WORKFLOW_CHOICES
103
+ },
104
+ {
105
+ longName: 'claude-entry-point',
106
+ shortName: 'im',
107
+ description: 'How to invoke Claude after setup',
108
+ defaultValue: 'launch',
109
+ promptWhenDefaultExists: false,
110
+ choices: ENTRY_POINT_MODE_CHOICES,
111
+ validate: (value) => {
112
+ if (!VALID_ENTRY_POINT_MODES.includes(value)) {
113
+ return `Must be one of: ${VALID_ENTRY_POINT_MODES.join(', ')}`;
114
+ }
115
+ return undefined;
116
+ }
153
117
  }
154
118
  ],
155
- async execute(args) {
156
- const { projectItemUrl, shortBranchName: providedBranchName, options } = parseArgs(args);
119
+ async execute(resolved) {
120
+ const projectItemUrl = resolved['url'];
121
+ const sourcePath = resolved['source-path'];
122
+ const baseBranch = resolved['base-branch'];
123
+ const permissionMode = resolved['permission-mode'];
124
+ const workflowType = (resolved['workflow-type'] ?? 'independent');
125
+ const claudeEntryPointMode = (resolved['claude-entry-point'] ?? 'launch');
126
+ let shortBranchName = resolved['branch-name'] || undefined;
157
127
  if (!projectItemUrl) {
158
128
  throw new Error('Please provide a project item URL');
159
129
  }
@@ -161,19 +131,13 @@ export const startProjectItemCommand = {
161
131
  if (!projectItemUrl.includes('idea1.ai/project/items/')) {
162
132
  logger.warning('URL does not appear to be an idea1.ai project item URL');
163
133
  }
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
134
  // Navigate to source path if provided
170
- if (options.sourcePath) {
171
- process.chdir(options.sourcePath);
135
+ if (sourcePath) {
136
+ process.chdir(sourcePath);
172
137
  }
173
138
  // Set workflow status to "Agent implementation"
174
139
  await claude.setWorkflowStatus(projectItemUrl, 'Agent implementation');
175
140
  // Generate branch name if not provided
176
- let shortBranchName = providedBranchName;
177
141
  if (!shortBranchName) {
178
142
  shortBranchName = await claude.generateBranchName(projectItemUrl);
179
143
  }
@@ -181,23 +145,123 @@ export const startProjectItemCommand = {
181
145
  if (!shortBranchName) {
182
146
  throw new Error('Failed to generate a branch name');
183
147
  }
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);
148
+ // Prompt for stack option
149
+ const stackChoice = await promptSelection('Stack this branch on another?', STACK_CHOICES);
150
+ let stackBranch = null;
151
+ if (stackChoice === 'branch') {
152
+ stackBranch = await promptTextInput('Branch to stack on');
153
+ if (!stackBranch) {
154
+ throw new Error('Stack branch is required when stacking');
155
+ }
156
+ const stackExists = await git.branchExists(stackBranch);
157
+ if (!stackExists) {
158
+ throw new Error(`Stack branch '${stackBranch}' does not exist locally or on origin`);
159
+ }
160
+ }
161
+ else if (stackChoice === 'url') {
162
+ const stackUrl = await promptTextInput('Project item URL to stack on');
163
+ if (!stackUrl) {
164
+ throw new Error('Project item URL is required when stacking by URL');
165
+ }
166
+ stackBranch = await resolveStackBranchFromUrl(stackUrl);
167
+ if (!stackBranch) {
168
+ throw new Error(`No branch found for project item URL: ${stackUrl}. Make sure the project item has been started.`);
169
+ }
170
+ logger.info(`Resolved stack branch: ${stackBranch}`);
171
+ }
172
+ if (workflowType === 'independent') {
173
+ await startIndependentFeature(projectItemUrl, shortBranchName, baseBranch, permissionMode, claudeEntryPointMode, stackBranch);
193
174
  }
194
175
  else {
195
- await worktree.setupWorktreeIsolation(fullBranchName, shortBranchName, options.baseBranch, {
196
- projectItemUrl,
197
- launchClaude: true,
198
- permissionMode: options.permissionMode
199
- });
176
+ await startWorkForIntegration(projectItemUrl, shortBranchName, baseBranch, permissionMode, claudeEntryPointMode, stackBranch);
200
177
  }
201
178
  }
202
179
  };
180
+ /**
181
+ * Start an Independent Feature workflow
182
+ */
183
+ async function startIndependentFeature(projectItemUrl, shortBranchName, baseBranch, permissionMode, claudeEntryPointMode, stackBranch) {
184
+ logger.section('Independent Feature Workflow');
185
+ // Resolve branch prefix
186
+ const branchPrefix = await worktree.resolveBranchPrefix();
187
+ // Determine which branch to base off of
188
+ const sourceBranch = stackBranch ?? baseBranch;
189
+ // PR always targets baseBranch for independent features
190
+ const prTargetBranch = baseBranch;
191
+ const fullBranchName = `${branchPrefix}/${shortBranchName}`;
192
+ if (stackBranch) {
193
+ logger.info(`Stacked workflow: branching from ${stackBranch}, PR will target ${baseBranch}`);
194
+ }
195
+ // Prepare branch
196
+ await worktree.prepareBranchForWorktreeWithFullName(fullBranchName, shortBranchName, sourceBranch, prTargetBranch);
197
+ // Store workflow state in git config
198
+ await git.storeWorkflowState('Agent implementation', fullBranchName);
199
+ await git.storeDevWorkflowType('independent', fullBranchName);
200
+ if (stackBranch) {
201
+ await git.storeStackBranch(stackBranch, fullBranchName);
202
+ }
203
+ await worktree.setupWorktreeIsolation(fullBranchName, shortBranchName, prTargetBranch, {
204
+ projectItemUrl,
205
+ permissionMode,
206
+ claudeEntryPointMode
207
+ });
208
+ }
209
+ /**
210
+ * Start a Work for Integration workflow
211
+ */
212
+ async function startWorkForIntegration(projectItemUrl, shortBranchName, baseBranch, permissionMode, claudeEntryPointMode, stackBranch) {
213
+ logger.section('Work for Integration Workflow');
214
+ // Get integration branch - either new or existing
215
+ let integrationBranchName;
216
+ let integrationName;
217
+ // Check for existing integration branches
218
+ const existingBranches = await worktree.listExistingIntegrationBranches();
219
+ let branchChoice;
220
+ if (existingBranches.length > 0) {
221
+ branchChoice = await promptSelection('Integration branch', INTEGRATION_BRANCH_CHOICES);
222
+ }
223
+ else {
224
+ branchChoice = 'new';
225
+ }
226
+ if (branchChoice === 'existing') {
227
+ // Let user pick from existing integration branches
228
+ const branchChoices = existingBranches.map(b => ({ label: b, value: b }));
229
+ integrationBranchName = await promptSelection('Select integration branch', branchChoices);
230
+ integrationName = await worktree.extractIntegrationName(integrationBranchName);
231
+ }
232
+ else {
233
+ // Create new integration branch
234
+ integrationName = await promptTextInput('Integration name (e.g., my-cool-feature)');
235
+ if (!integrationName) {
236
+ throw new Error('Integration name is required');
237
+ }
238
+ integrationBranchName = await worktree.buildIntegrationBranchName(integrationName);
239
+ // Create the integration branch from baseBranch if it doesn't exist
240
+ await worktree.ensureIntegrationBranch(integrationBranchName, baseBranch);
241
+ }
242
+ logger.info(`Integration branch: ${integrationBranchName}`);
243
+ // For integration workflow, the integration branch acts as the base for PRs
244
+ const prTargetBranch = integrationBranchName;
245
+ // Determine which branch to base off of
246
+ const sourceBranch = stackBranch ?? integrationBranchName;
247
+ // Build the full work branch name using integration template
248
+ const fullBranchName = await worktree.buildIntegrationWorkBranchName(integrationName, shortBranchName);
249
+ if (stackBranch) {
250
+ logger.info(`Stacked workflow: branching from ${stackBranch}, PR will target ${integrationBranchName}`);
251
+ }
252
+ // Prepare branch
253
+ await worktree.prepareBranchForWorktreeWithFullName(fullBranchName, shortBranchName, sourceBranch, prTargetBranch);
254
+ // Store workflow state in git config
255
+ await git.storeWorkflowState('Agent implementation', fullBranchName);
256
+ await git.storeDevWorkflowType('integration', fullBranchName);
257
+ await git.storeIntegrationBranch(integrationBranchName, fullBranchName);
258
+ if (stackBranch) {
259
+ await git.storeStackBranch(stackBranch, fullBranchName);
260
+ }
261
+ await worktree.setupWorktreeIsolation(fullBranchName, shortBranchName, prTargetBranch, {
262
+ projectItemUrl,
263
+ permissionMode,
264
+ claudeEntryPointMode
265
+ });
266
+ }
203
267
  //# 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"}