@iloom/cli 0.13.2 → 0.13.3

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.
@@ -33,6 +33,9 @@ import {
33
33
  import {
34
34
  GitWorktreeManager
35
35
  } from "./chunk-D6FU4DLN.js";
36
+ import {
37
+ ProjectCapabilityDetector
38
+ } from "./chunk-772N5WCA.js";
36
39
  import {
37
40
  ClaudeContextManager
38
41
  } from "./chunk-32D4CWWH.js";
@@ -42,9 +45,6 @@ import {
42
45
  import {
43
46
  DefaultBranchNamingService
44
47
  } from "./chunk-AQUSMNBF.js";
45
- import {
46
- ProjectCapabilityDetector
47
- } from "./chunk-772N5WCA.js";
48
48
  import {
49
49
  IssueTrackerFactory
50
50
  } from "./chunk-ZWXJ7G2C.js";
@@ -673,4 +673,4 @@ export {
673
673
  launchFirstRunSetup,
674
674
  StartCommand
675
675
  };
676
- //# sourceMappingURL=chunk-R2EFSRKR.js.map
676
+ //# sourceMappingURL=chunk-Z3ZEJN3W.js.map
@@ -544,4 +544,4 @@ var CleanupCommand = class {
544
544
  export {
545
545
  CleanupCommand
546
546
  };
547
- //# sourceMappingURL=cleanup-I62RA5TZ.js.map
547
+ //# sourceMappingURL=cleanup-W5FP3UKK.js.map
package/dist/cli.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  StartCommand,
12
12
  launchFirstRunSetup,
13
13
  needsFirstRunSetup
14
- } from "./chunk-R2EFSRKR.js";
14
+ } from "./chunk-Z3ZEJN3W.js";
15
15
  import {
16
16
  CLIIsolationManager,
17
17
  DatabaseManager,
@@ -77,6 +77,10 @@ import {
77
77
  import {
78
78
  openBrowser
79
79
  } from "./chunk-WEBMMJKL.js";
80
+ import {
81
+ ProjectCapabilityDetector
82
+ } from "./chunk-772N5WCA.js";
83
+ import "./chunk-K3QGG4O2.js";
80
84
  import {
81
85
  getIdeConfig,
82
86
  getInstallHint,
@@ -89,10 +93,6 @@ import "./chunk-UMAOVKQX.js";
89
93
  import "./chunk-LDE6VNG5.js";
90
94
  import "./chunk-GYCR2LOU.js";
91
95
  import "./chunk-AQUSMNBF.js";
92
- import {
93
- ProjectCapabilityDetector
94
- } from "./chunk-772N5WCA.js";
95
- import "./chunk-K3QGG4O2.js";
96
96
  import {
97
97
  IssueTrackerFactory
98
98
  } from "./chunk-ZWXJ7G2C.js";
@@ -2358,7 +2358,7 @@ program.command("add-issue").alias("a").description("Create and enhance GitHub i
2358
2358
  });
2359
2359
  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) => {
2360
2360
  try {
2361
- const { FeedbackCommand } = await import("./feedback-G63MODT2.js");
2361
+ const { FeedbackCommand } = await import("./feedback-M43SGGK2.js");
2362
2362
  const command = new FeedbackCommand();
2363
2363
  const feedbackOptions = {};
2364
2364
  if (options.body !== void 0) {
@@ -2568,7 +2568,7 @@ program.command("open").description("Open workspace in browser or run CLI tool")
2568
2568
  try {
2569
2569
  const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
2570
2570
  const env = (options == null ? void 0 : options.env) && Object.keys(options.env).length > 0 ? options.env : void 0;
2571
- const { OpenCommand } = await import("./open-6PXNIPXS.js");
2571
+ const { OpenCommand } = await import("./open-XIUV5JMJ.js");
2572
2572
  const cmd = new OpenCommand();
2573
2573
  const input = identifier ? { identifier, args, env } : { args, env };
2574
2574
  await cmd.execute(input);
@@ -2581,7 +2581,7 @@ program.command("run").description("Run CLI tool or open workspace in browser").
2581
2581
  try {
2582
2582
  const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
2583
2583
  const env = (options == null ? void 0 : options.env) && Object.keys(options.env).length > 0 ? options.env : void 0;
2584
- const { RunCommand } = await import("./run-RHE5NPDT.js");
2584
+ const { RunCommand } = await import("./run-VOGGJGPO.js");
2585
2585
  const cmd = new RunCommand();
2586
2586
  const input = identifier ? { identifier, args, env } : { args, env };
2587
2587
  await cmd.execute(input);
@@ -2601,7 +2601,7 @@ program.command("vscode").description("Install iloom VS Code extension and open
2601
2601
  });
2602
2602
  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").option("-e, --env <KEY=VALUE>", "Environment variable for the dev server (repeatable)", collectKeyValue, {}).action(async (identifier, options) => {
2603
2603
  try {
2604
- const { DevServerCommand } = await import("./dev-server-OZ6KKKTR.js");
2604
+ const { DevServerCommand } = await import("./dev-server-U2XUN57X.js");
2605
2605
  const cmd = new DevServerCommand();
2606
2606
  const env = (options == null ? void 0 : options.env) && Object.keys(options.env).length > 0 ? options.env : void 0;
2607
2607
  await cmd.execute({ identifier, json: options == null ? void 0 : options.json, env });
@@ -2676,7 +2676,7 @@ program.command("install-deps").description("Install dependencies for a workspac
2676
2676
  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", parseIssueIdentifier).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("--archive", "Archive metadata instead of deleting (preserves loom in il list --finished)").option("--defer <ms>", "Wait specified milliseconds before cleanup", parseInt).action(async (identifier, options) => {
2677
2677
  const executeAction = async () => {
2678
2678
  try {
2679
- const { CleanupCommand } = await import("./cleanup-I62RA5TZ.js");
2679
+ const { CleanupCommand } = await import("./cleanup-W5FP3UKK.js");
2680
2680
  const command = new CleanupCommand();
2681
2681
  const input = {
2682
2682
  options: options ?? {}
@@ -2840,6 +2840,16 @@ program.command("list").description("Show active workspaces").option("--json", "
2840
2840
  status: "active",
2841
2841
  finishedAt: null
2842
2842
  }));
2843
+ const capabilityDetector = new ProjectCapabilityDetector();
2844
+ for (const loom of activeJson) {
2845
+ if ((!loom.capabilities || loom.capabilities.length === 0) && loom.worktreePath) {
2846
+ try {
2847
+ const { capabilities } = await capabilityDetector.detectCapabilities(loom.worktreePath);
2848
+ loom.capabilities = capabilities;
2849
+ } catch {
2850
+ }
2851
+ }
2852
+ }
2843
2853
  }
2844
2854
  }
2845
2855
  if (currentProjectPath && !options.global) {
@@ -3074,7 +3084,7 @@ program.command("plan").description("Launch interactive planning session with Ar
3074
3084
  new Option("--output-format <format>", "Output format for Claude CLI (requires --print)").choices(["json", "stream-json", "text"])
3075
3085
  ).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)").option("--auto-swarm", "Enable auto-swarm: plan, start epic, and spin automatically").action(async (prompt, options) => {
3076
3086
  try {
3077
- const { PlanCommand } = await import("./plan-NJVQBBT3.js");
3087
+ const { PlanCommand } = await import("./plan-UPYDB34J.js");
3078
3088
  const command = new PlanCommand();
3079
3089
  if ((options == null ? void 0 : options.json) && (options == null ? void 0 : options.jsonStream)) {
3080
3090
  logger.error("--json and --json-stream are mutually exclusive");