@iloom/cli 0.8.3 → 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.
Files changed (180) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +50 -4
  3. package/dist/{BranchNamingService-AO7BPIUJ.js → BranchNamingService-K6XNWQ6C.js} +2 -2
  4. package/dist/ClaudeContextManager-X2Y72GRL.js +14 -0
  5. package/dist/ClaudeService-7P32TTES.js +13 -0
  6. package/dist/{GitHubService-ACZVNTJE.js → GitHubService-O7T6CFAJ.js} +3 -3
  7. package/dist/{LoomLauncher-NHZMEVTQ.js → LoomLauncher-3I47SUPV.js} +6 -6
  8. package/dist/{ProjectCapabilityDetector-IA56AUE6.js → ProjectCapabilityDetector-N5L7T4IY.js} +3 -3
  9. package/dist/PromptTemplateManager-36YLQRHP.js +11 -0
  10. package/dist/README.md +50 -4
  11. package/dist/{SettingsManager-VCVLL32H.js → SettingsManager-QR7V2IW2.js} +2 -2
  12. package/dist/agents/iloom-artifact-reviewer.md +280 -0
  13. package/dist/agents/iloom-code-reviewer.md +9 -7
  14. package/dist/agents/iloom-issue-analyze-and-plan.md +21 -6
  15. package/dist/agents/iloom-issue-analyzer.md +21 -6
  16. package/dist/agents/iloom-issue-complexity-evaluator.md +21 -6
  17. package/dist/agents/iloom-issue-enhancer.md +21 -6
  18. package/dist/agents/iloom-issue-implementer.md +21 -6
  19. package/dist/agents/iloom-issue-planner.md +21 -6
  20. package/dist/{build-Z3WCIKPD.js → build-IC4CJRMP.js} +8 -8
  21. package/dist/{chunk-TVH67KEO.js → chunk-2HZX6AMR.js} +2 -2
  22. package/dist/{chunk-VZYSM7N7.js → chunk-2JPXGGP4.js} +20 -15
  23. package/dist/chunk-2JPXGGP4.js.map +1 -0
  24. package/dist/{chunk-SC6X5EBG.js → chunk-3P6J4IZZ.js} +3 -3
  25. package/dist/{chunk-HSGZW3ID.js → chunk-4GAJJUYS.js} +3 -3
  26. package/dist/chunk-4GAJJUYS.js.map +1 -0
  27. package/dist/{chunk-RD7I2Q2F.js → chunk-4LKGCFGG.js} +2 -2
  28. package/dist/{chunk-GWONJE3X.js → chunk-4ZIHFUPN.js} +226 -62
  29. package/dist/chunk-4ZIHFUPN.js.map +1 -0
  30. package/dist/{chunk-SSASIBDJ.js → chunk-5LVVQGB3.js} +5 -5
  31. package/dist/{chunk-4BSXZ5YZ.js → chunk-B7U6OKUR.js} +5 -24
  32. package/dist/chunk-B7U6OKUR.js.map +1 -0
  33. package/dist/{chunk-RNBIISBZ.js → chunk-ENGCJIYQ.js} +48 -3
  34. package/dist/chunk-ENGCJIYQ.js.map +1 -0
  35. package/dist/{chunk-IGKPPACU.js → chunk-FO5GGFOV.js} +17 -8
  36. package/dist/chunk-FO5GGFOV.js.map +1 -0
  37. package/dist/{chunk-GDS2HXSW.js → chunk-H6ST2TGP.js} +20 -3
  38. package/dist/chunk-H6ST2TGP.js.map +1 -0
  39. package/dist/{chunk-A7XHHUEV.js → chunk-HZXBHMVM.js} +47 -22
  40. package/dist/chunk-HZXBHMVM.js.map +1 -0
  41. package/dist/{chunk-44Y5IF7P.js → chunk-I3HMNWQQ.js} +9 -8
  42. package/dist/chunk-I3HMNWQQ.js.map +1 -0
  43. package/dist/{chunk-XJHQVOT6.js → chunk-J7FJ6PUT.js} +2 -2
  44. package/dist/chunk-JT5LZRMI.js +302 -0
  45. package/dist/chunk-JT5LZRMI.js.map +1 -0
  46. package/dist/{chunk-Q457PKGH.js → chunk-KAYXR544.js} +2 -2
  47. package/dist/{chunk-XU5A6BWA.js → chunk-MZPRBNYC.js} +4 -4
  48. package/dist/{chunk-XHNACIHO.js → chunk-NTTSUAVM.js} +2 -2
  49. package/dist/{chunk-PLI3JQWT.js → chunk-OAVJR4PM.js} +2 -2
  50. package/dist/{chunk-UDZCTLD6.js → chunk-OK7LUTRW.js} +3 -3
  51. package/dist/{chunk-PBSHQVCT.js → chunk-POU2UMWN.js} +5 -5
  52. package/dist/chunk-QN47QVBX.js +131 -0
  53. package/dist/chunk-QN47QVBX.js.map +1 -0
  54. package/dist/{chunk-3FC3VNEX.js → chunk-RD7OPXZK.js} +34 -8
  55. package/dist/chunk-RD7OPXZK.js.map +1 -0
  56. package/dist/{chunk-O6LECMT6.js → chunk-TGRK3CHF.js} +8 -8
  57. package/dist/{chunk-7GLZVDPQ.js → chunk-TL72BGP6.js} +2 -2
  58. package/dist/{chunk-THS5L54H.js → chunk-TRUMP4DA.js} +26 -2
  59. package/dist/{chunk-THS5L54H.js.map → chunk-TRUMP4DA.js.map} +1 -1
  60. package/dist/{chunk-52MVUK5V.js → chunk-USSL2X4A.js} +2 -2
  61. package/dist/chunk-USSL2X4A.js.map +1 -0
  62. package/dist/{chunk-XPKN3QWY.js → chunk-VOGGLPG5.js} +1 -2
  63. package/dist/{chunk-IWIIOFEB.js → chunk-XFEK2X2D.js} +16 -6
  64. package/dist/chunk-XFEK2X2D.js.map +1 -0
  65. package/dist/{chunk-PVW6JE7E.js → chunk-Y5HSSIK2.js} +2 -2
  66. package/dist/{chunk-4KGRPHM6.js → chunk-Y5O2ALDZ.js} +3 -3
  67. package/dist/{claude-V4HRPR4Z.js → claude-TP2QO3BU.js} +2 -2
  68. package/dist/{cleanup-NWNKWPUY.js → cleanup-D3CSRBBZ.js} +23 -18
  69. package/dist/{cleanup-NWNKWPUY.js.map → cleanup-D3CSRBBZ.js.map} +1 -1
  70. package/dist/cli.js +143 -93
  71. package/dist/cli.js.map +1 -1
  72. package/dist/{commit-534QIRHY.js → commit-IWGT42XN.js} +13 -13
  73. package/dist/{compile-UANHMNTS.js → compile-EOWJORKO.js} +8 -8
  74. package/dist/{contribute-7USRBWRM.js → contribute-WSJTV2RX.js} +4 -4
  75. package/dist/{dev-server-TO7RLYJI.js → dev-server-Q6M62ATG.js} +13 -13
  76. package/dist/{feedback-7ZZI6RC5.js → feedback-QPNDZQRV.js} +14 -14
  77. package/dist/{git-GUNOPP4Q.js → git-W3XUIFTR.js} +5 -3
  78. package/dist/hooks/iloom-hook.js +5 -3
  79. package/dist/{ignite-JBX3BUDE.js → ignite-OPO6EDYT.js} +95 -52
  80. package/dist/ignite-OPO6EDYT.js.map +1 -0
  81. package/dist/index.d.ts +40 -2
  82. package/dist/index.js +52 -15
  83. package/dist/index.js.map +1 -1
  84. package/dist/{chunk-FPNSFP6K.js → init-ALYWKNWG.js} +42 -329
  85. package/dist/init-ALYWKNWG.js.map +1 -0
  86. package/dist/issues-L7TBUPXT.js +116 -0
  87. package/dist/issues-L7TBUPXT.js.map +1 -0
  88. package/dist/{lint-XPODLDVA.js → lint-IHUH45OC.js} +8 -8
  89. package/dist/mcp/issue-management-server.js +3 -2
  90. package/dist/mcp/issue-management-server.js.map +1 -1
  91. package/dist/{open-M2SUR74Y.js → open-KWOV2OFO.js} +15 -15
  92. package/dist/{plan-FB4AOJ2Q.js → plan-BRJBFJHF.js} +60 -28
  93. package/dist/plan-BRJBFJHF.js.map +1 -0
  94. package/dist/{projects-325GEEGJ.js → projects-LH362JZQ.js} +3 -3
  95. package/dist/prompts/init-prompt.txt +9 -1
  96. package/dist/prompts/issue-prompt.txt +310 -0
  97. package/dist/prompts/plan-prompt.txt +4 -6
  98. package/dist/prompts/pr-prompt.txt +79 -0
  99. package/dist/prompts/regular-prompt.txt +205 -0
  100. package/dist/{rebase-4FNRBW3H.js → rebase-AJOJOZUG.js} +9 -9
  101. package/dist/{recap-GSXFEOD6.js → recap-GKJXMDXW.js} +5 -5
  102. package/dist/{run-GZNHRJB2.js → run-QEUVZF7J.js} +15 -15
  103. package/dist/schema/settings.schema.json +9 -1
  104. package/dist/{shell-2SPM3Z5O.js → shell-DAAVG4YN.js} +5 -5
  105. package/dist/{summary-Z4F7YFXE.js → summary-ZKOA35PT.js} +13 -13
  106. package/dist/{test-LBSPYIJW.js → test-5GPWWO3P.js} +8 -8
  107. package/dist/{test-git-ZPSPA2TP.js → test-git-EJUKDB7F.js} +3 -3
  108. package/dist/{test-prefix-6DLB2BHE.js → test-prefix-23TOBUXY.js} +3 -3
  109. package/dist/{test-webserver-XLJ2TZFP.js → test-webserver-CKROHFBQ.js} +5 -5
  110. package/dist/{vscode-LH3VSQ2W.js → vscode-6TOLFCI2.js} +5 -5
  111. package/package.json +2 -2
  112. package/dist/ClaudeContextManager-RDP6CLK6.js +0 -14
  113. package/dist/ClaudeService-FKPOQRA4.js +0 -13
  114. package/dist/PRManager-A63LT3NF.js +0 -16
  115. package/dist/PromptTemplateManager-OUYDHOPI.js +0 -9
  116. package/dist/chunk-3FC3VNEX.js.map +0 -1
  117. package/dist/chunk-44Y5IF7P.js.map +0 -1
  118. package/dist/chunk-4BSXZ5YZ.js.map +0 -1
  119. package/dist/chunk-52MVUK5V.js.map +0 -1
  120. package/dist/chunk-66QOCD5N.js +0 -79
  121. package/dist/chunk-66QOCD5N.js.map +0 -1
  122. package/dist/chunk-A7XHHUEV.js.map +0 -1
  123. package/dist/chunk-FPNSFP6K.js.map +0 -1
  124. package/dist/chunk-GDS2HXSW.js.map +0 -1
  125. package/dist/chunk-GWONJE3X.js.map +0 -1
  126. package/dist/chunk-HSGZW3ID.js.map +0 -1
  127. package/dist/chunk-IGKPPACU.js.map +0 -1
  128. package/dist/chunk-IWIIOFEB.js.map +0 -1
  129. package/dist/chunk-RNBIISBZ.js.map +0 -1
  130. package/dist/chunk-VZYSM7N7.js.map +0 -1
  131. package/dist/git-GUNOPP4Q.js.map +0 -1
  132. package/dist/ignite-JBX3BUDE.js.map +0 -1
  133. package/dist/init-XXDIB2UJ.js +0 -21
  134. package/dist/init-XXDIB2UJ.js.map +0 -1
  135. package/dist/plan-FB4AOJ2Q.js.map +0 -1
  136. /package/dist/{BranchNamingService-AO7BPIUJ.js.map → BranchNamingService-K6XNWQ6C.js.map} +0 -0
  137. /package/dist/{ClaudeContextManager-RDP6CLK6.js.map → ClaudeContextManager-X2Y72GRL.js.map} +0 -0
  138. /package/dist/{ClaudeService-FKPOQRA4.js.map → ClaudeService-7P32TTES.js.map} +0 -0
  139. /package/dist/{GitHubService-ACZVNTJE.js.map → GitHubService-O7T6CFAJ.js.map} +0 -0
  140. /package/dist/{LoomLauncher-NHZMEVTQ.js.map → LoomLauncher-3I47SUPV.js.map} +0 -0
  141. /package/dist/{PRManager-A63LT3NF.js.map → ProjectCapabilityDetector-N5L7T4IY.js.map} +0 -0
  142. /package/dist/{ProjectCapabilityDetector-IA56AUE6.js.map → PromptTemplateManager-36YLQRHP.js.map} +0 -0
  143. /package/dist/{PromptTemplateManager-OUYDHOPI.js.map → SettingsManager-QR7V2IW2.js.map} +0 -0
  144. /package/dist/{build-Z3WCIKPD.js.map → build-IC4CJRMP.js.map} +0 -0
  145. /package/dist/{chunk-TVH67KEO.js.map → chunk-2HZX6AMR.js.map} +0 -0
  146. /package/dist/{chunk-SC6X5EBG.js.map → chunk-3P6J4IZZ.js.map} +0 -0
  147. /package/dist/{chunk-RD7I2Q2F.js.map → chunk-4LKGCFGG.js.map} +0 -0
  148. /package/dist/{chunk-SSASIBDJ.js.map → chunk-5LVVQGB3.js.map} +0 -0
  149. /package/dist/{chunk-XJHQVOT6.js.map → chunk-J7FJ6PUT.js.map} +0 -0
  150. /package/dist/{chunk-Q457PKGH.js.map → chunk-KAYXR544.js.map} +0 -0
  151. /package/dist/{chunk-XU5A6BWA.js.map → chunk-MZPRBNYC.js.map} +0 -0
  152. /package/dist/{chunk-XHNACIHO.js.map → chunk-NTTSUAVM.js.map} +0 -0
  153. /package/dist/{chunk-PLI3JQWT.js.map → chunk-OAVJR4PM.js.map} +0 -0
  154. /package/dist/{chunk-UDZCTLD6.js.map → chunk-OK7LUTRW.js.map} +0 -0
  155. /package/dist/{chunk-PBSHQVCT.js.map → chunk-POU2UMWN.js.map} +0 -0
  156. /package/dist/{chunk-O6LECMT6.js.map → chunk-TGRK3CHF.js.map} +0 -0
  157. /package/dist/{chunk-7GLZVDPQ.js.map → chunk-TL72BGP6.js.map} +0 -0
  158. /package/dist/{chunk-XPKN3QWY.js.map → chunk-VOGGLPG5.js.map} +0 -0
  159. /package/dist/{chunk-PVW6JE7E.js.map → chunk-Y5HSSIK2.js.map} +0 -0
  160. /package/dist/{chunk-4KGRPHM6.js.map → chunk-Y5O2ALDZ.js.map} +0 -0
  161. /package/dist/{SettingsManager-VCVLL32H.js.map → claude-TP2QO3BU.js.map} +0 -0
  162. /package/dist/{commit-534QIRHY.js.map → commit-IWGT42XN.js.map} +0 -0
  163. /package/dist/{compile-UANHMNTS.js.map → compile-EOWJORKO.js.map} +0 -0
  164. /package/dist/{contribute-7USRBWRM.js.map → contribute-WSJTV2RX.js.map} +0 -0
  165. /package/dist/{dev-server-TO7RLYJI.js.map → dev-server-Q6M62ATG.js.map} +0 -0
  166. /package/dist/{feedback-7ZZI6RC5.js.map → feedback-QPNDZQRV.js.map} +0 -0
  167. /package/dist/{claude-V4HRPR4Z.js.map → git-W3XUIFTR.js.map} +0 -0
  168. /package/dist/{lint-XPODLDVA.js.map → lint-IHUH45OC.js.map} +0 -0
  169. /package/dist/{open-M2SUR74Y.js.map → open-KWOV2OFO.js.map} +0 -0
  170. /package/dist/{projects-325GEEGJ.js.map → projects-LH362JZQ.js.map} +0 -0
  171. /package/dist/{rebase-4FNRBW3H.js.map → rebase-AJOJOZUG.js.map} +0 -0
  172. /package/dist/{recap-GSXFEOD6.js.map → recap-GKJXMDXW.js.map} +0 -0
  173. /package/dist/{run-GZNHRJB2.js.map → run-QEUVZF7J.js.map} +0 -0
  174. /package/dist/{shell-2SPM3Z5O.js.map → shell-DAAVG4YN.js.map} +0 -0
  175. /package/dist/{summary-Z4F7YFXE.js.map → summary-ZKOA35PT.js.map} +0 -0
  176. /package/dist/{test-LBSPYIJW.js.map → test-5GPWWO3P.js.map} +0 -0
  177. /package/dist/{test-git-ZPSPA2TP.js.map → test-git-EJUKDB7F.js.map} +0 -0
  178. /package/dist/{test-prefix-6DLB2BHE.js.map → test-prefix-23TOBUXY.js.map} +0 -0
  179. /package/dist/{test-webserver-XLJ2TZFP.js.map → test-webserver-CKROHFBQ.js.map} +0 -0
  180. /package/dist/{vscode-LH3VSQ2W.js.map → vscode-6TOLFCI2.js.map} +0 -0
