@idea1/cli 1.4.23 → 1.4.25
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.
- package/README.md +56 -12
- package/dist/commands/approve-pr.d.ts.map +1 -1
- package/dist/commands/approve-pr.js +4 -11
- package/dist/commands/approve-pr.js.map +1 -1
- package/dist/commands/close-worktree.d.ts.map +1 -1
- package/dist/commands/close-worktree.js +3 -11
- package/dist/commands/close-worktree.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +7 -3
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/join-project-item.d.ts.map +1 -1
- package/dist/commands/join-project-item.js +17 -10
- package/dist/commands/join-project-item.js.map +1 -1
- package/dist/commands/ready-for-approval.d.ts.map +1 -1
- package/dist/commands/ready-for-approval.js +3 -17
- package/dist/commands/ready-for-approval.js.map +1 -1
- package/dist/commands/start-dev-implementation.d.ts.map +1 -1
- package/dist/commands/start-dev-implementation.js +3 -30
- package/dist/commands/start-dev-implementation.js.map +1 -1
- package/dist/commands/start-project-item.d.ts.map +1 -1
- package/dist/commands/start-project-item.js +10 -7
- package/dist/commands/start-project-item.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/lib/isolation.d.ts +18 -0
- package/dist/lib/isolation.d.ts.map +1 -0
- package/dist/lib/isolation.js +30 -0
- package/dist/lib/isolation.js.map +1 -0
- package/dist/lib/settings.d.ts +23 -4
- package/dist/lib/settings.d.ts.map +1 -1
- package/dist/lib/settings.js +54 -8
- package/dist/lib/settings.js.map +1 -1
- package/dist/services/config.d.ts +5 -3
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +4 -2
- package/dist/services/config.js.map +1 -1
- package/dist/services/git.d.ts +7 -0
- package/dist/services/git.d.ts.map +1 -1
- package/dist/services/git.js +34 -2
- package/dist/services/git.js.map +1 -1
- package/dist/services/setup.d.ts.map +1 -1
- package/dist/services/setup.js +20 -1
- package/dist/services/setup.js.map +1 -1
- package/dist/services/workflow.d.ts +4 -0
- package/dist/services/workflow.d.ts.map +1 -1
- package/dist/services/workflow.js +15 -0
- package/dist/services/workflow.js.map +1 -1
- package/dist/services/worktree.d.ts +38 -13
- package/dist/services/worktree.d.ts.map +1 -1
- package/dist/services/worktree.js +87 -11
- package/dist/services/worktree.js.map +1 -1
- package/dist/types/index.d.ts +13 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ Agent Implementation → Dev Implementation → PR needs Approval → Complete
|
|
|
45
45
|
|
|
46
46
|
### start-project-item
|
|
47
47
|
|
|
48
|
-
Start implementing an Idea1.ai project item in an isolated git worktree.
|
|
48
|
+
Start implementing an Idea1.ai project item, either in an isolated git worktree or directly in the main repository.
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
51
|
idea1 start-project-item <url> [branch-name] [options]
|
|
@@ -60,19 +60,29 @@ idea1 -s <url> [branch-name] [options]
|
|
|
60
60
|
- `-p, --source-path <path>` - Path to source directory
|
|
61
61
|
- `-b, --base-branch <branch>` - Base branch (default: `working/release`). Use `prompt` to interactively select.
|
|
62
62
|
- `-pm, --permission-mode <mode>` - Claude permission mode (default: `plan`). Valid values: `acceptEdits`, `bypassPermissions`, `default`, `delegate`, `dontAsk`, `plan`
|
|
63
|
+
- `-iso, --isolation <mode>` - Where to work on the branch (default: `worktree`). See [Isolation mode](#isolation-mode).
|
|
63
64
|
- `--claude-entry-point <mode>` - How Claude is invoked after setup (default: `launch`). Valid values: `launch` (start a new Claude session), `inline` (output structured prompt for an already-running Claude session), `none` (do not invoke Claude)
|
|
64
65
|
|
|
65
66
|
**What it does:**
|
|
66
67
|
1. Sets the item's workflow status to "Agent implementation"
|
|
67
68
|
2. Generates a branch name from the item description (if not provided)
|
|
68
69
|
3. Creates a new branch from the base branch
|
|
69
|
-
4.
|
|
70
|
-
5. Runs any setup hooks defined in `.idea1/settings.json`
|
|
70
|
+
4. Sets up the working environment: a git worktree for isolated development, or the branch checked out in the main repository
|
|
71
|
+
5. Runs any setup hooks defined in `.idea1/settings.json` (worktree mode only)
|
|
71
72
|
6. Launches Claude Code with the implementation prompt
|
|
72
73
|
|
|
74
|
+
### Isolation mode
|
|
75
|
+
|
|
76
|
+
`start-project-item` and `join-project-item` both ask where you want to work on the branch. The prompt is always shown, with `worktree` preselected:
|
|
77
|
+
|
|
78
|
+
- `worktree` (default) - creates/uses a git worktree in a sibling directory (`<repo>-<branch>`), leaving the main repository on its own branch. Runs the `setup-worktree` hook.
|
|
79
|
+
- `main-repo` - checks the branch out in the main repository, in place. Requires a clean working directory and fails if the branch is already checked out in a worktree. The `setup-worktree` hook is skipped, since the main repository is already set up.
|
|
80
|
+
|
|
81
|
+
Supply `-iso worktree` or `-iso main-repo` on the command line to skip the prompt. The preselected default comes from the `defaultIsolationMode` user config value.
|
|
82
|
+
|
|
73
83
|
### join-project-item
|
|
74
84
|
|
|
75
|
-
Join an **in-progress** project item by setting up a
|
|
85
|
+
Join an **in-progress** project item by setting up a working environment on its existing branch — for picking up work started elsewhere (e.g. on another machine or by another developer). Unlike `start-project-item`, it does not create a branch or launch a Claude implementation session.
|
|
76
86
|
|
|
77
87
|
```bash
|
|
78
88
|
idea1 join-project-item --project-item-url <url>
|
|
@@ -84,6 +94,7 @@ idea1 -j --branch-name <branch>
|
|
|
84
94
|
- `--project-item-url <url>` - The Idea1.ai project item URL; its branch is discovered automatically.
|
|
85
95
|
- `-n, --branch-name <branch>` - The branch to join; its associated project item is discovered automatically.
|
|
86
96
|
- `-p, --source-path <path>` - Path to source directory.
|
|
97
|
+
- `-iso, --isolation <mode>` - Where to work on the branch (default: `worktree`). See [Isolation mode](#isolation-mode).
|
|
87
98
|
- `-pm, --permission-mode <mode>` - Claude permission mode (default: `plan`).
|
|
88
99
|
- `-e, --effort <level>` - Claude effort level (default: `high`).
|
|
89
100
|
|
|
@@ -91,10 +102,10 @@ In interactive mode, if neither option is supplied you are prompted to choose wh
|
|
|
91
102
|
|
|
92
103
|
**What it does:**
|
|
93
104
|
1. Resolves the branch from the URL (or the URL from the branch) using the committed branch metadata.
|
|
94
|
-
2.
|
|
105
|
+
2. Sets up the working environment on the existing branch — a git worktree, or the branch checked out in the main repository (creating a local tracking branch if it only exists on the remote).
|
|
95
106
|
3. Re-establishes local workflow state (project item URL, base branch, workflow state, dev workflow type, stack/integration branch) from the committed `.idea1/<branch>.json` metadata.
|
|
96
107
|
4. If the branch was never properly set up, seeds the same defaults as `start-project-item` (`Agent implementation` / `independent`) and pushes the recovered metadata to the remote.
|
|
97
|
-
5. Runs any setup hooks defined in `.idea1/settings.json
|
|
108
|
+
5. Runs any setup hooks defined in `.idea1/settings.json` (worktree mode only). It does **not** launch a Claude implementation session.
|
|
98
109
|
|
|
99
110
|
If a project item URL is supplied but no branch exists for it yet (the item was never started), `join-project-item` falls back to the `start-project-item` setup flow, without launching the implementation session.
|
|
100
111
|
|
|
@@ -140,7 +151,7 @@ idea1 dev [options]
|
|
|
140
151
|
1. Validates current state is "Agent implementation"
|
|
141
152
|
2. Commits and pushes all changes in the branch
|
|
142
153
|
3. Creates a PR of the branch into its base branch
|
|
143
|
-
4. If in a worktree and `
|
|
154
|
+
4. If in a worktree and `removeWorktreeAtState` is set to `Dev implementation`, removes the worktree and checks the branch out in the main repo
|
|
144
155
|
5. Updates workflow state to "Dev implementation"
|
|
145
156
|
6. Updates Idea1.ai workflow status
|
|
146
157
|
|
|
@@ -165,7 +176,7 @@ idea1 rfa [reviewer] [options]
|
|
|
165
176
|
3. Assigns reviewer to the PR (if provided)
|
|
166
177
|
4. Updates workflow state to "PR needs Approval"
|
|
167
178
|
5. Updates Idea1.ai workflow status
|
|
168
|
-
6. If in a worktree, removes the worktree
|
|
179
|
+
6. If in a worktree and `removeWorktreeAtState` is `PR needs Approval` (the default) or earlier, removes the worktree and checks the branch out in the main repo
|
|
169
180
|
|
|
170
181
|
### approve-pr
|
|
171
182
|
|
|
@@ -186,7 +197,7 @@ idea1 approve [options]
|
|
|
186
197
|
4. Merges the PR
|
|
187
198
|
5. Updates workflow state to "Complete"
|
|
188
199
|
6. Updates Idea1.ai workflow status
|
|
189
|
-
7. Switches to base branch and deletes the feature branch
|
|
200
|
+
7. Switches to base branch and deletes the feature branch. If still running inside a worktree, removes the worktree instead of switching branches — this always happens, since the base branch can't be checked out in place there
|
|
190
201
|
|
|
191
202
|
### next-workflow-step
|
|
192
203
|
|
|
@@ -211,8 +222,9 @@ idea1 n
|
|
|
211
222
|
Settings are resolved in order of priority:
|
|
212
223
|
1. **CLI argument** (highest priority)
|
|
213
224
|
2. **User-level XDG config** (`~/.config/idea1-cli/config.json`)
|
|
214
|
-
3. **Repository-level `.idea1/settings.json`**
|
|
215
|
-
4. **
|
|
225
|
+
3. **Repository-level `.idea1/settings.local.json`** (git-ignored, per-clone overrides)
|
|
226
|
+
4. **Repository-level `.idea1/settings.json`**
|
|
227
|
+
5. **Hardcoded defaults** (lowest priority)
|
|
216
228
|
|
|
217
229
|
### Repository Settings
|
|
218
230
|
|
|
@@ -238,7 +250,39 @@ Create `.idea1/settings.json` in your repository root to configure repo-specific
|
|
|
238
250
|
- `branchPrefix` - Prefix for new branches (default: `working/agent`)
|
|
239
251
|
- `baseBranch` - Default base branch for branching (default: `working/release`)
|
|
240
252
|
- `testCommand` - Command to run tests before PR creation (e.g., `npm run test`)
|
|
241
|
-
- `
|
|
253
|
+
- `removeWorktreeAtState` - Workflow state whose transition removes the worktree (default: `PR needs Approval`). See [Worktree Removal](#worktree-removal).
|
|
254
|
+
|
|
255
|
+
### Local Settings Overrides
|
|
256
|
+
|
|
257
|
+
`.idea1/settings.local.json` is an optional, git-ignored file with the same shape as
|
|
258
|
+
`settings.json`. Anything it defines overrides the committed settings for that clone
|
|
259
|
+
only, which keeps developer-specific preferences out of the shared configuration.
|
|
260
|
+
`hooks` and `defaults` are merged section by section, so overriding one value leaves
|
|
261
|
+
the rest of the committed settings in place.
|
|
262
|
+
|
|
263
|
+
```json
|
|
264
|
+
{
|
|
265
|
+
"defaults": {
|
|
266
|
+
"removeWorktreeAtState": "Dev implementation"
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Worktree Removal
|
|
272
|
+
|
|
273
|
+
When work happens in a git worktree, `removeWorktreeAtState` decides which workflow
|
|
274
|
+
transition tears that worktree down. The worktree is removed by the first transition
|
|
275
|
+
that reaches the configured state, and the branch is then checked out in the main repo.
|
|
276
|
+
|
|
277
|
+
| Value | Worktree is removed by |
|
|
278
|
+
|-------|------------------------|
|
|
279
|
+
| `Dev implementation` | `start-dev-implementation` — right after the PR is created |
|
|
280
|
+
| `PR needs Approval` (default) | `ready-for-approval` |
|
|
281
|
+
| `Complete` | `approve-pr`, after the PR is merged |
|
|
282
|
+
|
|
283
|
+
`approve-pr` removes the worktree regardless of this setting if one is still in use,
|
|
284
|
+
because the base branch can't be checked out in place there. `close-worktree` is an
|
|
285
|
+
explicit teardown command and always removes the worktree.
|
|
242
286
|
|
|
243
287
|
### User Settings
|
|
244
288
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve-pr.d.ts","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AASjD,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"approve-pr.d.ts","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AASjD,eAAO,MAAM,gBAAgB,EAAE,OAyL9B,CAAC"}
|
|
@@ -3,7 +3,7 @@ import * as git from '../services/git.js';
|
|
|
3
3
|
import * as github from '../services/github.js';
|
|
4
4
|
import * as claude from '../services/claude.js';
|
|
5
5
|
import * as workflow from '../services/workflow.js';
|
|
6
|
-
import { resolveBaseBranch } from '../services/worktree.js';
|
|
6
|
+
import { resolveBaseBranch, removeCurrentWorktree } from '../services/worktree.js';
|
|
7
7
|
import { promptConfirm } from '../lib/prompt.js';
|
|
8
8
|
export const approvePrCommand = {
|
|
9
9
|
name: 'approve-pr',
|
|
@@ -114,17 +114,10 @@ export const approvePrCommand = {
|
|
|
114
114
|
await git.fetchLatest();
|
|
115
115
|
// If running inside a worktree, the feature branch is checked out here and we
|
|
116
116
|
// can't switch back to the base branch in place. Remove the worktree instead
|
|
117
|
-
// and exit so the user can change to whatever folder they need.
|
|
117
|
+
// and exit so the user can change to whatever folder they need. This happens
|
|
118
|
+
// regardless of removeWorktreeAtState — 'Complete' is the last workflow state.
|
|
118
119
|
if (isWorktree) {
|
|
119
|
-
const worktreePath =
|
|
120
|
-
// Navigate to main repo root before removing the worktree we're standing in
|
|
121
|
-
process.chdir(mainRepoRoot);
|
|
122
|
-
logger.newline();
|
|
123
|
-
logger.step('Removing worktree...');
|
|
124
|
-
await git.removeWorktree(worktreePath);
|
|
125
|
-
// Garbage collect orphaned branch configs
|
|
126
|
-
logger.step('Cleaning up orphaned branch configs...');
|
|
127
|
-
await git.gcOrphanedBranchConfigs();
|
|
120
|
+
const worktreePath = await removeCurrentWorktree(mainRepoRoot);
|
|
128
121
|
// Delete the feature branch locally and remotely (the worktree no longer holds it)
|
|
129
122
|
try {
|
|
130
123
|
await git.deleteBranch(branchName, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approve-pr.js","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"approve-pr.js","sourceRoot":"","sources":["../../src/commands/approve-pr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-worktree.d.ts","sourceRoot":"","sources":["../../src/commands/close-worktree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,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;AA8CjD,eAAO,MAAM,oBAAoB,EAAE,OAqIlC,CAAC"}
|
|
@@ -3,6 +3,7 @@ import * as git from '../services/git.js';
|
|
|
3
3
|
import * as github from '../services/github.js';
|
|
4
4
|
import * as claude from '../services/claude.js';
|
|
5
5
|
import { configService } from '../services/config.js';
|
|
6
|
+
import { removeCurrentWorktree } from '../services/worktree.js';
|
|
6
7
|
import { promptProjectItemUrl, promptConfirm } from '../lib/prompt.js';
|
|
7
8
|
/**
|
|
8
9
|
* Resolve base branch using hierarchical resolution:
|
|
@@ -78,8 +79,6 @@ export const closeWorktreeCommand = {
|
|
|
78
79
|
if (!shortBranchName) {
|
|
79
80
|
throw new Error('Could not extract branch name');
|
|
80
81
|
}
|
|
81
|
-
// Get worktree root path
|
|
82
|
-
const worktreeRootPath = process.cwd();
|
|
83
82
|
// Retrieve stored project item URL from git config
|
|
84
83
|
let projectItemUrl = await git.getProjectItemUrl(fullBranchName);
|
|
85
84
|
if (projectItemUrl) {
|
|
@@ -133,15 +132,8 @@ export const closeWorktreeCommand = {
|
|
|
133
132
|
if (projectItemUrl) {
|
|
134
133
|
await claude.setWorkflowStatus(projectItemUrl, 'Dev implementation');
|
|
135
134
|
}
|
|
136
|
-
//
|
|
137
|
-
|
|
138
|
-
// Remove git worktree
|
|
139
|
-
logger.newline();
|
|
140
|
-
logger.step('Removing worktree...');
|
|
141
|
-
await git.removeWorktree(worktreeRootPath);
|
|
142
|
-
// Garbage collect orphaned branch configs
|
|
143
|
-
logger.step('Cleaning up orphaned branch configs...');
|
|
144
|
-
await git.gcOrphanedBranchConfigs();
|
|
135
|
+
// Remove the worktree and return to the main repo root
|
|
136
|
+
await removeCurrentWorktree(mainRepoRoot);
|
|
145
137
|
logger.newline();
|
|
146
138
|
logger.success('Close worktree complete.');
|
|
147
139
|
logger.newline();
|
|
@@ -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":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvE;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAC9B,aAAiC,EACjC,UAAkB;IAElB,4BAA4B;IAC5B,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,mCAAmC,aAAa,EAAE,CAAC,CAAC;QAC/D,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,iCAAiC;IACjC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,uCAAuC,YAAY,EAAE,CAAC,CAAC;QAClE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,qCAAqC;IACrC,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,6BAA6B,gBAAgB,EAAE,CAAC,CAAC;QAC5D,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,aAAa;IACb,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,EAAE,CAAC;IAC3D,MAAM,CAAC,GAAG,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAY;IAC3C,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,uDAAuD;IACpE,OAAO,EAAE;QACP;YACE,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,IAAI;YAClB,uBAAuB,EAAE,IAAI;SAC9B;QACD;YACE,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,oBAAoB;YACjC,YAAY,EAAE,SAAS;YACvB,uBAAuB,EAAE,IAAI;SAC9B;QACD;YACE,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,2BAA2B;YACxC,MAAM,EAAE,IAAI;SACb;KACF;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;QAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;QAElD,sCAAsC;QACtC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAEjD,2CAA2C;QAC3C,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;QAEjD,qBAAqB;QACrB,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAEpD,6DAA6D;QAC7D,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAExE,MAAM,CAAC,GAAG,CAAC,mBAAmB,cAAc,mBAAmB,eAAe,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,mDAAmD;QACnD,IAAI,cAAc,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,sBAAsB;QACtB,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAE9E,gCAAgC;QAChC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,qBAAqB,EAAE,CAAC;QAErD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,EAAE,CAAC;YAEjB,+BAA+B;YAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,cAAc,GAAG,MAAM,oBAAoB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,iBAAiB;YACjB,MAAM,aAAa,GAAG,cAAc;gBAClC,CAAC,CAAC,2BAA2B,cAAc,OAAO,cAAc,EAAE;gBAClE,CAAC,CAAC,cAAc,cAAc,EAAE,CAAC;YAEnC,MAAM,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACjD,CAAC;QAED,wDAAwD;QACxD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YACnE,MAAM,GAAG,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;QAC1D,CAAC;QAED,+CAA+C;QAC/C,MAAM,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAEvC,qBAAqB;QACrB,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAExE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,OAAO,EAAE,CAAC;YAEjB,IAAI,cAAc,GAAG,IAAI,CAAC;YAE1B,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,GAAG,MAAM,aAAa,CAClC,6DAA6D,EAC7D,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;YACJ,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,YAAY;gBACZ,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,MAAM,kCAAkC,CAAC,CAAC;QACtE,CAAC;QAED,0DAA0D;QAC1D,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QACvE,CAAC;QAED,uDAAuD;QACvD,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAE1C,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,yDAAyD,YAAY,EAAE,CAAC,CAAC;QACrF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -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,
|
|
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,OAkIzB,CAAC"}
|
package/dist/commands/help.js
CHANGED
|
@@ -90,15 +90,19 @@ export const helpCommand = {
|
|
|
90
90
|
console.log(' Settings are resolved in priority order:');
|
|
91
91
|
console.log(' 1. CLI arguments');
|
|
92
92
|
console.log(' 2. User config (~/.config/idea1-cli/config.json)');
|
|
93
|
-
console.log(' 3.
|
|
94
|
-
console.log(' 4.
|
|
93
|
+
console.log(' 3. Local repo settings (.idea1/settings.local.json, git-ignored)');
|
|
94
|
+
console.log(' 4. Repo settings (.idea1/settings.json)');
|
|
95
|
+
console.log(' 5. Built-in defaults');
|
|
95
96
|
console.log();
|
|
96
97
|
console.log(' Key settings in .idea1/settings.json:');
|
|
97
|
-
console.log(` ${chalk.dim('defaults.baseBranch')}
|
|
98
|
+
console.log(` ${chalk.dim('defaults.baseBranch')} Base branch for PRs (default: working/release)`);
|
|
98
99
|
console.log(` ${chalk.dim('defaults.branchPrefix')} Agent branch prefix (default: working/agent)`);
|
|
99
100
|
console.log(` ${chalk.dim('defaults.integrationBranchPrefix')} Integration prefix (default: working/integration)`);
|
|
100
101
|
console.log(` ${chalk.dim('defaults.integrationBranchTemplate')} Template for integration branch name`);
|
|
101
102
|
console.log(` ${chalk.dim('defaults.integrationWorkBranchTemplate')} Template for work item branch name`);
|
|
103
|
+
console.log(` ${chalk.dim('defaults.removeWorktreeAtState')} Workflow state that removes the worktree (default: PR needs Approval)`);
|
|
104
|
+
console.log();
|
|
105
|
+
console.log(' Worktree removal states: "Dev implementation", "PR needs Approval", "Complete"');
|
|
102
106
|
console.log();
|
|
103
107
|
console.log(' Branch name templates use variables: {prefix}, {name}, {branchName}');
|
|
104
108
|
console.log();
|
|
@@ -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 +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;
|
|
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;AAU1G,eAAO,MAAM,sBAAsB,EAAE,OA8IpC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { basename } from 'path';
|
|
2
2
|
import { logger } from '../lib/logger.js';
|
|
3
|
+
import { isolationModeOption, resolveIsolationMode } from '../lib/isolation.js';
|
|
3
4
|
import * as git from '../services/git.js';
|
|
4
5
|
import * as worktree from '../services/worktree.js';
|
|
5
6
|
import * as claude from '../services/claude.js';
|
|
@@ -9,7 +10,7 @@ import { startProjectItemCommand, VALID_PERMISSION_MODES, VALID_EFFORT_LEVELS }
|
|
|
9
10
|
export const joinProjectItemCommand = {
|
|
10
11
|
name: 'join-project-item',
|
|
11
12
|
aliases: ['j', 'join'],
|
|
12
|
-
description: 'Join an in-progress project item by setting up a
|
|
13
|
+
description: 'Join an in-progress project item by setting up a working environment on its existing branch',
|
|
13
14
|
options: [
|
|
14
15
|
{
|
|
15
16
|
longName: 'project-item-url',
|
|
@@ -44,6 +45,7 @@ export const joinProjectItemCommand = {
|
|
|
44
45
|
defaultValue: '',
|
|
45
46
|
promptWhenDefaultExists: false
|
|
46
47
|
},
|
|
48
|
+
isolationModeOption,
|
|
47
49
|
{
|
|
48
50
|
longName: 'permission-mode',
|
|
49
51
|
shortName: 'pm',
|
|
@@ -74,6 +76,7 @@ export const joinProjectItemCommand = {
|
|
|
74
76
|
const url = resolved['project-item-url'] || undefined;
|
|
75
77
|
const branchArg = resolved['branch-name'] || undefined;
|
|
76
78
|
const prUrl = resolved['pull-request-url'] || undefined;
|
|
79
|
+
const isolationMode = resolveIsolationMode(resolved);
|
|
77
80
|
if (sourcePath) {
|
|
78
81
|
process.chdir(sourcePath);
|
|
79
82
|
}
|
|
@@ -94,7 +97,8 @@ export const joinProjectItemCommand = {
|
|
|
94
97
|
'workflow-type': 'independent',
|
|
95
98
|
'base-branch': baseBranch,
|
|
96
99
|
'claude-entry-point': 'none',
|
|
97
|
-
'source-path': ''
|
|
100
|
+
'source-path': '',
|
|
101
|
+
isolation: isolationMode
|
|
98
102
|
});
|
|
99
103
|
return;
|
|
100
104
|
}
|
|
@@ -120,13 +124,16 @@ export const joinProjectItemCommand = {
|
|
|
120
124
|
}
|
|
121
125
|
}
|
|
122
126
|
logger.section('Join Project Item');
|
|
123
|
-
//
|
|
124
|
-
|
|
127
|
+
// Set up the working environment on the existing branch: an isolated
|
|
128
|
+
// worktree, or the branch checked out in the main repository.
|
|
129
|
+
const workingPath = isolationMode === 'main-repo'
|
|
130
|
+
? await git.checkoutBranchInMainRepo(branch)
|
|
131
|
+
: await git.createWorktreeForBranch(branch, basename(branch));
|
|
125
132
|
// Recover durable per-branch metadata committed on the branch, then re-seed
|
|
126
133
|
// local git config and fill any missing state with start-project-item defaults.
|
|
127
|
-
await reestablishBranchState(
|
|
134
|
+
await reestablishBranchState(workingPath, branch, url);
|
|
128
135
|
logger.success(`Joined ${branch}`);
|
|
129
|
-
await worktree.
|
|
136
|
+
await worktree.finalizeBranchSetup(workingPath, isolationMode, {
|
|
130
137
|
projectItemUrl: url,
|
|
131
138
|
permissionMode,
|
|
132
139
|
effort,
|
|
@@ -140,7 +147,7 @@ export const joinProjectItemCommand = {
|
|
|
140
147
|
* lookups, default any missing fields to where start-project-item leaves a
|
|
141
148
|
* branch, and persist newly-seeded state back to the remote so future joins see it.
|
|
142
149
|
*/
|
|
143
|
-
async function reestablishBranchState(
|
|
150
|
+
async function reestablishBranchState(workingPath, branch, urlOverride) {
|
|
144
151
|
const remote = await git.readBranchMetadataFromRef(branch);
|
|
145
152
|
const projectItemUrl = urlOverride ?? remote?.projectItemUrl;
|
|
146
153
|
const baseBranch = remote?.baseBranch ?? await worktree.resolveBaseBranch();
|
|
@@ -179,9 +186,9 @@ async function reestablishBranchState(worktreePath, branch, urlOverride) {
|
|
|
179
186
|
metadata.stackBranch = stackBranch;
|
|
180
187
|
if (integrationBranch)
|
|
181
188
|
metadata.integrationBranch = integrationBranch;
|
|
182
|
-
// Operate inside the
|
|
183
|
-
process.chdir(
|
|
184
|
-
await git.writeBranchMetadata(metadata,
|
|
189
|
+
// Operate inside the directory where the branch (and its `.idea1/` dir) is checked out.
|
|
190
|
+
process.chdir(workingPath);
|
|
191
|
+
await git.writeBranchMetadata(metadata, workingPath);
|
|
185
192
|
const committed = await git.commitBranchMetadataIfChanged(branch);
|
|
186
193
|
if (committed) {
|
|
187
194
|
await git.pushToRemote(branch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join-project-item.js","sourceRoot":"","sources":["../../src/commands/join-project-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE/G,MAAM,CAAC,MAAM,sBAAsB,GAAY;IAC7C,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"join-project-item.js","sourceRoot":"","sources":["../../src/commands/join-project-item.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ready-for-approval.d.ts","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ready-for-approval.d.ts","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQjD,eAAO,MAAM,uBAAuB,EAAE,OA+ErC,CAAC"}
|
|
@@ -3,6 +3,7 @@ import * as git from '../services/git.js';
|
|
|
3
3
|
import * as github from '../services/github.js';
|
|
4
4
|
import * as claude from '../services/claude.js';
|
|
5
5
|
import * as workflow from '../services/workflow.js';
|
|
6
|
+
import { removeWorktreeForWorkflowState } from '../services/worktree.js';
|
|
6
7
|
export const readyForApprovalCommand = {
|
|
7
8
|
name: 'ready-for-approval',
|
|
8
9
|
aliases: ['rfa'],
|
|
@@ -40,7 +41,6 @@ export const readyForApprovalCommand = {
|
|
|
40
41
|
const branchName = await git.getCurrentBranch();
|
|
41
42
|
const projectItemUrl = await git.getProjectItemUrl();
|
|
42
43
|
const baseBranch = await git.getBaseBranch() ?? 'working/release';
|
|
43
|
-
const isWorktree = await git.isInsideWorktree();
|
|
44
44
|
if (!projectItemUrl) {
|
|
45
45
|
throw new Error('No project item URL found for this branch.');
|
|
46
46
|
}
|
|
@@ -62,22 +62,8 @@ export const readyForApprovalCommand = {
|
|
|
62
62
|
await git.commitBranchMetadataIfChanged(branchName);
|
|
63
63
|
await git.pushToRemote(branchName);
|
|
64
64
|
await claude.setWorkflowStatus(projectItemUrl, 'PR needs Approval');
|
|
65
|
-
// If in a worktree, remove it
|
|
66
|
-
|
|
67
|
-
const mainRepoRoot = await git.getMainRepoRoot();
|
|
68
|
-
const worktreePath = process.cwd();
|
|
69
|
-
// Navigate to main repo root
|
|
70
|
-
process.chdir(mainRepoRoot);
|
|
71
|
-
// Remove the worktree
|
|
72
|
-
logger.newline();
|
|
73
|
-
logger.step('Removing worktree...');
|
|
74
|
-
await git.removeWorktree(worktreePath);
|
|
75
|
-
// Garbage collect orphaned branch configs
|
|
76
|
-
logger.step('Cleaning up orphaned branch configs...');
|
|
77
|
-
await git.gcOrphanedBranchConfigs();
|
|
78
|
-
// Checkout the branch in main repo
|
|
79
|
-
await git.checkoutBranch(branchName);
|
|
80
|
-
}
|
|
65
|
+
// If in a worktree, remove it when settings say the worktree goes at this state
|
|
66
|
+
await removeWorktreeForWorkflowState('PR needs Approval', branchName);
|
|
81
67
|
logger.newline();
|
|
82
68
|
logger.success('PR is ready for approval');
|
|
83
69
|
logger.newline();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ready-for-approval.js","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ready-for-approval.js","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,CAAC,MAAM,uBAAuB,GAAY;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,6DAA6D;IAC1E,OAAO,EAAE;QACP;YACE,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,yBAAyB;YACtC,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,IAAI;SAChB;QACD;YACE,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,kDAAkD;YAC/D,OAAO,EAAE,gBAAgB;YACzB,WAAW,EAAE,IAAI;SAClB;KACF;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;aAC5C,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnC,sBAAsB;QACtB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC;QAC5D,CAAC;QAED,gCAAgC;QAChC,MAAM,QAAQ,CAAC,2BAA2B,EAAE,CAAC;QAE7C,kBAAkB;QAClB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,IAAI,iBAAiB,CAAC;QAElE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QAE7C,kBAAkB;QAClB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,MAAM,QAAQ,CAAC,CAAC;QAE1C,6EAA6E;QAC7E,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAElD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC5D,CAAC;QAED,2EAA2E;QAC3E,MAAM,GAAG,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QAClD,MAAM,GAAG,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAEpE,gFAAgF;QAChF,MAAM,8BAA8B,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QAEtE,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-dev-implementation.d.ts","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQjD,eAAO,MAAM,6BAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"start-dev-implementation.d.ts","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQjD,eAAO,MAAM,6BAA6B,EAAE,OA+E3C,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { logger } from '../lib/logger.js';
|
|
2
|
-
import { getRemoveWorktreeOnDevTransition } from '../lib/settings.js';
|
|
3
2
|
import * as git from '../services/git.js';
|
|
4
3
|
import * as github from '../services/github.js';
|
|
5
4
|
import * as claude from '../services/claude.js';
|
|
6
5
|
import * as workflow from '../services/workflow.js';
|
|
6
|
+
import { removeWorktreeForWorkflowState } from '../services/worktree.js';
|
|
7
7
|
export const startDevImplementationCommand = {
|
|
8
8
|
name: 'start-dev-implementation',
|
|
9
9
|
aliases: ['dev'],
|
|
@@ -37,8 +37,6 @@ export const startDevImplementationCommand = {
|
|
|
37
37
|
// Get branch info
|
|
38
38
|
const branchName = await git.getCurrentBranch();
|
|
39
39
|
const baseBranch = await git.getBaseBranch() ?? 'working/release';
|
|
40
|
-
const isWorktree = await git.isInsideWorktree();
|
|
41
|
-
const mainRepoRoot = await git.getMainRepoRoot();
|
|
42
40
|
logger.info(`Current branch: ${branchName}`);
|
|
43
41
|
logger.info(`Base branch: ${baseBranch}`);
|
|
44
42
|
// Check for uncommitted changes and commit them
|
|
@@ -62,16 +60,8 @@ export const startDevImplementationCommand = {
|
|
|
62
60
|
}
|
|
63
61
|
// Update workflow status on idea1.ai
|
|
64
62
|
await claude.setWorkflowStatus(projectItemUrl, 'Dev implementation');
|
|
65
|
-
// If in a worktree,
|
|
66
|
-
|
|
67
|
-
const shouldRemove = await getRemoveWorktreeOnDevTransition(mainRepoRoot);
|
|
68
|
-
if (shouldRemove) {
|
|
69
|
-
await removeCurrentWorktree(mainRepoRoot, branchName);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
logger.dim('Worktree kept (removeWorktreeOnDevTransition is not enabled)');
|
|
73
|
-
}
|
|
74
|
-
}
|
|
63
|
+
// If in a worktree, close it when settings say the worktree goes at this state
|
|
64
|
+
await removeWorktreeForWorkflowState('Dev implementation', branchName);
|
|
75
65
|
logger.newline();
|
|
76
66
|
logger.success('Transitioned to Dev implementation');
|
|
77
67
|
logger.newline();
|
|
@@ -81,21 +71,4 @@ export const startDevImplementationCommand = {
|
|
|
81
71
|
logger.hint('When ready for review, run: idea1 ready-for-approval [--assignee <username>] [--reviewers <user1,user2>]');
|
|
82
72
|
}
|
|
83
73
|
};
|
|
84
|
-
/**
|
|
85
|
-
* Remove the current worktree and checkout the branch in the main repo
|
|
86
|
-
*/
|
|
87
|
-
async function removeCurrentWorktree(mainRepoRoot, branchName) {
|
|
88
|
-
const worktreePath = process.cwd();
|
|
89
|
-
// Navigate to main repo root
|
|
90
|
-
process.chdir(mainRepoRoot);
|
|
91
|
-
// Remove the worktree
|
|
92
|
-
logger.newline();
|
|
93
|
-
logger.step('Removing worktree...');
|
|
94
|
-
await git.removeWorktree(worktreePath);
|
|
95
|
-
// Garbage collect orphaned branch configs
|
|
96
|
-
logger.step('Cleaning up orphaned branch configs...');
|
|
97
|
-
await git.gcOrphanedBranchConfigs();
|
|
98
|
-
// Checkout the branch in main repo
|
|
99
|
-
await git.checkoutBranch(branchName);
|
|
100
|
-
}
|
|
101
74
|
//# sourceMappingURL=start-dev-implementation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-dev-implementation.js","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,
|
|
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,EAAE,oBAAoB,EAAwB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"start-project-item.d.ts","sourceRoot":"","sources":["../../src/commands/start-project-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAwB,iBAAiB,EAAkC,MAAM,mBAAmB,CAAC;AAUhJ,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,EAAmF,CAAC;AAE7I,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,EAA8C,CAAC;AAQlG,eAAO,MAAM,gBAAgB;;;GAG5B,CAAC;AAkBF,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6BnE;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAoBtF;AAED,eAAO,MAAM,uBAAuB,EAAE,OAqLrC,CAAC"}
|