@idea1/cli 1.8.2 → 1.8.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 (93) hide show
  1. package/README.md +92 -18
  2. package/dist/commands/approve-pr.js +5 -5
  3. package/dist/commands/approve-pr.js.map +1 -1
  4. package/dist/commands/attach-project-item.d.ts.map +1 -1
  5. package/dist/commands/attach-project-item.js +27 -7
  6. package/dist/commands/attach-project-item.js.map +1 -1
  7. package/dist/commands/help.d.ts.map +1 -1
  8. package/dist/commands/help.js +8 -6
  9. package/dist/commands/help.js.map +1 -1
  10. package/dist/commands/index.d.ts +2 -1
  11. package/dist/commands/index.d.ts.map +1 -1
  12. package/dist/commands/index.js +3 -1
  13. package/dist/commands/index.js.map +1 -1
  14. package/dist/commands/integrate.d.ts +13 -0
  15. package/dist/commands/integrate.d.ts.map +1 -0
  16. package/dist/commands/integrate.js +128 -0
  17. package/dist/commands/integrate.js.map +1 -0
  18. package/dist/commands/ready-for-approval.js +1 -1
  19. package/dist/commands/ready-for-approval.js.map +1 -1
  20. package/dist/commands/release.d.ts +4 -0
  21. package/dist/commands/release.d.ts.map +1 -1
  22. package/dist/commands/release.js +105 -20
  23. package/dist/commands/release.js.map +1 -1
  24. package/dist/commands/ship-local-changes.d.ts +8 -0
  25. package/dist/commands/ship-local-changes.d.ts.map +1 -0
  26. package/dist/commands/ship-local-changes.js +33 -0
  27. package/dist/commands/ship-local-changes.js.map +1 -0
  28. package/dist/commands/start-project-item.d.ts +27 -0
  29. package/dist/commands/start-project-item.d.ts.map +1 -0
  30. package/dist/commands/start-project-item.js +325 -0
  31. package/dist/commands/start-project-item.js.map +1 -0
  32. package/dist/commands/start.d.ts +6 -0
  33. package/dist/commands/start.d.ts.map +1 -1
  34. package/dist/commands/start.js +53 -18
  35. package/dist/commands/start.js.map +1 -1
  36. package/dist/index.js +0 -0
  37. package/dist/lib/claude-options.d.ts +3 -2
  38. package/dist/lib/claude-options.d.ts.map +1 -1
  39. package/dist/lib/claude-options.js +15 -4
  40. package/dist/lib/claude-options.js.map +1 -1
  41. package/dist/lib/settings.d.ts +13 -3
  42. package/dist/lib/settings.d.ts.map +1 -1
  43. package/dist/lib/settings.js +12 -3
  44. package/dist/lib/settings.js.map +1 -1
  45. package/dist/services/git.d.ts +34 -13
  46. package/dist/services/git.d.ts.map +1 -1
  47. package/dist/services/git.js +75 -39
  48. package/dist/services/git.js.map +1 -1
  49. package/dist/services/github.d.ts +15 -0
  50. package/dist/services/github.d.ts.map +1 -1
  51. package/dist/services/github.js +47 -0
  52. package/dist/services/github.js.map +1 -1
  53. package/dist/services/setup.d.ts.map +1 -1
  54. package/dist/services/setup.js +18 -24
  55. package/dist/services/setup.js.map +1 -1
  56. package/dist/services/workflow.d.ts +17 -0
  57. package/dist/services/workflow.d.ts.map +1 -0
  58. package/dist/services/workflow.js +39 -0
  59. package/dist/services/workflow.js.map +1 -0
  60. package/dist/types/index.d.ts +18 -24
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/dist/version.d.ts +2 -1
  63. package/dist/version.d.ts.map +1 -1
  64. package/dist/version.js +3 -2
  65. package/dist/version.js.map +1 -1
  66. package/dist/workflow/engine/approval-flow.d.ts +8 -1
  67. package/dist/workflow/engine/approval-flow.d.ts.map +1 -1
  68. package/dist/workflow/engine/approval-flow.js +23 -8
  69. package/dist/workflow/engine/approval-flow.js.map +1 -1
  70. package/dist/workflow/engine/handlers/agent-implementation.js +1 -1
  71. package/dist/workflow/engine/handlers/agent-implementation.js.map +1 -1
  72. package/dist/workflow/engine/handlers/approve-pr.d.ts.map +1 -1
  73. package/dist/workflow/engine/handlers/approve-pr.js +9 -3
  74. package/dist/workflow/engine/handlers/approve-pr.js.map +1 -1
  75. package/dist/workflow/engine/handlers/ready-for-approval.d.ts +5 -0
  76. package/dist/workflow/engine/handlers/ready-for-approval.d.ts.map +1 -1
  77. package/dist/workflow/engine/handlers/ready-for-approval.js +11 -7
  78. package/dist/workflow/engine/handlers/ready-for-approval.js.map +1 -1
  79. package/dist/workflow/engine/{release-flow.d.ts → release-engine.d.ts} +77 -6
  80. package/dist/workflow/engine/release-engine.d.ts.map +1 -0
  81. package/dist/workflow/engine/{release-flow.js → release-engine.js} +279 -17
  82. package/dist/workflow/engine/release-engine.js.map +1 -0
  83. package/dist/workflow/engine/ship-flow.d.ts +87 -0
  84. package/dist/workflow/engine/ship-flow.d.ts.map +1 -0
  85. package/dist/workflow/engine/ship-flow.js +227 -0
  86. package/dist/workflow/engine/ship-flow.js.map +1 -0
  87. package/dist/workflow/engine/workflow-engine.d.ts +18 -2
  88. package/dist/workflow/engine/workflow-engine.d.ts.map +1 -1
  89. package/dist/workflow/engine/workflow-engine.js +58 -19
  90. package/dist/workflow/engine/workflow-engine.js.map +1 -1
  91. package/package.json +2 -2
  92. package/dist/workflow/engine/release-flow.d.ts.map +0 -1
  93. package/dist/workflow/engine/release-flow.js.map +0 -1