@@ -2,30 +2,30 @@
2
2
  import {
3
3
  CommitManager,
4
4
  ValidationRunner
5
- } from "./chunk-SSASIBDJ.js";
6
- import "./chunk-RD7I2Q2F.js";
7
- import {
8
- GitWorktreeManager
9
- } from "./chunk-HSGZW3ID.js";
10
- import "./chunk-XPKN3QWY.js";
5
+ } from "./chunk-5LVVQGB3.js";
11
6
  import {
12
7
  IssueManagementProviderFactory
13
- } from "./chunk-UDZCTLD6.js";
14
- import "./chunk-RNBIISBZ.js";
8
+ } from "./chunk-OK7LUTRW.js";
9
+ import "./chunk-ENGCJIYQ.js";
10
+ import "./chunk-4LKGCFGG.js";
11
+ import {
12
+ GitWorktreeManager
13
+ } from "./chunk-4GAJJUYS.js";
14
+ import "./chunk-VOGGLPG5.js";
15
15
  import {
16
16
  extractIssueNumber,
17
17
  getWorktreeRoot,
18
18
  isValidGitRepo
19
- } from "./chunk-GDS2HXSW.js";
19
+ } from "./chunk-H6ST2TGP.js";
20
20
  import {
21
21
  SettingsManager
22
- } from "./chunk-IWIIOFEB.js";
22
+ } from "./chunk-XFEK2X2D.js";
23
23
  import {
24
24
  MetadataManager
25
25
  } from "./chunk-KBEIQP4G.js";
