@iloom/cli 0.5.4 → 0.5.5

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.
Files changed (69) hide show
  1. package/README.md +41 -0
  2. package/dist/{ClaudeContextManager-PQ46VILL.js → ClaudeContextManager-7WX7DUNI.js} +4 -4
  3. package/dist/{ClaudeService-6OMO552H.js → ClaudeService-LQLN2GP4.js} +3 -3
  4. package/dist/{LoomLauncher-ZHDTPKED.js → LoomLauncher-5QU42LOM.js} +4 -4
  5. package/dist/README.md +41 -0
  6. package/dist/{SettingsManager-CNYBGXDT.js → SettingsManager-35F5RUJH.js} +2 -2
  7. package/dist/{chunk-NRDY6XO3.js → chunk-46JVEGUW.js} +65 -9
  8. package/dist/chunk-46JVEGUW.js.map +1 -0
  9. package/dist/{chunk-ESP2FF52.js → chunk-EK3XCAAS.js} +2 -2
  10. package/dist/{chunk-IDUICCZY.js → chunk-F6WVM437.js} +3 -1
  11. package/dist/chunk-F6WVM437.js.map +1 -0
  12. package/dist/{chunk-FXJKNVZW.js → chunk-FO2H3YXI.js} +2 -2
  13. package/dist/{chunk-TKL7RBEF.js → chunk-GEXP5IOF.js} +3 -3
  14. package/dist/{chunk-J7GHNTYK.js → chunk-SJIMVKK7.js} +2 -2
  15. package/dist/{chunk-YPOG7WY4.js → chunk-UQIXZ3BA.js} +2 -2
  16. package/dist/{chunk-QPS6TZUW.js → chunk-VXMY22TP.js} +2 -2
  17. package/dist/{chunk-E4F7KASE.js → chunk-WIJWIKAN.js} +3 -3
  18. package/dist/{chunk-ZXWTOJXA.js → chunk-WZHBRKLN.js} +3 -3
  19. package/dist/{cleanup-H5QUWBWE.js → cleanup-WTZZ74VS.js} +8 -8
  20. package/dist/cli.js +29 -29
  21. package/dist/{contribute-VP73TPAL.js → contribute-T7ENST5N.js} +3 -3
  22. package/dist/{dev-server-H5FFXIVX.js → dev-server-S5QG5SBZ.js} +5 -5
  23. package/dist/{feedback-567ZH2O7.js → feedback-PDMCKYOT.js} +2 -2
  24. package/dist/{git-UHUNQZBA.js → git-FVMGBHC2.js} +3 -3
  25. package/dist/{ignite-VPP4PMF4.js → ignite-YF4Q5RA7.js} +4 -4
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.js +2 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/{init-4ZR2XXZA.js → init-XQQGC6DN.js} +5 -5
  30. package/dist/{open-6HBQHPUL.js → open-AIZG5756.js} +5 -5
  31. package/dist/prompts/init-prompt.txt +8 -0
  32. package/dist/{rebase-SRBOVC4M.js → rebase-5EY3Q6XP.js} +5 -5
  33. package/dist/{recap-X7FTTKPP.js → recap-VOOUXOGP.js} +5 -5
  34. package/dist/{run-5FU76FFE.js → run-CMZUYZVG.js} +5 -5
  35. package/dist/schema/settings.schema.json +8 -0
  36. package/dist/{shell-UQJDI36V.js → shell-SBLXVOVJ.js} +5 -5
  37. package/dist/{summary-MOKN7RM2.js → summary-5YXUGPRN.js} +5 -5
  38. package/dist/{test-git-GB3B6QNT.js → test-git-ZB6AGGRW.js} +3 -3
  39. package/dist/{test-prefix-YQNNTCY3.js → test-prefix-FBGXKMPA.js} +3 -3
  40. package/package.json +2 -1
  41. package/dist/chunk-IDUICCZY.js.map +0 -1
  42. package/dist/chunk-NRDY6XO3.js.map +0 -1
  43. /package/dist/{ClaudeContextManager-PQ46VILL.js.map → ClaudeContextManager-7WX7DUNI.js.map} +0 -0
  44. /package/dist/{ClaudeService-6OMO552H.js.map → ClaudeService-LQLN2GP4.js.map} +0 -0
  45. /package/dist/{LoomLauncher-ZHDTPKED.js.map → LoomLauncher-5QU42LOM.js.map} +0 -0
  46. /package/dist/{SettingsManager-CNYBGXDT.js.map → SettingsManager-35F5RUJH.js.map} +0 -0
  47. /package/dist/{chunk-ESP2FF52.js.map → chunk-EK3XCAAS.js.map} +0 -0
  48. /package/dist/{chunk-FXJKNVZW.js.map → chunk-FO2H3YXI.js.map} +0 -0
  49. /package/dist/{chunk-TKL7RBEF.js.map → chunk-GEXP5IOF.js.map} +0 -0
  50. /package/dist/{chunk-J7GHNTYK.js.map → chunk-SJIMVKK7.js.map} +0 -0
  51. /package/dist/{chunk-YPOG7WY4.js.map → chunk-UQIXZ3BA.js.map} +0 -0
  52. /package/dist/{chunk-QPS6TZUW.js.map → chunk-VXMY22TP.js.map} +0 -0
  53. /package/dist/{chunk-E4F7KASE.js.map → chunk-WIJWIKAN.js.map} +0 -0
  54. /package/dist/{chunk-ZXWTOJXA.js.map → chunk-WZHBRKLN.js.map} +0 -0
  55. /package/dist/{cleanup-H5QUWBWE.js.map → cleanup-WTZZ74VS.js.map} +0 -0
  56. /package/dist/{contribute-VP73TPAL.js.map → contribute-T7ENST5N.js.map} +0 -0
  57. /package/dist/{dev-server-H5FFXIVX.js.map → dev-server-S5QG5SBZ.js.map} +0 -0
  58. /package/dist/{feedback-567ZH2O7.js.map → feedback-PDMCKYOT.js.map} +0 -0
  59. /package/dist/{git-UHUNQZBA.js.map → git-FVMGBHC2.js.map} +0 -0
  60. /package/dist/{ignite-VPP4PMF4.js.map → ignite-YF4Q5RA7.js.map} +0 -0
  61. /package/dist/{init-4ZR2XXZA.js.map → init-XQQGC6DN.js.map} +0 -0
  62. /package/dist/{open-6HBQHPUL.js.map → open-AIZG5756.js.map} +0 -0
  63. /package/dist/{rebase-SRBOVC4M.js.map → rebase-5EY3Q6XP.js.map} +0 -0
  64. /package/dist/{recap-X7FTTKPP.js.map → recap-VOOUXOGP.js.map} +0 -0
  65. /package/dist/{run-5FU76FFE.js.map → run-CMZUYZVG.js.map} +0 -0
  66. /package/dist/{shell-UQJDI36V.js.map → shell-SBLXVOVJ.js.map} +0 -0
  67. /package/dist/{summary-MOKN7RM2.js.map → summary-5YXUGPRN.js.map} +0 -0
  68. /package/dist/{test-git-GB3B6QNT.js.map → test-git-ZB6AGGRW.js.map} +0 -0
  69. /package/dist/{test-prefix-YQNNTCY3.js.map → test-prefix-FBGXKMPA.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SettingsManager
4
- } from "./chunk-IDUICCZY.js";
4
+ } from "./chunk-F6WVM437.js";
5
5
  import {
6
6
  MetadataManager
7
7
  } from "./chunk-CFUWQHCJ.js";
