@iloom/cli 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +50 -4
- package/dist/{BranchNamingService-AO7BPIUJ.js → BranchNamingService-K6XNWQ6C.js} +2 -2
- package/dist/ClaudeContextManager-X2Y72GRL.js +14 -0
- package/dist/ClaudeService-7P32TTES.js +13 -0
- package/dist/{LoomLauncher-NHZMEVTQ.js → LoomLauncher-3I47SUPV.js} +6 -6
- package/dist/{ProjectCapabilityDetector-IA56AUE6.js → ProjectCapabilityDetector-N5L7T4IY.js} +3 -3
- package/dist/PromptTemplateManager-36YLQRHP.js +11 -0
- package/dist/README.md +50 -4
- package/dist/{SettingsManager-VCVLL32H.js → SettingsManager-QR7V2IW2.js} +2 -2
- package/dist/agents/iloom-artifact-reviewer.md +280 -0
- package/dist/agents/iloom-code-reviewer.md +9 -7
- package/dist/agents/iloom-issue-analyze-and-plan.md +21 -6
- package/dist/agents/iloom-issue-analyzer.md +21 -6
- package/dist/agents/iloom-issue-complexity-evaluator.md +21 -6
- package/dist/agents/iloom-issue-enhancer.md +21 -6
- package/dist/agents/iloom-issue-implementer.md +21 -6
- package/dist/agents/iloom-issue-planner.md +21 -6
- package/dist/{build-Z3WCIKPD.js → build-IC4CJRMP.js} +8 -8
- package/dist/{chunk-TVH67KEO.js → chunk-2HZX6AMR.js} +2 -2
- package/dist/{chunk-VZYSM7N7.js → chunk-2JPXGGP4.js} +20 -15
- package/dist/chunk-2JPXGGP4.js.map +1 -0
- package/dist/{chunk-HSGZW3ID.js → chunk-4GAJJUYS.js} +3 -3
- package/dist/chunk-4GAJJUYS.js.map +1 -0
- package/dist/{chunk-RD7I2Q2F.js → chunk-4LKGCFGG.js} +2 -2
- package/dist/{chunk-SSASIBDJ.js → chunk-5LVVQGB3.js} +5 -5
- package/dist/{chunk-GWONJE3X.js → chunk-6Y3FTRJL.js} +189 -48
- package/dist/chunk-6Y3FTRJL.js.map +1 -0
- package/dist/{chunk-4BSXZ5YZ.js → chunk-B7U6OKUR.js} +5 -24
- package/dist/chunk-B7U6OKUR.js.map +1 -0
- package/dist/{chunk-IGKPPACU.js → chunk-FO5GGFOV.js} +17 -8
- package/dist/chunk-FO5GGFOV.js.map +1 -0
- package/dist/{chunk-GDS2HXSW.js → chunk-H6ST2TGP.js} +20 -3
- package/dist/chunk-H6ST2TGP.js.map +1 -0
- package/dist/{chunk-A7XHHUEV.js → chunk-HZXBHMVM.js} +47 -22
- package/dist/chunk-HZXBHMVM.js.map +1 -0
- package/dist/{chunk-44Y5IF7P.js → chunk-I23OQB4Y.js} +5 -5
- package/dist/chunk-JT5LZRMI.js +302 -0
- package/dist/chunk-JT5LZRMI.js.map +1 -0
- package/dist/{chunk-Q457PKGH.js → chunk-KAYXR544.js} +2 -2
- package/dist/{chunk-XU5A6BWA.js → chunk-MZPRBNYC.js} +4 -4
- package/dist/{chunk-XHNACIHO.js → chunk-NTTSUAVM.js} +2 -2
- package/dist/{chunk-PLI3JQWT.js → chunk-OAVJR4PM.js} +2 -2
- package/dist/{chunk-4KGRPHM6.js → chunk-PL2FDYEK.js} +2 -2
- package/dist/chunk-QN47QVBX.js +131 -0
- package/dist/chunk-QN47QVBX.js.map +1 -0
- package/dist/{chunk-3FC3VNEX.js → chunk-RD7OPXZK.js} +34 -8
- package/dist/chunk-RD7OPXZK.js.map +1 -0
- package/dist/{chunk-O6LECMT6.js → chunk-TGRK3CHF.js} +8 -8
- package/dist/{chunk-7GLZVDPQ.js → chunk-TL72BGP6.js} +2 -2
- package/dist/{chunk-52MVUK5V.js → chunk-USSL2X4A.js} +2 -2
- package/dist/chunk-USSL2X4A.js.map +1 -0
- package/dist/{chunk-XPKN3QWY.js → chunk-VOGGLPG5.js} +1 -2
- package/dist/{chunk-IWIIOFEB.js → chunk-XFEK2X2D.js} +16 -6
- package/dist/chunk-XFEK2X2D.js.map +1 -0
- package/dist/{chunk-PBSHQVCT.js → chunk-Z6F5CUS6.js} +4 -4
- package/dist/{claude-V4HRPR4Z.js → claude-TP2QO3BU.js} +2 -2
- package/dist/{cleanup-NWNKWPUY.js → cleanup-M6N7KV7E.js} +20 -15
- package/dist/{cleanup-NWNKWPUY.js.map → cleanup-M6N7KV7E.js.map} +1 -1
- package/dist/cli.js +118 -84
- package/dist/cli.js.map +1 -1
- package/dist/{commit-534QIRHY.js → commit-ORHR53KW.js} +10 -10
- package/dist/{compile-UANHMNTS.js → compile-EOWJORKO.js} +8 -8
- package/dist/{contribute-7USRBWRM.js → contribute-4KCEOHSH.js} +3 -3
- package/dist/{dev-server-TO7RLYJI.js → dev-server-Q6M62ATG.js} +13 -13
- package/dist/{feedback-7ZZI6RC5.js → feedback-XRI7SGYX.js} +11 -11
- package/dist/{git-GUNOPP4Q.js → git-W3XUIFTR.js} +5 -3
- package/dist/hooks/iloom-hook.js +5 -3
- package/dist/{ignite-5SIGOW5V.js → ignite-3FHQY23X.js} +90 -26
- package/dist/ignite-3FHQY23X.js.map +1 -0
- package/dist/index.d.ts +37 -2
- package/dist/index.js +49 -13
- package/dist/index.js.map +1 -1
- package/dist/{chunk-FPNSFP6K.js → init-ALYWKNWG.js} +42 -329
- package/dist/init-ALYWKNWG.js.map +1 -0
- package/dist/{lint-XPODLDVA.js → lint-IHUH45OC.js} +8 -8
- package/dist/{open-M2SUR74Y.js → open-KWOV2OFO.js} +15 -15
- package/dist/{plan-FB4AOJ2Q.js → plan-P6MXL7AU.js} +54 -22
- package/dist/plan-P6MXL7AU.js.map +1 -0
- package/dist/{projects-325GEEGJ.js → projects-LH362JZQ.js} +3 -3
- package/dist/prompts/init-prompt.txt +9 -1
- package/dist/prompts/issue-prompt.txt +315 -5
- package/dist/prompts/plan-prompt.txt +4 -6
- package/dist/prompts/pr-prompt.txt +79 -0
- package/dist/prompts/regular-prompt.txt +210 -5
- package/dist/{rebase-4FNRBW3H.js → rebase-AJOJOZUG.js} +9 -9
- package/dist/{recap-GSXFEOD6.js → recap-GKJXMDXW.js} +5 -5
- package/dist/{run-GZNHRJB2.js → run-QEUVZF7J.js} +15 -15
- package/dist/schema/settings.schema.json +9 -1
- package/dist/{shell-2SPM3Z5O.js → shell-DAAVG4YN.js} +5 -5
- package/dist/{summary-Z4F7YFXE.js → summary-WNEYCO4S.js} +11 -11
- package/dist/{test-LBSPYIJW.js → test-5GPWWO3P.js} +8 -8
- package/dist/{test-git-ZPSPA2TP.js → test-git-EJUKDB7F.js} +3 -3
- package/dist/{test-prefix-6DLB2BHE.js → test-prefix-23TOBUXY.js} +3 -3
- package/dist/{test-webserver-XLJ2TZFP.js → test-webserver-CKROHFBQ.js} +5 -5
- package/dist/{vscode-LH3VSQ2W.js → vscode-6TOLFCI2.js} +5 -5
- package/package.json +2 -2
- package/dist/ClaudeContextManager-RDP6CLK6.js +0 -14
- package/dist/ClaudeService-FKPOQRA4.js +0 -13
- package/dist/PRManager-A63LT3NF.js +0 -16
- package/dist/PromptTemplateManager-OUYDHOPI.js +0 -9
- package/dist/chunk-3FC3VNEX.js.map +0 -1
- package/dist/chunk-4BSXZ5YZ.js.map +0 -1
- package/dist/chunk-52MVUK5V.js.map +0 -1
- package/dist/chunk-66QOCD5N.js +0 -79
- package/dist/chunk-66QOCD5N.js.map +0 -1
- package/dist/chunk-A7XHHUEV.js.map +0 -1
- package/dist/chunk-FPNSFP6K.js.map +0 -1
- package/dist/chunk-GDS2HXSW.js.map +0 -1
- package/dist/chunk-GWONJE3X.js.map +0 -1
- package/dist/chunk-HSGZW3ID.js.map +0 -1
- package/dist/chunk-IGKPPACU.js.map +0 -1
- package/dist/chunk-IWIIOFEB.js.map +0 -1
- package/dist/chunk-VZYSM7N7.js.map +0 -1
- package/dist/git-GUNOPP4Q.js.map +0 -1
- package/dist/ignite-5SIGOW5V.js.map +0 -1
- package/dist/init-XXDIB2UJ.js +0 -21
- package/dist/init-XXDIB2UJ.js.map +0 -1
- package/dist/plan-FB4AOJ2Q.js.map +0 -1
- /package/dist/{BranchNamingService-AO7BPIUJ.js.map → BranchNamingService-K6XNWQ6C.js.map} +0 -0
- /package/dist/{ClaudeContextManager-RDP6CLK6.js.map → ClaudeContextManager-X2Y72GRL.js.map} +0 -0
- /package/dist/{ClaudeService-FKPOQRA4.js.map → ClaudeService-7P32TTES.js.map} +0 -0
- /package/dist/{LoomLauncher-NHZMEVTQ.js.map → LoomLauncher-3I47SUPV.js.map} +0 -0
- /package/dist/{PRManager-A63LT3NF.js.map → ProjectCapabilityDetector-N5L7T4IY.js.map} +0 -0
- /package/dist/{ProjectCapabilityDetector-IA56AUE6.js.map → PromptTemplateManager-36YLQRHP.js.map} +0 -0
- /package/dist/{PromptTemplateManager-OUYDHOPI.js.map → SettingsManager-QR7V2IW2.js.map} +0 -0
- /package/dist/{build-Z3WCIKPD.js.map → build-IC4CJRMP.js.map} +0 -0
- /package/dist/{chunk-TVH67KEO.js.map → chunk-2HZX6AMR.js.map} +0 -0
- /package/dist/{chunk-RD7I2Q2F.js.map → chunk-4LKGCFGG.js.map} +0 -0
- /package/dist/{chunk-SSASIBDJ.js.map → chunk-5LVVQGB3.js.map} +0 -0
- /package/dist/{chunk-44Y5IF7P.js.map → chunk-I23OQB4Y.js.map} +0 -0
- /package/dist/{chunk-Q457PKGH.js.map → chunk-KAYXR544.js.map} +0 -0
- /package/dist/{chunk-XU5A6BWA.js.map → chunk-MZPRBNYC.js.map} +0 -0
- /package/dist/{chunk-XHNACIHO.js.map → chunk-NTTSUAVM.js.map} +0 -0
- /package/dist/{chunk-PLI3JQWT.js.map → chunk-OAVJR4PM.js.map} +0 -0
- /package/dist/{chunk-4KGRPHM6.js.map → chunk-PL2FDYEK.js.map} +0 -0
- /package/dist/{chunk-O6LECMT6.js.map → chunk-TGRK3CHF.js.map} +0 -0
- /package/dist/{chunk-7GLZVDPQ.js.map → chunk-TL72BGP6.js.map} +0 -0
- /package/dist/{chunk-XPKN3QWY.js.map → chunk-VOGGLPG5.js.map} +0 -0
- /package/dist/{chunk-PBSHQVCT.js.map → chunk-Z6F5CUS6.js.map} +0 -0
- /package/dist/{SettingsManager-VCVLL32H.js.map → claude-TP2QO3BU.js.map} +0 -0
- /package/dist/{commit-534QIRHY.js.map → commit-ORHR53KW.js.map} +0 -0
- /package/dist/{compile-UANHMNTS.js.map → compile-EOWJORKO.js.map} +0 -0
- /package/dist/{contribute-7USRBWRM.js.map → contribute-4KCEOHSH.js.map} +0 -0
- /package/dist/{dev-server-TO7RLYJI.js.map → dev-server-Q6M62ATG.js.map} +0 -0
- /package/dist/{feedback-7ZZI6RC5.js.map → feedback-XRI7SGYX.js.map} +0 -0
- /package/dist/{claude-V4HRPR4Z.js.map → git-W3XUIFTR.js.map} +0 -0
- /package/dist/{lint-XPODLDVA.js.map → lint-IHUH45OC.js.map} +0 -0
- /package/dist/{open-M2SUR74Y.js.map → open-KWOV2OFO.js.map} +0 -0
- /package/dist/{projects-325GEEGJ.js.map → projects-LH362JZQ.js.map} +0 -0
- /package/dist/{rebase-4FNRBW3H.js.map → rebase-AJOJOZUG.js.map} +0 -0
- /package/dist/{recap-GSXFEOD6.js.map → recap-GKJXMDXW.js.map} +0 -0
- /package/dist/{run-GZNHRJB2.js.map → run-QEUVZF7J.js.map} +0 -0
- /package/dist/{shell-2SPM3Z5O.js.map → shell-DAAVG4YN.js.map} +0 -0
- /package/dist/{summary-Z4F7YFXE.js.map → summary-WNEYCO4S.js.map} +0 -0
- /package/dist/{test-LBSPYIJW.js.map → test-5GPWWO3P.js.map} +0 -0
- /package/dist/{test-git-ZPSPA2TP.js.map → test-git-EJUKDB7F.js.map} +0 -0
- /package/dist/{test-prefix-6DLB2BHE.js.map → test-prefix-23TOBUXY.js.map} +0 -0
- /package/dist/{test-webserver-XLJ2TZFP.js.map → test-webserver-CKROHFBQ.js.map} +0 -0
- /package/dist/{vscode-LH3VSQ2W.js.map → vscode-6TOLFCI2.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
SessionSummaryService
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Z6F5CUS6.js";
|
|
5
5
|
import "./chunk-NXMDEL3F.js";
|
|
6
6
|
import {
|
|
7
7
|
CLIIsolationManager,
|
|
@@ -9,60 +9,52 @@ import {
|
|
|
9
9
|
EnvironmentManager,
|
|
10
10
|
LoomManager,
|
|
11
11
|
ResourceCleanup
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-6Y3FTRJL.js";
|
|
13
|
+
import {
|
|
14
|
+
PRManager
|
|
15
|
+
} from "./chunk-I23OQB4Y.js";
|
|
13
16
|
import {
|
|
14
17
|
launchFirstRunSetup,
|
|
15
18
|
needsFirstRunSetup
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import {
|
|
18
|
-
CommitManager,
|
|
19
|
-
UserAbortedCommitError,
|
|
20
|
-
ValidationRunner
|
|
21
|
-
} from "./chunk-SSASIBDJ.js";
|
|
19
|
+
} from "./chunk-RD7OPXZK.js";
|
|
22
20
|
import {
|
|
23
21
|
BuildRunner,
|
|
24
22
|
MergeManager
|
|
25
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-HZXBHMVM.js";
|
|
26
24
|
import {
|
|
27
25
|
IssueTrackerFactory
|
|
28
26
|
} from "./chunk-SC6X5EBG.js";
|
|
29
27
|
import {
|
|
30
28
|
ProcessManager
|
|
31
|
-
} from "./chunk-
|
|
32
|
-
import
|
|
33
|
-
installDependencies
|
|
34
|
-
} from "./chunk-RD7I2Q2F.js";
|
|
35
|
-
import "./chunk-52MVUK5V.js";
|
|
29
|
+
} from "./chunk-NTTSUAVM.js";
|
|
30
|
+
import "./chunk-USSL2X4A.js";
|
|
36
31
|
import {
|
|
37
32
|
IdentifierParser,
|
|
38
33
|
matchIssueIdentifier
|
|
39
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-2HZX6AMR.js";
|
|
40
35
|
import {
|
|
41
36
|
createNeonProviderFromSettings
|
|
42
37
|
} from "./chunk-7ZEHSSUP.js";
|
|
43
38
|
import {
|
|
44
39
|
ShellCompletion
|
|
45
|
-
} from "./chunk-
|
|
46
|
-
import {
|
|
47
|
-
GitWorktreeManager
|
|
48
|
-
} from "./chunk-HSGZW3ID.js";
|
|
49
|
-
import "./chunk-BYUMEDDD.js";
|
|
40
|
+
} from "./chunk-JT5LZRMI.js";
|
|
50
41
|
import "./chunk-Q7POFB5Q.js";
|
|
51
42
|
import {
|
|
52
43
|
IssueEnhancementService,
|
|
53
44
|
capitalizeFirstLetter
|
|
54
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-PL2FDYEK.js";
|
|
55
46
|
import "./chunk-XJHQVOT6.js";
|
|
56
47
|
import {
|
|
57
|
-
|
|
58
|
-
} from "./chunk-
|
|
59
|
-
import "./chunk-XPKN3QWY.js";
|
|
48
|
+
openBrowser
|
|
49
|
+
} from "./chunk-YETJNRQM.js";
|
|
60
50
|
import {
|
|
61
51
|
AgentManager
|
|
62
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-B7U6OKUR.js";
|
|
63
53
|
import {
|
|
64
|
-
|
|
65
|
-
|
|
54
|
+
CommitManager,
|
|
55
|
+
UserAbortedCommitError,
|
|
56
|
+
ValidationRunner
|
|
57
|
+
} from "./chunk-5LVVQGB3.js";
|
|
66
58
|
import {
|
|
67
59
|
IssueManagementProviderFactory
|
|
68
60
|
} from "./chunk-UDZCTLD6.js";
|
|
@@ -70,8 +62,11 @@ import {
|
|
|
70
62
|
getLinearChildIssues
|
|
71
63
|
} from "./chunk-RNBIISBZ.js";
|
|
72
64
|
import {
|
|
73
|
-
|
|
74
|
-
} from "./chunk-
|
|
65
|
+
installDependencies
|
|
66
|
+
} from "./chunk-4LKGCFGG.js";
|
|
67
|
+
import {
|
|
68
|
+
GitWorktreeManager
|
|
69
|
+
} from "./chunk-4GAJJUYS.js";
|
|
75
70
|
import {
|
|
76
71
|
getConfiguredRepoFromSettings,
|
|
77
72
|
hasMultipleRemotes
|
|
@@ -83,15 +78,19 @@ import {
|
|
|
83
78
|
} from "./chunk-O7VL5N6S.js";
|
|
84
79
|
import {
|
|
85
80
|
ClaudeContextManager
|
|
86
|
-
} from "./chunk-
|
|
87
|
-
import "./chunk-
|
|
88
|
-
import "./chunk-
|
|
81
|
+
} from "./chunk-OAVJR4PM.js";
|
|
82
|
+
import "./chunk-MZPRBNYC.js";
|
|
83
|
+
import "./chunk-QN47QVBX.js";
|
|
89
84
|
import {
|
|
90
85
|
extractSettingsOverrides
|
|
91
86
|
} from "./chunk-GYCR2LOU.js";
|
|
92
87
|
import {
|
|
93
88
|
DefaultBranchNamingService
|
|
94
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-KAYXR544.js";
|
|
90
|
+
import {
|
|
91
|
+
ProjectCapabilityDetector
|
|
92
|
+
} from "./chunk-TL72BGP6.js";
|
|
93
|
+
import "./chunk-VOGGLPG5.js";
|
|
95
94
|
import {
|
|
96
95
|
GitCommandError,
|
|
97
96
|
executeGitCommand,
|
|
@@ -104,10 +103,10 @@ import {
|
|
|
104
103
|
pushBranchToRemote,
|
|
105
104
|
removePlaceholderCommitFromHead,
|
|
106
105
|
removePlaceholderCommitFromHistory
|
|
107
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-H6ST2TGP.js";
|
|
108
107
|
import {
|
|
109
108
|
SettingsManager
|
|
110
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-XFEK2X2D.js";
|
|
111
110
|
import {
|
|
112
111
|
MetadataManager
|
|
113
112
|
} from "./chunk-KBEIQP4G.js";
|
|
@@ -122,7 +121,7 @@ import {
|
|
|
122
121
|
waitForKeypress
|
|
123
122
|
} from "./chunk-7JDMYTFZ.js";
|
|
124
123
|
import "./chunk-433MOLAU.js";
|
|
125
|
-
import "./chunk-
|
|
124
|
+
import "./chunk-FO5GGFOV.js";
|
|
126
125
|
import {
|
|
127
126
|
getLogger,
|
|
128
127
|
withLogger
|
|
@@ -761,7 +760,7 @@ var FinishCommand = class {
|
|
|
761
760
|
const neonProvider = createNeonProviderFromSettings(settings);
|
|
762
761
|
const databaseManager = new DatabaseManager(neonProvider, environmentManager, databaseUrlEnvVarName);
|
|
763
762
|
const cliIsolationManager = new CLIIsolationManager();
|
|
764
|
-
const { DefaultBranchNamingService: DefaultBranchNamingService2 } = await import("./BranchNamingService-
|
|
763
|
+
const { DefaultBranchNamingService: DefaultBranchNamingService2 } = await import("./BranchNamingService-K6XNWQ6C.js");
|
|
765
764
|
this.loomManager ??= new LoomManager(
|
|
766
765
|
this.gitWorktreeManager,
|
|
767
766
|
this.issueTracker,
|
|
@@ -1233,20 +1232,11 @@ var FinishCommand = class {
|
|
|
1233
1232
|
getLogger().info("[DRY RUN] Would remove placeholder commit from history");
|
|
1234
1233
|
}
|
|
1235
1234
|
}
|
|
1236
|
-
const needsForceWithLease = isHeadPlaceholder || placeholderSha;
|
|
1237
1235
|
if (!options.dryRun) {
|
|
1238
1236
|
getLogger().info("Pushing final commits to remote...");
|
|
1239
|
-
|
|
1240
|
-
await executeGitCommand(["push", "--force-with-lease", "origin", worktree.branch], { cwd: worktree.path });
|
|
1241
|
-
} else {
|
|
1242
|
-
await pushBranchToRemote(worktree.branch, worktree.path, { dryRun: false });
|
|
1243
|
-
}
|
|
1237
|
+
await executeGitCommand(["push", "--force-with-lease", "origin", worktree.branch], { cwd: worktree.path });
|
|
1244
1238
|
} else {
|
|
1245
|
-
|
|
1246
|
-
getLogger().info("[DRY RUN] Would force push final commits to remote (history rewritten)");
|
|
1247
|
-
} else {
|
|
1248
|
-
getLogger().info("[DRY RUN] Would push final commits to remote");
|
|
1249
|
-
}
|
|
1239
|
+
getLogger().info("[DRY RUN] Would force push final commits to remote (rebased history)");
|
|
1250
1240
|
}
|
|
1251
1241
|
const prManager = new PRManager(settings);
|
|
1252
1242
|
if (!options.dryRun) {
|
|
@@ -2395,14 +2385,14 @@ async function autoLaunchInitForMultipleRemotes() {
|
|
|
2395
2385
|
await waitForKeypress2("Press any key to start configuration...");
|
|
2396
2386
|
logger.info("");
|
|
2397
2387
|
try {
|
|
2398
|
-
const { InitCommand } = await import("./init-
|
|
2388
|
+
const { InitCommand } = await import("./init-ALYWKNWG.js");
|
|
2399
2389
|
const initCommand = new InitCommand();
|
|
2400
2390
|
const customInitialMessage = "Help me configure which git remote iloom should use for GitHub operations. I have multiple remotes and need to select the correct one.";
|
|
2401
2391
|
await initCommand.execute(customInitialMessage);
|
|
2402
2392
|
logger.info("");
|
|
2403
2393
|
logger.info("Configuration complete! Continuing with your original command...");
|
|
2404
2394
|
logger.info("");
|
|
2405
|
-
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-
|
|
2395
|
+
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-QR7V2IW2.js");
|
|
2406
2396
|
const settingsManager = new SettingsManager2();
|
|
2407
2397
|
const settings = await settingsManager.loadSettings();
|
|
2408
2398
|
const { hasMultipleRemotes: hasMultipleRemotes2 } = await import("./remote-IJAMOEAP.js");
|
|
@@ -2423,7 +2413,10 @@ var shellCompletion = new ShellCompletion();
|
|
|
2423
2413
|
shellCompletion.init();
|
|
2424
2414
|
program.command("start").alias("new").alias("create").alias("up").description("Create isolated workspace for an issue/PR").argument("[identifier]", "Issue number, PR number, or branch name (optional - will prompt if not provided)").option("--claude", "Enable Claude integration (default: true)").option("--no-claude", "Disable Claude integration").option("--code", "Enable VSCode (default: true)").option("--no-code", "Disable VSCode").option("--dev-server", "Enable dev server in terminal (default: true)").option("--no-dev-server", "Disable dev server").option("--terminal", "Enable terminal without dev server (default: false)").option("--no-terminal", "Disable terminal").option("--child-loom", "Force create as child loom (skip prompt)").option("--no-child-loom", "Force create as independent loom (skip prompt)").option("--body <text>", "Body text for issue (skips AI enhancement)").option("--json", "Output result as JSON").addOption(
|
|
2425
2415
|
new Option("--one-shot <mode>", "One-shot automation mode").choices(["default", "noReview", "bypassPermissions"]).default("default")
|
|
2426
|
-
).action(async (identifier, options) => {
|
|
2416
|
+
).option("--yolo", "Enable autonomous mode (shorthand for --one-shot=bypassPermissions)").action(async (identifier, options) => {
|
|
2417
|
+
if (options.yolo) {
|
|
2418
|
+
options.oneShot = "bypassPermissions";
|
|
2419
|
+
}
|
|
2427
2420
|
const executeAction = async () => {
|
|
2428
2421
|
try {
|
|
2429
2422
|
let finalIdentifier = identifier;
|
|
@@ -2496,7 +2489,7 @@ program.command("add-issue").alias("a").description("Create and enhance GitHub i
|
|
|
2496
2489
|
});
|
|
2497
2490
|
program.command("feedback").alias("f").description("Submit feedback/bug report to iloom-cli repository").argument("<description>", "Feedback title (>30 chars, >2 spaces; or any non-empty text when --body provided)").option("--body <text>", "Body text for feedback (added after diagnostics)").action(async (description, options) => {
|
|
2498
2491
|
try {
|
|
2499
|
-
const { FeedbackCommand } = await import("./feedback-
|
|
2492
|
+
const { FeedbackCommand } = await import("./feedback-XRI7SGYX.js");
|
|
2500
2493
|
const command = new FeedbackCommand();
|
|
2501
2494
|
const feedbackOptions = {};
|
|
2502
2495
|
if (options.body !== void 0) {
|
|
@@ -2581,7 +2574,7 @@ program.command("finish").alias("dn").description("Merge work and cleanup worksp
|
|
|
2581
2574
|
program.command("commit").alias("c").description("Commit all uncommitted files with issue reference").option("-m, --message <text>", "Custom commit message (skip Claude generation)").option("--fixes", 'Use "Fixes #N" trailer instead of "Refs #N" (closes issue)').option("--no-review", "Skip commit message review prompt").option("--json", "Output result as JSON (implies --no-review)").option("--wip-commit", "Quick WIP commit: skip validations and pre-commit hooks").action(async (options) => {
|
|
2582
2575
|
const executeAction = async () => {
|
|
2583
2576
|
try {
|
|
2584
|
-
const { CommitCommand } = await import("./commit-
|
|
2577
|
+
const { CommitCommand } = await import("./commit-ORHR53KW.js");
|
|
2585
2578
|
const command = new CommitCommand();
|
|
2586
2579
|
const noReview = options.review === false || options.json === true;
|
|
2587
2580
|
const result = await command.execute({
|
|
@@ -2616,7 +2609,7 @@ program.command("commit").alias("c").description("Commit all uncommitted files w
|
|
|
2616
2609
|
});
|
|
2617
2610
|
program.command("rebase").description("Rebase current branch on main with Claude-assisted conflict resolution").option("-f, --force", "Skip confirmation prompts").option("-n, --dry-run", "Preview actions without executing").action(async (options) => {
|
|
2618
2611
|
try {
|
|
2619
|
-
const { RebaseCommand } = await import("./rebase-
|
|
2612
|
+
const { RebaseCommand } = await import("./rebase-AJOJOZUG.js");
|
|
2620
2613
|
const command = new RebaseCommand();
|
|
2621
2614
|
await command.execute(options);
|
|
2622
2615
|
} catch (error) {
|
|
@@ -2626,11 +2619,33 @@ program.command("rebase").description("Rebase current branch on main with Claude
|
|
|
2626
2619
|
});
|
|
2627
2620
|
program.command("spin").alias("ignite").description("Launch Claude with auto-detected workspace context").addOption(
|
|
2628
2621
|
new Option("--one-shot <mode>", "One-shot automation mode").choices(["default", "noReview", "bypassPermissions"])
|
|
2629
|
-
).
|
|
2622
|
+
).option("--yolo", "Enable autonomous mode (shorthand for --one-shot=bypassPermissions)").option("-p, --print", "Enable print/headless mode for CI/CD (uses bypassPermissions)").addOption(
|
|
2623
|
+
new Option("--output-format <format>", "Output format for Claude CLI (requires --print)").choices(["json", "stream-json", "text"])
|
|
2624
|
+
).option("--verbose", "Enable verbose output (requires --print)").option("--json", "Output final result as JSON object (requires --print)").option("--json-stream", "Stream JSONL output to stdout in real-time (requires --print)").action(async (options) => {
|
|
2625
|
+
if (options.yolo) {
|
|
2626
|
+
options.oneShot = "bypassPermissions";
|
|
2627
|
+
}
|
|
2630
2628
|
try {
|
|
2631
|
-
const { IgniteCommand } = await import("./ignite-
|
|
2629
|
+
const { IgniteCommand } = await import("./ignite-3FHQY23X.js");
|
|
2632
2630
|
const command = new IgniteCommand();
|
|
2633
|
-
|
|
2631
|
+
if (options.json && options.jsonStream) {
|
|
2632
|
+
logger.error("--json and --json-stream are mutually exclusive");
|
|
2633
|
+
process.exit(1);
|
|
2634
|
+
}
|
|
2635
|
+
if (!options.print && (options.outputFormat !== void 0 || options.verbose !== void 0)) {
|
|
2636
|
+
logger.warn("--output-format and --verbose flags are ignored without --print");
|
|
2637
|
+
}
|
|
2638
|
+
if (!options.print && (options.json || options.jsonStream)) {
|
|
2639
|
+
logger.warn("--json and --json-stream flags are ignored without --print");
|
|
2640
|
+
}
|
|
2641
|
+
const printOptions = options.print ? {
|
|
2642
|
+
print: true,
|
|
2643
|
+
...options.outputFormat !== void 0 && { outputFormat: options.outputFormat },
|
|
2644
|
+
...options.verbose !== void 0 && { verbose: options.verbose },
|
|
2645
|
+
...options.json && { json: true },
|
|
2646
|
+
...options.jsonStream && { jsonStream: true }
|
|
2647
|
+
} : void 0;
|
|
2648
|
+
await command.execute(options.oneShot, printOptions);
|
|
2634
2649
|
} catch (error) {
|
|
2635
2650
|
logger.error(`Failed to spin up loom: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
2636
2651
|
process.exit(1);
|
|
@@ -2639,7 +2654,7 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
|
|
|
2639
2654
|
program.command("open").description("Open workspace in browser or run CLI tool").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").allowUnknownOption().action(async (identifier, _options, command) => {
|
|
2640
2655
|
try {
|
|
2641
2656
|
const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
|
|
2642
|
-
const { OpenCommand } = await import("./open-
|
|
2657
|
+
const { OpenCommand } = await import("./open-KWOV2OFO.js");
|
|
2643
2658
|
const cmd = new OpenCommand();
|
|
2644
2659
|
const input = identifier ? { identifier, args } : { args };
|
|
2645
2660
|
await cmd.execute(input);
|
|
@@ -2651,7 +2666,7 @@ program.command("open").description("Open workspace in browser or run CLI tool")
|
|
|
2651
2666
|
program.command("run").description("Run CLI tool or open workspace in browser").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").allowUnknownOption().action(async (identifier, _options, command) => {
|
|
2652
2667
|
try {
|
|
2653
2668
|
const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
|
|
2654
|
-
const { RunCommand } = await import("./run-
|
|
2669
|
+
const { RunCommand } = await import("./run-QEUVZF7J.js");
|
|
2655
2670
|
const cmd = new RunCommand();
|
|
2656
2671
|
const input = identifier ? { identifier, args } : { args };
|
|
2657
2672
|
await cmd.execute(input);
|
|
@@ -2662,7 +2677,7 @@ program.command("run").description("Run CLI tool or open workspace in browser").
|
|
|
2662
2677
|
});
|
|
2663
2678
|
program.command("vscode").description("Install iloom VS Code extension and open workspace in VS Code").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").option("--no-wait", "Skip keypress prompt and open immediately").action(async (identifier, options) => {
|
|
2664
2679
|
try {
|
|
2665
|
-
const { VSCodeCommand } = await import("./vscode-
|
|
2680
|
+
const { VSCodeCommand } = await import("./vscode-6TOLFCI2.js");
|
|
2666
2681
|
const cmd = new VSCodeCommand();
|
|
2667
2682
|
await cmd.execute({ identifier, wait: options == null ? void 0 : options.wait });
|
|
2668
2683
|
} catch (error) {
|
|
@@ -2671,7 +2686,7 @@ program.command("vscode").description("Install iloom VS Code extension and open
|
|
|
2671
2686
|
});
|
|
2672
2687
|
program.command("dev-server").alias("dev").description("Start dev server for workspace (foreground)").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").option("--json", "Output as JSON").action(async (identifier, options) => {
|
|
2673
2688
|
try {
|
|
2674
|
-
const { DevServerCommand } = await import("./dev-server-
|
|
2689
|
+
const { DevServerCommand } = await import("./dev-server-Q6M62ATG.js");
|
|
2675
2690
|
const cmd = new DevServerCommand();
|
|
2676
2691
|
await cmd.execute({ identifier, json: options == null ? void 0 : options.json });
|
|
2677
2692
|
} catch (error) {
|
|
@@ -2681,7 +2696,7 @@ program.command("dev-server").alias("dev").description("Start dev server for wor
|
|
|
2681
2696
|
});
|
|
2682
2697
|
program.command("shell").alias("terminal").description("Open interactive shell with workspace environment").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2683
2698
|
try {
|
|
2684
|
-
const { ShellCommand } = await import("./shell-
|
|
2699
|
+
const { ShellCommand } = await import("./shell-DAAVG4YN.js");
|
|
2685
2700
|
const cmd = new ShellCommand();
|
|
2686
2701
|
await cmd.execute({ identifier });
|
|
2687
2702
|
} catch (error) {
|
|
@@ -2691,7 +2706,7 @@ program.command("shell").alias("terminal").description("Open interactive shell w
|
|
|
2691
2706
|
});
|
|
2692
2707
|
program.command("build").description("Run the build script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2693
2708
|
try {
|
|
2694
|
-
const { BuildCommand } = await import("./build-
|
|
2709
|
+
const { BuildCommand } = await import("./build-IC4CJRMP.js");
|
|
2695
2710
|
const cmd = new BuildCommand();
|
|
2696
2711
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2697
2712
|
} catch (error) {
|
|
@@ -2701,7 +2716,7 @@ program.command("build").description("Run the build script").argument("[identifi
|
|
|
2701
2716
|
});
|
|
2702
2717
|
program.command("lint").description("Run the lint script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2703
2718
|
try {
|
|
2704
|
-
const { LintCommand } = await import("./lint-
|
|
2719
|
+
const { LintCommand } = await import("./lint-IHUH45OC.js");
|
|
2705
2720
|
const cmd = new LintCommand();
|
|
2706
2721
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2707
2722
|
} catch (error) {
|
|
@@ -2711,7 +2726,7 @@ program.command("lint").description("Run the lint script").argument("[identifier
|
|
|
2711
2726
|
});
|
|
2712
2727
|
program.command("test").description("Run the test script").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2713
2728
|
try {
|
|
2714
|
-
const { TestCommand } = await import("./test-
|
|
2729
|
+
const { TestCommand } = await import("./test-5GPWWO3P.js");
|
|
2715
2730
|
const cmd = new TestCommand();
|
|
2716
2731
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2717
2732
|
} catch (error) {
|
|
@@ -2721,7 +2736,7 @@ program.command("test").description("Run the test script").argument("[identifier
|
|
|
2721
2736
|
});
|
|
2722
2737
|
program.command("compile").alias("typecheck").description("Run the compile or typecheck script (prefers compile if both exist)").argument("[identifier]", "Issue number, PR number, or branch name (auto-detected if omitted)").action(async (identifier) => {
|
|
2723
2738
|
try {
|
|
2724
|
-
const { CompileCommand } = await import("./compile-
|
|
2739
|
+
const { CompileCommand } = await import("./compile-EOWJORKO.js");
|
|
2725
2740
|
const cmd = new CompileCommand();
|
|
2726
2741
|
await cmd.execute(identifier ? { identifier } : {});
|
|
2727
2742
|
} catch (error) {
|
|
@@ -2732,7 +2747,7 @@ program.command("compile").alias("typecheck").description("Run the compile or ty
|
|
|
2732
2747
|
program.command("cleanup").alias("remove").alias("clean").description("Remove workspaces").argument("[identifier]", "Branch name or issue number to cleanup (auto-detected)").option("-l, --list", "List all worktrees").option("-a, --all", "Remove all worktrees (interactive confirmation)").option("-i, --issue <number>", "Cleanup by issue number", parseInt).option("-f, --force", "Skip confirmations and force removal").option("--dry-run", "Show what would be done without doing it").option("--json", "Output result as JSON").option("--defer <ms>", "Wait specified milliseconds before cleanup", parseInt).action(async (identifier, options) => {
|
|
2733
2748
|
const executeAction = async () => {
|
|
2734
2749
|
try {
|
|
2735
|
-
const { CleanupCommand } = await import("./cleanup-
|
|
2750
|
+
const { CleanupCommand } = await import("./cleanup-M6N7KV7E.js");
|
|
2736
2751
|
const command = new CleanupCommand();
|
|
2737
2752
|
const input = {
|
|
2738
2753
|
options: options ?? {}
|
|
@@ -3048,7 +3063,7 @@ program.command("list").description("Show active workspaces").option("--json", "
|
|
|
3048
3063
|
});
|
|
3049
3064
|
program.command("projects").description("List configured iloom projects").option("--json", "Output as JSON (default behavior)").action(async (options) => {
|
|
3050
3065
|
try {
|
|
3051
|
-
const { ProjectsCommand } = await import("./projects-
|
|
3066
|
+
const { ProjectsCommand } = await import("./projects-LH362JZQ.js");
|
|
3052
3067
|
const command = new ProjectsCommand();
|
|
3053
3068
|
const result = await command.execute(options);
|
|
3054
3069
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -3059,7 +3074,7 @@ program.command("projects").description("List configured iloom projects").option
|
|
|
3059
3074
|
});
|
|
3060
3075
|
program.command("init").alias("config").description("Initialize iloom configuration").argument("[prompt]", 'Custom initial message to send to Claude (defaults to "Help me configure iloom settings.")').action(async (prompt) => {
|
|
3061
3076
|
try {
|
|
3062
|
-
const { InitCommand } = await import("./init-
|
|
3077
|
+
const { InitCommand } = await import("./init-ALYWKNWG.js");
|
|
3063
3078
|
const command = new InitCommand();
|
|
3064
3079
|
const trimmedPrompt = prompt == null ? void 0 : prompt.trim();
|
|
3065
3080
|
const customPrompt = trimmedPrompt && trimmedPrompt.length > 0 ? trimmedPrompt : void 0;
|
|
@@ -3069,11 +3084,30 @@ program.command("init").alias("config").description("Initialize iloom configurat
|
|
|
3069
3084
|
process.exit(1);
|
|
3070
3085
|
}
|
|
3071
3086
|
});
|
|
3072
|
-
program.command("plan").description("Launch interactive planning session with Architect persona").argument("[prompt]", "Initial planning prompt or topic").option("--model <model>", "Model to use (default: opus)").option("--yolo", "Enable autonomous mode - Claude proceeds without user interaction").option("--planner <provider>", "AI provider for planning: claude, gemini, codex (default: claude)").option("--reviewer <provider>", "AI provider for review: claude, gemini, codex, none (default: none)").
|
|
3087
|
+
program.command("plan").description("Launch interactive planning session with Architect persona").argument("[prompt]", "Initial planning prompt or topic").option("--model <model>", "Model to use (default: opus)").option("--yolo", "Enable autonomous mode - Claude proceeds without user interaction").option("--planner <provider>", "AI provider for planning: claude, gemini, codex (default: claude)").option("--reviewer <provider>", "AI provider for review: claude, gemini, codex, none (default: none)").option("-p, --print", "Enable print/headless mode for CI/CD (uses bypassPermissions)").addOption(
|
|
3088
|
+
new Option("--output-format <format>", "Output format for Claude CLI (requires --print)").choices(["json", "stream-json", "text"])
|
|
3089
|
+
).option("--verbose", "Enable verbose output (requires --print)").option("--json", "Output final result as JSON object (requires --print)").option("--json-stream", "Stream JSONL output to stdout in real-time (requires --print)").action(async (prompt, options) => {
|
|
3073
3090
|
try {
|
|
3074
|
-
const { PlanCommand } = await import("./plan-
|
|
3091
|
+
const { PlanCommand } = await import("./plan-P6MXL7AU.js");
|
|
3075
3092
|
const command = new PlanCommand();
|
|
3076
|
-
|
|
3093
|
+
if ((options == null ? void 0 : options.json) && (options == null ? void 0 : options.jsonStream)) {
|
|
3094
|
+
logger.error("--json and --json-stream are mutually exclusive");
|
|
3095
|
+
process.exit(1);
|
|
3096
|
+
}
|
|
3097
|
+
if (!(options == null ? void 0 : options.print) && ((options == null ? void 0 : options.outputFormat) !== void 0 || (options == null ? void 0 : options.verbose) !== void 0)) {
|
|
3098
|
+
logger.warn("--output-format and --verbose flags are ignored without --print");
|
|
3099
|
+
}
|
|
3100
|
+
if (!(options == null ? void 0 : options.print) && ((options == null ? void 0 : options.json) || (options == null ? void 0 : options.jsonStream))) {
|
|
3101
|
+
logger.warn("--json and --json-stream flags are ignored without --print");
|
|
3102
|
+
}
|
|
3103
|
+
const printOptions = (options == null ? void 0 : options.print) ? {
|
|
3104
|
+
print: true,
|
|
3105
|
+
...(options == null ? void 0 : options.outputFormat) !== void 0 && { outputFormat: options.outputFormat },
|
|
3106
|
+
...(options == null ? void 0 : options.verbose) !== void 0 && { verbose: options.verbose },
|
|
3107
|
+
...(options == null ? void 0 : options.json) && { json: true },
|
|
3108
|
+
...(options == null ? void 0 : options.jsonStream) && { jsonStream: true }
|
|
3109
|
+
} : void 0;
|
|
3110
|
+
await command.execute(prompt, options == null ? void 0 : options.model, options == null ? void 0 : options.yolo, options == null ? void 0 : options.planner, options == null ? void 0 : options.reviewer, printOptions);
|
|
3077
3111
|
} catch (error) {
|
|
3078
3112
|
logger.error(`Planning session failed: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
3079
3113
|
process.exit(1);
|
|
@@ -3081,7 +3115,7 @@ program.command("plan").description("Launch interactive planning session with Ar
|
|
|
3081
3115
|
});
|
|
3082
3116
|
program.command("contribute").description("Set up local development environment for contributing to a GitHub project").argument("[repository]", "GitHub repository (owner/repo, github.com/owner/repo, or full URL). Defaults to iloom-ai/iloom-cli").action(async (repository) => {
|
|
3083
3117
|
try {
|
|
3084
|
-
const { ContributeCommand } = await import("./contribute-
|
|
3118
|
+
const { ContributeCommand } = await import("./contribute-4KCEOHSH.js");
|
|
3085
3119
|
const command = new ContributeCommand();
|
|
3086
3120
|
await command.execute(repository);
|
|
3087
3121
|
} catch (error) {
|
|
@@ -3102,7 +3136,7 @@ program.command("update").description("Update iloom-cli to the latest version").
|
|
|
3102
3136
|
program.command("test-github").description("Test GitHub integration (Issue #3)").argument("<identifier>", "Issue number or PR number").option("--no-claude", "Skip Claude for branch name generation").action(async (identifier, options) => {
|
|
3103
3137
|
try {
|
|
3104
3138
|
const { GitHubService: GitHubService2 } = await import("./GitHubService-ACZVNTJE.js");
|
|
3105
|
-
const { DefaultBranchNamingService: DefaultBranchNamingService2 } = await import("./BranchNamingService-
|
|
3139
|
+
const { DefaultBranchNamingService: DefaultBranchNamingService2 } = await import("./BranchNamingService-K6XNWQ6C.js");
|
|
3106
3140
|
logger.info("Testing GitHub Integration\n");
|
|
3107
3141
|
const service = new GitHubService2();
|
|
3108
3142
|
const branchNaming = new DefaultBranchNamingService2({ useClaude: options.claude !== false });
|
|
@@ -3160,10 +3194,10 @@ program.command("test-github").description("Test GitHub integration (Issue #3)")
|
|
|
3160
3194
|
});
|
|
3161
3195
|
program.command("test-claude").description("Test Claude integration (Issue #10)").option("--detect", "Test Claude CLI detection").option("--version", "Get Claude CLI version").option("--branch <title>", "Test branch name generation with given title").option("--issue <number>", "Issue number for branch generation", "123").option("--launch <prompt>", "Launch Claude with a prompt (headless)").option("--interactive", "Launch Claude interactively (requires --launch)").option("--template <name>", "Test template loading").action(async (options) => {
|
|
3162
3196
|
try {
|
|
3163
|
-
const { detectClaudeCli, getClaudeVersion, generateBranchName, launchClaude } = await import("./claude-
|
|
3164
|
-
const { PromptTemplateManager } = await import("./PromptTemplateManager-
|
|
3165
|
-
const { ClaudeService } = await import("./ClaudeService-
|
|
3166
|
-
const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-
|
|
3197
|
+
const { detectClaudeCli, getClaudeVersion, generateBranchName, launchClaude } = await import("./claude-TP2QO3BU.js");
|
|
3198
|
+
const { PromptTemplateManager } = await import("./PromptTemplateManager-36YLQRHP.js");
|
|
3199
|
+
const { ClaudeService } = await import("./ClaudeService-7P32TTES.js");
|
|
3200
|
+
const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-X2Y72GRL.js");
|
|
3167
3201
|
logger.info("Testing Claude Integration\n");
|
|
3168
3202
|
if (options.detect) {
|
|
3169
3203
|
logger.info("Detecting Claude CLI...");
|
|
@@ -3298,7 +3332,7 @@ program.command("test-claude").description("Test Claude integration (Issue #10)"
|
|
|
3298
3332
|
});
|
|
3299
3333
|
program.command("test-webserver").description("Test if a web server is running on a workspace port").argument("<issue-number>", "Issue number (port will be calculated as 3000 + issue number)", parseInt).option("--kill", "Kill the web server if detected").action(async (issueNumber, options) => {
|
|
3300
3334
|
try {
|
|
3301
|
-
const { TestWebserverCommand } = await import("./test-webserver-
|
|
3335
|
+
const { TestWebserverCommand } = await import("./test-webserver-CKROHFBQ.js");
|
|
3302
3336
|
const command = new TestWebserverCommand();
|
|
3303
3337
|
await command.execute({ issueNumber, options });
|
|
3304
3338
|
} catch (error) {
|
|
@@ -3311,7 +3345,7 @@ program.command("test-webserver").description("Test if a web server is running o
|
|
|
3311
3345
|
});
|
|
3312
3346
|
program.command("test-git").description("Test Git integration - findMainWorktreePath() function (reads .iloom/settings.json)").action(async () => {
|
|
3313
3347
|
try {
|
|
3314
|
-
const { TestGitCommand } = await import("./test-git-
|
|
3348
|
+
const { TestGitCommand } = await import("./test-git-EJUKDB7F.js");
|
|
3315
3349
|
const command = new TestGitCommand();
|
|
3316
3350
|
await command.execute();
|
|
3317
3351
|
} catch (error) {
|
|
@@ -3337,7 +3371,7 @@ program.command("test-tabs").description("Test iTerm2 dual tab functionality - o
|
|
|
3337
3371
|
});
|
|
3338
3372
|
program.command("test-prefix").description("Test worktree prefix configuration - preview worktree paths (reads .iloom/settings.json)").action(async () => {
|
|
3339
3373
|
try {
|
|
3340
|
-
const { TestPrefixCommand } = await import("./test-prefix-
|
|
3374
|
+
const { TestPrefixCommand } = await import("./test-prefix-23TOBUXY.js");
|
|
3341
3375
|
const command = new TestPrefixCommand();
|
|
3342
3376
|
await command.execute();
|
|
3343
3377
|
} catch (error) {
|
|
@@ -3351,7 +3385,7 @@ program.command("test-prefix").description("Test worktree prefix configuration -
|
|
|
3351
3385
|
program.command("summary").description("Generate Claude session summary for a loom").argument("[identifier]", "Issue number, PR number (pr/123), or branch name (auto-detected if omitted)").option("--with-comment", "Post summary as a comment to the issue/PR").option("--json", "Output result as JSON").action(async (identifier, options) => {
|
|
3352
3386
|
const executeAction = async () => {
|
|
3353
3387
|
try {
|
|
3354
|
-
const { SummaryCommand } = await import("./summary-
|
|
3388
|
+
const { SummaryCommand } = await import("./summary-WNEYCO4S.js");
|
|
3355
3389
|
const command = new SummaryCommand();
|
|
3356
3390
|
const result = await command.execute({ identifier, options });
|
|
3357
3391
|
if (options.json && result) {
|
|
@@ -3380,7 +3414,7 @@ program.command("summary").description("Generate Claude session summary for a lo
|
|
|
3380
3414
|
program.command("recap").description("Get recap for a loom (defaults to current directory)").argument("[identifier]", "Issue number, PR number (pr/123), or branch name (auto-detected if omitted)").option("--json", "Output as JSON with filePath for file watching").action(async (identifier, options) => {
|
|
3381
3415
|
const executeAction = async () => {
|
|
3382
3416
|
try {
|
|
3383
|
-
const { RecapCommand } = await import("./recap-
|
|
3417
|
+
const { RecapCommand } = await import("./recap-GKJXMDXW.js");
|
|
3384
3418
|
const command = new RecapCommand();
|
|
3385
3419
|
const result = await command.execute({ identifier, json: options.json });
|
|
3386
3420
|
if (options.json && result) {
|
|
@@ -3409,7 +3443,7 @@ program.command("recap").description("Get recap for a loom (defaults to current
|
|
|
3409
3443
|
program.command("test-neon").description("Test Neon integration and debug configuration").action(async () => {
|
|
3410
3444
|
var _a;
|
|
3411
3445
|
try {
|
|
3412
|
-
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-
|
|
3446
|
+
const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-QR7V2IW2.js");
|
|
3413
3447
|
const { createNeonProviderFromSettings: createNeonProviderFromSettings2 } = await import("./neon-helpers-VVFFTLXE.js");
|
|
3414
3448
|
logger.info("Testing Neon Integration\n");
|
|
3415
3449
|
logger.info("1. Settings Configuration:");
|