26
- import "./chunk-THS5L54H.js";
26
+ import "./chunk-TRUMP4DA.js";
27
27
  import "./chunk-7JDMYTFZ.js";
28
- import "./chunk-IGKPPACU.js";
28
+ import "./chunk-FO5GGFOV.js";
29
29
  import {
30
30
  getLogger
31
31
  } from "./chunk-6MLEBAYZ.js";
@@ -234,4 +234,4 @@ export {
234
234
  CommitCommand,
235
235
  WorktreeValidationError
236
236
  };
237
- //# sourceMappingURL=commit-534QIRHY.js.map
237
+ //# sourceMappingURL=commit-IWGT42XN.js.map
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ScriptCommandBase
4
- } from "./chunk-O6LECMT6.js";
4
+ } from "./chunk-TGRK3CHF.js";
5
+ import "./chunk-2HZX6AMR.js";
5
6
  import {
6
7
  runScript
7
- } from "./chunk-RD7I2Q2F.js";
8
- import "./chunk-TVH67KEO.js";
9
- import "./chunk-HSGZW3ID.js";
8
+ } from "./chunk-4LKGCFGG.js";
9
+ import "./chunk-4GAJJUYS.js";
10
10
  import {
11
11
  getPackageScripts
12
- } from "./chunk-XPKN3QWY.js";
13
- import "./chunk-GDS2HXSW.js";
14
- import "./chunk-IWIIOFEB.js";
12
+ } from "./chunk-VOGGLPG5.js";
13
+ import "./chunk-H6ST2TGP.js";
14
+ import "./chunk-XFEK2X2D.js";
15
15
  import "./chunk-KBEIQP4G.js";
