@iloom/cli 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/dist/{GitHubService-ACZVNTJE.js → GitHubService-O7T6CFAJ.js} +3 -3
- package/dist/README.md +1 -1
- package/dist/{chunk-SC6X5EBG.js → chunk-3P6J4IZZ.js} +3 -3
- package/dist/{chunk-6Y3FTRJL.js → chunk-4ZIHFUPN.js} +41 -18
- package/dist/chunk-4ZIHFUPN.js.map +1 -0
- package/dist/{chunk-RNBIISBZ.js → chunk-ENGCJIYQ.js} +48 -3
- package/dist/chunk-ENGCJIYQ.js.map +1 -0
- package/dist/{chunk-I23OQB4Y.js → chunk-I3HMNWQQ.js} +6 -5
- package/dist/chunk-I3HMNWQQ.js.map +1 -0
- package/dist/{chunk-XJHQVOT6.js → chunk-J7FJ6PUT.js} +2 -2
- package/dist/{chunk-UDZCTLD6.js → chunk-OK7LUTRW.js} +3 -3
- package/dist/{chunk-Z6F5CUS6.js → chunk-POU2UMWN.js} +2 -2
- package/dist/{chunk-THS5L54H.js → chunk-TRUMP4DA.js} +26 -2
- package/dist/{chunk-THS5L54H.js.map → chunk-TRUMP4DA.js.map} +1 -1
- package/dist/{chunk-PVW6JE7E.js → chunk-Y5HSSIK2.js} +2 -2
- package/dist/{chunk-PL2FDYEK.js → chunk-Y5O2ALDZ.js} +2 -2
- package/dist/{cleanup-M6N7KV7E.js → cleanup-D3CSRBBZ.js} +8 -8
- package/dist/cli.js +36 -20
- package/dist/cli.js.map +1 -1
- package/dist/{commit-ORHR53KW.js → commit-IWGT42XN.js} +4 -4
- package/dist/{contribute-4KCEOHSH.js → contribute-WSJTV2RX.js} +2 -2
- package/dist/{feedback-XRI7SGYX.js → feedback-QPNDZQRV.js} +5 -5
- package/dist/{ignite-3FHQY23X.js → ignite-OPO6EDYT.js} +6 -6
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/issues-L7TBUPXT.js +116 -0
- package/dist/issues-L7TBUPXT.js.map +1 -0
- package/dist/mcp/issue-management-server.js +3 -2
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/{plan-P6MXL7AU.js → plan-BRJBFJHF.js} +7 -7
- package/dist/{summary-WNEYCO4S.js → summary-ZKOA35PT.js} +6 -6
- package/package.json +1 -1
- package/dist/chunk-6Y3FTRJL.js.map +0 -1
- package/dist/chunk-I23OQB4Y.js.map +0 -1
- package/dist/chunk-RNBIISBZ.js.map +0 -1
- /package/dist/{GitHubService-ACZVNTJE.js.map → GitHubService-O7T6CFAJ.js.map} +0 -0
- /package/dist/{chunk-SC6X5EBG.js.map → chunk-3P6J4IZZ.js.map} +0 -0
- /package/dist/{chunk-XJHQVOT6.js.map → chunk-J7FJ6PUT.js.map} +0 -0
- /package/dist/{chunk-UDZCTLD6.js.map → chunk-OK7LUTRW.js.map} +0 -0
- /package/dist/{chunk-Z6F5CUS6.js.map → chunk-POU2UMWN.js.map} +0 -0
- /package/dist/{chunk-PVW6JE7E.js.map → chunk-Y5HSSIK2.js.map} +0 -0
- /package/dist/{chunk-PL2FDYEK.js.map → chunk-Y5O2ALDZ.js.map} +0 -0
- /package/dist/{cleanup-M6N7KV7E.js.map → cleanup-D3CSRBBZ.js.map} +0 -0
- /package/dist/{commit-ORHR53KW.js.map → commit-IWGT42XN.js.map} +0 -0
- /package/dist/{contribute-4KCEOHSH.js.map → contribute-WSJTV2RX.js.map} +0 -0
- /package/dist/{feedback-XRI7SGYX.js.map → feedback-QPNDZQRV.js.map} +0 -0
- /package/dist/{ignite-3FHQY23X.js.map → ignite-OPO6EDYT.js.map} +0 -0
- /package/dist/{plan-P6MXL7AU.js.map → plan-BRJBFJHF.js.map} +0 -0
- /package/dist/{summary-WNEYCO4S.js.map → summary-ZKOA35PT.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-POU2UMWN.js";
|
|
5
5
|
import "./chunk-NXMDEL3F.js";
|
|
6
6
|
import {
|
|
7
7
|
CLIIsolationManager,
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
EnvironmentManager,
|
|
10
10
|
LoomManager,
|
|
11
11
|
ResourceCleanup
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-4ZIHFUPN.js";
|
|
13
13
|
import {
|
|
14
14
|
PRManager
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-I3HMNWQQ.js";
|
|
16
16
|
import {
|
|
17
17
|
launchFirstRunSetup,
|
|
18
18
|
needsFirstRunSetup
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-HZXBHMVM.js";
|
|
24
24
|
import {
|
|
25
25
|
IssueTrackerFactory
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-3P6J4IZZ.js";
|
|
27
27
|
import {
|
|
28
28
|
ProcessManager
|
|
29
29
|
} from "./chunk-NTTSUAVM.js";
|
|
@@ -42,8 +42,8 @@ import "./chunk-Q7POFB5Q.js";
|
|
|
42
42
|
import {
|
|
43
43
|
IssueEnhancementService,
|
|
44
44
|
capitalizeFirstLetter
|
|
45
|
-
} from "./chunk-
|
|
46
|
-
import "./chunk-
|
|
45
|
+
} from "./chunk-Y5O2ALDZ.js";
|
|
46
|
+
import "./chunk-J7FJ6PUT.js";
|
|
47
47
|
import {
|
|
48
48
|
openBrowser
|
|
49
49
|
} from "./chunk-YETJNRQM.js";
|
|
@@ -57,10 +57,10 @@ import {
|
|
|
57
57
|
} from "./chunk-5LVVQGB3.js";
|
|
58
58
|
import {
|
|
59
59
|
IssueManagementProviderFactory
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-OK7LUTRW.js";
|
|
61
61
|
import {
|
|
62
62
|
getLinearChildIssues
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-ENGCJIYQ.js";
|
|
64
64
|
import {
|
|
65
65
|
installDependencies
|
|
66
66
|
} from "./chunk-4LKGCFGG.js";
|
|
@@ -112,10 +112,10 @@ import {
|
|
|
112
112
|
} from "./chunk-KBEIQP4G.js";
|
|
113
113
|
import {
|
|
114
114
|
GitHubService
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-Y5HSSIK2.js";
|
|
116
116
|
import {
|
|
117
117
|
getSubIssues
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-TRUMP4DA.js";
|
|
119
119
|
import {
|
|
120
120
|
promptConfirmation,
|
|
121
121
|
waitForKeypress
|
|
@@ -2267,7 +2267,7 @@ async function validateSettingsForCommand(command) {
|
|
|
2267
2267
|
if (bypassCommands.includes(commandName)) {
|
|
2268
2268
|
return;
|
|
2269
2269
|
}
|
|
2270
|
-
const warnOnlyCommands = ["list", "projects"];
|
|
2270
|
+
const warnOnlyCommands = ["list", "projects", "issues"];
|
|
2271
2271
|
try {
|
|
2272
2272
|
const settingsManager = new SettingsManager();
|
|
2273
2273
|
const settings = await settingsManager.loadSettings();
|
|
@@ -2291,7 +2291,7 @@ async function validateGhCliForCommand(command) {
|
|
|
2291
2291
|
const commandName = command.name();
|
|
2292
2292
|
const alwaysRequireGh = ["feedback", "contribute"];
|
|
2293
2293
|
const conditionallyRequireGh = ["start", "finish", "enhance", "add-issue", "ignite", "spin"];
|
|
2294
|
-
const warnOnly = ["init", "list", "rebase", "cleanup", "run", "update", "open"];
|
|
2294
|
+
const warnOnly = ["init", "list", "rebase", "cleanup", "run", "update", "open", "issues"];
|
|
2295
2295
|
if (commandName.startsWith("test-") || commandName === "help") {
|
|
2296
2296
|
return;
|
|
2297
2297
|
}
|
|
@@ -2489,7 +2489,7 @@ program.command("add-issue").alias("a").description("Create and enhance GitHub i
|
|
|
2489
2489
|
});
|
|
2490
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) => {
|
|
2491
2491
|
try {
|
|
2492
|
-
const { FeedbackCommand } = await import("./feedback-
|
|
2492
|
+
const { FeedbackCommand } = await import("./feedback-QPNDZQRV.js");
|
|
2493
2493
|
const command = new FeedbackCommand();
|
|
2494
2494
|
const feedbackOptions = {};
|
|
2495
2495
|
if (options.body !== void 0) {
|
|
@@ -2574,7 +2574,7 @@ program.command("finish").alias("dn").description("Merge work and cleanup worksp
|
|
|
2574
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) => {
|
|
2575
2575
|
const executeAction = async () => {
|
|
2576
2576
|
try {
|
|
2577
|
-
const { CommitCommand } = await import("./commit-
|
|
2577
|
+
const { CommitCommand } = await import("./commit-IWGT42XN.js");
|
|
2578
2578
|
const command = new CommitCommand();
|
|
2579
2579
|
const noReview = options.review === false || options.json === true;
|
|
2580
2580
|
const result = await command.execute({
|
|
@@ -2626,7 +2626,7 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
|
|
|
2626
2626
|
options.oneShot = "bypassPermissions";
|
|
2627
2627
|
}
|
|
2628
2628
|
try {
|
|
2629
|
-
const { IgniteCommand } = await import("./ignite-
|
|
2629
|
+
const { IgniteCommand } = await import("./ignite-OPO6EDYT.js");
|
|
2630
2630
|
const command = new IgniteCommand();
|
|
2631
2631
|
if (options.json && options.jsonStream) {
|
|
2632
2632
|
logger.error("--json and --json-stream are mutually exclusive");
|
|
@@ -2747,7 +2747,7 @@ program.command("compile").alias("typecheck").description("Run the compile or ty
|
|
|
2747
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) => {
|
|
2748
2748
|
const executeAction = async () => {
|
|
2749
2749
|
try {
|
|
2750
|
-
const { CleanupCommand } = await import("./cleanup-
|
|
2750
|
+
const { CleanupCommand } = await import("./cleanup-D3CSRBBZ.js");
|
|
2751
2751
|
const command = new CleanupCommand();
|
|
2752
2752
|
const input = {
|
|
2753
2753
|
options: options ?? {}
|
|
@@ -3072,6 +3072,22 @@ program.command("projects").description("List configured iloom projects").option
|
|
|
3072
3072
|
process.exit(1);
|
|
3073
3073
|
}
|
|
3074
3074
|
});
|
|
3075
|
+
program.command("issues").description("List project issues from configured issue tracker").argument("[project-path]", "Path to project root (auto-detected if omitted)").option("--json", "Output as JSON (default behavior)").option("--limit <n>", "Max issues to return", "100").action(async (projectPath, options) => {
|
|
3076
|
+
try {
|
|
3077
|
+
const { IssuesCommand } = await import("./issues-L7TBUPXT.js");
|
|
3078
|
+
const command = new IssuesCommand();
|
|
3079
|
+
const parsedLimit = parseInt((options == null ? void 0 : options.limit) ?? "100", 10);
|
|
3080
|
+
const limit = Number.isNaN(parsedLimit) || parsedLimit <= 0 ? 100 : parsedLimit;
|
|
3081
|
+
const result = await command.execute({
|
|
3082
|
+
...projectPath ? { projectPath } : {},
|
|
3083
|
+
limit
|
|
3084
|
+
});
|
|
3085
|
+
console.log(JSON.stringify(result, null, 2));
|
|
3086
|
+
} catch (error) {
|
|
3087
|
+
logger.error(`Failed to list issues: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
3088
|
+
process.exit(1);
|
|
3089
|
+
}
|
|
3090
|
+
});
|
|
3075
3091
|
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) => {
|
|
3076
3092
|
try {
|
|
3077
3093
|
const { InitCommand } = await import("./init-ALYWKNWG.js");
|
|
@@ -3088,7 +3104,7 @@ program.command("plan").description("Launch interactive planning session with Ar
|
|
|
3088
3104
|
new Option("--output-format <format>", "Output format for Claude CLI (requires --print)").choices(["json", "stream-json", "text"])
|
|
3089
3105
|
).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) => {
|
|
3090
3106
|
try {
|
|
3091
|
-
const { PlanCommand } = await import("./plan-
|
|
3107
|
+
const { PlanCommand } = await import("./plan-BRJBFJHF.js");
|
|
3092
3108
|
const command = new PlanCommand();
|
|
3093
3109
|
if ((options == null ? void 0 : options.json) && (options == null ? void 0 : options.jsonStream)) {
|
|
3094
3110
|
logger.error("--json and --json-stream are mutually exclusive");
|
|
@@ -3115,7 +3131,7 @@ program.command("plan").description("Launch interactive planning session with Ar
|
|
|
3115
3131
|
});
|
|
3116
3132
|
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) => {
|
|
3117
3133
|
try {
|
|
3118
|
-
const { ContributeCommand } = await import("./contribute-
|
|
3134
|
+
const { ContributeCommand } = await import("./contribute-WSJTV2RX.js");
|
|
3119
3135
|
const command = new ContributeCommand();
|
|
3120
3136
|
await command.execute(repository);
|
|
3121
3137
|
} catch (error) {
|
|
@@ -3135,7 +3151,7 @@ program.command("update").description("Update iloom-cli to the latest version").
|
|
|
3135
3151
|
});
|
|
3136
3152
|
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) => {
|
|
3137
3153
|
try {
|
|
3138
|
-
const { GitHubService: GitHubService2 } = await import("./GitHubService-
|
|
3154
|
+
const { GitHubService: GitHubService2 } = await import("./GitHubService-O7T6CFAJ.js");
|
|
3139
3155
|
const { DefaultBranchNamingService: DefaultBranchNamingService2 } = await import("./BranchNamingService-K6XNWQ6C.js");
|
|
3140
3156
|
logger.info("Testing GitHub Integration\n");
|
|
3141
3157
|
const service = new GitHubService2();
|
|
@@ -3385,7 +3401,7 @@ program.command("test-prefix").description("Test worktree prefix configuration -
|
|
|
3385
3401
|
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) => {
|
|
3386
3402
|
const executeAction = async () => {
|
|
3387
3403
|
try {
|
|
3388
|
-
const { SummaryCommand } = await import("./summary-
|
|
3404
|
+
const { SummaryCommand } = await import("./summary-ZKOA35PT.js");
|
|
3389
3405
|
const command = new SummaryCommand();
|
|
3390
3406
|
const result = await command.execute({ identifier, options });
|
|
3391
3407
|
if (options.json && result) {
|