@idea1/cli 1.4.22 → 1.4.24
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 +17 -6
- package/dist/cli/resolver.d.ts.map +1 -1
- package/dist/cli/resolver.js +11 -2
- package/dist/cli/resolver.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -13
- package/dist/cli.js.map +1 -1
- package/dist/commands/help.js +2 -2
- 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 +44 -10
- package/dist/commands/join-project-item.js.map +1 -1
- package/dist/commands/next-workflow-step.d.ts.map +1 -1
- package/dist/commands/next-workflow-step.js +14 -3
- package/dist/commands/next-workflow-step.js.map +1 -1
- package/dist/commands/ready-for-approval.d.ts.map +1 -1
- package/dist/commands/ready-for-approval.js +20 -7
- package/dist/commands/ready-for-approval.js.map +1 -1
- package/dist/commands/start-dev-implementation.js +1 -1
- 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/interactive.d.ts +1 -1
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +14 -9
- package/dist/interactive.js.map +1 -1
- 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/prompt.d.ts +13 -0
- package/dist/lib/prompt.d.ts.map +1 -1
- package/dist/lib/prompt.js +28 -1
- package/dist/lib/prompt.js.map +1 -1
- package/dist/lib/shell.d.ts.map +1 -1
- package/dist/lib/shell.js +21 -4
- package/dist/lib/shell.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 +31 -0
- package/dist/services/git.js.map +1 -1
- package/dist/services/github.d.ts +13 -3
- package/dist/services/github.d.ts.map +1 -1
- package/dist/services/github.js +40 -9
- package/dist/services/github.js.map +1 -1
- package/dist/services/workflow.d.ts +3 -1
- package/dist/services/workflow.d.ts.map +1 -1
- package/dist/services/workflow.js +18 -34
- package/dist/services/workflow.js.map +1 -1
- package/dist/services/worktree.d.ts +26 -13
- package/dist/services/worktree.d.ts.map +1 -1
- package/dist/services/worktree.js +49 -10
- package/dist/services/worktree.js.map +1 -1
- package/dist/types/index.d.ts +17 -0
- 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 +1 -1
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
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/cli/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAKhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/cli/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAKhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwGjC"}
|
package/dist/cli/resolver.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { promptInput, promptSelect } from '../lib/prompt.js';
|
|
1
|
+
import { promptInput, promptSelect, promptMultiSelect } from '../lib/prompt.js';
|
|
2
2
|
import { resolveDefault } from './parser.js';
|
|
3
3
|
import { resolveNamedList } from './named-lists.js';
|
|
4
4
|
/**
|
|
@@ -75,10 +75,19 @@ export async function resolveOptions(command, parsed) {
|
|
|
75
75
|
else {
|
|
76
76
|
resolvedChoices = option.choices;
|
|
77
77
|
}
|
|
78
|
+
// For a single-select option that may resolve to nothing, surface an
|
|
79
|
+
// explicit "(none)" entry that maps to an empty string.
|
|
80
|
+
if (option.allowNone && !option.multiSelect && resolvedChoices) {
|
|
81
|
+
resolvedChoices = [{ label: '(none)', value: '' }, ...resolvedChoices];
|
|
82
|
+
}
|
|
78
83
|
}
|
|
79
84
|
// eslint-disable-next-line no-constant-condition
|
|
80
85
|
while (true) {
|
|
81
|
-
if (resolvedChoices && resolvedChoices.length > 0) {
|
|
86
|
+
if (resolvedChoices && resolvedChoices.length > 0 && option.multiSelect) {
|
|
87
|
+
const selected = await promptMultiSelect(option.description, resolvedChoices);
|
|
88
|
+
value = selected.join(',');
|
|
89
|
+
}
|
|
90
|
+
else if (resolvedChoices && resolvedChoices.length > 0) {
|
|
82
91
|
value = await promptSelect(option.description, resolvedChoices, { default: defaultVal });
|
|
83
92
|
}
|
|
84
93
|
else {
|
package/dist/cli/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/cli/resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/cli/resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyE1D"}
|
package/dist/cli.js
CHANGED
|
@@ -10,23 +10,23 @@ import * as git from './services/git.js';
|
|
|
10
10
|
* Run the CLI
|
|
11
11
|
*/
|
|
12
12
|
export async function runCli(argv) {
|
|
13
|
-
// Ensure idea1 is set up in the current repository
|
|
14
|
-
try {
|
|
15
|
-
const repoRoot = await git.getRepoRoot();
|
|
16
|
-
await ensureSetup(repoRoot);
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
// Not in a git repository - skip setup
|
|
20
|
-
}
|
|
21
13
|
// Effective args (strip node and script path)
|
|
22
14
|
const args = argv.slice(2);
|
|
23
|
-
// If no arguments provided, run interactive mode
|
|
24
|
-
if (args.length === 0) {
|
|
25
|
-
await runInteractiveMode();
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
15
|
// Handle global flags
|
|
29
16
|
const firstArg = args[0];
|
|
17
|
+
// Skip repo setup for flags that don't need a git repository context
|
|
18
|
+
const isSimpleFlag = firstArg === '--version' || firstArg === '-v'
|
|
19
|
+
|| firstArg === '--help' || firstArg === '-h';
|
|
20
|
+
let repoRoot;
|
|
21
|
+
if (!isSimpleFlag) {
|
|
22
|
+
try {
|
|
23
|
+
repoRoot = await git.getRepoRoot();
|
|
24
|
+
await ensureSetup(repoRoot);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// Not in a git repository - skip setup
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
30
|
if (firstArg === '--version' || firstArg === '-v') {
|
|
31
31
|
console.log(VERSION);
|
|
32
32
|
return;
|
|
@@ -35,6 +35,11 @@ export async function runCli(argv) {
|
|
|
35
35
|
printUsage();
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
|
+
// If no arguments provided, run interactive mode
|
|
39
|
+
if (args.length === 0) {
|
|
40
|
+
await runInteractiveMode(repoRoot);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
38
43
|
// Extract command name
|
|
39
44
|
const commandName = firstArg;
|
|
40
45
|
const remainingArgs = args.slice(1);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc;IACzC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc;IACzC,8CAA8C;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3B,sBAAsB;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEzB,qEAAqE;IACrE,MAAM,YAAY,GAAG,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI;WAC7D,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC;IAEhD,IAAI,QAA4B,CAAC;IACjC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC/C,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,iDAAiD;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,MAAM,WAAW,GAAG,QAAQ,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpC,2BAA2B;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,+BAA+B;IAC/B,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAExD,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEvD,kBAAkB;QAClB,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAC1H,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
package/dist/commands/help.js
CHANGED
|
@@ -20,7 +20,7 @@ export const helpCommand = {
|
|
|
20
20
|
console.log();
|
|
21
21
|
console.log(` ${chalk.bold('start-project-item')} Begin work on a project item (creates branch + worktree)`);
|
|
22
22
|
console.log(` ${chalk.bold('start-dev-implementation')} Commit agent work, create PR, close worktree`);
|
|
23
|
-
console.log(` ${chalk.bold('ready-for-approval')} Mark PR ready for review, optionally assign
|
|
23
|
+
console.log(` ${chalk.bold('ready-for-approval')} Mark PR ready for review, optionally assign + request reviewers`);
|
|
24
24
|
console.log(` ${chalk.bold('approve-pr')} Approve, merge PR, clean up branch`);
|
|
25
25
|
console.log(` ${chalk.bold('next-workflow-step')} Auto-detect and run the next transition`);
|
|
26
26
|
console.log(` ${chalk.bold('update-branch')} Merge latest from source branch into current branch`);
|
|
@@ -108,7 +108,7 @@ export const helpCommand = {
|
|
|
108
108
|
console.log(' idea1 start --url https://app.idea1.ai/project/items/590 -b working/release');
|
|
109
109
|
console.log(' idea1 update-branch');
|
|
110
110
|
console.log(' idea1 next');
|
|
111
|
-
console.log(' idea1 ready-for-approval --
|
|
111
|
+
console.log(' idea1 ready-for-approval --assignee octocat --reviewers octocat,hubot');
|
|
112
112
|
console.log(' idea1 approve-pr');
|
|
113
113
|
logger.newline();
|
|
114
114
|
console.log(chalk.bold('INTERACTIVE MODE:'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,WAAW,EAAE,uBAAuB;IAEpC,KAAK,CAAC,OAAO,CAAC,SAAiC;QAC7C,qBAAqB;QACrB,UAAU,EAAE,CAAC;QAEb,0BAA0B;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAC;QACvG,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5K,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,iEAAiE,CAAC,CAAC;QACtH,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,gDAAgD,CAAC,CAAC;QAC3G,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,
|
|
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,14 +1,16 @@
|
|
|
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';
|
|
7
|
+
import * as github from '../services/github.js';
|
|
6
8
|
import { validateProjectItemUrl } from '../lib/project-item-url.js';
|
|
7
9
|
import { startProjectItemCommand, VALID_PERMISSION_MODES, VALID_EFFORT_LEVELS } from './start-project-item.js';
|
|
8
10
|
export const joinProjectItemCommand = {
|
|
9
11
|
name: 'join-project-item',
|
|
10
12
|
aliases: ['j', 'join'],
|
|
11
|
-
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',
|
|
12
14
|
options: [
|
|
13
15
|
{
|
|
14
16
|
longName: 'project-item-url',
|
|
@@ -23,6 +25,19 @@ export const joinProjectItemCommand = {
|
|
|
23
25
|
exclusiveGroup: 'target',
|
|
24
26
|
validate: (value) => (value.trim() ? undefined : 'A branch name is required')
|
|
25
27
|
},
|
|
28
|
+
{
|
|
29
|
+
longName: 'pull-request-url',
|
|
30
|
+
description: 'GitHub PR URL to join (resolves the head branch automatically)',
|
|
31
|
+
exclusiveGroup: 'target',
|
|
32
|
+
validate: (value) => {
|
|
33
|
+
if (!value.trim())
|
|
34
|
+
return 'A PR URL is required';
|
|
35
|
+
if (!/^https:\/\/github\.com\/.+\/.+\/pull\/\d+/.test(value)) {
|
|
36
|
+
return 'URL should be a GitHub PR URL (e.g., https://github.com/org/repo/pull/123)';
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
},
|
|
26
41
|
{
|
|
27
42
|
longName: 'source-path',
|
|
28
43
|
shortName: 'p',
|
|
@@ -30,6 +45,7 @@ export const joinProjectItemCommand = {
|
|
|
30
45
|
defaultValue: '',
|
|
31
46
|
promptWhenDefaultExists: false
|
|
32
47
|
},
|
|
48
|
+
isolationModeOption,
|
|
33
49
|
{
|
|
34
50
|
longName: 'permission-mode',
|
|
35
51
|
shortName: 'pm',
|
|
@@ -59,6 +75,8 @@ export const joinProjectItemCommand = {
|
|
|
59
75
|
const effort = (resolved['effort'] ?? 'high');
|
|
60
76
|
const url = resolved['project-item-url'] || undefined;
|
|
61
77
|
const branchArg = resolved['branch-name'] || undefined;
|
|
78
|
+
const prUrl = resolved['pull-request-url'] || undefined;
|
|
79
|
+
const isolationMode = resolveIsolationMode(resolved);
|
|
62
80
|
if (sourcePath) {
|
|
63
81
|
process.chdir(sourcePath);
|
|
64
82
|
}
|
|
@@ -79,13 +97,26 @@ export const joinProjectItemCommand = {
|
|
|
79
97
|
'workflow-type': 'independent',
|
|
80
98
|
'base-branch': baseBranch,
|
|
81
99
|
'claude-entry-point': 'none',
|
|
82
|
-
'source-path': ''
|
|
100
|
+
'source-path': '',
|
|
101
|
+
isolation: isolationMode
|
|
83
102
|
});
|
|
84
103
|
return;
|
|
85
104
|
}
|
|
86
105
|
branch = resolvedBranch;
|
|
87
106
|
logger.info(`Resolved branch for ${url}: ${branch}`);
|
|
88
107
|
}
|
|
108
|
+
else if (prUrl) {
|
|
109
|
+
logger.step(`Looking up PR: ${prUrl}`);
|
|
110
|
+
const prInfo = await github.getBranchFromPrUrl(prUrl);
|
|
111
|
+
if (!prInfo) {
|
|
112
|
+
throw new Error(`Could not resolve branch from PR URL: ${prUrl}`);
|
|
113
|
+
}
|
|
114
|
+
branch = prInfo.headBranch;
|
|
115
|
+
logger.info(`Resolved branch from PR: ${branch}`);
|
|
116
|
+
if (!await git.branchExists(branch)) {
|
|
117
|
+
throw new Error(`Branch '${branch}' does not exist locally or on origin. Cannot join.`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
89
120
|
else {
|
|
90
121
|
branch = branchArg;
|
|
91
122
|
if (!await git.branchExists(branch)) {
|
|
@@ -93,13 +124,16 @@ export const joinProjectItemCommand = {
|
|
|
93
124
|
}
|
|
94
125
|
}
|
|
95
126
|
logger.section('Join Project Item');
|
|
96
|
-
//
|
|
97
|
-
|
|
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));
|
|
98
132
|
// Recover durable per-branch metadata committed on the branch, then re-seed
|
|
99
133
|
// local git config and fill any missing state with start-project-item defaults.
|
|
100
|
-
await reestablishBranchState(
|
|
134
|
+
await reestablishBranchState(workingPath, branch, url);
|
|
101
135
|
logger.success(`Joined ${branch}`);
|
|
102
|
-
await worktree.
|
|
136
|
+
await worktree.finalizeBranchSetup(workingPath, isolationMode, {
|
|
103
137
|
projectItemUrl: url,
|
|
104
138
|
permissionMode,
|
|
105
139
|
effort,
|
|
@@ -113,7 +147,7 @@ export const joinProjectItemCommand = {
|
|
|
113
147
|
* lookups, default any missing fields to where start-project-item leaves a
|
|
114
148
|
* branch, and persist newly-seeded state back to the remote so future joins see it.
|
|
115
149
|
*/
|
|
116
|
-
async function reestablishBranchState(
|
|
150
|
+
async function reestablishBranchState(workingPath, branch, urlOverride) {
|
|
117
151
|
const remote = await git.readBranchMetadataFromRef(branch);
|
|
118
152
|
const projectItemUrl = urlOverride ?? remote?.projectItemUrl;
|
|
119
153
|
const baseBranch = remote?.baseBranch ?? await worktree.resolveBaseBranch();
|
|
@@ -152,9 +186,9 @@ async function reestablishBranchState(worktreePath, branch, urlOverride) {
|
|
|
152
186
|
metadata.stackBranch = stackBranch;
|
|
153
187
|
if (integrationBranch)
|
|
154
188
|
metadata.integrationBranch = integrationBranch;
|
|
155
|
-
// Operate inside the
|
|
156
|
-
process.chdir(
|
|
157
|
-
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);
|
|
158
192
|
const committed = await git.commitBranchMetadataIfChanged(branch);
|
|
159
193
|
if (committed) {
|
|
160
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,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":"next-workflow-step.d.ts","sourceRoot":"","sources":["../../src/commands/next-workflow-step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"next-workflow-step.d.ts","sourceRoot":"","sources":["../../src/commands/next-workflow-step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAmBjD,eAAO,MAAM,uBAAuB,EAAE,OAqDrC,CAAC"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { logger } from '../lib/logger.js';
|
|
2
|
+
import { resolveOptions } from '../cli/resolver.js';
|
|
2
3
|
import * as workflow from '../services/workflow.js';
|
|
3
4
|
import { startDevImplementationCommand } from './start-dev-implementation.js';
|
|
4
5
|
import { readyForApprovalCommand } from './ready-for-approval.js';
|
|
5
6
|
import { approvePrCommand } from './approve-pr.js';
|
|
7
|
+
/**
|
|
8
|
+
* Resolve a transition command's options (prompting for any that weren't
|
|
9
|
+
* supplied) before executing it. Running the transition directly with an empty
|
|
10
|
+
* object would skip resolution entirely, leaving options like the PR assignee
|
|
11
|
+
* undefined.
|
|
12
|
+
*/
|
|
13
|
+
async function runTransition(command) {
|
|
14
|
+
const resolved = await resolveOptions(command, {});
|
|
15
|
+
await command.execute(resolved);
|
|
16
|
+
}
|
|
6
17
|
export const nextWorkflowStepCommand = {
|
|
7
18
|
name: 'next-workflow-step',
|
|
8
19
|
aliases: ['next', 'n'],
|
|
@@ -34,13 +45,13 @@ export const nextWorkflowStepCommand = {
|
|
|
34
45
|
// Execute the appropriate command
|
|
35
46
|
switch (nextTransition) {
|
|
36
47
|
case 'start-dev-implementation':
|
|
37
|
-
await startDevImplementationCommand
|
|
48
|
+
await runTransition(startDevImplementationCommand);
|
|
38
49
|
break;
|
|
39
50
|
case 'ready-for-approval':
|
|
40
|
-
await readyForApprovalCommand
|
|
51
|
+
await runTransition(readyForApprovalCommand);
|
|
41
52
|
break;
|
|
42
53
|
case 'approve-pr':
|
|
43
|
-
await approvePrCommand
|
|
54
|
+
await runTransition(approvePrCommand);
|
|
44
55
|
break;
|
|
45
56
|
default:
|
|
46
57
|
throw new Error(`Unknown transition: ${nextTransition}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-workflow-step.js","sourceRoot":"","sources":["../../src/commands/next-workflow-step.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,CAAC,MAAM,uBAAuB,GAAY;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;IACtB,WAAW,EAAE,oDAAoD;IAEjE,KAAK,CAAC,OAAO,CAAC,SAAiC;QAC7C,8BAA8B;QAC9B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAE/D,0BAA0B;QAC1B,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAE1D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBACxC,MAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,kCAAkC;QAClC,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,0BAA0B;gBAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"next-workflow-step.js","sourceRoot":"","sources":["../../src/commands/next-workflow-step.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,OAAgB;IAC3C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAY;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;IACtB,WAAW,EAAE,oDAAoD;IAEjE,KAAK,CAAC,OAAO,CAAC,SAAiC;QAC7C,8BAA8B;QAC9B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAE/D,0BAA0B;QAC1B,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QAE1D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBACxC,MAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,kCAAkC;QAClC,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,0BAA0B;gBAC7B,MAAM,aAAa,CAAC,6BAA6B,CAAC,CAAC;gBACnD,MAAM;YAER,KAAK,oBAAoB;gBACvB,MAAM,aAAa,CAAC,uBAAuB,CAAC,CAAC;gBAC7C,MAAM;YAER,KAAK,YAAY;gBACf,MAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBACtC,MAAM;YAER;gBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,cAAc,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -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;AAOjD,eAAO,MAAM,uBAAuB,EAAE,
|
|
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;AAOjD,eAAO,MAAM,uBAAuB,EAAE,OAkGrC,CAAC"}
|
|
@@ -6,19 +6,29 @@ import * as workflow from '../services/workflow.js';
|
|
|
6
6
|
export const readyForApprovalCommand = {
|
|
7
7
|
name: 'ready-for-approval',
|
|
8
8
|
aliases: ['rfa'],
|
|
9
|
-
description: 'Mark PR as ready for approval and assign
|
|
9
|
+
description: 'Mark PR as ready for approval and assign reviewers/assignee',
|
|
10
10
|
options: [
|
|
11
11
|
{
|
|
12
12
|
longName: 'assignee',
|
|
13
13
|
shortName: 'a',
|
|
14
|
-
description: '
|
|
14
|
+
description: 'Who to assign the PR to',
|
|
15
15
|
choices: 'github-members',
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
allowNone: true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
longName: 'reviewers',
|
|
20
|
+
shortName: 'r',
|
|
21
|
+
description: 'Who to request a review from (select any number)',
|
|
22
|
+
choices: 'github-members',
|
|
23
|
+
multiSelect: true
|
|
18
24
|
}
|
|
19
25
|
],
|
|
20
26
|
async execute(resolved) {
|
|
21
|
-
const assignee = resolved['assignee'];
|
|
27
|
+
const assignee = resolved['assignee'] ?? '';
|
|
28
|
+
const reviewers = (resolved['reviewers'] ?? '')
|
|
29
|
+
.split(',')
|
|
30
|
+
.map(name => name.trim())
|
|
31
|
+
.filter(name => name.length > 0);
|
|
22
32
|
// Validate transition
|
|
23
33
|
const validation = await workflow.validateTransition('ready-for-approval');
|
|
24
34
|
if (!validation.valid) {
|
|
@@ -41,9 +51,12 @@ export const readyForApprovalCommand = {
|
|
|
41
51
|
throw new Error('No PR exists for this branch. Create a PR first with: idea1 push');
|
|
42
52
|
}
|
|
43
53
|
logger.info(`PR #${prInfo.number} found`);
|
|
44
|
-
//
|
|
45
|
-
await github.
|
|
54
|
+
// Request reviews and set the assignee (each no-ops when nothing was chosen)
|
|
55
|
+
await github.assignReviewers(branchName, reviewers);
|
|
46
56
|
await github.assignAssignee(branchName, assignee);
|
|
57
|
+
if (reviewers.length === 0 && !assignee) {
|
|
58
|
+
logger.dim('No reviewers requested and no assignee set.');
|
|
59
|
+
}
|
|
47
60
|
// Update workflow state, commit metadata, and push before worktree removal
|
|
48
61
|
await git.storeWorkflowState('PR needs Approval');
|
|
49
62
|
await git.commitBranchMetadataIfChanged(branchName);
|
|
@@ -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;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAY;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"ready-for-approval.js","sourceRoot":"","sources":["../../src/commands/ready-for-approval.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,7 +78,7 @@ export const startDevImplementationCommand = {
|
|
|
78
78
|
if (prInfo) {
|
|
79
79
|
logger.hint(`PR: ${prInfo.url}`);
|
|
80
80
|
}
|
|
81
|
-
logger.hint('When ready for review, run: idea1 ready-for-approval [--
|
|
81
|
+
logger.hint('When ready for review, run: idea1 ready-for-approval [--assignee <username>] [--reviewers <user1,user2>]');
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
84
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-dev-implementation.js","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"start-dev-implementation.js","sourceRoot":"","sources":["../../src/commands/start-dev-implementation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAEpD,MAAM,CAAC,MAAM,6BAA6B,GAAY;IACpD,IAAI,EAAE,0BAA0B;IAChC,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,yFAAyF;IACtG,OAAO,EAAE;QACP;YACE,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,4BAA4B;YACzC,YAAY,EAAE,EAAE;YAChB,uBAAuB,EAAE,KAAK;SAC/B;KACF;IAED,KAAK,CAAC,OAAO,CAAC,QAAgC;QAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE3C,sCAAsC;QACtC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAED,sBAAsB;QACtB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC;QAC5D,CAAC;QAED,+EAA+E;QAC/E,kFAAkF;QAClF,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACrD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,IAAI,iBAAiB,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;QAEjD,MAAM,CAAC,IAAI,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAE1C,gDAAgD;QAChD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACrD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,2BAA2B,cAAc,OAAO,UAAU,EAAE,CAAC;YACnF,MAAM,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;QAED,wDAAwD;QACxD,MAAM,GAAG,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,GAAG,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;QAEpD,yBAAyB;QACzB,MAAM,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEnC,gCAAgC;QAChC,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,MAAM,kCAAkC,CAAC,CAAC;QACtE,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAErE,0DAA0D;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC,YAAY,CAAC,CAAC;YAE1E,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,qBAAqB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;IAC1H,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAAC,YAAoB,EAAE,UAAkB;IAC3E,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEnC,6BAA6B;IAC7B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAE5B,sBAAsB;IACtB,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAEvC,0CAA0C;IAC1C,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACtD,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC;IAEpC,mCAAmC;IACnC,MAAM,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -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"}
|