16
16
  import "./chunk-6MLEBAYZ.js";
17
17
  import {
@@ -54,4 +54,4 @@ var CompileCommand = class extends ScriptCommandBase {
54
54
  export {
55
55
  CompileCommand
56
56
  };
57
- //# sourceMappingURL=compile-UANHMNTS.js.map
57
+ //# sourceMappingURL=compile-EOWJORKO.js.map
@@ -4,13 +4,13 @@ import {
4
4
  } from "./chunk-Q7POFB5Q.js";
5
5
  import {
6
6
  executeGitCommand
7
- } from "./chunk-GDS2HXSW.js";
8
- import "./chunk-IWIIOFEB.js";
7
+ } from "./chunk-H6ST2TGP.js";
8
+ import "./chunk-XFEK2X2D.js";
9
9
  import "./chunk-KBEIQP4G.js";
10
10
  import {
11
11
  checkGhAuth,
12
12
  executeGhCommand
13
- } from "./chunk-THS5L54H.js";
13
+ } from "./chunk-TRUMP4DA.js";
14
14
  import {
15
15
  promptInput
16
16
  } from "./chunk-7JDMYTFZ.js";
@@ -327,4 +327,4 @@ export {
327
327
  validateDirectoryPath,
328
328
  validateRepoExists
329
329
  };
330
- //# sourceMappingURL=contribute-7USRBWRM.js.map
330
+ //# sourceMappingURL=contribute-WSJTV2RX.js.map
@@ -1,31 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  DevServerManager
4
- } from "./chunk-VZYSM7N7.js";
5
- import "./chunk-XHNACIHO.js";
6
- import "./chunk-RD7I2Q2F.js";
4
+ } from "./chunk-2JPXGGP4.js";
5
+ import "./chunk-NTTSUAVM.js";
7
6
  import {
8
7
  getWorkspacePort
9
- } from "./chunk-52MVUK5V.js";
8
+ } from "./chunk-USSL2X4A.js";
10
9
  import {
11
10
  IdentifierParser
12
- } from "./chunk-TVH67KEO.js";
11
+ } from "./chunk-2HZX6AMR.js";
12
+ import "./chunk-4LKGCFGG.js";
13
13
  import {
14
14
  GitWorktreeManager
15
- } from "./chunk-HSGZW3ID.js";
16
- import {
17
- ProjectCapabilityDetector
18
- } from "./chunk-7GLZVDPQ.js";
19
- import "./chunk-XPKN3QWY.js";
15
+ } from "./chunk-4GAJJUYS.js";
20
16
  import {
21
17
  extractSettingsOverrides
22
18
  } from "./chunk-GYCR2LOU.js";
