@iloom/cli 0.6.1 → 0.7.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 (178) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +35 -18
  3. package/dist/{BranchNamingService-B5PVRR7F.js → BranchNamingService-FLPUUFOB.js} +2 -2
  4. package/dist/ClaudeContextManager-KE5TBZVZ.js +14 -0
  5. package/dist/ClaudeService-CRSETT3A.js +13 -0
  6. package/dist/{GitHubService-S2OGUTDR.js → GitHubService-O7U4UQ7N.js} +3 -3
  7. package/dist/{LoomLauncher-5LFM4LXB.js → LoomLauncher-NL65LSKP.js} +6 -6
  8. package/dist/{MetadataManager-DFI73J3G.js → MetadataManager-XJ2YB762.js} +2 -2
  9. package/dist/PRManager-2ABCWXHW.js +16 -0
  10. package/dist/{ProjectCapabilityDetector-S5FLNCFI.js → ProjectCapabilityDetector-IA56AUE6.js} +3 -3
  11. package/dist/{PromptTemplateManager-C3DK6XZL.js → PromptTemplateManager-7L3HJQQU.js} +2 -2
  12. package/dist/README.md +35 -18
  13. package/dist/{SettingsManager-35F5RUJH.js → SettingsManager-YU4VYPTW.js} +2 -2
  14. package/dist/agents/iloom-framework-detector.md +78 -9
  15. package/dist/agents/iloom-issue-analyze-and-plan.md +42 -17
  16. package/dist/agents/iloom-issue-analyzer.md +14 -14
  17. package/dist/agents/iloom-issue-complexity-evaluator.md +38 -15
  18. package/dist/agents/iloom-issue-enhancer.md +15 -15
  19. package/dist/agents/iloom-issue-implementer.md +44 -15
  20. package/dist/agents/iloom-issue-planner.md +121 -17
  21. package/dist/agents/iloom-issue-reviewer.md +15 -15
  22. package/dist/{build-FJVYP7EV.js → build-HQ5HGA3T.js} +9 -9
  23. package/dist/{chunk-VU3QMIP2.js → chunk-453NC377.js} +91 -15
  24. package/dist/chunk-453NC377.js.map +1 -0
  25. package/dist/{chunk-UQIXZ3BA.js → chunk-5V74K5ZA.js} +2 -2
  26. package/dist/{chunk-7WANFUIK.js → chunk-6TL3BYH6.js} +2 -2
  27. package/dist/{chunk-ZPSTA5PR.js → chunk-7GLZVDPQ.js} +2 -2
  28. package/dist/{chunk-64O2UIWO.js → chunk-AFRICMSW.js} +4 -4
  29. package/dist/{chunk-5TXLVEXT.js → chunk-C3AKFAIR.js} +2 -2
  30. package/dist/{chunk-K7SEEHKO.js → chunk-CNSTXBJ3.js} +7 -419
  31. package/dist/chunk-CNSTXBJ3.js.map +1 -0
  32. package/dist/{chunk-2A7WQKBE.js → chunk-DAOS6EC3.js} +96 -6
  33. package/dist/chunk-DAOS6EC3.js.map +1 -0
  34. package/dist/{chunk-TRQ76ISK.js → chunk-ELJKYFSH.js} +9 -9
  35. package/dist/{chunk-VDA5JMB4.js → chunk-EPPPDVHD.js} +21 -8
  36. package/dist/chunk-EPPPDVHD.js.map +1 -0
  37. package/dist/{chunk-LVBRMTE6.js → chunk-FEAJR6PN.js} +6 -6
  38. package/dist/{chunk-6YSFTPKW.js → chunk-FM4KBPVA.js} +18 -13
  39. package/dist/chunk-FM4KBPVA.js.map +1 -0
  40. package/dist/{chunk-AEIMYF4P.js → chunk-FP7G7DG3.js} +6 -2
  41. package/dist/chunk-FP7G7DG3.js.map +1 -0
  42. package/dist/{chunk-LT3SGBR7.js → chunk-GCPAZSGV.js} +36 -2
  43. package/dist/{chunk-LT3SGBR7.js.map → chunk-GCPAZSGV.js.map} +1 -1
  44. package/dist/chunk-GJMEKEI5.js +517 -0
  45. package/dist/chunk-GJMEKEI5.js.map +1 -0
  46. package/dist/{chunk-7Q66W4OH.js → chunk-HBJITKSZ.js} +37 -1
  47. package/dist/chunk-HBJITKSZ.js.map +1 -0
  48. package/dist/{chunk-7HIRPCKU.js → chunk-HVQNVRAF.js} +2 -2
  49. package/dist/{chunk-6U6VI4SZ.js → chunk-KVS4XGBQ.js} +4 -4
  50. package/dist/{chunk-SN3Z6EZO.js → chunk-N7FVXZNI.js} +2 -2
  51. package/dist/{chunk-I75JMBNB.js → chunk-QQFBMCAH.js} +54 -43
  52. package/dist/chunk-QQFBMCAH.js.map +1 -0
  53. package/dist/{chunk-AXX3QIKK.js → chunk-RD7I2Q2F.js} +2 -2
  54. package/dist/chunk-TIYJEEVO.js +79 -0
  55. package/dist/chunk-TIYJEEVO.js.map +1 -0
  56. package/dist/{chunk-EK3XCAAS.js → chunk-UDRZY65Y.js} +2 -2
  57. package/dist/{chunk-3PT7RKL5.js → chunk-USJSNHGG.js} +2 -2
  58. package/dist/{chunk-CFUWQHCJ.js → chunk-VWGKGNJP.js} +114 -35
  59. package/dist/chunk-VWGKGNJP.js.map +1 -0
  60. package/dist/{chunk-F6WVM437.js → chunk-WFQ5CLTR.js} +6 -3
  61. package/dist/chunk-WFQ5CLTR.js.map +1 -0
  62. package/dist/{chunk-BXCPJJYM.js → chunk-XPKN3QWY.js} +24 -6
  63. package/dist/chunk-XPKN3QWY.js.map +1 -0
  64. package/dist/chunk-YQNSZKKT.js +822 -0
  65. package/dist/chunk-YQNSZKKT.js.map +1 -0
  66. package/dist/{chunk-GEXP5IOF.js → chunk-ZA575VLF.js} +21 -8
  67. package/dist/chunk-ZA575VLF.js.map +1 -0
  68. package/dist/{claude-H33OQMXO.js → claude-6H36IBHO.js} +4 -2
  69. package/dist/{cleanup-BRUAINKE.js → cleanup-77U5ATYI.js} +20 -16
  70. package/dist/cleanup-77U5ATYI.js.map +1 -0
  71. package/dist/cli.js +361 -954
  72. package/dist/cli.js.map +1 -1
  73. package/dist/commit-ONRXU67O.js +237 -0
  74. package/dist/commit-ONRXU67O.js.map +1 -0
  75. package/dist/{compile-ULNO5F7Q.js → compile-CT7IR7O2.js} +9 -9
  76. package/dist/{contribute-Q6GX6AXK.js → contribute-GXKOIA42.js} +5 -5
  77. package/dist/{dev-server-4RCDJ5MU.js → dev-server-UKAPBGUR.js} +22 -74
  78. package/dist/dev-server-UKAPBGUR.js.map +1 -0
  79. package/dist/{feedback-O4Q55SVS.js → feedback-K3A4QUSG.js} +10 -10
  80. package/dist/{git-FVMGBHC2.js → git-ENLT2VNI.js} +6 -4
  81. package/dist/hooks/iloom-hook.js +30 -2
  82. package/dist/{ignite-VHV65WEZ.js → ignite-YUAOJ5PP.js} +20 -20
  83. package/dist/ignite-YUAOJ5PP.js.map +1 -0
  84. package/dist/index.d.ts +71 -27
  85. package/dist/index.js +196 -266
  86. package/dist/index.js.map +1 -1
  87. package/dist/init-XQQMFDM6.js +21 -0
  88. package/dist/{lint-5JMCWE4Y.js → lint-HAVU4U34.js} +9 -9
  89. package/dist/mcp/issue-management-server.js +359 -13
  90. package/dist/mcp/issue-management-server.js.map +1 -1
  91. package/dist/mcp/recap-server.js +13 -4
  92. package/dist/mcp/recap-server.js.map +1 -1
  93. package/dist/{open-WHVUYGPY.js → open-QI63XQ4F.js} +25 -76
  94. package/dist/open-QI63XQ4F.js.map +1 -0
  95. package/dist/{projects-SA76I4TZ.js → projects-TWY4RT2Z.js} +11 -4
  96. package/dist/projects-TWY4RT2Z.js.map +1 -0
  97. package/dist/prompts/init-prompt.txt +119 -51
  98. package/dist/prompts/issue-prompt.txt +132 -63
  99. package/dist/prompts/pr-prompt.txt +3 -3
  100. package/dist/prompts/regular-prompt.txt +16 -18
  101. package/dist/prompts/session-summary-prompt.txt +13 -13
  102. package/dist/{rebase-Y4AS6LQW.js → rebase-QYCRF7JG.js} +53 -8
  103. package/dist/rebase-QYCRF7JG.js.map +1 -0
  104. package/dist/{recap-VOOUXOGP.js → recap-ZKGHZCX6.js} +6 -6
  105. package/dist/{run-NCRK5NPR.js → run-YDVYORT2.js} +25 -76
  106. package/dist/run-YDVYORT2.js.map +1 -0
  107. package/dist/schema/settings.schema.json +14 -3
  108. package/dist/{shell-SBLXVOVJ.js → shell-2NNSIU34.js} +6 -6
  109. package/dist/{summary-CVFAMDOJ.js → summary-G6L3VAKK.js} +11 -10
  110. package/dist/{summary-CVFAMDOJ.js.map → summary-G6L3VAKK.js.map} +1 -1
  111. package/dist/{test-3KIVXI6J.js → test-75WAA6DU.js} +9 -9
  112. package/dist/{test-git-ZB6AGGRW.js → test-git-E2BLXR6M.js} +4 -4
  113. package/dist/{test-prefix-FBGXKMPA.js → test-prefix-A7JGGYAA.js} +4 -4
  114. package/dist/{test-webserver-YVQD42W6.js → test-webserver-NRMGT2HB.js} +29 -8
  115. package/dist/test-webserver-NRMGT2HB.js.map +1 -0
  116. package/package.json +3 -1
  117. package/dist/ClaudeContextManager-6J2EB4QU.js +0 -14
  118. package/dist/ClaudeService-O2PB22GX.js +0 -13
  119. package/dist/PRManager-GB3FOJ2W.js +0 -14
  120. package/dist/chunk-2A7WQKBE.js.map +0 -1
  121. package/dist/chunk-6YSFTPKW.js.map +0 -1
  122. package/dist/chunk-7Q66W4OH.js.map +0 -1
  123. package/dist/chunk-AEIMYF4P.js.map +0 -1
  124. package/dist/chunk-BXCPJJYM.js.map +0 -1
  125. package/dist/chunk-CFUWQHCJ.js.map +0 -1
  126. package/dist/chunk-F6WVM437.js.map +0 -1
  127. package/dist/chunk-GEXP5IOF.js.map +0 -1
  128. package/dist/chunk-I75JMBNB.js.map +0 -1
  129. package/dist/chunk-K7SEEHKO.js.map +0 -1
  130. package/dist/chunk-VDA5JMB4.js.map +0 -1
  131. package/dist/chunk-VU3QMIP2.js.map +0 -1
  132. package/dist/chunk-W6WVRHJ6.js +0 -251
  133. package/dist/chunk-W6WVRHJ6.js.map +0 -1
  134. package/dist/cleanup-BRUAINKE.js.map +0 -1
  135. package/dist/dev-server-4RCDJ5MU.js.map +0 -1
  136. package/dist/ignite-VHV65WEZ.js.map +0 -1
  137. package/dist/init-UTYRHNJJ.js +0 -21
  138. package/dist/open-WHVUYGPY.js.map +0 -1
  139. package/dist/projects-SA76I4TZ.js.map +0 -1
  140. package/dist/rebase-Y4AS6LQW.js.map +0 -1
  141. package/dist/run-NCRK5NPR.js.map +0 -1
  142. package/dist/test-webserver-YVQD42W6.js.map +0 -1
  143. /package/dist/{BranchNamingService-B5PVRR7F.js.map → BranchNamingService-FLPUUFOB.js.map} +0 -0
  144. /package/dist/{ClaudeContextManager-6J2EB4QU.js.map → ClaudeContextManager-KE5TBZVZ.js.map} +0 -0
  145. /package/dist/{ClaudeService-O2PB22GX.js.map → ClaudeService-CRSETT3A.js.map} +0 -0
  146. /package/dist/{GitHubService-S2OGUTDR.js.map → GitHubService-O7U4UQ7N.js.map} +0 -0
  147. /package/dist/{LoomLauncher-5LFM4LXB.js.map → LoomLauncher-NL65LSKP.js.map} +0 -0
  148. /package/dist/{MetadataManager-DFI73J3G.js.map → MetadataManager-XJ2YB762.js.map} +0 -0
  149. /package/dist/{PRManager-GB3FOJ2W.js.map → PRManager-2ABCWXHW.js.map} +0 -0
  150. /package/dist/{ProjectCapabilityDetector-S5FLNCFI.js.map → ProjectCapabilityDetector-IA56AUE6.js.map} +0 -0
  151. /package/dist/{PromptTemplateManager-C3DK6XZL.js.map → PromptTemplateManager-7L3HJQQU.js.map} +0 -0
  152. /package/dist/{SettingsManager-35F5RUJH.js.map → SettingsManager-YU4VYPTW.js.map} +0 -0
  153. /package/dist/{build-FJVYP7EV.js.map → build-HQ5HGA3T.js.map} +0 -0
  154. /package/dist/{chunk-UQIXZ3BA.js.map → chunk-5V74K5ZA.js.map} +0 -0
  155. /package/dist/{chunk-7WANFUIK.js.map → chunk-6TL3BYH6.js.map} +0 -0
  156. /package/dist/{chunk-ZPSTA5PR.js.map → chunk-7GLZVDPQ.js.map} +0 -0
  157. /package/dist/{chunk-64O2UIWO.js.map → chunk-AFRICMSW.js.map} +0 -0
  158. /package/dist/{chunk-5TXLVEXT.js.map → chunk-C3AKFAIR.js.map} +0 -0
  159. /package/dist/{chunk-TRQ76ISK.js.map → chunk-ELJKYFSH.js.map} +0 -0
  160. /package/dist/{chunk-LVBRMTE6.js.map → chunk-FEAJR6PN.js.map} +0 -0
  161. /package/dist/{chunk-7HIRPCKU.js.map → chunk-HVQNVRAF.js.map} +0 -0
  162. /package/dist/{chunk-6U6VI4SZ.js.map → chunk-KVS4XGBQ.js.map} +0 -0
  163. /package/dist/{chunk-SN3Z6EZO.js.map → chunk-N7FVXZNI.js.map} +0 -0
  164. /package/dist/{chunk-AXX3QIKK.js.map → chunk-RD7I2Q2F.js.map} +0 -0
  165. /package/dist/{chunk-EK3XCAAS.js.map → chunk-UDRZY65Y.js.map} +0 -0
  166. /package/dist/{chunk-3PT7RKL5.js.map → chunk-USJSNHGG.js.map} +0 -0
  167. /package/dist/{claude-H33OQMXO.js.map → claude-6H36IBHO.js.map} +0 -0
  168. /package/dist/{compile-ULNO5F7Q.js.map → compile-CT7IR7O2.js.map} +0 -0
  169. /package/dist/{contribute-Q6GX6AXK.js.map → contribute-GXKOIA42.js.map} +0 -0
  170. /package/dist/{feedback-O4Q55SVS.js.map → feedback-K3A4QUSG.js.map} +0 -0
  171. /package/dist/{git-FVMGBHC2.js.map → git-ENLT2VNI.js.map} +0 -0
  172. /package/dist/{init-UTYRHNJJ.js.map → init-XQQMFDM6.js.map} +0 -0
  173. /package/dist/{lint-5JMCWE4Y.js.map → lint-HAVU4U34.js.map} +0 -0
  174. /package/dist/{recap-VOOUXOGP.js.map → recap-ZKGHZCX6.js.map} +0 -0
  175. /package/dist/{shell-SBLXVOVJ.js.map → shell-2NNSIU34.js.map} +0 -0
  176. /package/dist/{test-3KIVXI6J.js.map → test-75WAA6DU.js.map} +0 -0
  177. /package/dist/{test-git-ZB6AGGRW.js.map → test-git-E2BLXR6M.js.map} +0 -0
  178. /package/dist/{test-prefix-FBGXKMPA.js.map → test-prefix-A7JGGYAA.js.map} +0 -0
