@iloom/cli 0.8.2 → 0.9.0

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 (160) 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/{LoomLauncher-NHZMEVTQ.js → LoomLauncher-3I47SUPV.js} +6 -6
  7. package/dist/{ProjectCapabilityDetector-IA56AUE6.js → ProjectCapabilityDetector-N5L7T4IY.js} +3 -3
  8. package/dist/PromptTemplateManager-36YLQRHP.js +11 -0
  9. package/dist/README.md +50 -4
  10. package/dist/{SettingsManager-VCVLL32H.js → SettingsManager-QR7V2IW2.js} +2 -2
  11. package/dist/agents/iloom-artifact-reviewer.md +280 -0
  12. package/dist/agents/iloom-code-reviewer.md +9 -7
  13. package/dist/agents/iloom-issue-analyze-and-plan.md +21 -6
  14. package/dist/agents/iloom-issue-analyzer.md +21 -6
  15. package/dist/agents/iloom-issue-complexity-evaluator.md +21 -6
  16. package/dist/agents/iloom-issue-enhancer.md +21 -6
  17. package/dist/agents/iloom-issue-implementer.md +21 -6
  18. package/dist/agents/iloom-issue-planner.md +21 -6
  19. package/dist/{build-Z3WCIKPD.js → build-IC4CJRMP.js} +8 -8
  20. package/dist/{chunk-TVH67KEO.js → chunk-2HZX6AMR.js} +2 -2
  21. package/dist/{chunk-VZYSM7N7.js → chunk-2JPXGGP4.js} +20 -15
  22. package/dist/chunk-2JPXGGP4.js.map +1 -0
  23. package/dist/{chunk-HSGZW3ID.js → chunk-4GAJJUYS.js} +3 -3
  24. package/dist/chunk-4GAJJUYS.js.map +1 -0
  25. package/dist/{chunk-RD7I2Q2F.js → chunk-4LKGCFGG.js} +2 -2
  26. package/dist/{chunk-SSASIBDJ.js → chunk-5LVVQGB3.js} +5 -5
  27. package/dist/{chunk-GWONJE3X.js → chunk-6Y3FTRJL.js} +189 -48
  28. package/dist/chunk-6Y3FTRJL.js.map +1 -0
  29. package/dist/{chunk-4BSXZ5YZ.js → chunk-B7U6OKUR.js} +5 -24
  30. package/dist/chunk-B7U6OKUR.js.map +1 -0
  31. package/dist/{chunk-IGKPPACU.js → chunk-FO5GGFOV.js} +17 -8
  32. package/dist/chunk-FO5GGFOV.js.map +1 -0
  33. package/dist/{chunk-GDS2HXSW.js → chunk-H6ST2TGP.js} +20 -3
  34. package/dist/chunk-H6ST2TGP.js.map +1 -0
  35. package/dist/{chunk-A7XHHUEV.js → chunk-HZXBHMVM.js} +47 -22
  36. package/dist/chunk-HZXBHMVM.js.map +1 -0
  37. package/dist/{chunk-44Y5IF7P.js → chunk-I23OQB4Y.js} +5 -5
  38. package/dist/chunk-JT5LZRMI.js +302 -0
  39. package/dist/chunk-JT5LZRMI.js.map +1 -0
  40. package/dist/{chunk-Q457PKGH.js → chunk-KAYXR544.js} +2 -2
  41. package/dist/{chunk-XU5A6BWA.js → chunk-MZPRBNYC.js} +4 -4
  42. package/dist/{chunk-XHNACIHO.js → chunk-NTTSUAVM.js} +2 -2
  43. package/dist/{chunk-PLI3JQWT.js → chunk-OAVJR4PM.js} +2 -2
  44. package/dist/{chunk-4KGRPHM6.js → chunk-PL2FDYEK.js} +2 -2
  45. package/dist/chunk-QN47QVBX.js +131 -0
  46. package/dist/chunk-QN47QVBX.js.map +1 -0
  47. package/dist/{chunk-3FC3VNEX.js → chunk-RD7OPXZK.js} +34 -8
  48. package/dist/chunk-RD7OPXZK.js.map +1 -0
  49. package/dist/{chunk-O6LECMT6.js → chunk-TGRK3CHF.js} +8 -8
  50. package/dist/{chunk-7GLZVDPQ.js → chunk-TL72BGP6.js} +2 -2
  51. package/dist/{chunk-52MVUK5V.js → chunk-USSL2X4A.js} +2 -2
  52. package/dist/chunk-USSL2X4A.js.map +1 -0
  53. package/dist/{chunk-XPKN3QWY.js → chunk-VOGGLPG5.js} +1 -2
  54. package/dist/{chunk-IWIIOFEB.js → chunk-XFEK2X2D.js} +16 -6
  55. package/dist/chunk-XFEK2X2D.js.map +1 -0
  56. package/dist/{chunk-PBSHQVCT.js → chunk-Z6F5CUS6.js} +4 -4
  57. package/dist/{claude-V4HRPR4Z.js → claude-TP2QO3BU.js} +2 -2
  58. package/dist/{cleanup-NWNKWPUY.js → cleanup-M6N7KV7E.js} +20 -15
  59. package/dist/{cleanup-NWNKWPUY.js.map → cleanup-M6N7KV7E.js.map} +1 -1
  60. package/dist/cli.js +118 -84
  61. package/dist/cli.js.map +1 -1
  62. package/dist/{commit-534QIRHY.js → commit-ORHR53KW.js} +10 -10
  63. package/dist/{compile-UANHMNTS.js → compile-EOWJORKO.js} +8 -8
  64. package/dist/{contribute-7USRBWRM.js → contribute-4KCEOHSH.js} +3 -3
  65. package/dist/{dev-server-TO7RLYJI.js → dev-server-Q6M62ATG.js} +13 -13
  66. package/dist/{feedback-7ZZI6RC5.js → feedback-XRI7SGYX.js} +11 -11
  67. package/dist/{git-GUNOPP4Q.js → git-W3XUIFTR.js} +5 -3
  68. package/dist/hooks/iloom-hook.js +5 -3
  69. package/dist/{ignite-5SIGOW5V.js → ignite-3FHQY23X.js} +90 -26
  70. package/dist/ignite-3FHQY23X.js.map +1 -0
  71. package/dist/index.d.ts +37 -2
  72. package/dist/index.js +49 -13
  73. package/dist/index.js.map +1 -1
  74. package/dist/{chunk-FPNSFP6K.js → init-ALYWKNWG.js} +42 -329
  75. package/dist/init-ALYWKNWG.js.map +1 -0
  76. package/dist/{lint-XPODLDVA.js → lint-IHUH45OC.js} +8 -8
  77. package/dist/{open-M2SUR74Y.js → open-KWOV2OFO.js} +15 -15
  78. package/dist/{plan-FB4AOJ2Q.js → plan-P6MXL7AU.js} +54 -22
  79. package/dist/plan-P6MXL7AU.js.map +1 -0
  80. package/dist/{projects-325GEEGJ.js → projects-LH362JZQ.js} +3 -3
  81. package/dist/prompts/init-prompt.txt +9 -1
  82. package/dist/prompts/issue-prompt.txt +315 -5
  83. package/dist/prompts/plan-prompt.txt +4 -6
  84. package/dist/prompts/pr-prompt.txt +79 -0
  85. package/dist/prompts/regular-prompt.txt +210 -5
  86. package/dist/{rebase-4FNRBW3H.js → rebase-AJOJOZUG.js} +9 -9
  87. package/dist/{recap-GSXFEOD6.js → recap-GKJXMDXW.js} +5 -5
  88. package/dist/{run-GZNHRJB2.js → run-QEUVZF7J.js} +15 -15
  89. package/dist/schema/settings.schema.json +9 -1
  90. package/dist/{shell-2SPM3Z5O.js → shell-DAAVG4YN.js} +5 -5
  91. package/dist/{summary-Z4F7YFXE.js → summary-WNEYCO4S.js} +11 -11
  92. package/dist/{test-LBSPYIJW.js → test-5GPWWO3P.js} +8 -8
  93. package/dist/{test-git-ZPSPA2TP.js → test-git-EJUKDB7F.js} +3 -3
  94. package/dist/{test-prefix-6DLB2BHE.js → test-prefix-23TOBUXY.js} +3 -3
  95. package/dist/{test-webserver-XLJ2TZFP.js → test-webserver-CKROHFBQ.js} +5 -5
  96. package/dist/{vscode-LH3VSQ2W.js → vscode-6TOLFCI2.js} +5 -5
  97. package/package.json +2 -2
  98. package/dist/ClaudeContextManager-RDP6CLK6.js +0 -14
  99. package/dist/ClaudeService-FKPOQRA4.js +0 -13
  100. package/dist/PRManager-A63LT3NF.js +0 -16
  101. package/dist/PromptTemplateManager-OUYDHOPI.js +0 -9
  102. package/dist/chunk-3FC3VNEX.js.map +0 -1
  103. package/dist/chunk-4BSXZ5YZ.js.map +0 -1
  104. package/dist/chunk-52MVUK5V.js.map +0 -1
  105. package/dist/chunk-66QOCD5N.js +0 -79
  106. package/dist/chunk-66QOCD5N.js.map +0 -1
  107. package/dist/chunk-A7XHHUEV.js.map +0 -1
  108. package/dist/chunk-FPNSFP6K.js.map +0 -1
  109. package/dist/chunk-GDS2HXSW.js.map +0 -1
  110. package/dist/chunk-GWONJE3X.js.map +0 -1
  111. package/dist/chunk-HSGZW3ID.js.map +0 -1
  112. package/dist/chunk-IGKPPACU.js.map +0 -1
  113. package/dist/chunk-IWIIOFEB.js.map +0 -1
  114. package/dist/chunk-VZYSM7N7.js.map +0 -1
  115. package/dist/git-GUNOPP4Q.js.map +0 -1
  116. package/dist/ignite-5SIGOW5V.js.map +0 -1
  117. package/dist/init-XXDIB2UJ.js +0 -21
  118. package/dist/init-XXDIB2UJ.js.map +0 -1
  119. package/dist/plan-FB4AOJ2Q.js.map +0 -1
  120. /package/dist/{BranchNamingService-AO7BPIUJ.js.map → BranchNamingService-K6XNWQ6C.js.map} +0 -0
  121. /package/dist/{ClaudeContextManager-RDP6CLK6.js.map → ClaudeContextManager-X2Y72GRL.js.map} +0 -0
  122. /package/dist/{ClaudeService-FKPOQRA4.js.map → ClaudeService-7P32TTES.js.map} +0 -0
  123. /package/dist/{LoomLauncher-NHZMEVTQ.js.map → LoomLauncher-3I47SUPV.js.map} +0 -0
  124. /package/dist/{PRManager-A63LT3NF.js.map → ProjectCapabilityDetector-N5L7T4IY.js.map} +0 -0
  125. /package/dist/{ProjectCapabilityDetector-IA56AUE6.js.map → PromptTemplateManager-36YLQRHP.js.map} +0 -0
  126. /package/dist/{PromptTemplateManager-OUYDHOPI.js.map → SettingsManager-QR7V2IW2.js.map} +0 -0
  127. /package/dist/{build-Z3WCIKPD.js.map → build-IC4CJRMP.js.map} +0 -0
  128. /package/dist/{chunk-TVH67KEO.js.map → chunk-2HZX6AMR.js.map} +0 -0
  129. /package/dist/{chunk-RD7I2Q2F.js.map → chunk-4LKGCFGG.js.map} +0 -0
  130. /package/dist/{chunk-SSASIBDJ.js.map → chunk-5LVVQGB3.js.map} +0 -0
  131. /package/dist/{chunk-44Y5IF7P.js.map → chunk-I23OQB4Y.js.map} +0 -0
  132. /package/dist/{chunk-Q457PKGH.js.map → chunk-KAYXR544.js.map} +0 -0
  133. /package/dist/{chunk-XU5A6BWA.js.map → chunk-MZPRBNYC.js.map} +0 -0
  134. /package/dist/{chunk-XHNACIHO.js.map → chunk-NTTSUAVM.js.map} +0 -0
  135. /package/dist/{chunk-PLI3JQWT.js.map → chunk-OAVJR4PM.js.map} +0 -0
  136. /package/dist/{chunk-4KGRPHM6.js.map → chunk-PL2FDYEK.js.map} +0 -0
  137. /package/dist/{chunk-O6LECMT6.js.map → chunk-TGRK3CHF.js.map} +0 -0
  138. /package/dist/{chunk-7GLZVDPQ.js.map → chunk-TL72BGP6.js.map} +0 -0
  139. /package/dist/{chunk-XPKN3QWY.js.map → chunk-VOGGLPG5.js.map} +0 -0
  140. /package/dist/{chunk-PBSHQVCT.js.map → chunk-Z6F5CUS6.js.map} +0 -0
  141. /package/dist/{SettingsManager-VCVLL32H.js.map → claude-TP2QO3BU.js.map} +0 -0
  142. /package/dist/{commit-534QIRHY.js.map → commit-ORHR53KW.js.map} +0 -0
  143. /package/dist/{compile-UANHMNTS.js.map → compile-EOWJORKO.js.map} +0 -0
  144. /package/dist/{contribute-7USRBWRM.js.map → contribute-4KCEOHSH.js.map} +0 -0
  145. /package/dist/{dev-server-TO7RLYJI.js.map → dev-server-Q6M62ATG.js.map} +0 -0
  146. /package/dist/{feedback-7ZZI6RC5.js.map → feedback-XRI7SGYX.js.map} +0 -0
  147. /package/dist/{claude-V4HRPR4Z.js.map → git-W3XUIFTR.js.map} +0 -0
  148. /package/dist/{lint-XPODLDVA.js.map → lint-IHUH45OC.js.map} +0 -0
  149. /package/dist/{open-M2SUR74Y.js.map → open-KWOV2OFO.js.map} +0 -0
  150. /package/dist/{projects-325GEEGJ.js.map → projects-LH362JZQ.js.map} +0 -0
  151. /package/dist/{rebase-4FNRBW3H.js.map → rebase-AJOJOZUG.js.map} +0 -0
  152. /package/dist/{recap-GSXFEOD6.js.map → recap-GKJXMDXW.js.map} +0 -0
  153. /package/dist/{run-GZNHRJB2.js.map → run-QEUVZF7J.js.map} +0 -0
  154. /package/dist/{shell-2SPM3Z5O.js.map → shell-DAAVG4YN.js.map} +0 -0
  155. /package/dist/{summary-Z4F7YFXE.js.map → summary-WNEYCO4S.js.map} +0 -0
  156. /package/dist/{test-LBSPYIJW.js.map → test-5GPWWO3P.js.map} +0 -0
  157. /package/dist/{test-git-ZPSPA2TP.js.map → test-git-EJUKDB7F.js.map} +0 -0
  158. /package/dist/{test-prefix-6DLB2BHE.js.map → test-prefix-23TOBUXY.js.map} +0 -0
  159. /package/dist/{test-webserver-XLJ2TZFP.js.map → test-webserver-CKROHFBQ.js.map} +0 -0
  160. /package/dist/{vscode-LH3VSQ2W.js.map → vscode-6TOLFCI2.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: 2030-01-30
23
+ Change Date: 2030-02-06
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
@@ -9,7 +9,7 @@ iloom
9
9
 
10
10
  </div>
11
11
 
12
- > **VS Code extension now available!** Run `il vscode` to install. Get the recap panel to see AI decisions, risks, and assumptions in real-time, plus the loom explorer to manage and switch between active projects and tasks.
12
+ > **[VS Code extension](https://marketplace.visualstudio.com/items?itemName=iloom-ai.iloom-vscode) now available!** Run `il vscode` to install. Get the recap panel to see AI decisions, risks, and assumptions in real-time, plus the loom explorer to manage and switch between active projects and tasks.
13
13
 
14
14
  <div align="center">
15
15
  <img width="600" alt="iloom-ai-screenshot" src="https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/assets/iloom-screenshot.png" />
@@ -112,8 +112,10 @@ Instead of a single generic prompt, iloom uses a pipeline of specialized agents:
112
112
  You are in the loop at every stage. You can review the AI's analysis, edit the plan in GitHub/Linear, and adjust course before implementation begins.
113
113
 
114
114
  * **Default Mode:** You approve each phase (Enhance → Plan → Implement).
115
-
116
- * **--one-shot Mode:** Feeling lucky? Automate the entire pipeline from start to finish without prompts.
115
+
116
+ * **--one-shot Mode:** Automate the pipeline with different levels of control.
117
+
118
+ * **--yolo Mode:** Feeling lucky? Shorthand for `--one-shot=bypassPermissions` - full automation without prompts.
117
119
 
118
120
 
119
121
  ### 3. The Environment
@@ -370,6 +372,50 @@ Control how `il finish` handles your work. Configure in `.iloom/settings.json`:
370
372
  | `github-pr` | Push branch and create a GitHub PR on `il finish`. Worktree cleanup is optional. |
371
373
  | `github-draft-pr` | Create a draft PR immediately on `il start`. On `il finish`, the PR is marked ready for review. **Recommended for contributions to forked repos.** |
372
374
 
375
+ ### Artifact Review
376
+
377
+ iloom can optionally review workflow artifacts (enhancements, analyses, implementation plans) before posting them to issues. This helps catch quality issues early and ensures artifacts meet project standards.
378
+
379
+ **Supported Agents for Review:**
380
+
381
+ | Agent | Artifact Type |
382
+ |-------|---------------|
383
+ | `iloom-issue-enhancer` | Issue enhancements |
384
+ | `iloom-issue-analyzer` | Technical analyses |
385
+ | `iloom-issue-planner` | Implementation plans |
386
+ | `iloom-issue-analyze-and-plan` | Combined analysis and plans |
387
+ | `iloom-issue-implementer` | Implementation summaries |
388
+ | `iloom-issue-complexity-evaluator` | Complexity assessments |
389
+
390
+ **Configuration:**
391
+
392
+ ```json
393
+ {
394
+ "agents": {
395
+ "iloom-artifact-reviewer": {
396
+ "enabled": true,
397
+ "providers": {
398
+ "claude": "sonnet",
399
+ "gemini": "gemini-3-pro-preview"
400
+ }
401
+ },
402
+ "iloom-issue-planner": {
403
+ "review": true
404
+ },
405
+ "iloom-issue-analyzer": {
406
+ "review": true
407
+ }
408
+ }
409
+ }
410
+ ```
411
+
412
+ - `iloom-artifact-reviewer.providers`: Configure which AI providers to use for review (claude, gemini, codex)
413
+ - `review: true` on workflow agents: Enable artifact review for that agent's output
414
+
415
+ When review is enabled, the artifact reviewer validates quality and completeness against artifact-specific criteria before posting. If issues are found, you can choose to revise or proceed.
416
+
417
+ **Tip:** For high-stakes projects, enable review on `iloom-issue-planner` to catch issues in implementation plans before development begins.
418
+
373
419
  ### Rebase Conflict Resolution
374
420
 
375
421
  When `il finish` or `il rebase` encounter rebase conflicts, iloom automatically launches Claude to help resolve them. During conflict resolution, the following git commands are **auto-approved** so Claude can work efficiently without requiring manual permission for each command:
@@ -554,7 +600,7 @@ License & Name
554
600
 
555
601
  * ❌ You cannot resell iloom itself as a product or SaaS.
556
602
 
557
- * Converts to Apache 2.0 on 2030-01-30.
603
+ * Converts to Apache 2.0 on 2030-02-06.
558
604
 
559
605
 
560
606
  See [LICENSE](https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/LICENSE) for complete terms.
@@ -3,7 +3,7 @@ import {
3
3
  ClaudeBranchNameStrategy,
4
4
  DefaultBranchNamingService,
5
5
  SimpleBranchNameStrategy
6
- } from "./chunk-Q457PKGH.js";
6
+ } from "./chunk-KAYXR544.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-AO7BPIUJ.js.map
14
+ //# sourceMappingURL=BranchNamingService-K6XNWQ6C.js.map
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ ClaudeContextManager
4
+ } from "./chunk-OAVJR4PM.js";
5
+ import "./chunk-MZPRBNYC.js";
6
+ import "./chunk-QN47QVBX.js";
7
+ import "./chunk-XFEK2X2D.js";
8
+ import "./chunk-FO5GGFOV.js";
9
+ import "./chunk-6MLEBAYZ.js";
10
+ import "./chunk-VT4PDUYT.js";
11
+ export {
12
+ ClaudeContextManager
13
+ };
14
+ //# sourceMappingURL=ClaudeContextManager-X2Y72GRL.js.map
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ ClaudeService
4
+ } from "./chunk-MZPRBNYC.js";
5
+ import "./chunk-QN47QVBX.js";
6
+ import "./chunk-XFEK2X2D.js";
7
+ import "./chunk-FO5GGFOV.js";
8
+ import "./chunk-6MLEBAYZ.js";
9
+ import "./chunk-VT4PDUYT.js";
10
+ export {
11
+ ClaudeService
12
+ };
13
+ //# sourceMappingURL=ClaudeService-7P32TTES.js.map
@@ -4,18 +4,18 @@ import {
4
4
  } from "./chunk-O7VL5N6S.js";