19
+ import {
20
+ ProjectCapabilityDetector
21
+ } from "./chunk-TL72BGP6.js";
22
+ import "./chunk-VOGGLPG5.js";
23
23
  import {
24
24
  extractIssueNumber
25
- } from "./chunk-GDS2HXSW.js";
25
+ } from "./chunk-H6ST2TGP.js";
26
26
  import {
27
27
  SettingsManager
28
- } from "./chunk-IWIIOFEB.js";
28
+ } from "./chunk-XFEK2X2D.js";
29
29
  import "./chunk-KBEIQP4G.js";
30
30
  import "./chunk-6MLEBAYZ.js";
31
31
  import {
@@ -256,4 +256,4 @@ var DevServerCommand = class {
256
256
  export {
257
257
  DevServerCommand
258
258
  };
259
- //# sourceMappingURL=dev-server-TO7RLYJI.js.map
259
+ //# sourceMappingURL=dev-server-Q6M62ATG.js.map
@@ -2,28 +2,28 @@
2
2
  import {
3
3
  IssueEnhancementService,
4
4
  capitalizeFirstLetter
5
- } from "./chunk-4KGRPHM6.js";
6
- import "./chunk-XJHQVOT6.js";
7
- import {
8
- ProjectCapabilityDetector
9
- } from "./chunk-7GLZVDPQ.js";
10
- import "./chunk-XPKN3QWY.js";
5
+ } from "./chunk-Y5O2ALDZ.js";
6
+ import "./chunk-J7FJ6PUT.js";
7
+ import "./chunk-YETJNRQM.js";
11
8
  import {
12
9
  AgentManager
13
- } from "./chunk-4BSXZ5YZ.js";
14
- import "./chunk-YETJNRQM.js";
15
- import "./chunk-66QOCD5N.js";
10
+ } from "./chunk-B7U6OKUR.js";
11
+ import "./chunk-QN47QVBX.js";
12
+ import {
13
+ ProjectCapabilityDetector
14
+ } from "./chunk-TL72BGP6.js";
15
+ import "./chunk-VOGGLPG5.js";
16
16
  import {
17
17
  SettingsManager
18
- } from "./chunk-IWIIOFEB.js";
18
+ } from "./chunk-XFEK2X2D.js";
19
19
  import {
20
20
  GitHubService
21
- } from "./chunk-PVW6JE7E.js";
22
- import "./chunk-THS5L54H.js";
21
+ } from "./chunk-Y5HSSIK2.js";
22
+ import "./chunk-TRUMP4DA.js";
23
23
  import "./chunk-7JDMYTFZ.js";
24
24
  import {
25
25
  getClaudeVersion
26
- } from "./chunk-IGKPPACU.js";
26
+ } from "./chunk-FO5GGFOV.js";
27
27
  import "./chunk-6MLEBAYZ.js";