package/LICENSE CHANGED
@@ -20,7 +20,7 @@ it within your organization. What is prohibited is redistributing or offering
20
20
  access to this software (in original or modified form) as part of something
21
21
  you sell or provide to others.
22
22
 
23
- Change Date: 2029-01-01
23
+ Change Date: 2030-01-15
24
24
  Change License: Apache License 2.0
25
25
 
26
26
  For clarity, on or after the Change Date, the Licensed Work will
package/README.md CHANGED
@@ -16,7 +16,7 @@ iloom
16
16
 
17
17
  #### Links to key sections
18
18
 
19
- [How It Works](#how-it-works-the-multi-agent-workflow) • [Installation](#quick-start) • [Configuration](#configuration) • [Advanced Features](#advanced-features) • [Limitations](#system-requirements--limitations)
19
+ [How It Works](#how-it-works-the-multi-agent-workflow) • [Installation](#quick-start) • [Configuration](#configuration) • [Advanced Features](#advanced-features) • [Limitations](#system-requirements--limitations) • [Contributing](#contributing-to-iloom)
20
20
 
21
21
  ## Built For Modern Tools...
22
22
 
@@ -90,17 +90,21 @@ When you run il start, iloom orchestrates specialized AI agents. Each has a spec
90
90
 
91
91
  ### 1. The Agents
92
92
 
93
- Instead of a single generic prompt, iloom uses a pipeline of agents:
93
+ Instead of a single generic prompt, iloom uses a pipeline of specialized agents:
94
+
95
+ * **Enhancer:** Expands brief one-liners into detailed requirements with acceptance criteria.
96
+
97
+ * **Evaluator:** Assesses complexity and routes to the appropriate workflow:
94
98
 
95
- * **Enhancer (iloom-issue-enhancer):** Expands brief one-liners into detailed requirements.
96
-
97
- * **Evaluator (iloom-issue-complexity-evaluator):** Determines the workflow approach:
98
-
99
99
  * **Simple:** Combines analysis and planning into one step for efficiency.
100
-
101
- * **Complex:** Separates deep root-cause analysis from detailed implementation planning.
102
-
103
- * **Implementer:** Executes the plan using the context established in the previous steps.
100
+
101
+ * **Complex:** Separates deep analysis from detailed planning for thorough coverage.
102
+
103
+ * **Analyzer:** Explores the problem space before any code is written. This agent investigates the codebase to understand existing patterns, examines third-party library APIs and capabilities, and researches technical approaches. The result is a comprehensive analysis that informs the planning phase—leading to significantly better implementation plans than jumping straight to code.
104
+
105
+ * **Planner:** Creates an execution plan with parallelization analysis—identifying which steps can run concurrently vs. sequentially. Plans reference specific files and line numbers, making them actionable and precise.
106
+
107
+ * **Implementer:** Executes the plan using the context established in the previous steps. For complex tasks, multiple implementers can run in parallel on independent steps.
104
108
 
105
109
 
106
110
  ### 2. Interactive Control
@@ -137,9 +141,10 @@ Command Reference
137
141
  | **Command** | **Alias** | **Description** |
138
142
  | ------ | ----- | -----|
139
143
  | `il start` | `new` | Create loom, run analysis agents, and launch IDE. |
144
+ | `il commit` | `c` | Commit all files with issue reference (`Refs #N` or `Fixes #N`). |
140
145
  | `il finish` | `dn` | Validate tests/lint, commit, handle conflicts, and merge/PR. |
141
146
  | `il cleanup` | `remove` | Safely remove a loom and its database branch without merging. |
142
- | `il list` | | Show active looms and paths. |
147
+ | `il list` | | Show active looms for current project. `--finished` for archived, `--all` for active + archived, `--global` for looms across all projects. |
143
148
  | `il projects` | | List configured projects (JSON output). |
144
149
  | `il spin` | | Launch Claude inside the current loom with context auto-detected. |
145
150
  | `il open` | `run` | Open loom in browser (web) or run your CLI tool. |
@@ -149,6 +154,7 @@ Command Reference
149
154
  | `il test` | | Run the test script for a workspace. |
150
155
  | `il compile` | `typecheck` | Run the compile or typecheck script for a workspace. |
151
156
  | `il add-issue` | `a` | Create and AI-enhance a new issue without starting work yet. |
157
+ | `il contribute` | | Fork, clone, and set up a GitHub repo for contribution (defaults to iloom-cli). |
152
158
  | `il init` | `config` | Interactive configuration wizard. |
153
159
  | `il feedback` | `f` | Submit bug reports/feedback directly from the CLI. |
154
160
  | `il update` | | Update iloom CLI to the latest version. |
@@ -470,16 +476,23 @@ This is an early-stage product.
470
476
 
471
477
  See all [known limitations](https://github.com/iloom-ai/iloom-cli/issues?q=is:issue+is:open+label:known-limitation) on GitHub. If you're feeling left out - you're absolutely right! The best way to complain about something is to fix it. So...
472
478
 
473
- Contributing
474
- ------------
479
+ Contributing to iloom
480
+ ---------------------
475
481
 
476
- We (Claude and I) welcome contributions! We've made it easy to get started — iloom can even set up its own dev environment.
482
+ We (Claude and I) welcome contributions! iloom can set up its own dev environment:
477
483
 
478
484
  ```bash
479
- iloom contribute # Handles forking, cloning, and setting up the dev environment automatically.
485
+ iloom contribute # Handles forking, cloning, and dev setup automatically
480
486
  ```
481
487
 
482
- You can also use `iloom contribute` to set up any GitHub repository for contribution:
488
+ **PR Requirements:** All PRs should be created with iloom or include detailed context. If you're not using iloom, please provide equivalent detail explaining your approach and reasoning.
489
+
490
+ New contributors should start with issues labeled [starter-task](https://github.com/iloom-ai/iloom-cli/issues?q=is%3Aissue+is%3Aopen+label%3Astarter-task). For details, see our [Contributing Guide](CONTRIBUTING.md).
491
+
492
+ Contributing to Open Source
493
+ ---------------------------
494
+
495
+ iloom streamlines the fork → clone → setup → PR workflow for any GitHub repository:
483
496
 
484
497
  ```bash
485
498
  # Full URL format
@@ -492,9 +505,13 @@ iloom contribute "github.com/n8n-io/n8n"
492
505
  iloom contribute "n8n-io/n8n"
493
506
  ```
494
507
 
495
- **All PRs should be created with iloom or include detailed context.** When you run `iloom contribute`, it configures iloom to create a draft PR as soon as you start work. As you work, iloom posts the AI's analysis, implementation plan, and progress directly to that draft PR—giving reviewers full context before the code is even ready for review. If you're not using iloom, please provide equivalent detail in your PR.
508
+ This command:
509
+ 1. Forks the repository (if not already forked)
510
+ 2. Clones your fork locally
511
+ 3. Configures iloom for the project
512
+ 4. Sets merge behavior to `github-draft-pr` (creates a draft PR immediately when you start work)
496
513
 
497
- New contributors should start with issues labeled [starter-task](https://github.com/iloom-ai/iloom-cli/issues?q=is%3Aissue+is%3Aopen+label%3Astarter-task). For details, see our [Contributing Guide](CONTRIBUTING.md).
514
+ The draft PR workflow is ideal for open source: as you work, iloom posts the AI's analysis, implementation plan, and progress directly to that draft PR—giving maintainers full context before the code is even ready for review.
498
515
 
499
516
  License & Name
500
517
  --------------
@@ -3,7 +3,7 @@ import {
3
3
  ClaudeBranchNameStrategy,
4
4
  DefaultBranchNamingService,
5
5
  SimpleBranchNameStrategy
6
- } from "./chunk-5TXLVEXT.js";
6
+ } from "./chunk-C3AKFAIR.js";
7
7
  import "./chunk-6MLEBAYZ.js";
8
8
  import "./chunk-VT4PDUYT.js";
9
9
  export {
@@ -11,4 +11,4 @@ export {
11
11
  DefaultBranchNamingService,
12
12
  SimpleBranchNameStrategy
13
13
  };
14
- //# sourceMappingURL=BranchNamingService-B5PVRR7F.js.map
14
+ //# sourceMappingURL=BranchNamingService-FLPUUFOB.js.map
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ ClaudeContextManager
4
+ } from "./chunk-6TL3BYH6.js";
5
+ import "./chunk-KVS4XGBQ.js";
6
+ import "./chunk-TIYJEEVO.js";
7
+ import "./chunk-WFQ5CLTR.js";
8
+ import "./chunk-FP7G7DG3.js";
9
+ import "./chunk-6MLEBAYZ.js";
10
+ import "./chunk-VT4PDUYT.js";
11
+ export {
12
+ ClaudeContextManager
13
+ };
14
+ //# sourceMappingURL=ClaudeContextManager-KE5TBZVZ.js.map
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ ClaudeService
4
+ } from "./chunk-KVS4XGBQ.js";
5
+ import "./chunk-TIYJEEVO.js";
6
+ import "./chunk-WFQ5CLTR.js";
7
+ import "./chunk-FP7G7DG3.js";
8
+ import "./chunk-6MLEBAYZ.js";
9
+ import "./chunk-VT4PDUYT.js";
10
+ export {
11
+ ClaudeService
12
+ };
13
+ //# sourceMappingURL=ClaudeService-CRSETT3A.js.map
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  GitHubService
4
- } from "./chunk-3PT7RKL5.js";
5
- import "./chunk-LT3SGBR7.js";
4
+ } from "./chunk-USJSNHGG.js";
5
+ import "./chunk-GCPAZSGV.js";
6
6
  import "./chunk-ZX3GTM7O.js";
7
7
  import "./chunk-6MLEBAYZ.js";
8
8
  import "./chunk-VT4PDUYT.js";
9
9
  export {
10
10
  GitHubService
11
11
  };
12
- //# sourceMappingURL=GitHubService-S2OGUTDR.js.map
12
+ //# sourceMappingURL=GitHubService-O7U4UQ7N.js.map
@@ -4,18 +4,18 @@ import {
4
4
  } from "./chunk-O7VL5N6S.js";
5
5
  import {
6
6
  ClaudeContextManager
7
- } from "./chunk-7WANFUIK.js";
8
- import "./chunk-6U6VI4SZ.js";
9
- import "./chunk-W6WVRHJ6.js";
7
+ } from "./chunk-6TL3BYH6.js";
8
+ import "./chunk-KVS4XGBQ.js";
9
+ import "./chunk-TIYJEEVO.js";
10
10
  import {
11
11
  getExecutablePath
12
12
  } from "./chunk-GYCR2LOU.js";
