@idea1/cli 1.5.2 → 1.6.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 (108) hide show
  1. package/README.md +123 -92
  2. package/dist/commands/approve-pr.d.ts.map +1 -1
  3. package/dist/commands/approve-pr.js +7 -163
  4. package/dist/commands/approve-pr.js.map +1 -1
  5. package/dist/commands/attach-project-item.d.ts.map +1 -1
  6. package/dist/commands/attach-project-item.js +38 -89
  7. package/dist/commands/attach-project-item.js.map +1 -1
  8. package/dist/commands/close-worktree.d.ts.map +1 -1
  9. package/dist/commands/close-worktree.js +3 -2
  10. package/dist/commands/close-worktree.js.map +1 -1
  11. package/dist/commands/help.d.ts.map +1 -1
  12. package/dist/commands/help.js +17 -14
  13. package/dist/commands/help.js.map +1 -1
  14. package/dist/commands/index.d.ts +3 -2
  15. package/dist/commands/index.d.ts.map +1 -1
  16. package/dist/commands/index.js +5 -3
  17. package/dist/commands/index.js.map +1 -1
  18. package/dist/commands/join-project-item.d.ts.map +1 -1
  19. package/dist/commands/join-project-item.js +38 -77
  20. package/dist/commands/join-project-item.js.map +1 -1
  21. package/dist/commands/next-workflow-step.d.ts.map +1 -1
  22. package/dist/commands/next-workflow-step.js +66 -51
  23. package/dist/commands/next-workflow-step.js.map +1 -1
  24. package/dist/commands/ready-for-approval.d.ts.map +1 -1
  25. package/dist/commands/ready-for-approval.js +7 -66
  26. package/dist/commands/ready-for-approval.js.map +1 -1
  27. package/dist/commands/start-agent-implementation.d.ts +3 -0
  28. package/dist/commands/start-agent-implementation.d.ts.map +1 -0
  29. package/dist/commands/start-agent-implementation.js +41 -0
  30. package/dist/commands/start-agent-implementation.js.map +1 -0
  31. package/dist/commands/start-dev-implementation.d.ts.map +1 -1
  32. package/dist/commands/start-dev-implementation.js +8 -55
  33. package/dist/commands/start-dev-implementation.js.map +1 -1
  34. package/dist/commands/start.d.ts +13 -0
  35. package/dist/commands/start.d.ts.map +1 -0
  36. package/dist/commands/start.js +81 -0
  37. package/dist/commands/start.js.map +1 -0
  38. package/dist/interactive.d.ts.map +1 -1
  39. package/dist/interactive.js +29 -9
  40. package/dist/interactive.js.map +1 -1
  41. package/dist/lib/claude-options.d.ts +33 -0
  42. package/dist/lib/claude-options.d.ts.map +1 -0
  43. package/dist/lib/claude-options.js +83 -0
  44. package/dist/lib/claude-options.js.map +1 -0
  45. package/dist/lib/settings.d.ts.map +1 -1
  46. package/dist/lib/settings.js +5 -5
  47. package/dist/lib/settings.js.map +1 -1
  48. package/dist/lib/workflow-states.d.ts +21 -3
  49. package/dist/lib/workflow-states.d.ts.map +1 -1
  50. package/dist/lib/workflow-states.generated.d.ts +21 -0
  51. package/dist/lib/workflow-states.generated.d.ts.map +1 -0
  52. package/dist/lib/workflow-states.generated.js +34 -0
  53. package/dist/lib/workflow-states.generated.js.map +1 -0
  54. package/dist/lib/workflow-states.js +47 -26
  55. package/dist/lib/workflow-states.js.map +1 -1
  56. package/dist/services/branch-setup.d.ts +42 -0
  57. package/dist/services/branch-setup.d.ts.map +1 -0
  58. package/dist/services/branch-setup.js +116 -0
  59. package/dist/services/branch-setup.js.map +1 -0
  60. package/dist/services/claude.d.ts +14 -4
  61. package/dist/services/claude.d.ts.map +1 -1
  62. package/dist/services/claude.js +39 -4
  63. package/dist/services/claude.js.map +1 -1
  64. package/dist/services/git.d.ts +66 -0
  65. package/dist/services/git.d.ts.map +1 -1
  66. package/dist/services/git.js +161 -6
  67. package/dist/services/git.js.map +1 -1
  68. package/dist/services/workflow-engine.d.ts +67 -0
  69. package/dist/services/workflow-engine.d.ts.map +1 -0
  70. package/dist/services/workflow-engine.js +371 -0
  71. package/dist/services/workflow-engine.js.map +1 -0
  72. package/dist/services/workflow-handlers/agent-implementation.d.ts +9 -0
  73. package/dist/services/workflow-handlers/agent-implementation.d.ts.map +1 -0
  74. package/dist/services/workflow-handlers/agent-implementation.js +37 -0
  75. package/dist/services/workflow-handlers/agent-implementation.js.map +1 -0
  76. package/dist/services/workflow-handlers/approve-pr.d.ts +8 -0
  77. package/dist/services/workflow-handlers/approve-pr.d.ts.map +1 -0
  78. package/dist/services/workflow-handlers/approve-pr.js +161 -0
  79. package/dist/services/workflow-handlers/approve-pr.js.map +1 -0
  80. package/dist/services/workflow-handlers/dev-implementation.d.ts +8 -0
  81. package/dist/services/workflow-handlers/dev-implementation.d.ts.map +1 -0
  82. package/dist/services/workflow-handlers/dev-implementation.js +34 -0
  83. package/dist/services/workflow-handlers/dev-implementation.js.map +1 -0
  84. package/dist/services/workflow-handlers/index.d.ts +18 -0
  85. package/dist/services/workflow-handlers/index.d.ts.map +1 -0
  86. package/dist/services/workflow-handlers/index.js +36 -0
  87. package/dist/services/workflow-handlers/index.js.map +1 -0
  88. package/dist/services/workflow-handlers/ready-for-approval.d.ts +8 -0
  89. package/dist/services/workflow-handlers/ready-for-approval.d.ts.map +1 -0
  90. package/dist/services/workflow-handlers/ready-for-approval.js +60 -0
  91. package/dist/services/workflow-handlers/ready-for-approval.js.map +1 -0
  92. package/dist/services/workflow.d.ts +1 -21
  93. package/dist/services/workflow.d.ts.map +1 -1
  94. package/dist/services/workflow.js +1 -67
  95. package/dist/services/workflow.js.map +1 -1
  96. package/dist/services/worktree.d.ts +21 -23
  97. package/dist/services/worktree.d.ts.map +1 -1
  98. package/dist/services/worktree.js +35 -71
  99. package/dist/services/worktree.js.map +1 -1
  100. package/dist/types/index.d.ts +41 -4
  101. package/dist/types/index.d.ts.map +1 -1
  102. package/dist/version.d.ts +1 -1
  103. package/dist/version.js +1 -1
  104. package/package.json +2 -2
  105. package/dist/commands/start-project-item.d.ts +0 -27
  106. package/dist/commands/start-project-item.d.ts.map +0 -1
  107. package/dist/commands/start-project-item.js +0 -325
  108. package/dist/commands/start-project-item.js.map +0 -1