@@ -0,0 +1,325 @@
1
+ import { logger } from '../lib/logger.js';
2
+ import { promptInput, promptSelect } from '../lib/prompt.js';
3
+ import { isolationModeOption, resolveIsolationMode } from '../lib/isolation.js';
4
+ import * as git from '../services/git.js';
5
+ import * as claude from '../services/claude.js';
6
+ import * as worktree from '../services/worktree.js';
7
+ import { configService } from '../services/config.js';
8
+ import { isProjectItemUrl, validateProjectItemUrl } from '../lib/project-item-url.js';
9
+ export const VALID_PERMISSION_MODES = ['acceptEdits', 'bypassPermissions', 'default', 'delegate', 'dontAsk', 'plan'];
10
+ const VALID_ENTRY_POINT_MODES = ['launch', 'inline', 'none'];
11
+ export const VALID_EFFORT_LEVELS = ['low', 'medium', 'high', 'xhigh', 'max'];
12
+ const ENTRY_POINT_MODE_CHOICES = [
13
+ { label: 'Launch new Claude session', value: 'launch' },
14
+ { label: 'Output prompt for current Claude session', value: 'inline' },
15
+ { label: 'Do not invoke Claude', value: 'none' }
16
+ ];
17
+ export const WORKFLOW_CHOICES = [
18
+ { label: 'Independent Feature', value: 'independent' },
19
+ { label: 'Work for Integration', value: 'integration' }
20
+ ];
21
+ const IMPLEMENT_AFTER_CREATE_CHOICES = [
22
+ { label: 'Start implementing now', value: 'yes' },
23
+ { label: 'Just set up the branch and automation (stop before Claude)', value: 'no' }
24
+ ];
25
+ const STACK_CHOICES = [
26
+ { label: 'No', value: 'no' },
27
+ { label: 'Yes - specify a branch', value: 'branch' },
28
+ { label: 'Yes - specify a project item URL', value: 'url' }
29
+ ];
30
+ const INTEGRATION_BRANCH_CHOICES = [
31
+ { label: 'Create new integration branch', value: 'new' },
32
+ { label: 'Use existing integration branch', value: 'existing' }
33
+ ];
34
+ /**
35
+ * Prompt the user whether to stack this branch on another and resolve the
36
+ * chosen stack branch. Prompt-only: performs no branch writes. Returns the
37
+ * resolved stack branch name, or null when the user opts not to stack.
38
+ * Shared by start-project-item and attach-project-item.
39
+ */
40
+ export async function promptForStackBranch() {
41
+ const stackChoice = await promptSelect('Stack this branch on another?', STACK_CHOICES);
42
+ if (stackChoice === 'branch') {
43
+ const stackBranch = await promptInput('Branch to stack on');
44
+ if (!stackBranch) {
45
+ throw new Error('Stack branch is required when stacking');
46
+ }
47
+ const stackExists = await git.branchExists(stackBranch);
48
+ if (!stackExists) {
49
+ throw new Error(`Stack branch '${stackBranch}' does not exist locally or on origin`);
50
+ }
51
+ return stackBranch;
52
+ }
53
+ if (stackChoice === 'url') {
54
+ const stackUrl = await promptInput('Project item URL to stack on');
55
+ if (!stackUrl) {
56
+ throw new Error('Project item URL is required when stacking by URL');
57
+ }
58
+ const stackBranch = await git.resolveBranchFromProjectItemUrl(stackUrl);
59
+ if (!stackBranch) {
60
+ throw new Error(`No branch found for project item URL: ${stackUrl}. Make sure the project item has been started.`);
61
+ }
62
+ logger.info(`Resolved stack branch: ${stackBranch}`);
63
+ return stackBranch;
64
+ }
65
+ return null;
66
+ }
67
+ /**
68
+ * Prompt the user for integration-branch selection. Prompt-only: does not
69
+ * perform any branch writes. Must be invoked before setWorkflowStatus so the
70
+ * user completes all setup questions up front.
71
+ */
72
+ export async function promptForIntegrationBranch() {
73
+ const existingBranches = await worktree.listExistingIntegrationBranches();
74
+ const branchChoice = existingBranches.length > 0
75
+ ? await promptSelect('Integration branch', INTEGRATION_BRANCH_CHOICES)
76
+ : 'new';
77
+ if (branchChoice === 'existing') {
78
+ const branchChoices = existingBranches.map(b => ({ label: b, value: b }));
79
+ const integrationBranchName = await promptSelect('Select integration branch', branchChoices);
80
+ const integrationName = await worktree.extractIntegrationName(integrationBranchName);
81
+ return { integrationName, integrationBranchName, isNew: false };
82
+ }
83
+ const integrationName = await promptInput('Integration name (e.g., my-cool-feature)');
84
+ if (!integrationName) {
85
+ throw new Error('Integration name is required');
86
+ }
87
+ const integrationBranchName = await worktree.buildIntegrationBranchName(integrationName);
88
+ return { integrationName, integrationBranchName, isNew: true };
89
+ }
90
+ export const startProjectItemCommand = {
91
+ name: 'start-project-item',
92
+ aliases: ['s', 'start'],
93
+ description: 'Start implementing a project item on a new branch, in a worktree or the main repo',
94
+ options: [
95
+ {
96
+ // Declared first so it's the very first thing prompted, before every
97
+ // other choice — later choices depend on whether it was provided.
98
+ longName: 'url',
99
+ description: 'Project item URL (leave blank to create a new item)',
100
+ defaultValue: '',
101
+ promptWhenDefaultExists: true,
102
+ // Allow blank (signals "create a new item"); validate format otherwise.
103
+ validate: (value) => (value ? validateProjectItemUrl(value) : undefined)
104
+ },
105
+ {
106
+ // Only prompted (and required) when no URL was given, i.e. the user is
107
+ // creating a new item. Declared after 'url' so it can read its value.
108
+ longName: 'title',
109
+ shortName: 't',
110
+ description: 'Title for the new project item',
111
+ dependsOn: (resolved) => !resolved['url'],
112
+ validate: (value) => value.trim() ? undefined : 'A title is required to create a project item'
113
+ },
114
+ {
115
+ // Only relevant when creating a new item. Declared after 'title' so it's
116
+ // asked once the item to create is named.
117
+ longName: 'implement-after-create',
118
+ shortName: 'ic',
119
+ description: 'After creating the new item, start implementing it now or just set up the branch?',
120
+ choices: IMPLEMENT_AFTER_CREATE_CHOICES,
121
+ dependsOn: (resolved) => !resolved['url'],
122
+ validate: (value) => value === 'yes' || value === 'no' ? undefined : 'Choose whether to start implementing'
123
+ },
124
+ {
125
+ longName: 'branch-name',
126
+ shortName: 'n',
127
+ description: 'Branch name (auto-generated if not provided)',
128
+ defaultValue: undefined,
129
+ promptWhenDefaultExists: true
130
+ },
131
+ {
132
+ longName: 'source-path',
133
+ shortName: 'p',
134
+ description: 'Path to source directory',
135
+ defaultValue: '',
136
+ promptWhenDefaultExists: false
137
+ },
138
+ {
139
+ longName: 'base-branch',
140
+ shortName: 'b',
141
+ description: 'Base branch',
142
+ defaultValue: () => configService.getDefaultBaseBranch(),
143
+ promptWhenDefaultExists: false
144
+ },
145
+ {
146
+ longName: 'permission-mode',
147
+ shortName: 'pm',
148
+ description: 'Claude permission mode',
149
+ defaultValue: 'plan',
150
+ promptWhenDefaultExists: true,
151
+ choices: VALID_PERMISSION_MODES.map(m => ({ label: m, value: m })),
152
+ validate: (value) => {
153
+ if (!VALID_PERMISSION_MODES.includes(value)) {
154
+ return `Must be one of: ${VALID_PERMISSION_MODES.join(', ')}`;
155
+ }
156
+ return undefined;
157
+ }
158
+ },
159
+ {
160
+ longName: 'workflow-type',
161
+ shortName: 'w',
162
+ description: 'Development workflow type',
163
+ defaultValue: undefined,
164
+ choices: WORKFLOW_CHOICES
165
+ },
166
+ isolationModeOption,
167
+ {
168
+ longName: 'effort',
169
+ shortName: 'e',
170
+ description: 'Claude effort level (reasoning depth)',
171
+ defaultValue: 'high',
172
+ promptWhenDefaultExists: true,
173
+ choices: VALID_EFFORT_LEVELS.map(l => ({ label: l, value: l })),
174
+ validate: (value) => {
175
+ if (!VALID_EFFORT_LEVELS.includes(value)) {
176
+ return `Must be one of: ${VALID_EFFORT_LEVELS.join(', ')}`;
177
+ }
178
+ return undefined;
179
+ }
180
+ },
181
+ {
182
+ longName: 'claude-entry-point',
183
+ shortName: 'im',
184
+ description: 'How to invoke Claude after setup',
185
+ defaultValue: 'launch',
186
+ promptWhenDefaultExists: false,
187
+ choices: ENTRY_POINT_MODE_CHOICES,
188
+ validate: (value) => {
189
+ if (!VALID_ENTRY_POINT_MODES.includes(value)) {
190
+ return `Must be one of: ${VALID_ENTRY_POINT_MODES.join(', ')}`;
191
+ }
192
+ return undefined;
193
+ }
194
+ }
195
+ ],
196
+ async execute(resolved) {
197
+ let projectItemUrl = resolved['url'];
198
+ const sourcePath = resolved['source-path'];
199
+ const baseBranch = resolved['base-branch'];
200
+ const permissionMode = resolved['permission-mode'];
201
+ const effort = (resolved['effort'] ?? 'high');
202
+ const workflowType = (resolved['workflow-type'] ?? 'independent');
203
+ const isolationMode = resolveIsolationMode(resolved);
204
+ let claudeEntryPointMode = (resolved['claude-entry-point'] ?? 'launch');
205
+ let shortBranchName = resolved['branch-name'] || undefined;
206
+ // Navigate to source path if provided
207
+ if (sourcePath) {
208
+ process.chdir(sourcePath);
209
+ }
210
+ // The URL is resolved up front (asked before any other choice). A blank
211
+ // value means the user wants to create a brand new item here; in that case
212
+ // the dependent 'title' and 'implement-after-create' options were also
213
+ // prompted and required.
214
+ if (!projectItemUrl) {
215
+ projectItemUrl = await claude.createProjectItem(resolved['title'].trim());
216
+ if (resolved['implement-after-create'] === 'no') {
217
+ // Stop before invoking Claude: set up the branch and all automation,
218
+ // but don't launch the implementation session.
219
+ claudeEntryPointMode = 'none';
220
+ }
221
+ }
222
+ // Validate URL format
223
+ if (!isProjectItemUrl(projectItemUrl)) {
224
+ logger.warning('URL does not appear to be an idea1.ai project item URL');
225
+ }
226
+ // Prompt for stack option (before MCP calls so all user questions are asked first)
227
+ const stackBranch = await promptForStackBranch();
228
+ // Collect integration-branch answers before the slow workflow status update,
229
+ // so every setup question is asked up front.
230
+ let integrationSelection = null;
231
+ if (workflowType === 'integration') {
232
+ integrationSelection = await promptForIntegrationBranch();
233
+ }
234
+ // Set workflow status to "Agent Implementation"
235
+ await claude.setWorkflowStatus(projectItemUrl, 'Agent Implementation');
236
+ // Generate branch name if not provided
237
+ if (!shortBranchName) {
238
+ shortBranchName = await claude.generateBranchName(projectItemUrl);
239
+ }
240
+ logger.info(`Using branch name: ${shortBranchName}`);
241
+ if (!shortBranchName) {
242
+ throw new Error('Failed to generate a branch name');
243
+ }
244
+ if (stackBranch) {
245
+ await git.ensureStackBranchReady(stackBranch);
246
+ }
247
+ if (workflowType === 'independent') {
248
+ await startIndependentFeature(projectItemUrl, shortBranchName, baseBranch, permissionMode, effort, claudeEntryPointMode, stackBranch, isolationMode);
249
+ }
250
+ else {
251
+ if (!integrationSelection) {
252
+ throw new Error('Integration selection was not collected');
253
+ }
254
+ await startWorkForIntegration(projectItemUrl, shortBranchName, baseBranch, permissionMode, effort, claudeEntryPointMode, stackBranch, integrationSelection, isolationMode);
255
+ }
256
+ }
257
+ };
258
+ /**
259
+ * Start an Independent Feature workflow
260
+ */
261
+ async function startIndependentFeature(projectItemUrl, shortBranchName, baseBranch, permissionMode, effort, claudeEntryPointMode, stackBranch, isolationMode) {
262
+ logger.section('Independent Feature Workflow');
263
+ // Resolve branch prefix
264
+ const branchPrefix = await worktree.resolveBranchPrefix();
265
+ // Determine which branch to base off of
266
+ const sourceBranch = stackBranch ?? baseBranch;
267
+ // PR always targets baseBranch for independent features
268
+ const prTargetBranch = baseBranch;
269
+ const fullBranchName = `${branchPrefix}/${shortBranchName}`;
270
+ if (stackBranch) {
271
+ logger.info(`Stacked workflow: branching from ${stackBranch}, PR will target ${baseBranch}`);
272
+ }
273
+ // Prepare branch
274
+ await worktree.prepareBranchForWorktreeWithFullName(fullBranchName, shortBranchName, sourceBranch, prTargetBranch);
275
+ // Store workflow state in git config
276
+ await git.storeWorkflowState('Agent Implementation', fullBranchName);
277
+ await git.storeDevWorkflowType('independent', fullBranchName);
278
+ if (stackBranch) {
279
+ await git.storeStackBranch(stackBranch, fullBranchName);
280
+ }
281
+ await worktree.setupBranchEnvironment(isolationMode, fullBranchName, shortBranchName, prTargetBranch, {
282
+ projectItemUrl,
283
+ permissionMode,
284
+ effort,
285
+ claudeEntryPointMode
286
+ });
287
+ }
288
+ /**
289
+ * Start a Work for Integration workflow
290
+ */
291
+ async function startWorkForIntegration(projectItemUrl, shortBranchName, baseBranch, permissionMode, effort, claudeEntryPointMode, stackBranch, integrationSelection, isolationMode) {
292
+ logger.section('Work for Integration Workflow');
293
+ const { integrationName, integrationBranchName, isNew } = integrationSelection;
294
+ if (isNew) {
295
+ // Create the integration branch from baseBranch if it doesn't exist.
296
+ // Runs after setWorkflowStatus so the slow remote write is not blocking user prompts.
297
+ await worktree.ensureIntegrationBranch(integrationBranchName, baseBranch);
298
+ }
299
+ logger.info(`Integration branch: ${integrationBranchName}`);
300
+ // For integration workflow, the integration branch acts as the base for PRs
301
+ const prTargetBranch = integrationBranchName;
302
+ // Determine which branch to base off of
303
+ const sourceBranch = stackBranch ?? integrationBranchName;
304
+ // Build the full work branch name using integration template
305
+ const fullBranchName = await worktree.buildIntegrationWorkBranchName(integrationName, shortBranchName);
306
+ if (stackBranch) {
307
+ logger.info(`Stacked workflow: branching from ${stackBranch}, PR will target ${integrationBranchName}`);
308
+ }
309
+ // Prepare branch
310
+ await worktree.prepareBranchForWorktreeWithFullName(fullBranchName, shortBranchName, sourceBranch, prTargetBranch);
311
+ // Store workflow state in git config
312
+ await git.storeWorkflowState('Agent Implementation', fullBranchName);
313
+ await git.storeDevWorkflowType('integration', fullBranchName);
314
+ await git.storeIntegrationBranch(integrationBranchName, fullBranchName);
315
+ if (stackBranch) {
316
+ await git.storeStackBranch(stackBranch, fullBranchName);
317
+ }
318
+ await worktree.setupBranchEnvironment(isolationMode, fullBranchName, shortBranchName, prTargetBranch, {
319
+ projectItemUrl,
320
+ permissionMode,
321
+ effort,
322
+ claudeEntryPointMode
323
+ });
324
+ }
325
+ //# sourceMappingURL=start-project-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-project-item.js","sourceRoot":"","sources":["../../src/commands/start-project-item.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,11 @@ export declare const projectItemTargetOptions: CommandOption[];
9
9
  * created from the title.