13
- import "./chunk-F6WVM437.js";
13
+ import "./chunk-WFQ5CLTR.js";
14
14
  import {
15
15
  generateColorFromBranchName,
16
16
  hexToRgb
17
17
  } from "./chunk-433MOLAU.js";
18
- import "./chunk-AEIMYF4P.js";
18
+ import "./chunk-FP7G7DG3.js";
19
19
  import {
20
20
  getLogger
21
21
  } from "./chunk-6MLEBAYZ.js";
@@ -252,4 +252,4 @@ var LoomLauncher = class {
252
252
  export {
253
253
  LoomLauncher
254
254
  };
255
- //# sourceMappingURL=LoomLauncher-5LFM4LXB.js.map
255
+ //# sourceMappingURL=LoomLauncher-NL65LSKP.js.map
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  MetadataManager
4
- } from "./chunk-CFUWQHCJ.js";
4
+ } from "./chunk-VWGKGNJP.js";
5
5
  import "./chunk-6MLEBAYZ.js";
6
6
  import "./chunk-VT4PDUYT.js";
7
7
  export {
8
8
  MetadataManager
9
9
  };
10
- //# sourceMappingURL=MetadataManager-DFI73J3G.js.map
10
+ //# sourceMappingURL=MetadataManager-XJ2YB762.js.map
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ PRManager
4
+ } from "./chunk-EPPPDVHD.js";
5
+ import "./chunk-YETJNRQM.js";
6
+ import "./chunk-GJMEKEI5.js";
7
+ import "./chunk-HBJITKSZ.js";
8
+ import "./chunk-FXDYIV3K.js";
9
+ import "./chunk-GCPAZSGV.js";
10
+ import "./chunk-FP7G7DG3.js";
11
+ import "./chunk-6MLEBAYZ.js";
12
+ import "./chunk-VT4PDUYT.js";
13
+ export {
14
+ PRManager
15
+ };
16
+ //# sourceMappingURL=PRManager-2ABCWXHW.js.map
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ProjectCapabilityDetector
4
- } from "./chunk-ZPSTA5PR.js";
5
- import "./chunk-BXCPJJYM.js";
4
+ } from "./chunk-7GLZVDPQ.js";
5
+ import "./chunk-XPKN3QWY.js";
6
6
  import "./chunk-6MLEBAYZ.js";