@@ -1,60 +1,21 @@
1
1
  import { logger } from '../lib/logger.js';
2
+ import { WorkflowStates, isStateAtOrAfter, normalizeWorkflowState } from '../lib/workflow-states.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
- import * as worktree from '../services/worktree.js';
6
- import { configService } from '../services/config.js';
7
- import { isProjectItemUrl, validateProjectItemUrl } from '../lib/project-item-url.js';
8
- import { WORKFLOW_CHOICES, promptForStackBranch, promptForIntegrationBranch } from './start-project-item.js';
6
+ import { branchCreationOptions, collectBranchCreationChoices } from '../services/branch-setup.js';
7
+ import { projectItemTargetOptions, resolveOrCreateProjectItem } from './start.js';
9
8
  export const attachProjectItemCommand = {
10
9
  name: 'attach-project-item',
11
10
  aliases: ['a', 'attach'],
12
- description: 'Attach the current branch to a project item as if it had been started here',
11
+ description: 'Attach the current branch to a project item, putting it under workflow management at the item\'s current state',
13
12
  options: [
14
- {
15
- // Asked first; a blank value means "create a new item" and unlocks 'title'.
16
- longName: 'url',
17
- description: 'Project item URL (leave blank to create a new item)',
18
- defaultValue: '',
19
- promptWhenDefaultExists: true,
20
- validate: (value) => (value ? validateProjectItemUrl(value) : undefined)
21
- },
22
- {
23
- // Only prompted (and required) when no URL was given, i.e. creating a new item.
24
- longName: 'title',
25
- shortName: 't',
26
- description: 'Title for the new project item',
27
- dependsOn: (resolved) => !resolved['url'],
28
- validate: (value) => value.trim() ? undefined : 'A title is required to create a project item'
29
- },
30
- {
31
- longName: 'source-path',
32
- shortName: 'p',
33
- description: 'Path to source directory',
34
- defaultValue: '',
35
- promptWhenDefaultExists: false
36
- },
37
- {
38
- longName: 'base-branch',
39
- shortName: 'b',
40
- description: 'Base branch (PR target for an independent feature)',
41
- defaultValue: () => configService.getDefaultBaseBranch(),
42
- promptWhenDefaultExists: false
43
- },
44
- {
45
- longName: 'workflow-type',
46
- shortName: 'w',
47
- description: 'Development workflow type',
48
- defaultValue: undefined,
49
- choices: WORKFLOW_CHOICES
50
- }
13
+ ...projectItemTargetOptions,
14
+ // The current branch already has its name; only the base branch and workflow type apply.
15
+ ...branchCreationOptions.filter(option => option.longName !== 'branch-name')
51
16
  ],
52
17
  async execute(resolved) {
53
- let projectItemUrl = resolved['url'];
54
18
  const sourcePath = resolved['source-path'];
55
- const baseBranch = resolved['base-branch'];
56
- const workflowType = (resolved['workflow-type'] ?? 'independent');
57
- // Navigate to source path if provided
58
19
  if (sourcePath) {
59
20
  process.chdir(sourcePath);
60
21
  }
@@ -66,68 +27,56 @@ export const attachProjectItemCommand = {
66
27
  // Attaching is only valid for a branch that has not already been wired up to
67
28
  // a project item — re-attaching would clobber existing workflow state.
68
29
  await ensureNotAlreadyAttached(currentBranch);
69
- // The URL is resolved up front. A blank value means create a brand new item
70
- // here, in which case the dependent 'title' option was prompted and required.
71
- if (!projectItemUrl) {
72
- projectItemUrl = await claude.createProjectItem(resolved['title'].trim());
73
- }
74
- if (!isProjectItemUrl(projectItemUrl)) {
75
- logger.warning('URL does not appear to be an idea1.ai project item URL');
76
- }
77
- // Collect every user decision up front (mirrors start-project-item), before
78
- // any slow MCP or git writes.
79
- const stackBranch = await promptForStackBranch();
80
- let integrationSelection = null;
81
- if (workflowType === 'integration') {
82
- integrationSelection = await promptForIntegrationBranch();
83
- }
84
- // Determine the PR target branch exactly the way start-project-item does:
85
- // the integration branch for integration work, otherwise the base branch.
86
- let prTargetBranch = baseBranch;
87
- if (integrationSelection) {
88
- if (integrationSelection.isNew) {
89
- await worktree.ensureIntegrationBranch(integrationSelection.integrationBranchName, baseBranch);
90
- // ensureIntegrationBranch leaves the working tree on the base branch — return
91
- // to the branch we are attaching so metadata is committed to the right place.
92
- await git.checkoutBranch(currentBranch);
30
+ const projectItemUrl = await resolveOrCreateProjectItem(resolved);
31
+ // Collect every user decision up front, before any slow MCP or git writes.
32
+ const choices = await collectBranchCreationChoices(resolved);
33
+ // The PR target is the integration branch for integration work, otherwise the base branch.
34
+ let prTargetBranch = choices.baseBranch;
35
+ if (choices.integrationSelection) {
36
+ const { integrationBranchName, isNew } = choices.integrationSelection;
37
+ if (isNew && !await git.branchExists(integrationBranchName)) {
38
+ await git.createRemoteBranchFrom(integrationBranchName, `origin/${choices.baseBranch}`);
93
39
  }
94
- prTargetBranch = integrationSelection.integrationBranchName;
40
+ prTargetBranch = integrationBranchName;
95
41
  }
96
42
  if (currentBranch === prTargetBranch) {
97
43
  throw new Error(`Cannot attach branch '${currentBranch}' to itself as the PR base ('${prTargetBranch}').`);
98
44
  }
45
+ // The branch joins the workflow at whatever state the item is already in.
46
+ const workflowState = normalizeWorkflowState(await claude.getWorkflowStatus(projectItemUrl)) ?? WorkflowStates.BuildSpecInProgress;
99
47
  logger.section('Attach Project Item');
100
- logger.info(`Attaching current branch '${currentBranch}' to ${projectItemUrl}`);
101
- if (stackBranch) {
102
- logger.info(`Stacked workflow recorded: stacked on ${stackBranch}, PR will target ${prTargetBranch}`);
48
+ logger.info(`Attaching current branch '${currentBranch}' to ${projectItemUrl} (state: ${workflowState})`);
49
+ if (choices.stackBranch) {
50
+ logger.info(`Stacked workflow recorded: stacked on ${choices.stackBranch}, PR will target ${prTargetBranch}`);
103
51
  }
104
- // Update the item's workflow status on idea1.ai.
105
- await claude.setWorkflowStatus(projectItemUrl, 'Agent Implementation');
106
52
  // Persist per-branch metadata (git config fast-path + committed JSON file).
107
53
  // These must be stored before commitBranchMetadata so it gathers all values.
108
- await git.storeWorkflowState('Agent Implementation', currentBranch);
109
- await git.storeDevWorkflowType(workflowType, currentBranch);
110
- if (stackBranch) {
111
- await git.storeStackBranch(stackBranch, currentBranch);
54
+ await git.storeWorkflowState(workflowState, currentBranch);
55
+ await git.storeDevWorkflowType(choices.workflowType, currentBranch);
56
+ if (choices.stackBranch) {
57
+ await git.storeStackBranch(choices.stackBranch, currentBranch);
112
58
  }
113
- if (integrationSelection) {
114
- await git.storeIntegrationBranch(integrationSelection.integrationBranchName, currentBranch);
59
+ if (choices.integrationSelection) {
60
+ await git.storeIntegrationBranch(choices.integrationSelection.integrationBranchName, currentBranch);
115
61
  }
116
62
  await git.storeProjectItemUrl(projectItemUrl, currentBranch);
117
63
  await git.storeBaseBranch(prTargetBranch, currentBranch);
118
- // Commit the metadata file on the branch and push so the branch is up to date
119
- // with its metadata and visible on the remote for PR creation.
120
64
  const repoRoot = await git.getRepoRoot();
121
65
  await git.commitBranchMetadata(repoRoot, currentBranch, projectItemUrl);
122
66
  await git.pushToRemote(currentBranch);
123
- // Set up the PR into the target branch, just like start-project-item targets it.
124
- const prInfo = await github.createPrIfNeeded(currentBranch, prTargetBranch, projectItemUrl);
67
+ // Record the branch on the item so the web client can find it.
68
+ await claude.setWorkflowStatus(projectItemUrl, workflowState, currentBranch);
69
+ // A branch attached at an implementation state that already has a PR in the
70
+ // workflow gets one now, as entering Dev Implementation would have created it.
71
+ if (isStateAtOrAfter(workflowState, WorkflowStates.DevImplementation)) {
72
+ const prInfo = await github.createPrIfNeeded(currentBranch, prTargetBranch, projectItemUrl);
73
+ if (prInfo) {
74
+ logger.hint(`PR: ${prInfo.url}`);
75
+ }
76
+ }
125
77
  logger.success(`Attached ${currentBranch} to ${projectItemUrl}`);
126
78
  logger.newline();
127
79
  logger.hint('Use `idea1 next` to transition to the next workflow step when ready.');
128
- if (prInfo) {
129
- logger.hint(`PR: ${prInfo.url}`);
130
- }
131
80
  }
132
81
  };
133
82
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"attach-project-item.js","sourceRoot":"","sources":["../../src/commands/attach-project-item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach-project-item.js","sourceRoot":"","sources":["../../src/commands/attach-project-item.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"close-worktree.d.ts","sourceRoot":"","sources":["../../src/commands/close-worktree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AA8CjD,eAAO,MAAM,oBAAoB,EAAE,OAqIlC,CAAC"}
1
+ {"version":3,"file":"close-worktree.d.ts","sourceRoot":"","sources":["../../src/commands/close-worktree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AA+CjD,eAAO,MAAM,oBAAoB,EAAE,OAqIlC,CAAC"}
@@ -5,6 +5,7 @@ import * as claude from '../services/claude.js';
5
5
  import { configService } from '../services/config.js';
6
6
  import { removeCurrentWorktree } from '../services/worktree.js';
7
7
  import { promptProjectItemUrl, promptConfirm } from '../lib/prompt.js';
8
+ import { WorkflowStates } from '../lib/workflow-states.js';
8
9
  /**
9
10
  * Resolve base branch using hierarchical resolution:
10
11
  * 1. Command-line parameter (if provided)
@@ -107,7 +108,7 @@ export const closeWorktreeCommand = {
107
108
  }
108
109
  // Update workflow state and commit metadata before push
109
110
  if (projectItemUrl) {
110
- await git.storeWorkflowState('Dev Implementation', fullBranchName);
111
+ await git.storeWorkflowState(WorkflowStates.DevImplementation, fullBranchName);
111
112
  await git.commitBranchMetadataIfChanged(fullBranchName);
112
113
  }
113
114
  // Push all commits (code + metadata) to remote
@@ -130,7 +131,7 @@ export const closeWorktreeCommand = {
130
131
  }
131
132
  // Update idea1.ai workflow status to "Dev Implementation"
132
133
  if (projectItemUrl) {
133
- await claude.setWorkflowStatus(projectItemUrl, 'Dev Implementation');
134
+ await claude.setWorkflowStatus(projectItemUrl, WorkflowStates.DevImplementation);
134
135
  }
135
136
  // Remove the worktree and return to the main repo root
136
137
  await removeCurrentWorktree(mainRepoRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"close-worktree.js","sourceRoot":"","sources":["../../src/commands/close-worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"close-worktree.js","sourceRoot":"","sources":["../../src/commands/close-worktree.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMjD,eAAO,MAAM,WAAW,EAAE,OAqIzB,CAAC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAMjD,eAAO,MAAM,WAAW,EAAE,OAwIzB,CAAC"}
@@ -12,21 +12,23 @@ export const helpCommand = {
12
12
  // Print workflow overview
13
13
  console.log(chalk.bold('WORKFLOW OVERVIEW:'));
14
14
  console.log();
15
- console.log(' The idea1 CLI automates the implementation stages of the development workflow:');
15
+ console.log(' Every project item moves through these states, in order:');
16
16
  console.log();
17
- console.log(` ${chalk.yellow('Agent Implementation')} → ${chalk.blue('Dev Implementation')} → ${chalk.magenta('Needs Approval for Release')} → ${chalk.green('Approved and Merged')}`);
17
+ console.log(` ${chalk.gray('Build Spec in Progress')} → ${chalk.gray('Refinement - Build Spec')} → ${chalk.gray('Refinement - Implementation')} → ${chalk.cyan('Ready for Agent Implementation')}`);
18
+ console.log(` → ${chalk.yellow('Agent Implementation')} → ${chalk.blue('Dev Implementation')} → ${chalk.magenta('Needs Approval for Release')} → ${chalk.green('Approved and Merged')} → ${chalk.green('Released')}`);
18
19
  console.log();
19
- console.log(` ${chalk.dim('Earlier states (Build Spec in Progress, Refinement - Build Spec, Refinement - Implementation,')}`);
20
- console.log(` ${chalk.dim('Ready for Agent Implementation) happen in idea1.ai; "Released" is set when work merges to main.')}`);
20
+ console.log(' An item under workflow management has a branch carrying .idea1/<branch>.json with its');
21
+ console.log(' current state, so the CLI and the idea1.ai web client stay in sync. Entering a state runs');
22
+ console.log(' that state\'s automation; only "Agent Implementation" launches Claude to write code.');
21
23
  console.log();
22
- console.log(' Each state transition is performed by a CLI command:');
23
- console.log();
24
- console.log(` ${chalk.bold('start-project-item')} Begin work on a project item (creates branch + worktree)`);
25
- console.log(` ${chalk.bold('start-dev-implementation')} Commit agent work, create PR, close worktree`);
26
- console.log(` ${chalk.bold('ready-for-approval')} Mark PR ready for review, optionally assign + request reviewers`);
27
- console.log(` ${chalk.bold('approve-pr')} Approve, merge PR, clean up branch`);
28
- console.log(` ${chalk.bold('next-workflow-step')} Auto-detect and run the next transition`);
29
- console.log(` ${chalk.bold('update-branch')} Merge latest from source branch into current branch`);
24
+ console.log(` ${chalk.bold('start')} Put an item under workflow management (branch + metadata, no code)`);
25
+ console.log(` ${chalk.bold('next-workflow-step')} Advance to the next state and run its automation`);
26
+ console.log(` ${chalk.bold('start-agent-implementation')} Jump to Agent Implementation: worktree + Claude (alias: start-project-item)`);
27
+ console.log(` ${chalk.bold('start-dev-implementation')} Commit agent work, create PR, close worktree`);
28
+ console.log(` ${chalk.bold('ready-for-approval')} Mark PR ready for review, optionally assign + request reviewers`);
29
+ console.log(` ${chalk.bold('approve-pr')} Approve, merge PR, clean up branch`);
30
+ console.log(` ${chalk.bold('join-project-item')} Set up a working environment on an item\'s existing branch`);
31
+ console.log(` ${chalk.bold('update-branch')} Merge latest from source branch into current branch`);
30
32
  console.log();
31
33
  // Print branching workflows
32
34
  console.log(chalk.bold('BRANCHING WORKFLOWS:'));
@@ -111,8 +113,9 @@ export const helpCommand = {
111
113
  console.log();
112
114
  console.log(chalk.bold('EXAMPLES:'));
113
115
  console.log(' idea1 start --url https://app.idea1.ai/project/items/590');
114
- console.log(' idea1 start --url https://app.idea1.ai/project/items/590 -w integration');
115
- console.log(' idea1 start --url https://app.idea1.ai/project/items/590 -b working/release');
116
+ console.log(' idea1 next --url https://app.idea1.ai/project/items/590');
117
+ console.log(' idea1 start-agent-implementation --url https://app.idea1.ai/project/items/590');
118
+ console.log(' idea1 start-agent-implementation --url https://app.idea1.ai/project/items/590 -w integration');
116
119
  console.log(' idea1 update-branch');
117
120
  console.log(' idea1 next');
118
121
  console.log(' idea1 ready-for-approval --assignee octocat --reviewers octocat,hubot');
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Command } from '../types/index.js';
2
- import { startProjectItemCommand } from './start-project-item.js';
2
+ import { startCommand } from './start.js';
3
+ import { startAgentImplementationCommand } from './start-agent-implementation.js';
3
4
  import { joinProjectItemCommand } from './join-project-item.js';
4
5
  import { attachProjectItemCommand } from './attach-project-item.js';
5
6
  import { closeWorktreeCommand } from './close-worktree.js';
@@ -25,5 +26,5 @@ export declare function getAllCommands(): Command[];
25
26
  * Get all command names and aliases for autocomplete
26
27
  */
27
28
  export declare function getAllCommandNamesAndAliases(): string[];
28
- export { startProjectItemCommand, joinProjectItemCommand, attachProjectItemCommand, closeWorktreeCommand, createWorktreeCommand, pushCommand, helpCommand, releaseCommand, startDevImplementationCommand, readyForApprovalCommand, approvePrCommand, nextWorkflowStepCommand, updateBranchCommand, getProjectItemUrlCommand };
29
+ export { startCommand, startAgentImplementationCommand, joinProjectItemCommand, attachProjectItemCommand, closeWorktreeCommand, createWorktreeCommand, pushCommand, helpCommand, releaseCommand, startDevImplementationCommand, readyForApprovalCommand, approvePrCommand, nextWorkflowStepCommand, updateBranchCommand, getProjectItemUrlCommand };
29
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAwCrE;;GAEG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEnE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,EAAE,CAM1C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAEvD;AAED,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,6BAA6B,EAC7B,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACzB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAyCrE;;GAEG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEnE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,EAAE,CAM1C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAEvD;AAED,OAAO,EACL,YAAY,EACZ,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,6BAA6B,EAC7B,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACzB,CAAC"}
@@ -1,4 +1,5 @@
1
- import { startProjectItemCommand } from './start-project-item.js';
1
+ import { startCommand } from './start.js';
2
+ import { startAgentImplementationCommand } from './start-agent-implementation.js';
2
3
  import { joinProjectItemCommand } from './join-project-item.js';
3
4
  import { attachProjectItemCommand } from './attach-project-item.js';
4
5
  import { closeWorktreeCommand } from './close-worktree.js';
@@ -29,7 +30,8 @@ function registerCommand(command) {
29
30
  }
30
31
  // Register all commands
31
32
  registerCommand(helpCommand);
32
- registerCommand(startProjectItemCommand);
33
+ registerCommand(startCommand);
34
+ registerCommand(startAgentImplementationCommand);
33
35
  registerCommand(joinProjectItemCommand);
34
36
  registerCommand(attachProjectItemCommand);
35
37
  registerCommand(startDevImplementationCommand);
@@ -66,5 +68,5 @@ export function getAllCommands() {
66
68
  export function getAllCommandNamesAndAliases() {
67
69
  return Array.from(commandRegistry.keys());
68
70
  }
69
- export { startProjectItemCommand, joinProjectItemCommand, attachProjectItemCommand, closeWorktreeCommand, createWorktreeCommand, pushCommand, helpCommand, releaseCommand, startDevImplementationCommand, readyForApprovalCommand, approvePrCommand, nextWorkflowStepCommand, updateBranchCommand, getProjectItemUrlCommand };
71
+ export { startCommand, startAgentImplementationCommand, joinProjectItemCommand, attachProjectItemCommand, closeWorktreeCommand, createWorktreeCommand, pushCommand, helpCommand, releaseCommand, startDevImplementationCommand, readyForApprovalCommand, approvePrCommand, nextWorkflowStepCommand, updateBranchCommand, getProjectItemUrlCommand };
70
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;GAEG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEnD;;GAEG;AACH,SAAS,eAAe,CAAC,OAAgB;IACvC,mBAAmB;IACnB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE3C,sBAAsB;IACtB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,eAAe,CAAC,WAAW,CAAC,CAAC;AAC7B,eAAe,CAAC,uBAAuB,CAAC,CAAC;AACzC,eAAe,CAAC,sBAAsB,CAAC,CAAC;AACxC,eAAe,CAAC,wBAAwB,CAAC,CAAC;AAC1C,eAAe,CAAC,6BAA6B,CAAC,CAAC;AAC/C,eAAe,CAAC,uBAAuB,CAAC,CAAC;AACzC,eAAe,CAAC,gBAAgB,CAAC,CAAC;AAClC,eAAe,CAAC,cAAc,CAAC,CAAC;AAChC,eAAe,CAAC,uBAAuB,CAAC,CAAC;AACzC,eAAe,CAAC,mBAAmB,CAAC,CAAC;AACrC,eAAe,CAAC,wBAAwB,CAAC,CAAC;AAE1C,kGAAkG;AAClG,oEAAoE;AAEpE,yCAAyC;AACzC,0CAA0C;AAC1C,gCAAgC;AAEhC;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,OAAO,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAW,CAAC;IAC1C,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/C,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,6BAA6B,EAC7B,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"join-project-item.d.ts","sourceRoot":"","sources":["../../src/commands/join-project-item.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAA2D,MAAM,mBAAmB,CAAC;AAW1G,eAAO,MAAM,sBAAsB,EAAE,OA8IpC,CAAC"}
1
+ {"version":3,"file":"join-project-item.d.ts","sourceRoot":"","sources":["../../src/commands/join-project-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,mBAAmB,CAAC;AAYjE,eAAO,MAAM,sBAAsB,EAAE,OA8GpC,CAAC"}
@@ -1,13 +1,13 @@
1
- import { basename } from 'path';
2
1
  import { logger } from '../lib/logger.js';
3
2
  import { isolationModeOption, resolveIsolationMode } from '../lib/isolation.js';
3
+ import { claudeSessionOptions, resolveClaudeSessionOptions } from '../lib/claude-options.js';
4
+ import { WorkflowStates, normalizeWorkflowState } from '../lib/workflow-states.js';
5
+ import { validateProjectItemUrl } from '../lib/project-item-url.js';
4
6
  import * as git from '../services/git.js';
5
7
  import * as worktree from '../services/worktree.js';
6
8
  import * as claude from '../services/claude.js';
7
9
  import * as github from '../services/github.js';
8
- import { validateProjectItemUrl } from '../lib/project-item-url.js';
9
- import { normalizeWorkflowState } from '../lib/workflow-states.js';
10
- import { startProjectItemCommand, VALID_PERMISSION_MODES, VALID_EFFORT_LEVELS } from './start-project-item.js';
10
+ import { ensureManaged, resolveContext, syncBranchStateFromRemote } from '../services/workflow-engine.js';
11
11
  export const joinProjectItemCommand = {
12
12
  name: 'join-project-item',
13
13
  aliases: ['j', 'join'],
@@ -47,64 +47,34 @@ export const joinProjectItemCommand = {
47
47
  promptWhenDefaultExists: false
48
48
  },
49
49
  isolationModeOption,
50
- {
51
- longName: 'permission-mode',
52
- shortName: 'pm',
53
- description: 'Claude permission mode',
54
- defaultValue: 'plan',
55
- promptWhenDefaultExists: false,
56
- choices: VALID_PERMISSION_MODES.map(m => ({ label: m, value: m })),
57
- validate: (value) => VALID_PERMISSION_MODES.includes(value)
58
- ? undefined
59
- : `Must be one of: ${VALID_PERMISSION_MODES.join(', ')}`
60
- },
61
- {
62
- longName: 'effort',
63
- shortName: 'e',
64
- description: 'Claude effort level (reasoning depth)',
65
- defaultValue: 'high',
66
- promptWhenDefaultExists: false,
67
- choices: VALID_EFFORT_LEVELS.map(l => ({ label: l, value: l })),
68
- validate: (value) => VALID_EFFORT_LEVELS.includes(value)
69
- ? undefined
70
- : `Must be one of: ${VALID_EFFORT_LEVELS.join(', ')}`
71
- }
50
+ ...claudeSessionOptions(false)
72
51
  ],
73
52
  async execute(resolved) {
74
53
  const sourcePath = resolved['source-path'];
75
- const permissionMode = (resolved['permission-mode'] ?? 'plan');
76
- const effort = (resolved['effort'] ?? 'high');
77
54
  const url = resolved['project-item-url'] || undefined;
78
55
  const branchArg = resolved['branch-name'] || undefined;
79
56
  const prUrl = resolved['pull-request-url'] || undefined;
80
57
  const isolationMode = resolveIsolationMode(resolved);
58
+ const { permissionMode, model, effort } = resolveClaudeSessionOptions(resolved);
81
59
  if (sourcePath) {
82
60
  process.chdir(sourcePath);
83
61
  }
84
62
  await git.fetchLatest();
85
- // Resolve the target branch (and, in URL mode, fall back to the start flow
86
- // when no branch exists yet for the item).
63
+ // Resolve the target branch (and, in URL mode, put the item under workflow
64
+ // management when no branch exists yet for it).
87
65
  let branch;
88
66
  if (url) {
89
67
  const resolvedBranch = await git.resolveBranchFromProjectItemUrl(url);
90
- if (!resolvedBranch) {
91
- logger.info(`No branch found for ${url} — setting it up from scratch.`);
92
- const baseBranch = await worktree.resolveBaseBranch();
93
- // Join attaches to in-progress work, so never auto-launch implementation.
94
- await startProjectItemCommand.execute({
95
- url,
96
- 'permission-mode': permissionMode,
97
- effort,
98
- 'workflow-type': 'independent',
99
- 'base-branch': baseBranch,
100
- 'claude-entry-point': 'none',
101
- 'source-path': '',
102
- isolation: isolationMode
103
- });
104
- return;
68
+ if (resolvedBranch) {
69
+ branch = resolvedBranch;
70
+ logger.info(`Resolved branch for ${url}: ${branch}`);
71
+ }
72
+ else {
73
+ logger.info(`No branch found for ${url} — putting it under workflow management first.`);
74
+ const context = await resolveContext({ projectItemUrl: url, options: resolved });
75
+ await ensureManaged(context, { deferItemStatusWrite: false });
76
+ branch = context.branchName;
105
77
  }
106
- branch = resolvedBranch;
107
- logger.info(`Resolved branch for ${url}: ${branch}`);
108
78
  }
109
79
  else if (prUrl) {
110
80
  logger.step(`Looking up PR: ${prUrl}`);
@@ -127,52 +97,45 @@ export const joinProjectItemCommand = {
127
97
  logger.section('Join Project Item');
128
98
  // Set up the working environment on the existing branch: an isolated
129
99
  // worktree, or the branch checked out in the main repository.
130
- const workingPath = isolationMode === 'main-repo'
131
- ? await git.checkoutBranchInMainRepo(branch)
132
- : await git.createWorktreeForBranch(branch, basename(branch));
100
+ const { workingPath } = await worktree.ensureBranchEnvironment(isolationMode, branch);
101
+ process.chdir(workingPath);
133
102
  // Recover durable per-branch metadata committed on the branch, then re-seed
134
- // local git config and fill any missing state with start-project-item defaults.
103
+ // local git config and fill any missing state with sensible defaults.
135
104
  await reestablishBranchState(workingPath, branch, url);
136
105
  logger.success(`Joined ${branch}`);
137
- await worktree.finalizeBranchSetup(workingPath, isolationMode, {
106
+ // Join attaches to in-progress work, so it never launches an implementation session.
107
+ await worktree.launchClaudeForBranch(workingPath, {
138
108
  projectItemUrl: url,
139
109
  permissionMode,
110
+ model,
140
111
  effort,
141
112
  claudeEntryPointMode: 'none'
142
113
  });
143
114
  }
144
115
  };
145
116
  /**
146
- * Re-establish workflow state for a joined branch: read the committed metadata
147
- * (the durable, remote-persisted copy), re-seed local git config for fast
148
- * lookups, default any missing fields to where start-project-item leaves a
149
- * branch, and persist newly-seeded state back to the remote so future joins see it.
117
+ * Re-establish workflow state for a joined branch: adopt the metadata committed
118
+ * on origin (the durable copy), default any field a legacy branch never
119
+ * recorded — a branch joined without a state is treated as being in Agent
120
+ * Implementation, where work happens — and persist newly-seeded state back to
121
+ * origin so future joins see it.
150
122
  */
151
123
  async function reestablishBranchState(workingPath, branch, urlOverride) {
152
- const remote = await git.readBranchMetadataFromRef(branch);
153
- const projectItemUrl = urlOverride ?? remote?.projectItemUrl;
124
+ const remote = await syncBranchStateFromRemote(branch);
125
+ const projectItemUrl = urlOverride ?? remote?.projectItemUrl ?? await git.getProjectItemUrl(branch) ?? undefined;
154
126
  const baseBranch = remote?.baseBranch ?? await worktree.resolveBaseBranch();
155
- const workflowState = normalizeWorkflowState(remote?.workflowState) ?? 'Agent Implementation';
127
+ const workflowState = normalizeWorkflowState(remote?.workflowState) ?? WorkflowStates.AgentImplementation;
156
128
  const devWorkflowType = remote?.devWorkflowType ?? 'independent';
157
- const stackBranch = remote?.stackBranch;
158
- const integrationBranch = remote?.integrationBranch;
159
- // Re-seed git config (local fast-path) against the branch.
160
129
  if (projectItemUrl)
161
130
  await git.storeProjectItemUrl(projectItemUrl, branch);
162
131
  await git.storeBaseBranch(baseBranch, branch);
163
132
  await git.storeWorkflowState(workflowState, branch);
164
133
  await git.storeDevWorkflowType(devWorkflowType, branch);
165
- if (stackBranch)
166
- await git.storeStackBranch(stackBranch, branch);
167
- if (integrationBranch)
168
- await git.storeIntegrationBranch(integrationBranch, branch);
169
- // If the item had no workflow state recorded, it was not properly started —
170
- // mirror start-project-item by setting the item's status on idea1.ai.
134
+ // If the item had no workflow state recorded, it was never properly started —
135
+ // record the defaulted state on idea1.ai too.
171
136
  if (!remote?.workflowState && projectItemUrl) {
172
- await claude.setWorkflowStatus(projectItemUrl, workflowState);
137
+ await claude.setWorkflowStatus(projectItemUrl, workflowState, branch);
173
138
  }
174
- // Persist to the remote when we filled in anything missing, so the committed
175
- // metadata reflects the recovered state.
176
139
  const needsPersist = !remote ||
177
140
  remote.workflowState !== workflowState ||
178
141
  remote.devWorkflowType !== devWorkflowType ||
@@ -183,12 +146,10 @@ async function reestablishBranchState(workingPath, branch, urlOverride) {
183
146
  const metadata = { branchName: branch, baseBranch, workflowState, devWorkflowType };
184
147
  if (projectItemUrl)
185
148
  metadata.projectItemUrl = projectItemUrl;
186
- if (stackBranch)
187
- metadata.stackBranch = stackBranch;
188
- if (integrationBranch)
189
- metadata.integrationBranch = integrationBranch;
190
- // Operate inside the directory where the branch (and its `.idea1/` dir) is checked out.
191
- process.chdir(workingPath);
149
+ if (remote?.stackBranch)
150
+ metadata.stackBranch = remote.stackBranch;
151
+ if (remote?.integrationBranch)
152
+ metadata.integrationBranch = remote.integrationBranch;
192
153
  await git.writeBranchMetadata(metadata, workingPath);
193
154
  const committed = await git.commitBranchMetadataIfChanged(branch);
194
155
  if (committed) {