28
28
  import {
29
29
  logger
@@ -165,4 +165,4 @@ ${userBody}`;
165
165
  export {
166
166
  FeedbackCommand
167
167
  };
168
- //# sourceMappingURL=feedback-7ZZI6RC5.js.map
168
+ //# sourceMappingURL=feedback-QPNDZQRV.js.map
@@ -8,6 +8,7 @@ import {
8
8
  executeGitCommand,
9
9
  extractIssueNumber,
10
10
  extractPRNumber,
11
+ fetchOrigin,
11
12
  findAllBranchesForIssue,
12
13
  findMainWorktreePath,
13
14
  findMainWorktreePathWithSettings,
@@ -33,8 +34,8 @@ import {
33
34
  pushBranchToRemote,
34
35
  removePlaceholderCommitFromHead,
35
36
  removePlaceholderCommitFromHistory
36
- } from "./chunk-GDS2HXSW.js";
37
- import "./chunk-IWIIOFEB.js";
37
+ } from "./chunk-H6ST2TGP.js";
38
+ import "./chunk-XFEK2X2D.js";
38
39
  import "./chunk-KBEIQP4G.js";
39
40
  import "./chunk-6MLEBAYZ.js";
40
41
  import "./chunk-VT4PDUYT.js";
@@ -47,6 +48,7 @@ export {
47
48
  executeGitCommand,
48
49
  extractIssueNumber,
49
50
  extractPRNumber,
51
+ fetchOrigin,
50
52
  findAllBranchesForIssue,
51
53
  findMainWorktreePath,
52
54
  findMainWorktreePathWithSettings,
@@ -73,4 +75,4 @@ export {
73
75
  removePlaceholderCommitFromHead,
74
76
  removePlaceholderCommitFromHistory
75
77
  };
76
- //# sourceMappingURL=git-GUNOPP4Q.js.map
78
+ //# sourceMappingURL=git-W3XUIFTR.js.map
@@ -316,9 +316,11 @@ async function main() {
316
316
  | Bug investigation / analysis - ESPECIALLY INVOLVING 3rd PARTY APIs/LIBRARIES | \`@agent-iloom-issue-analyzer\` → present findings → offer to fix |
317
317
  | Code changes | \`@agent-iloom-issue-implementer\` - TELL THE AGENT NOT TO MAKE/UPDATE ISSUE COMMENTS TO AVOID POLLUTION |
318
318
  | On 3rd repeated attempt at fixing the same problem | \`@agent-iloom-issue-analyze-and-plan\` → if approved, \`@agent-iloom-issue-implementer\` - DO NOT PROVIDE ADDITIONAL GUIDANCE ABOUT ISSUE COMMENTS |
319
- | On 4rd or more repeated attempt at fixing the same problem | \`@agent-iloom-issue-analyzer\` → if approved, \`@agent-iloom-issue-planner\` → if approved, \`@agent-iloom-issue-implementer\` - DO NOT PROVIDE ADDITIONAL GUIDANCE ABOUT ISSUE COMMENTS |
320
- | New features / complex changes | \`@agent-iloom-issue-analyze-and-plan\` → if approved, \`@agent-iloom-issue-implementer\` |
321
- | Deep questions (how/why something works) | \`@agent-iloom-issue-analyzer\` |`;
319
+ | On 4rd or more repeated attempt at fixing the same problem | \`@agent-iloom-issue-analyzer\` → if approved, \`@agent-iloom-issue-planner\` → if approved, \`@agent-iloom-issue-implementer\` - IN THIS CASE IT'S OK TO CREATE/UPDATE ISSUE COMMENTS |
320
+ | New features / complex changes | \`@agent-iloom-issue-analyze-and-plan\` → if approved, \`@agent-iloom-issue-implementer\` - IN THIS CASE IT'S OK TO CREATE/UPDATE ISSUE COMMENTS |
321
+ | Deep questions (how/why something works) | \`@agent-iloom-issue-analyzer\` |
322
+
323
+ Regarding creating/updating comments - if it's a trivial fix or quick answer, DO NOT create or update issue comments to avoid polluting the issue history. Only create/update comments for complex changes or new features as outlined above.`;
322
324
 
323
325
  const output = {
324
326
  hookSpecificOutput: {
@@ -1,27 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  IssueTrackerFactory
4
- } from "./chunk-SC6X5EBG.js";
4
+ } from "./chunk-3P6J4IZZ.js";
5
5
  import {
6
6
  getWorkspacePort
7
- } from "./chunk-52MVUK5V.js";
8
- import {
9
- GitWorktreeManager
10
- } from "./chunk-HSGZW3ID.js";
7
+ } from "./chunk-USSL2X4A.js";
11
8
  import {
12
9
  FirstRunManager
13
10
  } from "./chunk-Q7POFB5Q.js";
14
11
  import {
15
12
  generateIssueManagementMcpConfig,
16
13
  generateRecapMcpConfig
17
- } from "./chunk-XJHQVOT6.js";
14
+ } from "./chunk-J7FJ6PUT.js";
18
15
  import {
19
16
  AgentManager
20
- } from "./chunk-4BSXZ5YZ.js";
21
- import "./chunk-RNBIISBZ.js";
17
+ } from "./chunk-B7U6OKUR.js";
18
+ import "./chunk-ENGCJIYQ.js";
19
+ import {
20
+ GitWorktreeManager
21
+ } from "./chunk-4GAJJUYS.js";
22
22
  import {
23
- PromptTemplateManager
24
- } from "./chunk-66QOCD5N.js";
23
+ PromptTemplateManager,
24
+ buildReviewTemplateVariables
25
+ } from "./chunk-QN47QVBX.js";
25
26
  import {
26
27
  extractSettingsOverrides
27
28
  } from "./chunk-GYCR2LOU.js";
@@ -29,21 +30,24 @@ import {
29
30
  extractIssueNumber,
30
31
  getWorktreeRoot,
31
32
  isValidGitRepo
32
- } from "./chunk-GDS2HXSW.js";
33
+ } from "./chunk-H6ST2TGP.js";
33
34
  import {
34
35
  SettingsManager
35
- } from "./chunk-IWIIOFEB.js";
36
+ } from "./chunk-XFEK2X2D.js";
36
37
  import {
37
38
  MetadataManager
38
39
  } from "./chunk-KBEIQP4G.js";
39
- import "./chunk-PVW6JE7E.js";
40
- import "./chunk-THS5L54H.js";
40
+ import "./chunk-Y5HSSIK2.js";
41
+ import "./chunk-TRUMP4DA.js";
41
42
  import "./chunk-7JDMYTFZ.js";
42
43
  import {
43
44
  launchClaude
44
- } from "./chunk-IGKPPACU.js";
45
- import "./chunk-6MLEBAYZ.js";
45
+ } from "./chunk-FO5GGFOV.js";
46
46
  import {
47
+ withLogger
48
+ } from "./chunk-6MLEBAYZ.js";
49
+ import {
50
+ createStderrLogger,
47
51
  logger
48
52
  } from "./chunk-VT4PDUYT.js";
49
53
 
@@ -302,9 +306,24 @@ var IgniteCommand = class {
302
306
  }
303
307
  /**
304
308
  * Main entry point for spin command
309
+ * @param oneShot - One-shot automation mode
310
+ * @param printOptions - Print mode options for headless/CI execution
305
311
  */