7
7
  import "./chunk-VT4PDUYT.js";
8
8
  export {
9
9
  ProjectCapabilityDetector
10
10
  };
11
- //# sourceMappingURL=ProjectCapabilityDetector-S5FLNCFI.js.map
11
+ //# sourceMappingURL=ProjectCapabilityDetector-IA56AUE6.js.map
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  PromptTemplateManager
4
- } from "./chunk-W6WVRHJ6.js";
4
+ } from "./chunk-TIYJEEVO.js";
5
5
  import "./chunk-VT4PDUYT.js";
6
6
  export {
7
7
  PromptTemplateManager
8
8
  };
9
- //# sourceMappingURL=PromptTemplateManager-C3DK6XZL.js.map
9
+ //# sourceMappingURL=PromptTemplateManager-7L3HJQQU.js.map
package/dist/README.md CHANGED
@@ -16,7 +16,7 @@ iloom
16
16
 
17
17
  #### Links to key sections
18
18
 
19
- [How It Works](#how-it-works-the-multi-agent-workflow) • [Installation](#quick-start) • [Configuration](#configuration) • [Advanced Features](#advanced-features) • [Limitations](#system-requirements--limitations)
19
+ [How It Works](#how-it-works-the-multi-agent-workflow) • [Installation](#quick-start) • [Configuration](#configuration) • [Advanced Features](#advanced-features) • [Limitations](#system-requirements--limitations) • [Contributing](#contributing-to-iloom)
20
20
 
21
21
  ## Built For Modern Tools...
22
22
 
@@ -90,17 +90,21 @@ When you run il start, iloom orchestrates specialized AI agents. Each has a spec
90
90
 
91
91
  ### 1. The Agents
92
92
 
93
- Instead of a single generic prompt, iloom uses a pipeline of agents:
93
+ Instead of a single generic prompt, iloom uses a pipeline of specialized agents:
94
+
95
+ * **Enhancer:** Expands brief one-liners into detailed requirements with acceptance criteria.
96
+
97
+ * **Evaluator:** Assesses complexity and routes to the appropriate workflow:
94
98
 
95
- * **Enhancer (iloom-issue-enhancer):** Expands brief one-liners into detailed requirements.
96
-
97
- * **Evaluator (iloom-issue-complexity-evaluator):** Determines the workflow approach:
98
-
99
99
  * **Simple:** Combines analysis and planning into one step for efficiency.
100
-
101
- * **Complex:** Separates deep root-cause analysis from detailed implementation planning.
102
-
103
- * **Implementer:** Executes the plan using the context established in the previous steps.
100
+
101
+ * **Complex:** Separates deep analysis from detailed planning for thorough coverage.
102
+
103
+ * **Analyzer:** Explores the problem space before any code is written. This agent investigates the codebase to understand existing patterns, examines third-party library APIs and capabilities, and researches technical approaches. The result is a comprehensive analysis that informs the planning phase—leading to significantly better implementation plans than jumping straight to code.
104
+
105
+ * **Planner:** Creates an execution plan with parallelization analysis—identifying which steps can run concurrently vs. sequentially. Plans reference specific files and line numbers, making them actionable and precise.
106
+
107
+ * **Implementer:** Executes the plan using the context established in the previous steps. For complex tasks, multiple implementers can run in parallel on independent steps.
104
108
 
105
109
 
106
110
  ### 2. Interactive Control
@@ -137,9 +141,10 @@ Command Reference
137
141
  | **Command** | **Alias** | **Description** |
138
142
  | ------ | ----- | -----|
139
143
  | `il start` | `new` | Create loom, run analysis agents, and launch IDE. |
144
+ | `il commit` | `c` | Commit all files with issue reference (`Refs #N` or `Fixes #N`). |
140
145
  | `il finish` | `dn` | Validate tests/lint, commit, handle conflicts, and merge/PR. |
141
146
  | `il cleanup` | `remove` | Safely remove a loom and its database branch without merging. |
142
- | `il list` | | Show active looms and paths. |
147
+ | `il list` | | Show active looms for current project. `--finished` for archived, `--all` for active + archived, `--global` for looms across all projects. |
143
148
  | `il projects` | | List configured projects (JSON output). |
144
149
  | `il spin` | | Launch Claude inside the current loom with context auto-detected. |
145
150
  | `il open` | `run` | Open loom in browser (web) or run your CLI tool. |
@@ -149,6 +154,7 @@ Command Reference
149
154
  | `il test` | | Run the test script for a workspace. |
150
155
  | `il compile` | `typecheck` | Run the compile or typecheck script for a workspace. |
151
156
  | `il add-issue` | `a` | Create and AI-enhance a new issue without starting work yet. |
157
+ | `il contribute` | | Fork, clone, and set up a GitHub repo for contribution (defaults to iloom-cli). |
152
158
  | `il init` | `config` | Interactive configuration wizard. |
153
159
  | `il feedback` | `f` | Submit bug reports/feedback directly from the CLI. |
154
160
  | `il update` | | Update iloom CLI to the latest version. |
@@ -470,16 +476,23 @@ This is an early-stage product.
470
476
 
471
477
  See all [known limitations](https://github.com/iloom-ai/iloom-cli/issues?q=is:issue+is:open+label:known-limitation) on GitHub. If you're feeling left out - you're absolutely right! The best way to complain about something is to fix it. So...
472
478
 
473
- Contributing
474
- ------------
479
+ Contributing to iloom
480
+ ---------------------
475
481
 
476
- We (Claude and I) welcome contributions! We've made it easy to get started — iloom can even set up its own dev environment.
482
+ We (Claude and I) welcome contributions! iloom can set up its own dev environment:
477
483
 
478
484
  ```bash
479
- iloom contribute # Handles forking, cloning, and setting up the dev environment automatically.
485
+ iloom contribute # Handles forking, cloning, and dev setup automatically
480
486
  ```
481
487
 
482
- You can also use `iloom contribute` to set up any GitHub repository for contribution:
488
+ **PR Requirements:** All PRs should be created with iloom or include detailed context. If you're not using iloom, please provide equivalent detail explaining your approach and reasoning.
489
+
490
+ New contributors should start with issues labeled [starter-task](https://github.com/iloom-ai/iloom-cli/issues?q=is%3Aissue+is%3Aopen+label%3Astarter-task). For details, see our [Contributing Guide](CONTRIBUTING.md).
491
+
492
+ Contributing to Open Source
493
+ ---------------------------
494
+
495
+ iloom streamlines the fork → clone → setup → PR workflow for any GitHub repository:
483
496
 
484
497
  ```bash
485
498
  # Full URL format
@@ -492,9 +505,13 @@ iloom contribute "github.com/n8n-io/n8n"
492
505
  iloom contribute "n8n-io/n8n"
493
506
  ```
494
507
 
495
- **All PRs should be created with iloom or include detailed context.** When you run `iloom contribute`, it configures iloom to create a draft PR as soon as you start work. As you work, iloom posts the AI's analysis, implementation plan, and progress directly to that draft PR—giving reviewers full context before the code is even ready for review. If you're not using iloom, please provide equivalent detail in your PR.
508
+ This command:
509
+ 1. Forks the repository (if not already forked)
510
+ 2. Clones your fork locally
511
+ 3. Configures iloom for the project
512
+ 4. Sets merge behavior to `github-draft-pr` (creates a draft PR immediately when you start work)
496
513
 
497
- New contributors should start with issues labeled [starter-task](https://github.com/iloom-ai/iloom-cli/issues?q=is%3Aissue+is%3Aopen+label%3Astarter-task). For details, see our [Contributing Guide](CONTRIBUTING.md).
514
+ The draft PR workflow is ideal for open source: as you work, iloom posts the AI's analysis, implementation plan, and progress directly to that draft PR—giving maintainers full context before the code is even ready for review.
498
515
 
499
516
  License & Name
500
517
  --------------
@@ -14,7 +14,7 @@ import {
14
14
  WorkflowPermissionSchemaNoDefaults,
15
15
  WorkflowsSettingsSchema,
16
16
  WorkflowsSettingsSchemaNoDefaults
17
- } from "./chunk-F6WVM437.js";
17
+ } from "./chunk-WFQ5CLTR.js";
18
18
  import "./chunk-VT4PDUYT.js";
19
19
  export {
20
20
  AgentSettingsSchema,
@@ -32,4 +32,4 @@ export {
32
32
  WorkflowsSettingsSchema,
33
33
  WorkflowsSettingsSchemaNoDefaults
34
34
  };
35
- //# sourceMappingURL=SettingsManager-35F5RUJH.js.map
35
+ //# sourceMappingURL=SettingsManager-YU4VYPTW.js.map
@@ -8,12 +8,57 @@ model: sonnet
8
8
 
9
9
  You are Claude, a framework detection specialist. Your task is to analyze a project's structure and generate appropriate install/build/test/dev scripts for iloom.
10
10
 
11
- **Your Core Mission**: Detect the project's programming language and framework, then create `.iloom/package.iloom.json` with appropriate shell commands for install, build, test, and development workflows.
11
+ **Your Core Mission**: Detect the project's programming language and framework, then create the appropriate iloom package configuration file with shell commands for install, build, test, and development workflows.
12
12
 
13
13
  **Key Distinction:**
14
14
  - `install` - Installs dependencies (runs during loom creation and post-merge)
15
15
  - `build` - Compiles/builds the project (for compiled languages or asset compilation)
16
16
 
17
+ ---
18
+
19
+ ## 🍴 FORK CHECK - DO THIS FIRST (Before Any File Decisions)
20
+
21
+ **CRITICAL: Before creating ANY configuration file, check if this is a fork.**
22
+
23
+ ### Step 0: Detect Fork Pattern
24
+
25
+ Run this check FIRST, before any other detection work:
26
+
27
+ ```bash
28
+ git remote -v 2>/dev/null | grep -E '^(origin|upstream)\s' | awk '{print $1}' | sort -u
29
+ ```
30
+
31
+ **If BOTH `origin` AND `upstream` are present → This is a FORK**
32
+
33
+ ### Fork Mode Behavior
34
+
35
+ When fork is detected:
36
+
37
+ 1. **Default to `.iloom/package.iloom.local.json`** (NOT `package.iloom.json`)
38
+ 2. **Inform the user immediately:**
39
+ ```
40
+ 🍴 Fork Detected (origin + upstream remotes)
41
+
42
+ For fork contributors, iloom configuration should be saved to LOCAL files
43
+ to prevent your personal settings from appearing in PRs to upstream.
44
+
45
+ Recommendation: Save to `.iloom/package.iloom.local.json`
46
+ - This file is globally gitignored
47
+ - Won't appear in your PRs to upstream
48
+ - Local scripts merge with package.iloom.json (local takes precedence)
49
+
50
+ If the upstream project already has package.iloom.json, your local file
51
+ will override/extend those scripts for your environment only.
52
+ ```
53
+
54
+ 3. **Proceed with detection** but write to the local file by default
55
+
56
+ ### Non-Fork Behavior
57
+
58
+ If only `origin` exists (or no upstream), proceed normally with `package.iloom.json`.
59
+
60
+ ---
61
+
17
62
  ## Core Workflow
18
63
 
19
64
  ### Step 1: Scan for Language Markers
@@ -299,18 +344,37 @@ Create `.iloom/package.iloom.json` with appropriate scripts and capabilities bas
299
344
 
300
345
  ### Step 4: Write the File
301
346
 
302
- 1. Read `.iloom/package.iloom.json` first to check if it already exists
303
- 2. **If the file exists:**
347
+ **⚠️ CHECKPOINT: Verify fork status from Step 0 before proceeding.**
348
+
349
+ If fork was detected (both `origin` and `upstream` remotes exist):
350
+ - Default target file: `.iloom/package.iloom.local.json`
351
+ - This prevents personal config from appearing in PRs to upstream
352
+
353
+ If NOT a fork:
354
+ - Default target file: `.iloom/package.iloom.json`
355
+
356
+ **Writing Process:**
357
+
358
+ 1. **Determine target file** based on fork status (see above)
359
+ 2. Read the target file first to check if it already exists
360
+ 3. **If the file exists:**
304
361
  - Compare existing configuration with detected configuration
305
362
  - Preserve existing scripts (user may have customized them)
306
363
  - Only add missing scripts that were detected
307
364
  - Preserve existing capabilities, add any missing ones
308
365
  - Preserve any other existing fields (like `_metadata`)
309
- 3. **If the file does not exist:**
366
+ 4. **If the file does not exist:**
310
367
  - Create the full detected configuration
311
- 4. Ensure `.iloom/` directory exists
312
- 5. Write the merged/new JSON to `.iloom/package.iloom.json`
313
- 6. Report what was detected and what changes were made (if any)
368
+ 5. Ensure `.iloom/` directory exists
369
+ 6. Write the merged/new JSON to the target file
370
+ 7. Report what was detected, which file was written, and what changes were made (if any)
371
+
372
+ **File Selection Summary:**
373
+ | Scenario | Target File | Reason |
374
+ |----------|-------------|--------|
375
+ | Fork detected (origin + upstream) | `package.iloom.local.json` | Keeps PRs clean, gitignored globally |
376
+ | Direct contributor (origin only) | `package.iloom.json` | Shared team configuration |
377
+ | User explicitly requests shared | `package.iloom.json` | User override (even for forks) |
314
378
 
315
379
  ## Output Format
316
380
 
@@ -324,8 +388,9 @@ Detected:
324
388
  - Framework: [framework or "None detected"]
325
389
  - Package Manager: [package manager]
326
390
  - Capabilities: [cli, web, or none]
391
+ - Fork Status: [Yes (origin + upstream) | No]
327
392
 
328
- Created: .iloom/package.iloom.json
393
+ Created: .iloom/[package.iloom.json OR package.iloom.local.json]
329
394
 
330
395
  Configuration:
331
396
  - capabilities: [list of detected capabilities]
@@ -334,7 +399,11 @@ Configuration:
334
399
  - test: [command]
335
400
  - dev: [command]
336
401
 
337
- You can customize these settings by editing .iloom/package.iloom.json.
402
+ [If fork]: This configuration was saved to the LOCAL file (package.iloom.local.json)
403
+ because you're working on a fork. This prevents your iloom settings
404
+ from appearing in PRs to upstream.
405
+
406
+ You can customize these settings by editing .iloom/[filename].
338
407
  ```
339
408
 
340
409
  ## Error Handling
@@ -35,7 +35,7 @@ The recap panel helps users stay oriented without reading all your output. Captu
35
35
 
36
36
  ### Step 1: Fetch the Issue
37
37
 
38
- Read the issue thoroughly using the MCP tool `mcp__issue_management__get_issue` with `{ number: ISSUE_NUMBER, includeComments: true }`. This returns the issue body, title, comments, labels, assignees, and other metadata.
38
+ Read the issue thoroughly using the MCP tool `mcp__issue_management__get_issue` with `{ number: {{ISSUE_NUMBER}}, includeComments: true }`. This returns the issue body, title, comments, labels, assignees, and other metadata.
39
39
 
40
40
  Extract:
41
41
  - The complete issue body for context
@@ -225,9 +225,9 @@ Available Tools:
225
225
  Parameters: { commentId: string, number: string }
226
226
  Returns: { id, body, author, created_at, ... }
227
227
 
228
- {{#IF DRAFT_PR_MODE}}- mcp__issue_management__create_comment: Create a new comment on PR DRAFT_PR_NUMBER
229
- Parameters: { number: string, body: "markdown content", type: "pr" }{{/IF DRAFT_PR_MODE}}{{#IF STANDARD_ISSUE_MODE}}- mcp__issue_management__create_comment: Create a new comment on issue ISSUE_NUMBER
230
- Parameters: { number: string, body: "markdown content", type: "issue" }{{/IF STANDARD_ISSUE_MODE}}
228
+ {{#if DRAFT_PR_MODE}}- mcp__issue_management__create_comment: Create a new comment on PR {{DRAFT_PR_NUMBER}}
229
+ Parameters: { number: string, body: "markdown content", type: "pr" }{{/if}}{{#if STANDARD_ISSUE_MODE}}- mcp__issue_management__create_comment: Create a new comment on issue {{ISSUE_NUMBER}}
230
+ Parameters: { number: string, body: "markdown content", type: "issue" }{{/if}}
231
231
  Returns: { id: string, url: string, created_at: string }
232
232
 
233
233
  - mcp__issue_management__update_comment: Update an existing comment
@@ -250,15 +250,15 @@ Workflow Comment Strategy:
250
250
  Example Usage:
251
251
  ```
252
252
  // Start
253
- {{#IF DRAFT_PR_MODE}}const comment = await mcp__issue_management__create_comment({
254
- number: DRAFT_PR_NUMBER,
253
+ {{#if DRAFT_PR_MODE}}const comment = await mcp__issue_management__create_comment({
254
+ number: {{DRAFT_PR_NUMBER}},
255
255
  body: "# Combined Analysis and Planning\n\n- [ ] Perform lightweight analysis\n- [ ] Create implementation plan",
256
256
  type: "pr"
257
- }){{/IF DRAFT_PR_MODE}}{{#IF STANDARD_ISSUE_MODE}}const comment = await mcp__issue_management__create_comment({
258
- number: ISSUE_NUMBER,
257
+ }){{/if}}{{#if STANDARD_ISSUE_MODE}}const comment = await mcp__issue_management__create_comment({
258
+ number: {{ISSUE_NUMBER}},
259
259
  body: "# Combined Analysis and Planning\n\n- [ ] Perform lightweight analysis\n- [ ] Create implementation plan",
260
260
  type: "issue"
261
- }){{/IF STANDARD_ISSUE_MODE}}
261
+ }){{/if}}
262
262
 
263
263
  // Log the comment as an artifact
264
264
  await mcp__recap__add_artifact({
@@ -268,15 +268,15 @@ await mcp__recap__add_artifact({
268
268
  })
269
269
 
270
270
  // Update as you progress
271
- {{#IF DRAFT_PR_MODE}}await mcp__issue_management__update_comment({
271
+ {{#if DRAFT_PR_MODE}}await mcp__issue_management__update_comment({
272
272
  commentId: comment.id,
273
- number: DRAFT_PR_NUMBER,
273
+ number: {{DRAFT_PR_NUMBER}},
274
274
  body: "# Combined Analysis and Planning\n\n- [x] Perform lightweight analysis\n- [ ] Create implementation plan"
275
- }){{/IF DRAFT_PR_MODE}}{{#IF STANDARD_ISSUE_MODE}}await mcp__issue_management__update_comment({
275
+ }){{/if}}{{#if STANDARD_ISSUE_MODE}}await mcp__issue_management__update_comment({
276
276
  commentId: comment.id,
277
- number: ISSUE_NUMBER,
277
+ number: {{ISSUE_NUMBER}},
278
278
  body: "# Combined Analysis and Planning\n\n- [x] Perform lightweight analysis\n- [ ] Create implementation plan"
279
- }){{/IF STANDARD_ISSUE_MODE}}
279
+ }){{/if}}
280
280
  ```
281
281
  </comment_tool_info>
282
282
 
@@ -449,9 +449,15 @@ If structure is >5 lines:
449
449
 
450
450
  ### Detailed Execution Order
451
451
 
452
- #### Phase 1: [Phase Name]
453
- 1. [Action with file:line reference] → Verify: [Expected outcome]
454
- 2. [Next action] → Verify: [Expected outcome]
452
+ **NOTE:** These steps are executed in a SINGLE implementation run. The implementer follows them sequentially - do NOT create separate agent invocations for each step.
453
+
454
+ 1. **[Step Name]**
455
+ - Files: `/path/to/file1.ts`, `/path/to/file2.ts`
456
+ - [Action with file:line reference] → Verify: [Expected outcome]
457
+
458
+ 2. **[Step Name]**
459
+ - Files: `/path/to/file3.ts`
460
+ - [Action with file:line reference] → Verify: [Expected outcome]
455
461
 
456
462
  [Continue - keep brief, one line per step...]
457
463
 
@@ -692,3 +698,22 @@ Your success is measured by:
692
698
  Remember: You are handling a SIMPLE task that has been carefully classified. Perform lightweight analysis followed by detailed planning, combining what would normally be two separate phases into one streamlined workflow. Keep Section 1 brief for human decision-makers, Section 2 complete for implementers.
693
699
 
694
700
  **HOWEVER**: If you discover cross-cutting complexity during analysis (parameters flowing through 3+ layers), immediately escalate to COMPLEX workflow rather than attempting to complete the planning. Your early detection prevents implementation failures.
701
+
702
+ ## Returning the Plan to the Caller
703
+
704
+ After posting the planning comment to the issue, you MUST return the plan details to the caller in your final response.
705
+
706
+ **Required format for your final response:**
707
+
708
+ ```
709
+ ## Plan for Caller
710
+
711
+ Comment ID: [COMMENT_ID]
712
+ Comment URL: [FULL_URL_WITH_COMMENT_ID]
713
+
714
+ ## Execution Plan
715
+
716
+ 1. Run implementation
717
+ ```
718
+
719
+ The orchestrator will use the Comment ID to tell the implementer where to find the plan, and parse the Execution Plan to determine execution (for SIMPLE tasks, this is always a single step).