@@ -363,7 +363,7 @@ async function getDefaultBranch(path2 = process.cwd()) {
363
363
  }
364
364
  async function findAllBranchesForIssue(issueNumber, path2 = process.cwd(), settingsManager) {
365
365
  if (!settingsManager) {
366
- const { SettingsManager: SM } = await import("./SettingsManager-CNYBGXDT.js");
366
+ const { SettingsManager: SM } = await import("./SettingsManager-35F5RUJH.js");
367
367
  settingsManager = new SM();
368
368
  }
369
369
  const protectedBranches = await settingsManager.getProtectedBranches(path2);
@@ -708,4 +708,4 @@ export {
708
708
  removePlaceholderCommitFromHead,
709
709
  removePlaceholderCommitFromHistory
710
710
  };
711
- //# sourceMappingURL=chunk-TKL7RBEF.js.map
711
+ //# sourceMappingURL=chunk-GEXP5IOF.js.map
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-K5G5SFWY.js";
18
18
  import {
19
19
  SettingsManager
20
- } from "./chunk-IDUICCZY.js";
20
+ } from "./chunk-F6WVM437.js";
21
21
  import {
22
22
  MetadataManager
23
23
  } from "./chunk-CFUWQHCJ.js";
@@ -776,4 +776,4 @@ var SessionSummaryService = class {
776
776
  export {
777
777
  SessionSummaryService
778
778
  };
779
- //# sourceMappingURL=chunk-J7GHNTYK.js.map
779
+ //# sourceMappingURL=chunk-SJIMVKK7.js.map
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  extractIssueNumber,
4
4
  extractPRNumber
5
- } from "./chunk-TKL7RBEF.js";
5
+ } from "./chunk-GEXP5IOF.js";
6
6
 
7
7
  // src/utils/IdentifierParser.ts