10
10
  */
11
11
  export declare function resolveOrCreateProjectItem(resolved: Record<string, string>): Promise<string>;
12
+ /**
13
+ * Put a project item under workflow management, optionally carrying the uncommitted changes of the
14
+ * base branch checkout onto its branch and then approving and merging it. Shared by every command
15
+ * that starts an item this way.
16
+ */
17
+ export declare function startProjectItem(resolved: Record<string, string>): Promise<void>;
12
18
  export declare const startCommand: Command;
13
19
  //# sourceMappingURL=start.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQhE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAAa,EAwCnD,CAAC;AAEF;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlG;AAED,eAAO,MAAM,YAAY,EAAE,OA8B1B,CAAC"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAoBhE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAAa,EAwCnD,CAAC;AAEF;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlG;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CtF;AAED,eAAO,MAAM,YAAY,EAAE,OAe1B,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { logger } from '../lib/logger.js';
2
2
  import { isProjectItemUrl, validateProjectItemUrl } from '../lib/project-item-url.js';
3
+ import * as git from '../services/git.js';
3
4
  import * as platform from '../services/platform.js';
5
+ import * as worktree from '../services/worktree.js';
4
6
  import { WorkflowStates } from '../workflow/data/workflow-states.js';
5
- import { branchCreationOptions } from '../workflow/engine/branch-setup.js';
6
7
  import { advanceAsNeededTo, requireLiveContext, resolveTransition } from '../workflow/engine/workflow-engine.js';
