@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.
- package/LICENSE +1 -1
- package/README.md +50 -4
- package/dist/{BranchNamingService-AO7BPIUJ.js → BranchNamingService-K6XNWQ6C.js} +2 -2
- package/dist/ClaudeContextManager-X2Y72GRL.js +14 -0
- package/dist/ClaudeService-7P32TTES.js +13 -0
- package/dist/{LoomLauncher-NHZMEVTQ.js → LoomLauncher-3I47SUPV.js} +6 -6
- package/dist/{ProjectCapabilityDetector-IA56AUE6.js → ProjectCapabilityDetector-N5L7T4IY.js} +3 -3
- package/dist/PromptTemplateManager-36YLQRHP.js +11 -0
- package/dist/README.md +50 -4
- package/dist/{SettingsManager-VCVLL32H.js → SettingsManager-QR7V2IW2.js} +2 -2
- package/dist/agents/iloom-artifact-reviewer.md +280 -0
- package/dist/agents/iloom-code-reviewer.md +9 -7
- package/dist/agents/iloom-issue-analyze-and-plan.md +21 -6
- package/dist/agents/iloom-issue-analyzer.md +21 -6
- package/dist/agents/iloom-issue-complexity-evaluator.md +21 -6
- package/dist/agents/iloom-issue-enhancer.md +21 -6
- package/dist/agents/iloom-issue-implementer.md +21 -6
- package/dist/agents/iloom-issue-planner.md +21 -6
- package/dist/{build-Z3WCIKPD.js → build-IC4CJRMP.js} +8 -8
- package/dist/{chunk-TVH67KEO.js → chunk-2HZX6AMR.js} +2 -2
- package/dist/{chunk-VZYSM7N7.js → chunk-2JPXGGP4.js} +20 -15
- package/dist/chunk-2JPXGGP4.js.map +1 -0
- package/dist/{chunk-HSGZW3ID.js → chunk-4GAJJUYS.js} +3 -3
- package/dist/chunk-4GAJJUYS.js.map +1 -0
- package/dist/{chunk-RD7I2Q2F.js → chunk-4LKGCFGG.js} +2 -2
- package/dist/{chunk-SSASIBDJ.js → chunk-5LVVQGB3.js} +5 -5
- package/dist/{chunk-GWONJE3X.js → chunk-6Y3FTRJL.js} +189 -48
- package/dist/chunk-6Y3FTRJL.js.map +1 -0
- package/dist/{chunk-4BSXZ5YZ.js → chunk-B7U6OKUR.js} +5 -24
- package/dist/chunk-B7U6OKUR.js.map +1 -0
- package/dist/{chunk-IGKPPACU.js → chunk-FO5GGFOV.js} +17 -8
- package/dist/chunk-FO5GGFOV.js.map +1 -0
- package/dist/{chunk-GDS2HXSW.js → chunk-H6ST2TGP.js} +20 -3
- package/dist/chunk-H6ST2TGP.js.map +1 -0
- package/dist/{chunk-A7XHHUEV.js → chunk-HZXBHMVM.js} +47 -22
- package/dist/chunk-HZXBHMVM.js.map +1 -0
- package/dist/{chunk-44Y5IF7P.js → chunk-I23OQB4Y.js} +5 -5
- package/dist/chunk-JT5LZRMI.js +302 -0
- package/dist/chunk-JT5LZRMI.js.map +1 -0
- package/dist/{chunk-Q457PKGH.js → chunk-KAYXR544.js} +2 -2
- package/dist/{chunk-XU5A6BWA.js → chunk-MZPRBNYC.js} +4 -4
- package/dist/{chunk-XHNACIHO.js → chunk-NTTSUAVM.js} +2 -2
- package/dist/{chunk-PLI3JQWT.js → chunk-OAVJR4PM.js} +2 -2
- package/dist/{chunk-4KGRPHM6.js → chunk-PL2FDYEK.js} +2 -2
- package/dist/chunk-QN47QVBX.js +131 -0
- package/dist/chunk-QN47QVBX.js.map +1 -0
- package/dist/{chunk-3FC3VNEX.js → chunk-RD7OPXZK.js} +34 -8
- package/dist/chunk-RD7OPXZK.js.map +1 -0
- package/dist/{chunk-O6LECMT6.js → chunk-TGRK3CHF.js} +8 -8
- package/dist/{chunk-7GLZVDPQ.js → chunk-TL72BGP6.js} +2 -2
- package/dist/{chunk-52MVUK5V.js → chunk-USSL2X4A.js} +2 -2
- package/dist/chunk-USSL2X4A.js.map +1 -0
- package/dist/{chunk-XPKN3QWY.js → chunk-VOGGLPG5.js} +1 -2
- package/dist/{chunk-IWIIOFEB.js → chunk-XFEK2X2D.js} +16 -6
- package/dist/chunk-XFEK2X2D.js.map +1 -0
- package/dist/{chunk-PBSHQVCT.js → chunk-Z6F5CUS6.js} +4 -4
- package/dist/{claude-V4HRPR4Z.js → claude-TP2QO3BU.js} +2 -2
- package/dist/{cleanup-NWNKWPUY.js → cleanup-M6N7KV7E.js} +20 -15
- package/dist/{cleanup-NWNKWPUY.js.map → cleanup-M6N7KV7E.js.map} +1 -1
- package/dist/cli.js +118 -84
- package/dist/cli.js.map +1 -1
- package/dist/{commit-534QIRHY.js → commit-ORHR53KW.js} +10 -10
- package/dist/{compile-UANHMNTS.js → compile-EOWJORKO.js} +8 -8
- package/dist/{contribute-7USRBWRM.js → contribute-4KCEOHSH.js} +3 -3
- package/dist/{dev-server-TO7RLYJI.js → dev-server-Q6M62ATG.js} +13 -13
- package/dist/{feedback-7ZZI6RC5.js → feedback-XRI7SGYX.js} +11 -11
- package/dist/{git-GUNOPP4Q.js → git-W3XUIFTR.js} +5 -3
- package/dist/hooks/iloom-hook.js +5 -3
- package/dist/{ignite-5SIGOW5V.js → ignite-3FHQY23X.js} +90 -26
- package/dist/ignite-3FHQY23X.js.map +1 -0
- package/dist/index.d.ts +37 -2
- package/dist/index.js +49 -13
- package/dist/index.js.map +1 -1
- package/dist/{chunk-FPNSFP6K.js → init-ALYWKNWG.js} +42 -329
- package/dist/init-ALYWKNWG.js.map +1 -0
- package/dist/{lint-XPODLDVA.js → lint-IHUH45OC.js} +8 -8
- package/dist/{open-M2SUR74Y.js → open-KWOV2OFO.js} +15 -15
- package/dist/{plan-FB4AOJ2Q.js → plan-P6MXL7AU.js} +54 -22
- package/dist/plan-P6MXL7AU.js.map +1 -0
- package/dist/{projects-325GEEGJ.js → projects-LH362JZQ.js} +3 -3
- package/dist/prompts/init-prompt.txt +9 -1
- package/dist/prompts/issue-prompt.txt +315 -5
- package/dist/prompts/plan-prompt.txt +4 -6
- package/dist/prompts/pr-prompt.txt +79 -0
- package/dist/prompts/regular-prompt.txt +210 -5
- package/dist/{rebase-4FNRBW3H.js → rebase-AJOJOZUG.js} +9 -9
- package/dist/{recap-GSXFEOD6.js → recap-GKJXMDXW.js} +5 -5
- package/dist/{run-GZNHRJB2.js → run-QEUVZF7J.js} +15 -15
- package/dist/schema/settings.schema.json +9 -1
- package/dist/{shell-2SPM3Z5O.js → shell-DAAVG4YN.js} +5 -5
- package/dist/{summary-Z4F7YFXE.js → summary-WNEYCO4S.js} +11 -11
- package/dist/{test-LBSPYIJW.js → test-5GPWWO3P.js} +8 -8
- package/dist/{test-git-ZPSPA2TP.js → test-git-EJUKDB7F.js} +3 -3
- package/dist/{test-prefix-6DLB2BHE.js → test-prefix-23TOBUXY.js} +3 -3
- package/dist/{test-webserver-XLJ2TZFP.js → test-webserver-CKROHFBQ.js} +5 -5
- package/dist/{vscode-LH3VSQ2W.js → vscode-6TOLFCI2.js} +5 -5
- package/package.json +2 -2
- package/dist/ClaudeContextManager-RDP6CLK6.js +0 -14
- package/dist/ClaudeService-FKPOQRA4.js +0 -13
- package/dist/PRManager-A63LT3NF.js +0 -16
- package/dist/PromptTemplateManager-OUYDHOPI.js +0 -9
- package/dist/chunk-3FC3VNEX.js.map +0 -1
- package/dist/chunk-4BSXZ5YZ.js.map +0 -1
- package/dist/chunk-52MVUK5V.js.map +0 -1
- package/dist/chunk-66QOCD5N.js +0 -79
- package/dist/chunk-66QOCD5N.js.map +0 -1
- package/dist/chunk-A7XHHUEV.js.map +0 -1
- package/dist/chunk-FPNSFP6K.js.map +0 -1
- package/dist/chunk-GDS2HXSW.js.map +0 -1
- package/dist/chunk-GWONJE3X.js.map +0 -1
- package/dist/chunk-HSGZW3ID.js.map +0 -1
- package/dist/chunk-IGKPPACU.js.map +0 -1
- package/dist/chunk-IWIIOFEB.js.map +0 -1
- package/dist/chunk-VZYSM7N7.js.map +0 -1
- package/dist/git-GUNOPP4Q.js.map +0 -1
- package/dist/ignite-5SIGOW5V.js.map +0 -1
- package/dist/init-XXDIB2UJ.js +0 -21
- package/dist/init-XXDIB2UJ.js.map +0 -1
- package/dist/plan-FB4AOJ2Q.js.map +0 -1
- /package/dist/{BranchNamingService-AO7BPIUJ.js.map → BranchNamingService-K6XNWQ6C.js.map} +0 -0
- /package/dist/{ClaudeContextManager-RDP6CLK6.js.map → ClaudeContextManager-X2Y72GRL.js.map} +0 -0
- /package/dist/{ClaudeService-FKPOQRA4.js.map → ClaudeService-7P32TTES.js.map} +0 -0
- /package/dist/{LoomLauncher-NHZMEVTQ.js.map → LoomLauncher-3I47SUPV.js.map} +0 -0
- /package/dist/{PRManager-A63LT3NF.js.map → ProjectCapabilityDetector-N5L7T4IY.js.map} +0 -0
- /package/dist/{ProjectCapabilityDetector-IA56AUE6.js.map → PromptTemplateManager-36YLQRHP.js.map} +0 -0
- /package/dist/{PromptTemplateManager-OUYDHOPI.js.map → SettingsManager-QR7V2IW2.js.map} +0 -0
- /package/dist/{build-Z3WCIKPD.js.map → build-IC4CJRMP.js.map} +0 -0
- /package/dist/{chunk-TVH67KEO.js.map → chunk-2HZX6AMR.js.map} +0 -0
- /package/dist/{chunk-RD7I2Q2F.js.map → chunk-4LKGCFGG.js.map} +0 -0
- /package/dist/{chunk-SSASIBDJ.js.map → chunk-5LVVQGB3.js.map} +0 -0
- /package/dist/{chunk-44Y5IF7P.js.map → chunk-I23OQB4Y.js.map} +0 -0
- /package/dist/{chunk-Q457PKGH.js.map → chunk-KAYXR544.js.map} +0 -0
- /package/dist/{chunk-XU5A6BWA.js.map → chunk-MZPRBNYC.js.map} +0 -0
- /package/dist/{chunk-XHNACIHO.js.map → chunk-NTTSUAVM.js.map} +0 -0
- /package/dist/{chunk-PLI3JQWT.js.map → chunk-OAVJR4PM.js.map} +0 -0
- /package/dist/{chunk-4KGRPHM6.js.map → chunk-PL2FDYEK.js.map} +0 -0
- /package/dist/{chunk-O6LECMT6.js.map → chunk-TGRK3CHF.js.map} +0 -0
- /package/dist/{chunk-7GLZVDPQ.js.map → chunk-TL72BGP6.js.map} +0 -0
- /package/dist/{chunk-XPKN3QWY.js.map → chunk-VOGGLPG5.js.map} +0 -0
- /package/dist/{chunk-PBSHQVCT.js.map → chunk-Z6F5CUS6.js.map} +0 -0
- /package/dist/{SettingsManager-VCVLL32H.js.map → claude-TP2QO3BU.js.map} +0 -0
- /package/dist/{commit-534QIRHY.js.map → commit-ORHR53KW.js.map} +0 -0
- /package/dist/{compile-UANHMNTS.js.map → compile-EOWJORKO.js.map} +0 -0
- /package/dist/{contribute-7USRBWRM.js.map → contribute-4KCEOHSH.js.map} +0 -0
- /package/dist/{dev-server-TO7RLYJI.js.map → dev-server-Q6M62ATG.js.map} +0 -0
- /package/dist/{feedback-7ZZI6RC5.js.map → feedback-XRI7SGYX.js.map} +0 -0
- /package/dist/{claude-V4HRPR4Z.js.map → git-W3XUIFTR.js.map} +0 -0
- /package/dist/{lint-XPODLDVA.js.map → lint-IHUH45OC.js.map} +0 -0
- /package/dist/{open-M2SUR74Y.js.map → open-KWOV2OFO.js.map} +0 -0
- /package/dist/{projects-325GEEGJ.js.map → projects-LH362JZQ.js.map} +0 -0
- /package/dist/{rebase-4FNRBW3H.js.map → rebase-AJOJOZUG.js.map} +0 -0
- /package/dist/{recap-GSXFEOD6.js.map → recap-GKJXMDXW.js.map} +0 -0
- /package/dist/{run-GZNHRJB2.js.map → run-QEUVZF7J.js.map} +0 -0
- /package/dist/{shell-2SPM3Z5O.js.map → shell-DAAVG4YN.js.map} +0 -0
- /package/dist/{summary-Z4F7YFXE.js.map → summary-WNEYCO4S.js.map} +0 -0
- /package/dist/{test-LBSPYIJW.js.map → test-5GPWWO3P.js.map} +0 -0
- /package/dist/{test-git-ZPSPA2TP.js.map → test-git-EJUKDB7F.js.map} +0 -0
- /package/dist/{test-prefix-6DLB2BHE.js.map → test-prefix-23TOBUXY.js.map} +0 -0
- /package/dist/{test-webserver-XLJ2TZFP.js.map → test-webserver-CKROHFBQ.js.map} +0 -0
- /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-
|
|
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:**
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
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-
|
|
13
|
+
import "./chunk-XFEK2X2D.js";
|
|
14
14
|
import {
|
|
15
15
|
generateColorFromBranchName,
|
|
16
16
|
hexToRgb
|
|
17
17
|
} from "./chunk-433MOLAU.js";
|
|
18
|
-
import "./chunk-
|
|
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-
|
|
255
|
+
//# sourceMappingURL=LoomLauncher-3I47SUPV.js.map
|
package/dist/{ProjectCapabilityDetector-IA56AUE6.js → ProjectCapabilityDetector-N5L7T4IY.js}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
ProjectCapabilityDetector
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
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-
|
|
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:**
|
|
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-
|
|
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-
|
|
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-
|
|
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`
|
|
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.
|
|
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.
|
|
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" }{{
|
|
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
|
-
}){{
|
|
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
|
-
}){{
|
|
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"
|