8
8
  var IdentifierParser = class {
@@ -85,4 +85,4 @@ var IdentifierParser = class {
85
85
  export {
86
86
  IdentifierParser
87
87
  };
88
- //# sourceMappingURL=chunk-YPOG7WY4.js.map
88
+ //# sourceMappingURL=chunk-UQIXZ3BA.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ClaudeService
4
- } from "./chunk-FXJKNVZW.js";
4
+ } from "./chunk-FO2H3YXI.js";
5
5
  import {
6
6
  logger
7
7
  } from "./chunk-VT4PDUYT.js";
@@ -63,4 +63,4 @@ var ClaudeContextManager = class {
63
63
  export {
64
64
  ClaudeContextManager
65
65
  };
66
- //# sourceMappingURL=chunk-QPS6TZUW.js.map
66
+ //# sourceMappingURL=chunk-VXMY22TP.js.map
@@ -4,10 +4,10 @@ import {
4
4
  findMainWorktreePathWithSettings,
5
5
  findWorktreeForBranch,
6
6
  getMergeTargetBranch
7
- } from "./chunk-TKL7RBEF.js";
7
+ } from "./chunk-GEXP5IOF.js";
8
8
  import {
9
9
  SettingsManager
10
- } from "./chunk-IDUICCZY.js";
10
+ } from "./chunk-F6WVM437.js";
11
11
  import {
12
12
  MetadataManager
13
13
  } from "./chunk-CFUWQHCJ.js";
@@ -369,4 +369,4 @@ To recover:
369
369
  export {
370
370
  MergeManager
371
371
  };
372
- //# sourceMappingURL=chunk-E4F7KASE.js.map
372
+ //# sourceMappingURL=chunk-WIJWIKAN.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-F2PWIRV4.js";
8
8
  import {
9
9
  GitWorktreeManager
10
- } from "./chunk-ESP2FF52.js";
10
+ } from "./chunk-EK3XCAAS.js";
11
11
  import {
12
12
  parseGitRemotes
13
13
  } from "./chunk-FXDYIV3K.js";
@@ -17,7 +17,7 @@ import {
17
17
  import {
18
18
  getRepoRoot,
19
19
  isFileGitignored
20
- } from "./chunk-TKL7RBEF.js";
20
+ } from "./chunk-GEXP5IOF.js";
21
21
  import {
22
22
  detectClaudeCli,
23
23
  launchClaude
@@ -718,4 +718,4 @@ export {
718
718
  ShellCompletion,
719
719
  InitCommand
720
720
  };
721
- //# sourceMappingURL=chunk-ZXWTOJXA.js.map
721
+ //# sourceMappingURL=chunk-WZHBRKLN.js.map
@@ -5,25 +5,25 @@ import {
5
5
  EnvironmentManager,
6
6
  LoomManager,
7
7
  ResourceCleanup
8
- } from "./chunk-NRDY6XO3.js";
8
+ } from "./chunk-46JVEGUW.js";
9
9
  import "./chunk-LVLRMP7V.js";
10
10
  import {
11
11
  ProcessManager
12
12
  } from "./chunk-VU3QMIP2.js";
13
13
  import {
14
14
  IdentifierParser
15
- } from "./chunk-YPOG7WY4.js";
15
+ } from "./chunk-UQIXZ3BA.js";
16
16
  import {
17
17
  createNeonProviderFromSettings
18
18
  } from "./chunk-7LSSNB7Y.js";
19
19
  import "./chunk-2ZPFJQ3B.js";
20
20
  import {
21
21
  GitWorktreeManager
22
- } from "./chunk-ESP2FF52.js";
23
- import "./chunk-TKL7RBEF.js";
22
+ } from "./chunk-EK3XCAAS.js";
23
+ import "./chunk-GEXP5IOF.js";
24
24
  import {
25
25
  SettingsManager
26
- } from "./chunk-IDUICCZY.js";
26
+ } from "./chunk-F6WVM437.js";
27
27
  import "./chunk-CFUWQHCJ.js";