8
+ import { approveAndMerge, approveAndMergeOption, approvesAndMerges, branchCreationOptionsWithCarrying, carriesLocalChanges, carryLocalChanges, carryLocalChangesOption, findLocalChanges, shipOptions } from '../workflow/engine/ship-flow.js';
7
9
  /**
8
10
  * Options every command that can put an item under workflow management shares:
9
11
  * which item (or a new one to create) and where the repository is.
@@ -58,30 +60,63 @@ export async function resolveOrCreateProjectItem(resolved) {
58
60
  }
59
61
  return projectItemUrl;
60
62
  }
63
+ /**
64
+ * Put a project item under workflow management, optionally carrying the uncommitted changes of the
65
+ * base branch checkout onto its branch and then approving and merging it. Shared by every command
66
+ * that starts an item this way.
67
+ */
68
+ export async function startProjectItem(resolved) {
69
+ const sourcePath = resolved['source-path'];
70
+ if (sourcePath) {
71
+ process.chdir(sourcePath);
72
+ }
73
+ // Everything that can stop the command is checked before an item or a branch is created.
74
+ const isNewItem = !resolved['url'];
75
+ const localChanges = carriesLocalChanges(resolved)
76
+ ? await findLocalChanges(isNewItem ? resolved['base-branch'] || await worktree.resolveBaseBranch() : null)
77
+ : null;
78
+ if (carriesLocalChanges(resolved) && !localChanges) {
79
+ if (isNewItem && approvesAndMerges(resolved)) {
80
+ throw new Error('There are no uncommitted changes to carry, so a new item would have nothing to approve and merge.');
81
+ }
82
+ logger.info('There are no uncommitted changes to carry.');
83
+ }
84
+ const projectItemUrl = await resolveOrCreateProjectItem(resolved);
85
+ const transition = await resolveTransition({ projectItemUrl, options: resolved });
86
+ logger.section('Start Workflow');
87
+ if (localChanges) {
88
+ await carryLocalChanges(transition, localChanges);
89
+ }
90
+ if (approvesAndMerges(resolved)) {
91
+ await approveAndMerge(transition);
92
+ return;
93
+ }
94
+ // Entering the first state is what starts an item; an item that already has a
95
+ // state keeps it and, when it has no branch yet, gains one here.
96
+ await advanceAsNeededTo(transition, WorkflowStates.BuildSpecInProgress);
97
+ const { branchName, baseBranch } = requireLiveContext(transition);
98
+ logger.newline();
99
+ logger.success(`${projectItemUrl} is under workflow management on ${branchName} (state: ${transition.currentState})`);
100
+ logger.newline();
101
+ logger.hint(`Advance one step: idea1 next --url ${projectItemUrl}`);
102
+ logger.hint(`Jump to agent implementation: idea1 start-agent-implementation --url ${projectItemUrl}`);
103
+ if (!localChanges && await git.getCurrentBranch() === baseBranch && await git.hasUncommittedChanges()) {
104
+ logger.hint(`Your uncommitted changes stay on ${baseBranch}. To make them the item's work, run start again with --carry-local-changes while ${branchName} has no commits.`);
105
+ }
106
+ }
61
107
  export const startCommand = {
62
108
  name: 'start',
63
109
  aliases: ['s'],
64
- description: 'Put a project item under workflow management: create its branch and record it as the item\'s (no code changes, no Claude)',
110
+ description: 'Put a project item under workflow management: create its branch and record it as the item\'s (no code changes, no Claude) - or carry your uncommitted base branch changes onto it, and optionally approve and merge them',
65
111
  options: [
112
+ carryLocalChangesOption,
113
+ approveAndMergeOption,
66
114
  ...projectItemTargetOptions,
67
- ...branchCreationOptions
115
+ ...branchCreationOptionsWithCarrying,
116
+ ...shipOptions
68
117
  ],
69
118
  async execute(resolved) {
70
- const sourcePath = resolved['source-path'];
71
- if (sourcePath) {
72
- process.chdir(sourcePath);
73
- }
74
- const projectItemUrl = await resolveOrCreateProjectItem(resolved);
75
- const transition = await resolveTransition({ projectItemUrl, options: resolved });
76
- logger.section('Start Workflow');
77
- // Entering the first state is what starts an item; an item that already has a
78
- // state keeps it and, when it has no branch yet, gains one here.
79
- await advanceAsNeededTo(transition, WorkflowStates.BuildSpecInProgress);
80
- logger.newline();
81
- logger.success(`${projectItemUrl} is under workflow management on ${requireLiveContext(transition).branchName} (state: ${transition.currentState})`);
82
- logger.newline();
83
- logger.hint(`Advance one step: idea1 next --url ${projectItemUrl}`);
84
- logger.hint(`Jump to agent implementation: idea1 start-agent-implementation --url ${projectItemUrl}`);
119
+ await startProjectItem(resolved);
85
120
  }
86
121
  };