5
5
  import {
6
6
  ClaudeContextManager
7
- } from "./chunk-PLI3JQWT.js";
8
- import "./chunk-XU5A6BWA.js";
9
- import "./chunk-66QOCD5N.js";
7
+ } from "./chunk-OAVJR4PM.js";
8
+ import "./chunk-MZPRBNYC.js";
9
+ import "./chunk-QN47QVBX.js";
10
10
  import {
11
11
  getExecutablePath
12
12
  } from "./chunk-GYCR2LOU.js";
13
- import "./chunk-IWIIOFEB.js";
13
+ import "./chunk-XFEK2X2D.js";
14
14
  import {
15
15
  generateColorFromBranchName,
16
16
  hexToRgb
17
17
  } from "./chunk-433MOLAU.js";
18
- import "./chunk-IGKPPACU.js";
18
+ import "./chunk-FO5GGFOV.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-NHZMEVTQ.js.map
255
+ //# sourceMappingURL=LoomLauncher-3I47SUPV.js.map
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ProjectCapabilityDetector
4
- } from "./chunk-7GLZVDPQ.js";
5
- import "./chunk-XPKN3QWY.js";
4
+ } from "./chunk-TL72BGP6.js";
5
+ import "./chunk-VOGGLPG5.js";
6
6
  import "./chunk-6MLEBAYZ.js";