28
28
  import {
29
29
  promptConfirmation
@@ -76,7 +76,7 @@ var CleanupCommand = class {
76
76
  );
77
77
  if (!this.loomManager) {
78
78
  const { GitHubService } = await import("./GitHubService-S2OGUTDR.js");
79
- const { ClaudeContextManager } = await import("./ClaudeContextManager-PQ46VILL.js");
79
+ const { ClaudeContextManager } = await import("./ClaudeContextManager-7WX7DUNI.js");
80
80
  const { ProjectCapabilityDetector } = await import("./ProjectCapabilityDetector-34LU7JJ4.js");
81
81
  const { DefaultBranchNamingService } = await import("./BranchNamingService-B5PVRR7F.js");
82
82
  this.loomManager = new LoomManager(
@@ -278,7 +278,7 @@ var CleanupCommand = class {
278
278
  const { force, dryRun } = parsed.options;
279
279
  let parsedInput = await this.identifierParser.parseForPatternDetection(identifier);
280
280
  if (parsedInput.type === "branch" && parsedInput.branchName) {
281
- const { extractIssueNumber } = await import("./git-UHUNQZBA.js");
281
+ const { extractIssueNumber } = await import("./git-FVMGBHC2.js");
282
282
  const extractedNumber = extractIssueNumber(parsedInput.branchName);
283
283
  if (extractedNumber !== null) {
284
284
  parsedInput = {
@@ -477,4 +477,4 @@ var CleanupCommand = class {
477
477
  export {
478
478
  CleanupCommand
479
479
  };
480
- //# sourceMappingURL=cleanup-H5QUWBWE.js.map
480
+ //# sourceMappingURL=cleanup-WTZZ74VS.js.map
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SessionSummaryService
4
- } from "./chunk-J7GHNTYK.js";
4
+ } from "./chunk-SJIMVKK7.js";
5
5
  import "./chunk-NXMDEL3F.js";
6
6
  import {
7
7
  IssueTrackerFactory,
@@ -14,7 +14,7 @@ import {
14
14
  EnvironmentManager,
15
15
  LoomManager,
16
16
  ResourceCleanup
17
- } from "./chunk-NRDY6XO3.js";
17
+ } from "./chunk-46JVEGUW.js";
18
18
  import {
19
19
  detectPackageManager,
20
20
  installDependencies,
@@ -25,14 +25,14 @@ import {
25
25
  } from "./chunk-VU3QMIP2.js";
26
26
  import {
27
27
  IdentifierParser
28
- } from "./chunk-YPOG7WY4.js";
28
+ } from "./chunk-UQIXZ3BA.js";
29
29
  import {
30
30
  createNeonProviderFromSettings
31
31
  } from "./chunk-7LSSNB7Y.js";
32
32
  import {
33
33
  InitCommand,
34
34
  ShellCompletion
35
- } from "./chunk-ZXWTOJXA.js";
35
+ } from "./chunk-WZHBRKLN.js";
36
36
  import {
37
37
  FirstRunManager
38
38
  } from "./chunk-NKRQNER7.js";
@@ -53,10 +53,10 @@ import {
53
53
  } from "./chunk-2ZPFJQ3B.js";
54
54
  import {
55
55
  MergeManager
56
- } from "./chunk-E4F7KASE.js";
56
+ } from "./chunk-WIJWIKAN.js";
57
57
  import {
58
58
  GitWorktreeManager
59
- } from "./chunk-ESP2FF52.js";
59
+ } from "./chunk-EK3XCAAS.js";
60
60
  import {
61
61
  PRManager
62
62
  } from "./chunk-5IWU3HXE.js";
@@ -74,8 +74,8 @@ import {
74
74
  } from "./chunk-O7VL5N6S.js";
75
75
  import {
76
76
  ClaudeContextManager
77
- } from "./chunk-QPS6TZUW.js";
78
- import "./chunk-FXJKNVZW.js";
77
+ } from "./chunk-VXMY22TP.js";
78
+ import "./chunk-FO2H3YXI.js";
79
79
  import "./chunk-K5G5SFWY.js";
80
80
  import {
81
81
  extractSettingsOverrides
@@ -94,10 +94,10 @@ import {
94
94
  pushBranchToRemote,
95
95
  removePlaceholderCommitFromHead,
96
96
  removePlaceholderCommitFromHistory
97
- } from "./chunk-TKL7RBEF.js";
97
+ } from "./chunk-GEXP5IOF.js";
98
98
  import {
99
99
  SettingsManager
100
- } from "./chunk-IDUICCZY.js";
100
+ } from "./chunk-F6WVM437.js";
101
101
  import {
102
102
  MetadataManager
103
103
  } from "./chunk-CFUWQHCJ.js";
@@ -2999,14 +2999,14 @@ async function autoLaunchInitForMultipleRemotes() {
2999
2999
  await waitForKeypress2("Press any key to start configuration...");
3000
3000
  logger.info("");
3001
3001
  try {
3002
- const { InitCommand: InitCommand2 } = await import("./init-4ZR2XXZA.js");
3002
+ const { InitCommand: InitCommand2 } = await import("./init-XQQGC6DN.js");
3003
3003
  const initCommand = new InitCommand2();
3004
3004
  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.";
3005
3005
  await initCommand.execute(customInitialMessage);
3006
3006
  logger.info("");
3007
3007
  logger.info("Configuration complete! Continuing with your original command...");
3008
3008
  logger.info("");
3009
- const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-CNYBGXDT.js");
3009
+ const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-35F5RUJH.js");
3010
3010
  const settingsManager = new SettingsManager2();
3011
3011
  const settings = await settingsManager.loadSettings();
3012
3012
  const { hasMultipleRemotes: hasMultipleRemotes2 } = await import("./remote-IJAMOEAP.js");
@@ -3100,7 +3100,7 @@ program.command("add-issue").alias("a").description("Create and enhance GitHub i
3100
3100
  });
3101
3101
  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) => {
3102
3102
  try {
3103
- const { FeedbackCommand } = await import("./feedback-567ZH2O7.js");
3103
+ const { FeedbackCommand } = await import("./feedback-PDMCKYOT.js");
3104
3104
  const command = new FeedbackCommand();
3105
3105
  const feedbackOptions = {};
3106
3106
  if (options.body !== void 0) {
@@ -3183,7 +3183,7 @@ program.command("finish").alias("dn").description("Merge work and cleanup worksp
3183
3183
  });
3184
3184
  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) => {
3185
3185
  try {
3186
- const { RebaseCommand } = await import("./rebase-SRBOVC4M.js");
3186
+ const { RebaseCommand } = await import("./rebase-5EY3Q6XP.js");
3187
3187
  const command = new RebaseCommand();
3188
3188
  await command.execute(options);
3189
3189
  } catch (error) {
@@ -3195,7 +3195,7 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
3195
3195
  new Option("--one-shot <mode>", "One-shot automation mode").choices(["default", "noReview", "bypassPermissions"]).default("default")
3196
3196
  ).action(async (options) => {
3197
3197
  try {
3198
- const { IgniteCommand } = await import("./ignite-VPP4PMF4.js");
3198
+ const { IgniteCommand } = await import("./ignite-YF4Q5RA7.js");
3199
3199
  const command = new IgniteCommand();
3200
3200
  await command.execute(options.oneShot ?? "default");
3201
3201
  } catch (error) {
@@ -3206,7 +3206,7 @@ program.command("spin").alias("ignite").description("Launch Claude with auto-det
3206
3206
  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) => {
3207
3207
  try {
3208
3208
  const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
3209
- const { OpenCommand } = await import("./open-6HBQHPUL.js");
3209
+ const { OpenCommand } = await import("./open-AIZG5756.js");
3210
3210
  const cmd = new OpenCommand();
3211
3211
  const input = identifier ? { identifier, args } : { args };
3212
3212
  await cmd.execute(input);
@@ -3218,7 +3218,7 @@ program.command("open").description("Open workspace in browser or run CLI tool")
3218
3218
  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) => {
3219
3219
  try {
3220
3220
  const args = (command == null ? void 0 : command.args) ? command.args.slice(identifier ? 1 : 0) : [];
3221
- const { RunCommand } = await import("./run-5FU76FFE.js");
3221
+ const { RunCommand } = await import("./run-CMZUYZVG.js");
3222
3222
  const cmd = new RunCommand();
3223
3223
  const input = identifier ? { identifier, args } : { args };
3224
3224
  await cmd.execute(input);
@@ -3229,7 +3229,7 @@ program.command("run").description("Run CLI tool or open workspace in browser").
3229
3229
  });
3230
3230
  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) => {
3231
3231
  try {
3232
- const { DevServerCommand } = await import("./dev-server-H5FFXIVX.js");
3232
+ const { DevServerCommand } = await import("./dev-server-S5QG5SBZ.js");
3233
3233
  const cmd = new DevServerCommand();
3234
3234
  await cmd.execute({ identifier, json: options == null ? void 0 : options.json });
3235
3235
  } catch (error) {
@@ -3239,7 +3239,7 @@ program.command("dev-server").alias("dev").description("Start dev server for wor
3239
3239
  });
3240
3240
  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) => {
3241
3241
  try {
3242
- const { ShellCommand } = await import("./shell-UQJDI36V.js");
3242
+ const { ShellCommand } = await import("./shell-SBLXVOVJ.js");
3243
3243
  const cmd = new ShellCommand();
3244
3244
  await cmd.execute({ identifier });
3245
3245
  } catch (error) {
@@ -3250,7 +3250,7 @@ program.command("shell").alias("terminal").description("Open interactive shell w
3250
3250
  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").action(async (identifier, options) => {
3251
3251
  const executeAction = async () => {
3252
3252
  try {
3253
- const { CleanupCommand } = await import("./cleanup-H5QUWBWE.js");
3253
+ const { CleanupCommand } = await import("./cleanup-WTZZ74VS.js");
3254
3254
  const command = new CleanupCommand();
3255
3255
  const input = {
3256
3256
  options: options ?? {}
@@ -3339,7 +3339,7 @@ program.command("projects").description("List configured iloom projects").option
3339
3339
  });
3340
3340
  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) => {
3341
3341
  try {
3342
- const { InitCommand: InitCommand2 } = await import("./init-4ZR2XXZA.js");
3342
+ const { InitCommand: InitCommand2 } = await import("./init-XQQGC6DN.js");
3343
3343
  const command = new InitCommand2();
3344
3344
  const trimmedPrompt = prompt == null ? void 0 : prompt.trim();
3345
3345
  const customPrompt = trimmedPrompt && trimmedPrompt.length > 0 ? trimmedPrompt : void 0;
@@ -3351,7 +3351,7 @@ program.command("init").alias("config").description("Initialize iloom configurat
3351
3351
  });
3352
3352
  program.command("contribute").description("Set up local development environment for contributing to iloom").action(async () => {
3353
3353
  try {
3354
- const { ContributeCommand } = await import("./contribute-VP73TPAL.js");
3354
+ const { ContributeCommand } = await import("./contribute-T7ENST5N.js");
3355
3355
  const command = new ContributeCommand();
3356
3356
  await command.execute();
3357
3357
  } catch (error) {
@@ -3432,8 +3432,8 @@ program.command("test-claude").description("Test Claude integration (Issue #10)"
3432
3432
  try {
3433
3433
  const { detectClaudeCli: detectClaudeCli2, getClaudeVersion, generateBranchName, launchClaude: launchClaude2 } = await import("./claude-H33OQMXO.js");
3434
3434
  const { PromptTemplateManager } = await import("./PromptTemplateManager-5GNF7FCP.js");
3435
- const { ClaudeService } = await import("./ClaudeService-6OMO552H.js");
3436
- const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-PQ46VILL.js");
3435
+ const { ClaudeService } = await import("./ClaudeService-LQLN2GP4.js");
3436
+ const { ClaudeContextManager: ClaudeContextManager2 } = await import("./ClaudeContextManager-7WX7DUNI.js");
3437
3437
  logger.info("Testing Claude Integration\n");
3438
3438
  if (options.detect) {
3439
3439
  logger.info("Detecting Claude CLI...");
@@ -3581,7 +3581,7 @@ program.command("test-webserver").description("Test if a web server is running o
3581
3581
  });
3582
3582
  program.command("test-git").description("Test Git integration - findMainWorktreePath() function (reads .iloom/settings.json)").action(async () => {
3583
3583
  try {
3584
- const { TestGitCommand } = await import("./test-git-GB3B6QNT.js");
3584
+ const { TestGitCommand } = await import("./test-git-ZB6AGGRW.js");
3585
3585
  const command = new TestGitCommand();
3586
3586
  await command.execute();
3587
3587
  } catch (error) {
@@ -3607,7 +3607,7 @@ program.command("test-tabs").description("Test iTerm2 dual tab functionality - o
3607
3607
  });
3608
3608
  program.command("test-prefix").description("Test worktree prefix configuration - preview worktree paths (reads .iloom/settings.json)").action(async () => {
3609
3609
  try {
3610
- const { TestPrefixCommand } = await import("./test-prefix-YQNNTCY3.js");
3610
+ const { TestPrefixCommand } = await import("./test-prefix-FBGXKMPA.js");
3611
3611
  const command = new TestPrefixCommand();
3612
3612
  await command.execute();
3613
3613
  } catch (error) {
@@ -3621,7 +3621,7 @@ program.command("test-prefix").description("Test worktree prefix configuration -
3621
3621
  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) => {
3622
3622
  const executeAction = async () => {
3623
3623
  try {
3624
- const { SummaryCommand } = await import("./summary-MOKN7RM2.js");
3624
+ const { SummaryCommand } = await import("./summary-5YXUGPRN.js");
3625
3625
  const command = new SummaryCommand();
3626
3626
  const result = await command.execute({ identifier, options });
3627
3627
  if (options.json && result) {
@@ -3650,7 +3650,7 @@ program.command("summary").description("Generate Claude session summary for a lo
3650
3650
  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) => {
3651
3651
  const executeAction = async () => {
3652
3652
  try {
3653
- const { RecapCommand } = await import("./recap-X7FTTKPP.js");
3653
+ const { RecapCommand } = await import("./recap-VOOUXOGP.js");
3654
3654
  const command = new RecapCommand();
3655
3655
  const result = await command.execute({ identifier, json: options.json });
3656
3656
  if (options.json && result) {
@@ -3679,7 +3679,7 @@ program.command("recap").description("Get recap for a loom (defaults to current
3679
3679
  program.command("test-neon").description("Test Neon integration and debug configuration").action(async () => {
3680
3680
  var _a;
3681
3681
  try {
3682
- const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-CNYBGXDT.js");
3682
+ const { SettingsManager: SettingsManager2 } = await import("./SettingsManager-35F5RUJH.js");
3683
3683
  const { createNeonProviderFromSettings: createNeonProviderFromSettings2 } = await import("./neon-helpers-3KBC4A3Y.js");
3684
3684
  logger.info("Testing Neon Integration\n");
3685
3685
  logger.info("1. Settings Configuration:");
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  executeGitCommand
4
- } from "./chunk-TKL7RBEF.js";
5
- import "./chunk-IDUICCZY.js";
4
+ } from "./chunk-GEXP5IOF.js";
5
+ import "./chunk-F6WVM437.js";
6
6
  import "./chunk-CFUWQHCJ.js";
7
7
  import {
8
8
  checkGhAuth,
@@ -259,4 +259,4 @@ export {
259
259
  validateDirectoryName,
260
260
  validateDirectoryPath
261
261
  };
262
- //# sourceMappingURL=contribute-VP73TPAL.js.map
262
+ //# sourceMappingURL=contribute-T7ENST5N.js.map
@@ -8,23 +8,23 @@ import {
8
8
  } from "./chunk-VU3QMIP2.js";
9
9
  import {
10
10
  IdentifierParser
11
- } from "./chunk-YPOG7WY4.js";
11
+ } from "./chunk-UQIXZ3BA.js";
12
12
  import {
13
13
  ProjectCapabilityDetector
14
14
  } from "./chunk-EBISESAP.js";
15
15
  import "./chunk-2ZPFJQ3B.js";
16
16
  import {
17
17
  GitWorktreeManager
18
- } from "./chunk-ESP2FF52.js";
18
+ } from "./chunk-EK3XCAAS.js";
19
19
  import {
20
20
  extractSettingsOverrides
21
21
  } from "./chunk-GYCR2LOU.js";
22
22
  import {
23
23
  extractIssueNumber
24
- } from "./chunk-TKL7RBEF.js";
24
+ } from "./chunk-GEXP5IOF.js";
25
25
  import {
26
26
  SettingsManager
27
- } from "./chunk-IDUICCZY.js";
27
+ } from "./chunk-F6WVM437.js";
28
28
  import "./chunk-CFUWQHCJ.js";
29
29
  import "./chunk-6MLEBAYZ.js";
30
30
  import {
@@ -307,4 +307,4 @@ var DevServerCommand = class {
307
307
  export {
308
308
  DevServerCommand
309
309
  };
310
- //# sourceMappingURL=dev-server-H5FFXIVX.js.map
310
+ //# sourceMappingURL=dev-server-S5QG5SBZ.js.map
@@ -14,7 +14,7 @@ import "./chunk-YETJNRQM.js";
14
14
  import "./chunk-K5G5SFWY.js";
15
15
  import {
16
16
  SettingsManager
17
- } from "./chunk-IDUICCZY.js";
17
+ } from "./chunk-F6WVM437.js";
18
18
  import {
19
19
  GitHubService
20
20
  } from "./chunk-3PT7RKL5.js";
@@ -164,4 +164,4 @@ ${userBody}`;
164
164
  export {
165
165
  FeedbackCommand
166
166
  };
167
- //# sourceMappingURL=feedback-567ZH2O7.js.map
167
+ //# sourceMappingURL=feedback-PDMCKYOT.js.map
@@ -32,8 +32,8 @@ import {
32
32
  pushBranchToRemote,
33
33
  removePlaceholderCommitFromHead,
34
34
  removePlaceholderCommitFromHistory
35
- } from "./chunk-TKL7RBEF.js";
36
- import "./chunk-IDUICCZY.js";
35
+ } from "./chunk-GEXP5IOF.js";
36
+ import "./chunk-F6WVM437.js";
37
37
  import "./chunk-CFUWQHCJ.js";
38
38
  import "./chunk-6MLEBAYZ.js";
39
39
  import "./chunk-VT4PDUYT.js";
@@ -71,4 +71,4 @@ export {
71
71
  removePlaceholderCommitFromHead,
72
72
  removePlaceholderCommitFromHistory
73
73
  };
74
- //# sourceMappingURL=git-UHUNQZBA.js.map
74
+ //# sourceMappingURL=git-FVMGBHC2.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-N4ZJVATC.js";
14
14
  import {
15
15
  GitWorktreeManager
16
- } from "./chunk-ESP2FF52.js";
16
+ } from "./chunk-EK3XCAAS.js";
17
17
  import {
18
18
  PromptTemplateManager
19
19
  } from "./chunk-K5G5SFWY.js";
@@ -22,10 +22,10 @@ import {
22
22
  } from "./chunk-GYCR2LOU.js";
23
23
  import {
24
24
  extractIssueNumber
25
- } from "./chunk-TKL7RBEF.js";
25
+ } from "./chunk-GEXP5IOF.js";
26
26
  import {
27
27
  SettingsManager
28
- } from "./chunk-IDUICCZY.js";
28
+ } from "./chunk-F6WVM437.js";
29
29
  import {
30
30
  MetadataManager
31
31
  } from "./chunk-CFUWQHCJ.js";
@@ -667,4 +667,4 @@ var IgniteCommand = class {
667
667
  export {
668
668
  IgniteCommand
669
669
  };
670
- //# sourceMappingURL=ignite-VPP4PMF4.js.map
670
+ //# sourceMappingURL=ignite-YF4Q5RA7.js.map
package/dist/index.d.ts CHANGED
@@ -131,6 +131,7 @@ declare const IloomSettingsSchema: z.ZodObject<{
131
131
  sourceEnvOnStart: z.ZodDefault<z.ZodBoolean>;
132
132
  worktreePrefix: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
133
133
  protectedBranches: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
134
+ copyGitIgnoredPatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
134
135
  workflows: z.ZodOptional<z.ZodObject<{
135
136
  issue: z.ZodOptional<z.ZodObject<{
136
137
  permissionMode: z.ZodOptional<z.ZodEnum<["plan", "acceptEdits", "bypassPermissions", "default"]>>;
@@ -414,6 +415,7 @@ declare const IloomSettingsSchema: z.ZodObject<{
414
415
  mainBranch?: string | undefined;
415
416
  worktreePrefix?: string | undefined;
416
417
  protectedBranches?: string[] | undefined;
418
+ copyGitIgnoredPatterns?: string[] | undefined;
417
419
  workflows?: {
418
420
  issue?: {
419
421
  startIde: boolean;
@@ -493,6 +495,7 @@ declare const IloomSettingsSchema: z.ZodObject<{
493
495
  sourceEnvOnStart?: boolean | undefined;
494
496
  worktreePrefix?: string | undefined;
495
497
  protectedBranches?: string[] | undefined;
498
+ copyGitIgnoredPatterns?: string[] | undefined;
496
499
  workflows?: {
497
500
  issue?: {
498
501
  permissionMode?: "default" | "bypassPermissions" | "plan" | "acceptEdits" | undefined;
package/dist/index.js CHANGED
@@ -589,6 +589,7 @@ var init_SettingsManager = __esm({
589
589
  "Prefix for worktree directories. Empty string disables prefix. Defaults to <repo-name>-looms if not set."
590
590
  ),
591
591
  protectedBranches: z.array(z.string().min(1, "Protected branch name cannot be empty")).optional().describe('List of branches that cannot be deleted (defaults to [mainBranch, "main", "master", "develop"])'),
592
+ copyGitIgnoredPatterns: z.array(z.string().min(1, "Pattern cannot be empty")).optional().describe(`Glob patterns for gitignored files to copy to looms (e.g., ["*.db", "data/*.sqlite"]). Great for local dbs and large test data files that are too big to commit to git. Note: .env (dotenv-flow) files, iloom's and claude's local settings are automatically copied and do not need to be specified here.`),
592
593
  workflows: WorkflowsSettingsSchema.describe("Per-workflow-type permission configurations"),
593
594
  agents: z.record(z.string(), AgentSettingsSchema).optional().nullable().describe(
594
595
  "Per-agent configuration overrides. Available agents: iloom-issue-analyzer (analyzes issues), iloom-issue-planner (creates implementation plans), iloom-issue-analyze-and-plan (combined analysis and planning), iloom-issue-complexity-evaluator (evaluates complexity), iloom-issue-enhancer (enhances issue descriptions), iloom-issue-implementer (implements code changes), iloom-issue-reviewer (reviews code changes against requirements)"
@@ -660,6 +661,7 @@ var init_SettingsManager = __esm({
660
661
  "Prefix for worktree directories. Empty string disables prefix. Defaults to <repo-name>-looms if not set."
661
662
  ),
662
663
  protectedBranches: z.array(z.string().min(1, "Protected branch name cannot be empty")).optional().describe('List of branches that cannot be deleted (defaults to [mainBranch, "main", "master", "develop"])'),
664
+ copyGitIgnoredPatterns: z.array(z.string().min(1, "Pattern cannot be empty")).optional().describe(`Glob patterns for gitignored files to copy to looms (e.g., ["*.db", "data/*.sqlite"]). Great for local dbs and large test data files that are too big to commit to git. Note: .env (dotenv-flow) files, iloom's and claude's local settings are automatically copied and do not need to be specified here.`),
663
665
  workflows: WorkflowsSettingsSchemaNoDefaults.describe("Per-workflow-type permission configurations"),
664
666
  agents: z.record(z.string(), AgentSettingsSchema).optional().nullable().describe(
665
667
  "Per-agent configuration overrides. Available agents: iloom-issue-analyzer (analyzes issues), iloom-issue-planner (creates implementation plans), iloom-issue-analyze-and-plan (combined analysis and planning), iloom-issue-complexity-evaluator (evaluates complexity), iloom-issue-enhancer (enhances issue descriptions), iloom-issue-implementer (implements code changes), iloom-issue-reviewer (reviews code changes against requirements)"