87
122
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
File without changes
@@ -14,11 +14,12 @@ export declare const MODEL_CHOICES: {
14
14
  /**
15
15
  * The options that configure a Claude implementation session. Shared by every
16
16
  * command that can launch one, so they all ask the same questions the same way;
17
- * the defaults are confirmed interactively.
17
+ * the defaults are confirmed interactively. Not asked when Claude is not invoked.
18
18
  */
19
19
  export declare const claudeSessionOptions: CommandOption[];
20
20
  /**
21
- * How Claude is invoked once the working environment is ready.
21
+ * How Claude is invoked once the working environment is ready. Declared before the session and
22
+ * prompt options, which are only asked when Claude is invoked.
22
23
  */
23
24
  export declare const claudeEntryPointOption: CommandOption;
24
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"claude-options.d.ts","sourceRoot":"","sources":["../../src/lib/claude-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEnI,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,EAAmF,CAAC;AAC7I,eAAO,MAAM,uBAAuB,EAAE,oBAAoB,EAAiC,CAAC;AAC5F,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EAA8C,CAAC;AAClG,eAAO,MAAM,YAAY,EAAE,WAAW,EAAyC,CAAC;AAChF,eAAO,MAAM,+BAA+B,UAAgB,CAAC;AAE7D,eAAO,MAAM,uBAAuB,EAAE,oBAA6B,CAAC;AACpE,eAAO,MAAM,aAAa,EAAE,WAAoB,CAAC;AACjD,eAAO,MAAM,cAAc,EAAE,iBAA0B,CAAC;AAGxD,eAAO,MAAM,aAAa;;;GAKzB,CAAC;AAiBF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,EA4B/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAQpC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,EAAE,aAAa,EAqBxD,CAAC;AAEF;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAC7E,cAAc,EAAE,oBAAoB,CAAC;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,sGAAsG;IACtG,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAUA"}
1
+ {"version":3,"file":"claude-options.d.ts","sourceRoot":"","sources":["../../src/lib/claude-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEnI,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,EAAmF,CAAC;AAC7I,eAAO,MAAM,uBAAuB,EAAE,oBAAoB,EAAiC,CAAC;AAC5F,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EAA8C,CAAC;AAClG,eAAO,MAAM,YAAY,EAAE,WAAW,EAAyC,CAAC;AAChF,eAAO,MAAM,+BAA+B,UAAgB,CAAC;AAE7D,eAAO,MAAM,uBAAuB,EAAE,oBAA6B,CAAC;AACpE,eAAO,MAAM,aAAa,EAAE,WAAoB,CAAC;AACjD,eAAO,MAAM,cAAc,EAAE,iBAA0B,CAAC;AAGxD,eAAO,MAAM,aAAa;;;GAKzB,CAAC;AAyBF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,EA+B/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAQpC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,EAAE,aAAa,EAqBxD,CAAC;AAEF;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAC7E,cAAc,EAAE,oBAAoB,CAAC;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,sGAAsG;IACtG,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAUA"}
@@ -22,13 +22,20 @@ const ENTRY_POINT_MODE_CHOICES = [
22
22
  { label: 'Output prompt for current Claude session', value: 'inline' },
23
23
  { label: 'Do not invoke Claude', value: 'none' }
24
24
  ];
25
+ /**
26
+ * Whether the resolved options invoke Claude at all; with 'none' there is no session to configure.
27
+ * Reads `claude-entry-point`, so it must be declared before the options that depend on it.
28
+ */
29
+ function invokesClaude(resolved) {
30
+ return resolved['claude-entry-point'] !== 'none';
31
+ }
25
32
  function oneOf(valid) {
26
33
  return (value) => (valid.includes(value) ? undefined : `Must be one of: ${valid.join(', ')}`);
27
34
  }
28
35
  /**
29
36
  * The options that configure a Claude implementation session. Shared by every
30
37
  * command that can launch one, so they all ask the same questions the same way;
31
- * the defaults are confirmed interactively.
38
+ * the defaults are confirmed interactively. Not asked when Claude is not invoked.
32
39
  */
33
40
  export const claudeSessionOptions = [
34
41
  {
@@ -37,6 +44,7 @@ export const claudeSessionOptions = [
37
44
  description: 'Claude permission mode',
38
45
  defaultValue: DEFAULT_PERMISSION_MODE,
39
46
  promptWhenDefaultExists: true,
47
+ dependsOn: invokesClaude,
40
48
  choices: VALID_PERMISSION_MODES.map(m => ({ label: m, value: m })),
41
49
  validate: oneOf(VALID_PERMISSION_MODES)
42
50
  },
@@ -46,6 +54,7 @@ export const claudeSessionOptions = [
46
54
  description: 'Claude model for the implementation session',
47
55
  defaultValue: DEFAULT_MODEL,
48
56
  promptWhenDefaultExists: true,
57
+ dependsOn: invokesClaude,
49
58
  choices: MODEL_CHOICES,
50
59
  validate: oneOf(VALID_MODELS)
51
60
  },
@@ -55,12 +64,14 @@ export const claudeSessionOptions = [
55
64
  description: 'Claude effort level (reasoning depth)',
56
65
  defaultValue: DEFAULT_EFFORT,
57
66
  promptWhenDefaultExists: true,
67
+ dependsOn: invokesClaude,
58
68
  choices: VALID_EFFORT_LEVELS.map(l => ({ label: l, value: l })),
59
69
  validate: oneOf(VALID_EFFORT_LEVELS)
60
70
  }
61
71
  ];
62
72
  /**
63
- * How Claude is invoked once the working environment is ready.
73
+ * How Claude is invoked once the working environment is ready. Declared before the session and
74
+ * prompt options, which are only asked when Claude is invoked.
64
75
  */
65
76
  export const claudeEntryPointOption = {
66
77
  longName: 'claude-entry-point',
@@ -86,8 +97,8 @@ export const claudeEntryPointPromptOptions = [
86
97
  description: 'Use default prompt?',
87
98
  defaultValue: 'yes',
88
99
  promptWhenDefaultExists: true,
89
- // Skipped when the prompt itself was supplied — there is nothing to ask.
90
- dependsOn: resolved => !resolved['entry-point-prompt'],
100
+ // Skipped when the prompt itself was supplied, or Claude is not invoked — there is nothing to ask.
101
+ dependsOn: resolved => invokesClaude(resolved) && !resolved['entry-point-prompt'],
91
102
  choices: USE_DEFAULT_PROMPT_CHOICES,
92
103
  validate: oneOf(VALID_USE_DEFAULT_PROMPT_VALUES)
93
104
  },
@@ -1 +1 @@
1
- {"version":3,"file":"claude-options.js","sourceRoot":"","sources":["../../src/lib/claude-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-options.js","sourceRoot":"","sources":["../../src/lib/claude-options.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Idea1Settings } from '../types/index.js';
1
+ import type { Idea1Settings, VersionedPackage } from '../types/index.js';
2
2
  import { type WorkflowState } from '../workflow/data/workflow-states.js';
3
3
  /**
4
4
  * Settings files read from `.idea1/`, in increasing order of precedence.
@@ -16,7 +16,6 @@ export declare const SETTINGS_FILES: readonly string[];
16
16
  export declare const DEFAULT_BRANCH_SETTINGS: {
17
17
  readonly branchPrefix: "working/agent";
18
18
  readonly baseBranch: "working/release";
19
- readonly releaseBranch: "working/release";
20
19
  readonly releaseTargetBranch: "main";
21
20
  readonly integrationBranchPrefix: "working/integration";
22
21
  readonly integrationBranchTemplate: "{prefix}/{name}-main";
@@ -63,7 +62,6 @@ export declare function getTestCommand(repoRoot: string): Promise<string | null>
63
62
  export interface ResolvedBranchSettings {
64
63
  branchPrefix: string;
65
64
  baseBranch: string;
66
- releaseBranch: string;
67
65
  releaseTargetBranch: string;
68
66
  integrationBranchPrefix: string;
69
67
  integrationBranchTemplate: string;
@@ -74,6 +72,18 @@ export interface ResolvedBranchSettings {
74
72
  * Read the repository's branch settings, defaulting each field on its own. See `ResolvedBranchSettings`.
75
73
  */
76
74
  export declare function readBranchSettings(repoRoot: string): Promise<ResolvedBranchSettings>;
75
+ /**
76
+ * The repository's release settings: the packages a release can bump. `versionedPackages` is empty
77
+ * when the repository's settings name none - such a repository's releases have no version bump step.
78
+ */
79
+ export interface ResolvedReleaseSettings {
80
+ versionedPackages: VersionedPackage[];
81
+ }
82
+ /**
83
+ * Read the repository's release settings (`release` in `.idea1/settings.json`, with
84
+ * `settings.local.json` overlaid). See `ResolvedReleaseSettings`.
85
+ */
86
+ export declare function readReleaseSettings(repoRoot: string): Promise<ResolvedReleaseSettings>;
77
87
  /**
78
88
  * Get the workflow state whose transition removes the worktree
79
89
  * (default: 'Needs Approval for Release')
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEjH;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAA6C,CAAC;AAE1F;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;CAS1B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAI1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,EAAE,aAAsD,CAAC;AAkBtG;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAiBlF;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAenG;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWnF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,6BAA6B,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAY1F;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkBvF"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/lib/settings.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEjH;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAA6C,CAAC;AAE1F;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;CAQ1B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAI1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,EAAE,aAAsD,CAAC;AAkBtG;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAkBlF;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAenG;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWnF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAG7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,6BAA6B,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAW1F;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAK5F;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAkBvF"}