306
- async execute(oneShot) {
307
- var _a, _b, _c, _d, _e;
312
+ async execute(oneShot, printOptions) {
313
+ var _a, _b;
314
+ this.printOptions = printOptions;
315
+ const isJsonMode = (((_a = this.printOptions) == null ? void 0 : _a.json) ?? false) || (((_b = this.printOptions) == null ? void 0 : _b.jsonStream) ?? false);
316
+ if (isJsonMode) {
317
+ const jsonLogger = createStderrLogger();
318
+ return withLogger(jsonLogger, () => this.executeInternal(oneShot));
319
+ }
320
+ return this.executeInternal(oneShot);
321
+ }
322
+ /**
323
+ * Internal execution method (separated for withLogger wrapping)
324
+ */
325
+ async executeInternal(oneShot) {
326
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
308
327
  process.env.ILOOM = "1";
309
328
  try {
310
329
  await this.validateNotMainWorktree();
@@ -330,14 +349,16 @@ var IgniteCommand = class {
330
349
  const metadataManager = new MetadataManager();
331
350
  const metadata = await metadataManager.readMetadata(context.workspacePath);
332
351
  const draftPrNumber = (metadata == null ? void 0 : metadata.draftPrNumber) ?? void 0;
352
+ const draftPrUrl = draftPrNumber && ((_a = metadata == null ? void 0 : metadata.prUrls) == null ? void 0 : _a[String(draftPrNumber)]) ? metadata.prUrls[String(draftPrNumber)] : void 0;
333
353
  const storedOneShot = (metadata == null ? void 0 : metadata.oneShot) ?? "default";
334
- const effectiveOneShot = oneShot ?? storedOneShot;
354
+ const isHeadlessForOneShot = ((_b = this.printOptions) == null ? void 0 : _b.print) ?? false;
355
+ const effectiveOneShot = isHeadlessForOneShot ? "noReview" : oneShot ?? storedOneShot;
335
356
  if (!this.settings) {
336
357
  const cliOverrides = extractSettingsOverrides();
337
358
  this.settings = await this.settingsManager.loadSettings(void 0, cliOverrides);
338
359
  }
339
- if (((_a = metadata == null ? void 0 : metadata.capabilities) == null ? void 0 : _a.includes("web")) && context.branchName) {
340
- const basePort = ((_d = (_c = (_b = this.settings) == null ? void 0 : _b.capabilities) == null ? void 0 : _c.web) == null ? void 0 : _d.basePort) ?? 3e3;
360
+ if (((_c = metadata == null ? void 0 : metadata.capabilities) == null ? void 0 : _c.includes("web")) && context.branchName) {
361
+ const basePort = ((_f = (_e = (_d = this.settings) == null ? void 0 : _d.capabilities) == null ? void 0 : _e.web) == null ? void 0 : _f.basePort) ?? 3e3;
341
362
  context.port = await getWorkspacePort({
342
363
  basePort,
343
364
  worktreePath: context.workspacePath,
@@ -345,7 +366,7 @@ var IgniteCommand = class {
345
366
  });
346
367
  logger.info(`\u{1F310} Development server port: ${context.port}`);
347
368
  }
348
- const variables = this.buildTemplateVariables(context, effectiveOneShot, draftPrNumber);
369
+ const variables = this.buildTemplateVariables(context, effectiveOneShot, draftPrNumber, draftPrUrl);
349
370
  if (isFirstRun) {
350
371
  variables.FIRST_TIME_USER = true;
351
372
  variables.README_CONTENT = await this.loadReadmeContent();
@@ -368,9 +389,9 @@ var IgniteCommand = class {
368
389
  throw new Error("No session ID found in loom metadata. This loom may need to be recreated with `il start`.");
369
390
  }
370
391
  logger.debug("Using session ID from metadata", { sessionId });
392
+ const isHeadless = ((_g = this.printOptions) == null ? void 0 : _g.print) ?? false;
371
393
  const claudeOptions = {
372
- headless: false,
373
- // Enable stdio: 'inherit' for current terminal
394
+ headless: isHeadless,
374
395
  addDir: context.workspacePath,
375
396
  sessionId
376
397
  // Enable Claude Code session resume
@@ -378,9 +399,25 @@ var IgniteCommand = class {
378
399
  if (model !== void 0) {
379
400
  claudeOptions.model = model;
380
401
  }
402
+ if (isHeadless) {
403
+ permissionMode = "bypassPermissions";
404
+ }
381
405
  if (permissionMode !== void 0 && permissionMode !== "default") {
382
406
  claudeOptions.permissionMode = permissionMode;
383
407
  }
408
+ if (((_h = this.printOptions) == null ? void 0 : _h.outputFormat) !== void 0) {
409
+ claudeOptions.outputFormat = this.printOptions.outputFormat;
410
+ }
411
+ if (((_i = this.printOptions) == null ? void 0 : _i.verbose) !== void 0) {
412
+ claudeOptions.verbose = this.printOptions.verbose;
413
+ }
414
+ if ((_j = this.printOptions) == null ? void 0 : _j.json) {
415
+ claudeOptions.jsonMode = "json";
416
+ claudeOptions.outputFormat = "stream-json";
417
+ } else if ((_k = this.printOptions) == null ? void 0 : _k.jsonStream) {
418
+ claudeOptions.jsonMode = "stream";
419
+ claudeOptions.outputFormat = "stream-json";
420
+ }
384
421
  if (context.branchName !== void 0) {
385
422
  claudeOptions.branchName = context.branchName;
386
423
  }
@@ -403,7 +440,7 @@ var IgniteCommand = class {
403
440
  "mcp__recap__add_artifact",
404
441
  "mcp__recap__set_complexity"
405
442
  ];
406
- allowedTools = context.type === "pr" ? [...baseTools, "mcp__recap__set_goal"] : baseTools;
443
+ allowedTools = context.type === "pr" ? [...baseTools, "mcp__issue_management__get_pr", "mcp__recap__set_goal"] : baseTools;
407
444
  disallowedTools = ["Bash(gh api:*), Bash(gh issue view:*), Bash(gh pr view:*), Bash(gh issue comment:*)"];
408
445
  logger.debug("Configured tool filtering for issue/PR workflow", { allowedTools, disallowedTools });
409
446
  } catch (error) {
@@ -434,7 +471,7 @@ var IgniteCommand = class {
434
471
  }
435
472
  let agents;
436
473
  try {
437
- if (((_e = this.settings) == null ? void 0 : _e.agents) && Object.keys(this.settings.agents).length > 0) {
474
+ if (((_l = this.settings) == null ? void 0 : _l.agents) && Object.keys(this.settings.agents).length > 0) {
438
475
  logger.debug("Loaded project settings", {
439
476
  agentOverrides: Object.keys(this.settings.agents)
440
477
  });
@@ -459,8 +496,8 @@ var IgniteCommand = class {
459
496
  workspacePath: context.workspacePath,
460
497
  hasMcpConfig: !!mcpConfig
461
498
  });
462
- logger.info("\u2728 Launching Claude in current terminal...");
463
- await launchClaude(userPrompt, {
499
+ logger.info(isHeadless ? "\u2728 Launching Claude in headless mode..." : "\u2728 Launching Claude in current terminal...");
500
+ const claudeResult = await launchClaude(userPrompt, {
464
501
  ...claudeOptions,
465
502
  appendSystemPrompt: systemInstructions,
466
503
  ...mcpConfig && { mcpConfig },
@@ -468,12 +505,25 @@ var IgniteCommand = class {
468
505
  ...disallowedTools && { disallowedTools },
469
506
  ...agents && { agents }
470
507
  });
508
+ if ((_m = this.printOptions) == null ? void 0 : _m.json) {
509
+ console.log(JSON.stringify({
510
+ success: true,
511
+ output: claudeResult ?? ""
512
+ }));
513
+ }
471
514
  if (isFirstRun) {
472
515
  await this.firstRunManager.markAsRun();
473
516
  }
474
517
  } catch (error) {
475
518
  const errorMessage = error instanceof Error ? error.message : "Unknown error";
476
- logger.error(`Failed to launch Claude: ${errorMessage}`);
519
+ if ((_n = this.printOptions) == null ? void 0 : _n.json) {
520
+ console.log(JSON.stringify({
521
+ success: false,
522
+ error: errorMessage
523
+ }));
524
+ } else {
525
+ logger.error(`Failed to launch Claude: ${errorMessage}`);
526
+ }
477
527
  throw error;
478
528
  }
479
529
  }
@@ -498,8 +548,8 @@ var IgniteCommand = class {
498
548
  /**
499
549
  * Build template variables from context
500
550
  */
501
- buildTemplateVariables(context, oneShot, draftPrNumber) {
502
- var _a, _b;
551
+ buildTemplateVariables(context, oneShot, draftPrNumber, draftPrUrl) {
552
+ var _a, _b, _c, _d, _e;
503
553
  const variables = {
504
554
  WORKSPACE_PATH: context.workspacePath
505
555
  };
@@ -524,29 +574,22 @@ var IgniteCommand = class {
524
574
  } else {
525
575
  variables.INTERACTIVE_MODE = true;
526
576
  }
527
- const reviewerSettings = (_b = (_a = this.settings) == null ? void 0 : _a.agents) == null ? void 0 : _b["iloom-code-reviewer"];
528
- const reviewEnabled = (reviewerSettings == null ? void 0 : reviewerSettings.enabled) !== false;
529
- variables.REVIEW_ENABLED = reviewEnabled;
530
- if (reviewEnabled) {
531
- const providers = (reviewerSettings == null ? void 0 : reviewerSettings.providers) ?? {};
532
- const hasAnyProvider = Object.keys(providers).length > 0;
533
- const claudeModel = providers.claude ?? (hasAnyProvider ? void 0 : "sonnet");
534
- if (claudeModel) {
535
- variables.REVIEW_CLAUDE_MODEL = claudeModel;
536
- }
537
- if (providers.gemini) {
538
- variables.REVIEW_GEMINI_MODEL = providers.gemini;
539
- }
540
- if (providers.codex) {
541
- variables.REVIEW_CODEX_MODEL = providers.codex;
542
- }
543
- variables.HAS_REVIEW_CLAUDE = !!claudeModel;
544
- variables.HAS_REVIEW_GEMINI = !!providers.gemini;
545
- variables.HAS_REVIEW_CODEX = !!providers.codex;
546
- }
577
+ Object.assign(variables, buildReviewTemplateVariables((_a = this.settings) == null ? void 0 : _a.agents));
547
578
  if (draftPrNumber !== void 0) {
548
579
  variables.DRAFT_PR_MODE = true;
549
580
  variables.DRAFT_PR_NUMBER = draftPrNumber;
581
+ if (draftPrUrl) {
582
+ variables.DRAFT_PR_URL = draftPrUrl;
583
+ }
584
+ const autoCommitPushEnabled = ((_c = (_b = this.settings) == null ? void 0 : _b.mergeBehavior) == null ? void 0 : _c.autoCommitPush) !== false;
585
+ variables.AUTO_COMMIT_PUSH = autoCommitPushEnabled;
586
+ const remote = ((_e = (_d = this.settings) == null ? void 0 : _d.mergeBehavior) == null ? void 0 : _e.remote) ?? "origin";
587
+ if (!/^[a-zA-Z0-9_-]+$/.test(remote)) {
588
+ throw new Error(`Invalid git remote name: "${remote}". Remote names can only contain alphanumeric characters, underscores, and hyphens.`);
589
+ }
590
+ variables.GIT_REMOTE = remote;
591
+ } else if (context.type === "regular") {
592
+ variables.STANDARD_BRANCH_MODE = true;
550
593
  } else {
551
594
  variables.STANDARD_ISSUE_MODE = true;
552
595
  }
@@ -738,4 +781,4 @@ export {
738
781
  IgniteCommand,
739
782
  WorktreeValidationError
740
783
  };
741
- //# sourceMappingURL=ignite-JBX3BUDE.js.map
784
+ //# sourceMappingURL=ignite-OPO6EDYT.js.map