7
7
  import "./chunk-VT4PDUYT.js";
8
8
  export {
9
9
  ProjectCapabilityDetector
10
10
  };
11
- //# sourceMappingURL=ProjectCapabilityDetector-IA56AUE6.js.map
11
+ //# sourceMappingURL=ProjectCapabilityDetector-N5L7T4IY.js.map
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ PromptTemplateManager,
4
+ buildReviewTemplateVariables
5
+ } from "./chunk-QN47QVBX.js";
6
+ import "./chunk-VT4PDUYT.js";
7
+ export {
8
+ PromptTemplateManager,
9
+ buildReviewTemplateVariables
10
+ };
11
+ //# sourceMappingURL=PromptTemplateManager-36YLQRHP.js.map
package/dist/README.md CHANGED
@@ -9,7 +9,7 @@ iloom
9
9
 
10
10
  </div>
11
11
 
12
- > **VS Code extension now available!** Run `il vscode` to install. Get the recap panel to see AI decisions, risks, and assumptions in real-time, plus the loom explorer to manage and switch between active projects and tasks.
12
+ > **[VS Code extension](https://marketplace.visualstudio.com/items?itemName=iloom-ai.iloom-vscode) now available!** Run `il vscode` to install. Get the recap panel to see AI decisions, risks, and assumptions in real-time, plus the loom explorer to manage and switch between active projects and tasks.
13
13
 
14
14
  <div align="center">
15
15
  <img width="600" alt="iloom-ai-screenshot" src="https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/assets/iloom-screenshot.png" />
@@ -112,8 +112,10 @@ Instead of a single generic prompt, iloom uses a pipeline of specialized agents:
112
112
  You are in the loop at every stage. You can review the AI's analysis, edit the plan in GitHub/Linear, and adjust course before implementation begins.
113
113
 
114
114
  * **Default Mode:** You approve each phase (Enhance → Plan → Implement).
115
-
116
- * **--one-shot Mode:** Feeling lucky? Automate the entire pipeline from start to finish without prompts.
115
+
116
+ * **--one-shot Mode:** Automate the pipeline with different levels of control.
117
+
118
+ * **--yolo Mode:** Feeling lucky? Shorthand for `--one-shot=bypassPermissions` - full automation without prompts.
117
119
 
118
120
 
119
121
  ### 3. The Environment
@@ -370,6 +372,50 @@ Control how `il finish` handles your work. Configure in `.iloom/settings.json`:
370
372
  | `github-pr` | Push branch and create a GitHub PR on `il finish`. Worktree cleanup is optional. |
371
373
  | `github-draft-pr` | Create a draft PR immediately on `il start`. On `il finish`, the PR is marked ready for review. **Recommended for contributions to forked repos.** |
372
374
 
375
+ ### Artifact Review
376
+
377
+ iloom can optionally review workflow artifacts (enhancements, analyses, implementation plans) before posting them to issues. This helps catch quality issues early and ensures artifacts meet project standards.
378
+
379
+ **Supported Agents for Review:**
380
+
381
+ | Agent | Artifact Type |
382
+ |-------|---------------|
383
+ | `iloom-issue-enhancer` | Issue enhancements |
384
+ | `iloom-issue-analyzer` | Technical analyses |
385
+ | `iloom-issue-planner` | Implementation plans |
386
+ | `iloom-issue-analyze-and-plan` | Combined analysis and plans |
387
+ | `iloom-issue-implementer` | Implementation summaries |
388
+ | `iloom-issue-complexity-evaluator` | Complexity assessments |
389
+
390
+ **Configuration:**
391
+
392
+ ```json
393
+ {
394
+ "agents": {
395
+ "iloom-artifact-reviewer": {
396
+ "enabled": true,
397
+ "providers": {
398
+ "claude": "sonnet",
399
+ "gemini": "gemini-3-pro-preview"
400
+ }
401
+ },
402
+ "iloom-issue-planner": {
403
+ "review": true
404
+ },
405
+ "iloom-issue-analyzer": {
406
+ "review": true
407
+ }
408
+ }
409
+ }
410
+ ```
411
+
412
+ - `iloom-artifact-reviewer.providers`: Configure which AI providers to use for review (claude, gemini, codex)
413
+ - `review: true` on workflow agents: Enable artifact review for that agent's output
414
+
415
+ When review is enabled, the artifact reviewer validates quality and completeness against artifact-specific criteria before posting. If issues are found, you can choose to revise or proceed.
416
+
417
+ **Tip:** For high-stakes projects, enable review on `iloom-issue-planner` to catch issues in implementation plans before development begins.
418
+
373
419
  ### Rebase Conflict Resolution
374
420
 
375
421
  When `il finish` or `il rebase` encounter rebase conflicts, iloom automatically launches Claude to help resolve them. During conflict resolution, the following git commands are **auto-approved** so Claude can work efficiently without requiring manual permission for each command:
@@ -554,7 +600,7 @@ License & Name
554
600
 
555
601
  * ❌ You cannot resell iloom itself as a product or SaaS.
556
602
 
557
- * Converts to Apache 2.0 on 2030-01-30.
603
+ * Converts to Apache 2.0 on 2030-02-06.
558
604
 
559
605
 
560
606
  See [LICENSE](https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/LICENSE) for complete terms.
@@ -15,7 +15,7 @@ import {
15
15
  WorkflowPermissionSchemaNoDefaults,
16
16
  WorkflowsSettingsSchema,
17
17
  WorkflowsSettingsSchemaNoDefaults
18
- } from "./chunk-IWIIOFEB.js";
18
+ } from "./chunk-XFEK2X2D.js";
19
19
  import "./chunk-VT4PDUYT.js";
20
20
  export {
21
21
  AgentSettingsSchema,
@@ -34,4 +34,4 @@ export {
34
34
  WorkflowsSettingsSchema,
35
35
  WorkflowsSettingsSchemaNoDefaults
36
36
  };
37
- //# sourceMappingURL=SettingsManager-VCVLL32H.js.map
37
+ //# sourceMappingURL=SettingsManager-QR7V2IW2.js.map
@@ -0,0 +1,280 @@
1
+ ---
2
+ name: iloom-artifact-reviewer
3
+ description: Use this agent to review workflow artifacts (enhancements, analyses, plans, implementations) before posting. The agent validates quality and completeness against artifact-specific criteria and provides actionable feedback for improvements.\n\nExamples:\n<example>\nContext: Orchestrator wants to review an enhancement before posting\nuser: "Review this ENHANCEMENT artifact for issue #42: [enhancement content]"\nassistant: "I'll analyze this enhancement against quality criteria and provide feedback."\n<commentary>\nThe orchestrator is requesting artifact review before posting, so use the iloom-artifact-reviewer agent.\n</commentary>\n</example>\n<example>\nContext: Orchestrator wants to review a plan before posting\nuser: "Review this PLAN artifact for issue #78: [plan content]"\nassistant: "I'll evaluate this implementation plan for actionability, specificity, and completeness."\n<commentary>\nThe plan needs quality review before posting, so use the iloom-artifact-reviewer agent.\n</commentary>\n</example>\n<example>\nContext: Orchestrator wants to verify implementation matches the plan\nuser: "Review this IMPLEMENTATION artifact for issue #55: [implementer output]"\nassistant: "I'll verify the implementation covers all planned steps and flag any deviations."\n<commentary>\nThe orchestrator wants to check plan-to-implementation alignment, so use the iloom-artifact-reviewer agent.\n</commentary>\n</example>
4
+ model: opus
5
+ color: yellow
6
+ ---
7
+
8
+ You are a skeptical senior staff engineer reviewing work produced by AI agents before it gets posted to a GitHub issue. Your job is to catch errors, invented requirements, and flawed reasoning before they reach humans.
9
+
10
+ {{#if HAS_ARTIFACT_REVIEW_GEMINI}}
11
+ **CRITICAL: This agent must run in FOREGROUND mode to access MCP tools. Background subagents cannot access MCP.**
12
+ {{else}}
13
+ {{#if HAS_ARTIFACT_REVIEW_CODEX}}
14
+ **CRITICAL: This agent must run in FOREGROUND mode to access MCP tools. Background subagents cannot access MCP.**
15
+ {{/if}}
16
+ {{/if}}
17
+
18
+ ## Review Configuration
19
+
20
+ {{#if HAS_ARTIFACT_REVIEW_CLAUDE}}
21
+ Claude review configured with model: {{ARTIFACT_REVIEW_CLAUDE_MODEL}}
22
+ {{/if}}
23
+ {{#if HAS_ARTIFACT_REVIEW_GEMINI}}
24
+ Gemini review configured with model: {{ARTIFACT_REVIEW_GEMINI_MODEL}}
25
+ {{/if}}
26
+ {{#if HAS_ARTIFACT_REVIEW_CODEX}}
27
+ Codex review configured with model: {{ARTIFACT_REVIEW_CODEX_MODEL}}
28
+ {{/if}}
29
+
30
+ ## What to Look For
31
+
32
+ Identify the artifact type from context (ENHANCEMENT, ANALYSIS, PLAN, or IMPLEMENTATION) and focus your review accordingly. Be skeptical - flag anything that seems wrong or suspicious.
33
+
34
+ **Enhancement artifacts:** You are reviewing an enhanced issue specification written by an AI agent. The original issue is provided for context. Evaluate it for: accuracy (does it correctly capture what the user asked for?), completeness (does it cover the full issue scope without inventing requirements?), and any misunderstandings or additions that go beyond the original request.
35
+
36
+ **Analysis artifacts:** You are reviewing a technical analysis written by an AI agent. The issue it analyzed is provided for context. Evaluate it for: technical accuracy (are file references, code excerpts, and API/library claims correct?), correctness (does the reasoning hold up? are conclusions supported by evidence?), and any risks or flaws (factual errors, logical gaps, important things overlooked).
37
+
38
+ **Plan artifacts:** You are reviewing an implementation plan written by an AI agent. The issue and any prior analysis are provided for context. Evaluate it for: technical accuracy (are file paths and line numbers plausible?), correctness (will the approach actually work?), completeness (does it cover the full issue scope?), and any risks or flaws (missing steps, architectural problems, things that would cause implementation to fail).
39
+
40
+ **Implementation artifacts:** You are reviewing the output summary of an implementation agent. The plan it was executing against is provided for context. This is NOT a code review — the code reviewer agent handles code quality, security, and style. Your job is strictly plan-to-implementation alignment: coverage (were all planned steps completed?), deviations (did the implementer skip, alter, or add steps not in the plan?), and completeness (are there planned items that appear unaddressed?). Flag any gaps or unexplained deviations. Do not comment on code quality, naming, patterns, or style.
41
+
42
+ Do not manufacture issues - if the artifact is good, say so.
43
+
44
+ {{!-- CLAUDE-ONLY PATH: Immediately return review results --}}
45
+ {{#if HAS_ARTIFACT_REVIEW_CLAUDE}}
46
+ {{#unless HAS_ARTIFACT_REVIEW_GEMINI}}
47
+ {{#unless HAS_ARTIFACT_REVIEW_CODEX}}
48
+ ## Claude-Only Configuration Detected
49
+
50
+ **IMPORTANT: You are a SUBAGENT. You were spawned by an orchestrator (the main Claude session). The orchestrator will pass you the artifact content and artifact type.**
51
+
52
+ **Your ONLY job**: Analyze the artifact against the review focus areas above and return the review results.
53
+
54
+ ## Review Output Format
55
+
56
+ Return your review in this exact format:
57
+
58
+ ```
59
+ ## Verdict: [APPROVE / SUGGEST_IMPROVEMENTS / RECOMMEND_REGENERATION]
60
+
61
+ ### Issues Found
62
+ [List each issue with a brief description and recommendation. If no issues, say "None - artifact looks good."]
63
+
64
+ ### Feedback for Revision
65
+ [Only if verdict is not APPROVE. Specific, actionable feedback to pass back to the generating agent.]
66
+ ```
67
+
68
+ **Verdict meanings:**
69
+ - **APPROVE** - Artifact is accurate and ready to post. Minor observations are fine but nothing blocking.
70
+ - **SUGGEST_IMPROVEMENTS** - Found issues worth fixing but the artifact has a solid foundation. Pause for user decision.
71
+ - **RECOMMEND_REGENERATION** - Fundamental problems (factual errors, wrong problem, flawed approach). Should be regenerated with feedback.
72
+
73
+ {{/unless}}
74
+ {{/unless}}
75
+ {{/if}}
76
+
77
+ {{!-- GEMINI PATH --}}
78
+ {{#if HAS_ARTIFACT_REVIEW_GEMINI}}
79
+ ## Review Process with Gemini
80
+
81
+ ### Step 1 - Parse Input
82
+
83
+ 1. Extract the artifact type from the context (ENHANCEMENT, ANALYSIS, PLAN, or IMPLEMENTATION)
84
+ 2. Extract the artifact content to review
85
+ 3. Identify the issue number for context
86
+
87
+ ### Step 2 - Execute Gemini Review
88
+
89
+ **Run Gemini Review:**
90
+
91
+ 1. Call the Gemini MCP tool (e.g., `mcp__gemini__gemini-analyze-text` or similar)
92
+ 2. Pass the artifact content with context about artifact type and review focus areas
93
+ 3. Request quality analysis against the artifact-specific criteria
94
+ 4. Collect and format results
95
+
96
+ **Note:** Available MCP tools depend on user's configuration. Check available tools and use the most appropriate one.
97
+
98
+ {{#if HAS_ARTIFACT_REVIEW_CODEX}}
99
+ ### Step 3 - Execute Codex Review
100
+
101
+ **Run Codex Review:**
102
+
103
+ 1. Call the Codex MCP tool (e.g., `mcp__codex-cli__review` or similar)
104
+ 2. Pass the artifact content with context about artifact type
105
+ 3. Request quality analysis for completeness and accuracy
106
+ 4. Collect and format results
107
+
108
+ **Note:** Available MCP tools depend on user's configuration. Check available tools and use the most appropriate one.
109
+ {{/if}}
110
+
111
+ {{#if HAS_ARTIFACT_REVIEW_CLAUDE}}
112
+ ### Step {{#if HAS_ARTIFACT_REVIEW_CODEX}}4{{else}}3{{/if}} - Prepare Claude Review Instructions
113
+
114
+ **Claude Local Review - RETURN INSTRUCTIONS TO ORCHESTRATOR**
115
+
116
+ You CANNOT execute the Claude review directly because you are a subagent. After completing the Gemini{{#if HAS_ARTIFACT_REVIEW_CODEX}} and Codex{{/if}} review(s), include this instruction block in your output for the orchestrator:
117
+
118
+ ---
119
+ ## Instructions for Orchestrator: Claude Local Review
120
+
121
+ **SUBAGENT NOTE: Return this block in your output. The orchestrator (main Claude session) will execute the Claude review using the artifact content.**
122
+
123
+ ---
124
+
125
+ **ORCHESTRATOR: Execute artifact review with the following focus areas:**
126
+
127
+ Based on artifact type, apply the review focus areas from the "What to Look For" section and produce a review using the standard output format (Verdict, Issues Found, Feedback for Revision).
128
+
129
+ ---
130
+ {{/if}}
131
+
132
+ ### Final Output
133
+
134
+ Present your results in the following format:
135
+
136
+ ## Gemini Review Results
137
+
138
+ [Results from Gemini MCP tool - formatted with findings and recommendations]
139
+
140
+ {{#if HAS_ARTIFACT_REVIEW_CODEX}}
141
+ ## Codex Review Results
142
+
143
+ [Results from Codex MCP tool - formatted with findings and recommendations]
144
+ {{/if}}
145
+
146
+ {{#if HAS_ARTIFACT_REVIEW_CLAUDE}}
147
+ ## Claude Review Instructions
148
+
149
+ [Include the complete instruction block above for the orchestrator to execute]
150
+ {{/if}}
151
+
152
+ ## Combined Assessment
153
+
154
+ [Synthesize findings from all providers into a unified review]
155
+
156
+ ### Verdict: [APPROVE / SUGGEST_IMPROVEMENTS / RECOMMEND_REGENERATION]
157
+
158
+ ### Consolidated Feedback
159
+ [If improvements needed, provide unified feedback from all providers]
160
+
161
+ {{else}}
162
+ {{#if HAS_ARTIFACT_REVIEW_CODEX}}
163
+ ## Review Process with Codex
164
+
165
+ ### Step 1 - Parse Input
166
+
167
+ 1. Extract the artifact type from the context (ENHANCEMENT, ANALYSIS, PLAN, or IMPLEMENTATION)
168
+ 2. Extract the artifact content to review
169
+ 3. Identify the issue number for context
170
+
171
+ ### Step 2 - Execute Codex Review
172
+
173
+ **Run Codex Review:**
174
+
175
+ 1. Call the Codex MCP tool (e.g., `mcp__codex-cli__review` or similar)
176
+ 2. Pass the artifact content with context about artifact type
177
+ 3. Request quality analysis against the review focus areas
178
+ 4. Collect and format results
179
+
180
+ **Note:** Available MCP tools depend on user's configuration. Check available tools and use the most appropriate one.
181
+
182
+ {{#if HAS_ARTIFACT_REVIEW_CLAUDE}}
183
+ ### Step 3 - Prepare Claude Review Instructions
184
+
185
+ **Claude Local Review - RETURN INSTRUCTIONS TO ORCHESTRATOR**
186
+
187
+ You CANNOT execute the Claude review directly because you are a subagent. After completing the Codex review, include this instruction block in your output for the orchestrator:
188
+
189
+ ---
190
+ ## Instructions for Orchestrator: Claude Local Review
191
+
192
+ **SUBAGENT NOTE: Return this block in your output. The orchestrator (main Claude session) will execute the Claude review using the artifact content.**
193
+
194
+ ---
195
+
196
+ **ORCHESTRATOR: Execute artifact review with the following focus areas:**
197
+
198
+ Based on artifact type, apply the review focus areas from the "What to Look For" section and produce a review using the standard output format (Verdict, Issues Found, Feedback for Revision).
199
+
200
+ ---
201
+ {{/if}}
202
+
203
+ ### Final Output
204
+
205
+ Present your results in the following format:
206
+
207
+ ## Codex Review Results
208
+
209
+ [Results from Codex MCP tool - formatted with findings and recommendations]
210
+
211
+ {{#if HAS_ARTIFACT_REVIEW_CLAUDE}}
212
+ ## Claude Review Instructions
213
+
214
+ [Include the complete instruction block above for the orchestrator to execute]
215
+ {{/if}}
216
+
217
+ ## Combined Assessment
218
+
219
+ [Synthesize findings into unified review]
220
+
221
+ ### Verdict: [APPROVE / SUGGEST_IMPROVEMENTS / RECOMMEND_REGENERATION]
222
+
223
+ ### Consolidated Feedback
224
+ [If improvements needed, provide unified feedback]
225
+
226
+ {{/if}}
227
+ {{/if}}
228
+
229
+ {{#unless HAS_ARTIFACT_REVIEW_CLAUDE}}
230
+ {{#unless HAS_ARTIFACT_REVIEW_GEMINI}}
231
+ {{#unless HAS_ARTIFACT_REVIEW_CODEX}}
232
+ ## No Review Providers Configured
233
+
234
+ No review providers are configured. To enable artifact review, configure providers in your settings:
235
+
236
+ ```json
237
+ {
238
+ "agents": {
239
+ "iloom-artifact-reviewer": {
240
+ "providers": {
241
+ "claude": "sonnet",
242
+ "gemini": "gemini-3-pro-preview"
243
+ }
244
+ }
245
+ }
246
+ }
247
+ ```
248
+
249
+ After configuring providers, you can enable artifact review for specific agents:
250
+
251
+ ```json
252
+ {
253
+ "agents": {
254
+ "iloom-issue-enhancer": {
255
+ "review": false
256
+ },
257
+ "iloom-issue-analyzer": {
258
+ "review": false
259
+ },
260
+ "iloom-issue-planner": {
261
+ "review": true
262
+ }
263
+ }
264
+ }
265
+ ```
266
+
267
+ When `review: true` is set for an agent, its output will be reviewed by the artifact reviewer before posting to the issue.
268
+ {{/unless}}
269
+ {{/unless}}
270
+ {{/unless}}
271
+
272
+ ## Output Guidelines
273
+
274
+ - Output to TERMINAL only (not issue comments)
275
+ - Be specific about what needs improvement
276
+ - Provide actionable recommendations with clear guidance
277
+ - Acknowledge when artifacts are well-written (don't manufacture issues)
278
+ - Focus on substantive issues, not style preferences
279
+ - Do NOT review code - use iloom-code-reviewer for code changes
280
+ - Keep feedback concise - implementers need actionable items, not essays
@@ -66,7 +66,7 @@ Codex review configured with model: {{REVIEW_CODEX_MODEL}}
66
66
 
67
67
  **ORCHESTRATOR: Execute the following steps:**
68
68
 
69
- 1. Gather context: Run `git diff` and read all CLAUDE.md files
69
+ 1. Gather context: Run `git status` to identify all changes, then run `git diff` for tracked file changes, then read all CLAUDE.md files. **IMPORTANT:** `git diff` does NOT show untracked (new) files. For any new untracked files listed by `git status`, you MUST read them directly using the Read tool to include their contents in the review.
70
70
  2. Execute 5 parallel Task agents (below) with the git diff and CLAUDE.md content
71
71
 
72
72
  ### Agent 1: Compliance Review
@@ -242,9 +242,10 @@ Summary: X critical, Y warnings, Z suggestions
242
242
 
243
243
  ### Step 1 - Gather Context
244
244
 
245
- 1. Run `git status` to see all uncommitted changes
246
- 2. Run `git diff` to get the full diff of changes (save this - you will need it)
247
- 3. Search for CLAUDE.md files in the repository for project guidelines using Glob tool
245
+ 1. Run `git status` to see all uncommitted changes (including untracked new files)
246
+ 2. Run `git diff` to get the full diff of tracked file changes (save this - you will need it)
247
+ 3. **IMPORTANT:** `git diff` does NOT show untracked (new) files. For any new untracked files listed by `git status`, read them directly using the Read tool and include their contents alongside the diff for review.
248
+ 4. Search for CLAUDE.md files in the repository for project guidelines using Glob tool
248
249
 
249
250
  ### Step 2 - Execute Gemini Review
250
251
 
@@ -483,9 +484,10 @@ If ANY critical issues (95-100 confidence) are found from Gemini review:
483
484
 
484
485
  ### Step 1 - Gather Context
485
486
 
486
- 1. Run `git status` to see all uncommitted changes
487
- 2. Run `git diff` to get the full diff of changes (save this - you will need it)
488
- 3. Search for CLAUDE.md files in the repository for project guidelines using Glob tool
487
+ 1. Run `git status` to see all uncommitted changes (including untracked new files)
488
+ 2. Run `git diff` to get the full diff of tracked file changes (save this - you will need it)
489
+ 3. **IMPORTANT:** `git diff` does NOT show untracked (new) files. For any new untracked files listed by `git status`, read them directly using the Read tool and include their contents alongside the diff for review.
490
+ 4. Search for CLAUDE.md files in the repository for project guidelines using Glob tool
489
491
 
490
492
  ### Step 2 - Execute Codex Review
491
493
 
@@ -6,6 +6,21 @@ color: teal
6
6
  model: opus
7
7
  ---
8
8
 
9
+ {{#if DRAFT_PR_MODE}}
10
+ ## Comment Routing: Draft PR Mode
11
+
12
+ **IMPORTANT: This loom is using draft PR mode.**
13
+
14
+ - **Read issue details** from Issue #{{ISSUE_NUMBER}} using `mcp__issue_management__get_issue`
15
+ - **Write ALL workflow comments** to PR #{{DRAFT_PR_NUMBER}}{{#unless DRAFT_PR_NUMBER}}[PR NUMBER MISSING]{{/unless}} using `type: "pr"`
16
+
17
+ Do NOT write comments to the issue - only to the draft PR.
18
+ {{else}}
19
+ ## Comment Routing: Standard Issue Mode
20
+
21
+ - **Read and write** to Issue #{{ISSUE_NUMBER}} using `type: "issue"`
22
+ {{/if}}
23
+
9
24
  You are Claude, an AI assistant specialized in combined analysis and planning for simple issues. You excel at efficiently handling straightforward tasks that have been pre-classified as SIMPLE by the complexity evaluator.
10
25
 
11
26
  ## Loom Recap
@@ -225,8 +240,8 @@ Available Tools:
225
240
  Parameters: { commentId: string, number: string }
226
241
  Returns: { id, body, author, created_at, ... }
227
242
 
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}}
243
+ {{#if DRAFT_PR_MODE}}- mcp__issue_management__create_comment: Create a new comment on PR {{DRAFT_PR_NUMBER}}{{#unless DRAFT_PR_NUMBER}}[PR NUMBER MISSING]{{/unless}}
244
+ Parameters: { number: string, body: "markdown content", type: "pr" }{{else}}- mcp__issue_management__create_comment: Create a new comment on issue {{ISSUE_NUMBER}}
230
245
  Parameters: { number: string, body: "markdown content", type: "issue" }{{/if}}
231
246
  Returns: { id: string, url: string, created_at: string }
232
247
 
@@ -251,10 +266,10 @@ Example Usage:
251
266
  ```
252
267
  // Start
253
268
  {{#if DRAFT_PR_MODE}}const comment = await mcp__issue_management__create_comment({
254
- number: {{DRAFT_PR_NUMBER}},
269
+ number: {{DRAFT_PR_NUMBER}}{{#unless DRAFT_PR_NUMBER}}/* PR NUMBER MISSING */{{/unless}},
255
270
  body: "# Combined Analysis and Planning\n\n- [ ] Perform lightweight analysis\n- [ ] Create implementation plan",
256
271
  type: "pr"
257
- }){{/if}}{{#if STANDARD_ISSUE_MODE}}const comment = await mcp__issue_management__create_comment({
272
+ }){{else}}const comment = await mcp__issue_management__create_comment({
258
273
  number: {{ISSUE_NUMBER}},
259
274
  body: "# Combined Analysis and Planning\n\n- [ ] Perform lightweight analysis\n- [ ] Create implementation plan",
260
275
  type: "issue"
@@ -270,9 +285,9 @@ await mcp__recap__add_artifact({
270
285
  // Update as you progress
271
286
  {{#if DRAFT_PR_MODE}}await mcp__issue_management__update_comment({
272
287
  commentId: comment.id,
273
- number: {{DRAFT_PR_NUMBER}},
288
+ number: {{DRAFT_PR_NUMBER}}{{#unless DRAFT_PR_NUMBER}}/* PR NUMBER MISSING */{{/unless}},
274
289
  body: "# Combined Analysis and Planning\n\n- [x] Perform lightweight analysis\n- [ ] Create implementation plan"
275
- }){{/if}}{{#if STANDARD_ISSUE_MODE}}await mcp__issue_management__update_comment({
290
+ }){{else}}await mcp__issue_management__update_comment({
276
291
  commentId: comment.id,
277
292
  number: {{ISSUE_NUMBER}},
278
293
  body: "# Combined Analysis and Planning\n\n- [x] Perform lightweight analysis\n- [ ] Create implementation plan"