@iloom/cli 0.9.2 → 0.10.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.
- package/LICENSE +1 -1
- package/README.md +160 -41
- package/dist/{BranchNamingService-K6XNWQ6C.js → BranchNamingService-25KSZAEM.js} +2 -2
- package/dist/ClaudeContextManager-66GR4BGM.js +14 -0
- package/dist/ClaudeService-7KM5NA5Z.js +13 -0
- package/dist/{GitHubService-TGWJN4V4.js → GitHubService-MEHKHUQP.js} +4 -4
- package/dist/IssueTrackerFactory-NG53YX5S.js +14 -0
- package/dist/{LoomLauncher-73NXL2CL.js → LoomLauncher-TDLZSYG2.js} +9 -9
- package/dist/{MetadataManager-W3C54UYT.js → MetadataManager-5QZSTKNN.js} +2 -2
- package/dist/{ProjectCapabilityDetector-N5L7T4IY.js → ProjectCapabilityDetector-5KSYUTBJ.js} +3 -3
- package/dist/{PromptTemplateManager-36YLQRHP.js → PromptTemplateManager-YOE2SIPG.js} +2 -2
- package/dist/README.md +160 -41
- package/dist/{SettingsManager-AW3JTJHD.js → SettingsManager-FNKCOZMQ.js} +4 -2
- package/dist/agents/iloom-artifact-reviewer.md +11 -0
- package/dist/agents/iloom-code-reviewer.md +14 -0
- package/dist/agents/iloom-issue-analyze-and-plan.md +55 -12
- package/dist/agents/iloom-issue-analyzer.md +49 -6
- package/dist/agents/iloom-issue-complexity-evaluator.md +47 -6
- package/dist/agents/iloom-issue-enhancer.md +86 -7
- package/dist/agents/iloom-issue-implementer.md +48 -7
- package/dist/agents/iloom-issue-planner.md +115 -62
- package/dist/{build-THZI572G.js → build-VHGEMXBA.js} +9 -9
- package/dist/chunk-4232AHNQ.js +35 -0
- package/dist/chunk-4232AHNQ.js.map +1 -0
- package/dist/chunk-4E7LCFUG.js +24 -0
- package/dist/chunk-4E7LCFUG.js.map +1 -0
- package/dist/{chunk-AR5QKYNE.js → chunk-4FGEGQW4.js} +4 -4
- package/dist/{chunk-R4YWBGY6.js → chunk-5FJWO4IT.js} +67 -22
- package/dist/chunk-5FJWO4IT.js.map +1 -0
- package/dist/{chunk-VPTAX5TR.js → chunk-5RPBYK5Q.js} +35 -30
- package/dist/chunk-5RPBYK5Q.js.map +1 -0
- package/dist/{chunk-YKFCCV6S.js → chunk-63QWFWH3.js} +7 -7
- package/dist/chunk-63QWFWH3.js.map +1 -0
- package/dist/{chunk-RI2YL6TK.js → chunk-7VHJNVLF.js} +80 -23
- package/dist/chunk-7VHJNVLF.js.map +1 -0
- package/dist/{chunk-B7U6OKUR.js → chunk-C6HNNJIV.js} +11 -3
- package/dist/chunk-C6HNNJIV.js.map +1 -0
- package/dist/{chunk-A7NJF73J.js → chunk-CVCTIDDK.js} +4 -4
- package/dist/{chunk-Z2TWEXR7.js → chunk-E6KOWMKA.js} +6 -6
- package/dist/chunk-E6KOWMKA.js.map +1 -0
- package/dist/{chunk-3I4ONZRT.js → chunk-EVPZFV3K.js} +10 -10
- package/dist/chunk-EVPZFV3K.js.map +1 -0
- package/dist/{chunk-IZIYLYPK.js → chunk-G5V75JD5.js} +2 -2
- package/dist/chunk-GRISNU6G.js +651 -0
- package/dist/chunk-GRISNU6G.js.map +1 -0
- package/dist/chunk-HEXKPKCK.js +1396 -0
- package/dist/chunk-HEXKPKCK.js.map +1 -0
- package/dist/{chunk-TC7APDKU.js → chunk-I5T677EA.js} +2 -2
- package/dist/{chunk-KBEIQP4G.js → chunk-KB64WNBZ.js} +43 -3
- package/dist/chunk-KB64WNBZ.js.map +1 -0
- package/dist/{chunk-NWMORW3U.js → chunk-KIK2ZFAL.js} +2 -2
- package/dist/{chunk-CWRI4JC3.js → chunk-KKV5WH5M.js} +30 -31
- package/dist/chunk-KKV5WH5M.js.map +1 -0
- package/dist/{chunk-DGG2VY7B.js → chunk-KVHIAWVT.js} +9 -9
- package/dist/chunk-KVHIAWVT.js.map +1 -0
- package/dist/{chunk-OFDN5NKS.js → chunk-KXDRI47U.js} +69 -12
- package/dist/chunk-KXDRI47U.js.map +1 -0
- package/dist/{chunk-NUACL52E.js → chunk-LLHXQS3C.js} +2 -2
- package/dist/chunk-LUKXJSRI.js +73 -0
- package/dist/chunk-LUKXJSRI.js.map +1 -0
- package/dist/{chunk-TL72BGP6.js → chunk-MORRVYPT.js} +2 -2
- package/dist/chunk-OTGH2HRS.js +1427 -0
- package/dist/chunk-OTGH2HRS.js.map +1 -0
- package/dist/{chunk-7ZEHSSUP.js → chunk-P4O6EH46.js} +4 -4
- package/dist/{chunk-KAYXR544.js → chunk-QVLPWNE3.js} +2 -2
- package/dist/chunk-QZWEJVWV.js +207 -0
- package/dist/chunk-QZWEJVWV.js.map +1 -0
- package/dist/chunk-RJ3VBUFK.js +781 -0
- package/dist/chunk-RJ3VBUFK.js.map +1 -0
- package/dist/chunk-RSYT7MVI.js +202 -0
- package/dist/chunk-RSYT7MVI.js.map +1 -0
- package/dist/{chunk-6IIL5M2L.js → chunk-S7PZA6IV.js} +10 -8
- package/dist/{chunk-6IIL5M2L.js.map → chunk-S7PZA6IV.js.map} +1 -1
- package/dist/chunk-SKSYYBCU.js +229 -0
- package/dist/chunk-SKSYYBCU.js.map +1 -0
- package/dist/{chunk-ULSWCPQG.js → chunk-SWSJWA2S.js} +476 -5
- package/dist/chunk-SWSJWA2S.js.map +1 -0
- package/dist/{chunk-KXGQYLFZ.js → chunk-UKBAJ2QQ.js} +61 -7
- package/dist/chunk-UKBAJ2QQ.js.map +1 -0
- package/dist/{chunk-FO5GGFOV.js → chunk-UR5DGNUO.js} +71 -9
- package/dist/chunk-UR5DGNUO.js.map +1 -0
- package/dist/{chunk-QN47QVBX.js → chunk-UUEW5KWB.js} +1 -1
- package/dist/chunk-UUEW5KWB.js.map +1 -0
- package/dist/{chunk-4CO6KG5S.js → chunk-VG45TUYK.js} +53 -7
- package/dist/{chunk-4CO6KG5S.js.map → chunk-VG45TUYK.js.map} +1 -1
- package/dist/{chunk-4LKGCFGG.js → chunk-WWKOVDWC.js} +2 -2
- package/dist/{chunk-KJTVU3HZ.js → chunk-WXIM2WS7.js} +8 -8
- package/dist/chunk-WXIM2WS7.js.map +1 -0
- package/dist/{chunk-VOGGLPG5.js → chunk-YQ57ORTV.js} +14 -1
- package/dist/chunk-YQ57ORTV.js.map +1 -0
- package/dist/{chunk-SOSQILHO.js → chunk-ZNMPGMHY.js} +44 -797
- package/dist/chunk-ZNMPGMHY.js.map +1 -0
- package/dist/{claude-TP2QO3BU.js → claude-7GGEWVEM.js} +2 -2
- package/dist/{cleanup-PJRIFFU4.js → cleanup-6PVAC4NI.js} +85 -34
- package/dist/cleanup-6PVAC4NI.js.map +1 -0
- package/dist/cli.js +630 -801
- package/dist/cli.js.map +1 -1
- package/dist/{commit-IVP3M4HG.js → commit-FZR5XDQG.js} +26 -23
- package/dist/commit-FZR5XDQG.js.map +1 -0
- package/dist/{compile-R2J65HBQ.js → compile-7ALJHZ4N.js} +9 -9
- package/dist/{contribute-VDZXHK5Y.js → contribute-5GKLK3BQ.js} +14 -6
- package/dist/contribute-5GKLK3BQ.js.map +1 -0
- package/dist/{dev-server-7F622OEO.js → dev-server-7SMIB7OF.js} +29 -15
- package/dist/dev-server-7SMIB7OF.js.map +1 -0
- package/dist/{feedback-E7VET7CL.js → feedback-G2GJFN2F.js} +18 -16
- package/dist/{feedback-E7VET7CL.js.map → feedback-G2GJFN2F.js.map} +1 -1
- package/dist/{git-2QDQ2X2S.js → git-GTLKAZRJ.js} +4 -4
- package/dist/hooks/iloom-hook.js +15 -0
- package/dist/ignite-H2O5Y5A2.js +34 -0
- package/dist/ignite-H2O5Y5A2.js.map +1 -0
- package/dist/index.d.ts +482 -58
- package/dist/index.js +1340 -44
- package/dist/index.js.map +1 -1
- package/dist/{init-676DHF6R.js → init-32YOKXRL.js} +57 -21
- package/dist/init-32YOKXRL.js.map +1 -0
- package/dist/{issues-PJSOLOBJ.js → issues-4UUAQ5K6.js} +61 -20
- package/dist/issues-4UUAQ5K6.js.map +1 -0
- package/dist/{lint-CJM7BAIM.js → lint-AAN2NZWG.js} +9 -9
- package/dist/mcp/harness-server.js +140 -0
- package/dist/mcp/harness-server.js.map +1 -0
- package/dist/mcp/issue-management-server.js +2599 -262
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/mcp/recap-server.js +144 -21
- package/dist/mcp/recap-server.js.map +1 -1
- package/dist/{neon-helpers-VVFFTLXE.js → neon-helpers-CQN2PB4S.js} +3 -3
- package/dist/neon-helpers-CQN2PB4S.js.map +1 -0
- package/dist/{open-544H7JF5.js → open-FXWW3VI4.js} +15 -15
- package/dist/open-FXWW3VI4.js.map +1 -0
- package/dist/{plan-Q7ELXDLC.js → plan-RQ5FPIGF.js} +358 -40
- package/dist/plan-RQ5FPIGF.js.map +1 -0
- package/dist/{projects-LH362JZQ.js → projects-2UOXFLNZ.js} +4 -4
- package/dist/prompts/CLAUDE.md +62 -0
- package/dist/prompts/init-prompt.txt +430 -34
- package/dist/prompts/issue-prompt.txt +473 -54
- package/dist/prompts/plan-prompt.txt +140 -19
- package/dist/prompts/pr-prompt.txt +44 -1
- package/dist/prompts/regular-prompt.txt +42 -1
- package/dist/prompts/session-summary-prompt.txt +14 -0
- package/dist/prompts/swarm-orchestrator-prompt.txt +464 -0
- package/dist/{rebase-YND35CIE.js → rebase-6NVLX5V7.js} +21 -12
- package/dist/rebase-6NVLX5V7.js.map +1 -0
- package/dist/{recap-3W7COH7D.js → recap-OMBOKJST.js} +47 -19
- package/dist/recap-OMBOKJST.js.map +1 -0
- package/dist/{run-QUXJKDQQ.js → run-BBXLRIZB.js} +15 -15
- package/dist/run-BBXLRIZB.js.map +1 -0
- package/dist/schema/package-iloom.schema.json +58 -0
- package/dist/schema/settings.schema.json +149 -15
- package/dist/{shell-QGECBLST.js → shell-RF7LTND5.js} +14 -7
- package/dist/shell-RF7LTND5.js.map +1 -0
- package/dist/{summary-G2T4452H.js → summary-WTQZ7XG2.js} +27 -25
- package/dist/summary-WTQZ7XG2.js.map +1 -0
- package/dist/{test-EA5NQFDC.js → test-SGO6I5Z7.js} +9 -9
- package/dist/{test-git-M7LSLEFL.js → test-git-XM4TM65W.js} +4 -4
- package/dist/test-jira-LDTOYFSD.js +96 -0
- package/dist/test-jira-LDTOYFSD.js.map +1 -0
- package/dist/{test-prefix-64NAAUON.js → test-prefix-GBO37XCN.js} +4 -4
- package/dist/{test-webserver-OK6Z5FJM.js → test-webserver-NZ3JTVLL.js} +6 -6
- package/dist/{vscode-AR5NNXXI.js → vscode-6XUGHJKL.js} +7 -7
- package/package.json +5 -1
- package/dist/ClaudeContextManager-HR5JQKAI.js +0 -14
- package/dist/ClaudeService-TK7FMC2X.js +0 -13
- package/dist/chunk-3I4ONZRT.js.map +0 -1
- package/dist/chunk-B7U6OKUR.js.map +0 -1
- package/dist/chunk-CWRI4JC3.js.map +0 -1
- package/dist/chunk-DGG2VY7B.js.map +0 -1
- package/dist/chunk-FJDRTVJX.js +0 -520
- package/dist/chunk-FJDRTVJX.js.map +0 -1
- package/dist/chunk-FO5GGFOV.js.map +0 -1
- package/dist/chunk-KBEIQP4G.js.map +0 -1
- package/dist/chunk-KJTVU3HZ.js.map +0 -1
- package/dist/chunk-KXGQYLFZ.js.map +0 -1
- package/dist/chunk-OFDN5NKS.js.map +0 -1
- package/dist/chunk-QN47QVBX.js.map +0 -1
- package/dist/chunk-R4YWBGY6.js.map +0 -1
- package/dist/chunk-RI2YL6TK.js.map +0 -1
- package/dist/chunk-SOSQILHO.js.map +0 -1
- package/dist/chunk-ULSWCPQG.js.map +0 -1
- package/dist/chunk-VOGGLPG5.js.map +0 -1
- package/dist/chunk-VPTAX5TR.js.map +0 -1
- package/dist/chunk-W6DP5RVR.js +0 -101
- package/dist/chunk-W6DP5RVR.js.map +0 -1
- package/dist/chunk-WHI5KEOX.js +0 -121
- package/dist/chunk-WHI5KEOX.js.map +0 -1
- package/dist/chunk-YKFCCV6S.js.map +0 -1
- package/dist/chunk-Z2TWEXR7.js.map +0 -1
- package/dist/cleanup-PJRIFFU4.js.map +0 -1
- package/dist/commit-IVP3M4HG.js.map +0 -1
- package/dist/contribute-VDZXHK5Y.js.map +0 -1
- package/dist/dev-server-7F622OEO.js.map +0 -1
- package/dist/ignite-IW35CDBD.js +0 -784
- package/dist/ignite-IW35CDBD.js.map +0 -1
- package/dist/init-676DHF6R.js.map +0 -1
- package/dist/issues-PJSOLOBJ.js.map +0 -1
- package/dist/open-544H7JF5.js.map +0 -1
- package/dist/plan-Q7ELXDLC.js.map +0 -1
- package/dist/rebase-YND35CIE.js.map +0 -1
- package/dist/recap-3W7COH7D.js.map +0 -1
- package/dist/run-QUXJKDQQ.js.map +0 -1
- package/dist/shell-QGECBLST.js.map +0 -1
- package/dist/summary-G2T4452H.js.map +0 -1
- /package/dist/{BranchNamingService-K6XNWQ6C.js.map → BranchNamingService-25KSZAEM.js.map} +0 -0
- /package/dist/{ClaudeContextManager-HR5JQKAI.js.map → ClaudeContextManager-66GR4BGM.js.map} +0 -0
- /package/dist/{ClaudeService-TK7FMC2X.js.map → ClaudeService-7KM5NA5Z.js.map} +0 -0
- /package/dist/{GitHubService-TGWJN4V4.js.map → GitHubService-MEHKHUQP.js.map} +0 -0
- /package/dist/{MetadataManager-W3C54UYT.js.map → IssueTrackerFactory-NG53YX5S.js.map} +0 -0
- /package/dist/{LoomLauncher-73NXL2CL.js.map → LoomLauncher-TDLZSYG2.js.map} +0 -0
- /package/dist/{ProjectCapabilityDetector-N5L7T4IY.js.map → MetadataManager-5QZSTKNN.js.map} +0 -0
- /package/dist/{PromptTemplateManager-36YLQRHP.js.map → ProjectCapabilityDetector-5KSYUTBJ.js.map} +0 -0
- /package/dist/{SettingsManager-AW3JTJHD.js.map → PromptTemplateManager-YOE2SIPG.js.map} +0 -0
- /package/dist/{claude-TP2QO3BU.js.map → SettingsManager-FNKCOZMQ.js.map} +0 -0
- /package/dist/{build-THZI572G.js.map → build-VHGEMXBA.js.map} +0 -0
- /package/dist/{chunk-AR5QKYNE.js.map → chunk-4FGEGQW4.js.map} +0 -0
- /package/dist/{chunk-A7NJF73J.js.map → chunk-CVCTIDDK.js.map} +0 -0
- /package/dist/{chunk-IZIYLYPK.js.map → chunk-G5V75JD5.js.map} +0 -0
- /package/dist/{chunk-TC7APDKU.js.map → chunk-I5T677EA.js.map} +0 -0
- /package/dist/{chunk-NWMORW3U.js.map → chunk-KIK2ZFAL.js.map} +0 -0
- /package/dist/{chunk-NUACL52E.js.map → chunk-LLHXQS3C.js.map} +0 -0
- /package/dist/{chunk-TL72BGP6.js.map → chunk-MORRVYPT.js.map} +0 -0
- /package/dist/{chunk-7ZEHSSUP.js.map → chunk-P4O6EH46.js.map} +0 -0
- /package/dist/{chunk-KAYXR544.js.map → chunk-QVLPWNE3.js.map} +0 -0
- /package/dist/{chunk-4LKGCFGG.js.map → chunk-WWKOVDWC.js.map} +0 -0
- /package/dist/{git-2QDQ2X2S.js.map → claude-7GGEWVEM.js.map} +0 -0
- /package/dist/{compile-R2J65HBQ.js.map → compile-7ALJHZ4N.js.map} +0 -0
- /package/dist/{neon-helpers-VVFFTLXE.js.map → git-GTLKAZRJ.js.map} +0 -0
- /package/dist/{lint-CJM7BAIM.js.map → lint-AAN2NZWG.js.map} +0 -0
- /package/dist/{projects-LH362JZQ.js.map → projects-2UOXFLNZ.js.map} +0 -0
- /package/dist/{test-EA5NQFDC.js.map → test-SGO6I5Z7.js.map} +0 -0
- /package/dist/{test-git-M7LSLEFL.js.map → test-git-XM4TM65W.js.map} +0 -0
- /package/dist/{test-prefix-64NAAUON.js.map → test-prefix-GBO37XCN.js.map} +0 -0
- /package/dist/{test-webserver-OK6Z5FJM.js.map → test-webserver-NZ3JTVLL.js.map} +0 -0
- /package/dist/{vscode-AR5NNXXI.js.map → vscode-6XUGHJKL.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-02-
|
|
23
|
+
Change Date: 2030-02-25
|
|
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
|
@@ -12,52 +12,23 @@ iloom
|
|
|
12
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
|
-
<img width="600" alt="iloom-ai-screenshot" src="https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/assets/
|
|
15
|
+
<img width="600" alt="iloom-ai-screenshot" src="https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/assets/iloom_dag.png" />
|
|
16
16
|
<div>iloom in action: Scale understanding, not just output.</div>
|
|
17
17
|
</div>
|
|
18
18
|
|
|
19
19
|
#### Links to key sections
|
|
20
20
|
|
|
21
|
-
[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)
|
|
21
|
+
[How It Works](#how-it-works-the-multi-agent-workflow) • [Installation](#quick-start) • [Configuration](#configuration) • [Advanced Features](#advanced-features) • [Swarm Mode](#swarm-mode-epic-orchestration) • [Telemetry](#telemetry) • [Limitations](#system-requirements--limitations) • [Contributing](#contributing-to-iloom)
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## How can your team trust the code your AI wrote, when you don't?
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
[](https://www.typescriptlang.org/)
|
|
27
|
-
[](https://nextjs.org/)
|
|
28
|
-
[](https://neon.tech/)
|
|
29
|
-
[](https://claude.ai/)
|
|
25
|
+
Your agent just shipped a 2,000-line PR. Why did it restructure that module? What assumptions did it make about the auth flow? Nobody knows. The reasoning evaporated when the chat session ended, and now your teammate is staring at a diff with zero context. Good luck getting that reviewed.
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
---------------------------------
|
|
33
|
-
|
|
34
|
-
The promise of AI-assisted development is profound: write more code, ship features faster. But there is a hidden cost. **AI agents write code quickly, but they struggle to stay in sync with their humans.**
|
|
35
|
-
|
|
36
|
-
The hard part isn't generating code, it's maintaining the shared mental model of _why_ that code exists. When you rely on ephemeral chat windows, friction piles up:
|
|
37
|
-
|
|
38
|
-
* You constantly re-brief the AI on the same context.
|
|
39
|
-
|
|
40
|
-
* Hidden assumptions creep in (e.g., "Why did it use Axios instead of fetch?").
|
|
41
|
-
|
|
42
|
-
* You spend more time reviewing and "babysitting" the AI than building.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
**The bottleneck isn't output velocity. It's maintaining alignment between human and AI at scale.**
|
|
46
|
-
|
|
47
|
-
### The iloom Approach: Context as Infrastructure
|
|
27
|
+
iloom persists the AI's analysis, plans, decisions, and risks as comments in your issue tracker. Not chat logs you'll never reopen. Not markdown files littering the repo. Your actual tracker, where your team can see what happened and why. That mountain of code you're sending for review? Now it comes with the reasoning behind it.
|
|
48
28
|
|
|
49
|
-
|
|
29
|
+
This matters because to get the most out of agents, you need to be multitasking across several of them. iloom gives every task its own isolated environment (git worktree, DB branch, unique port), and because all the reasoning is persisted, you can context-switch between tasks without losing the thread. The [VS Code extension](https://marketplace.visualstudio.com/items?itemName=iloom-ai.iloom-vscode) lets you catch up with any agent in seconds. Your teammates can pick up where you left off without a briefing.
|
|
50
30
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
* **Scale Understanding:** Because every loom holds its own isolated environment (Git worktree, DB branch, local server), you can switch between 5 complex features without losing your place or your AI's context.
|
|
54
|
-
|
|
55
|
-
* **Visible Reasoning:** The AI's decisions are documented publicly. Your team sees the plan, and "future you" knows exactly why a decision was made.
|
|
56
|
-
|
|
57
|
-
* **Automatic Session Summaries:** When you finish a loom, iloom captures key insights, decisions, and lessons learned from your Claude session and posts them to the issue. These summaries become institutional knowledge that informs future tasks.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
_iloom is not just a tool for managing git worktrees - it's a control plane for maintaining alignment between you and your AI assistant._
|
|
31
|
+
When a task outgrows one agent, `il plan` decomposes it into child issues with dependencies, and swarm mode launches parallel agents to execute them, each in its own worktree, running the full iloom workflow. You can one-shot entire features, entire products, and stay aligned. The VS Code extension gives you a Kanban board and dependency graph so you can see what's running, what's blocked, and what's done. The only real limit is your imagination. And maybe your Claude subscription.
|
|
61
32
|
|
|
62
33
|
Quick Start
|
|
63
34
|
-----------
|
|
@@ -105,6 +76,8 @@ Instead of a single generic prompt, iloom uses a pipeline of specialized agents:
|
|
|
105
76
|
* **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
77
|
|
|
107
78
|
* **Implementer:** Executes the plan using the context established in the previous steps. For complex tasks, multiple implementers can run in parallel on independent steps.
|
|
79
|
+
|
|
80
|
+
* **Swarm Orchestrator:** For epics with child issues, iloom enters [swarm mode](#swarm-mode-epic-orchestration)—launching parallel agent teams that implement each child issue autonomously in its own worktree, respecting dependency order.
|
|
108
81
|
|
|
109
82
|
|
|
110
83
|
### 2. Interactive Control
|
|
@@ -128,6 +101,15 @@ Each loom is a fully isolated container for your work:
|
|
|
128
101
|
|
|
129
102
|
* **Environment Variables:** Each loom has its own environment files (`.env`, `.env.local`, `.env.development`, `.env.development.local`). Uses `development` by default, override with `DOTENV_FLOW_NODE_ENV`. See [Secret Storage Limitations](#multi-language-project-support) for frameworks with encrypted credentials.
|
|
130
103
|
|
|
104
|
+
When inside a loom shell (`il shell`), the following environment variables are automatically set:
|
|
105
|
+
|
|
106
|
+
| Variable | Description | Example |
|
|
107
|
+
|----------|-------------|---------|
|
|
108
|
+
| `ILOOM_LOOM` | Loom identifier for PS1 customization | `issue-87` |
|
|
109
|
+
| `ILOOM_COLOR_HEX` | Hex color assigned to this loom (if available) | `#dcebff` |
|
|
110
|
+
|
|
111
|
+
`ILOOM_COLOR_HEX` is useful for downstream tools that want to visually distinguish looms. For example, a Vite app can read it via `import.meta.env.VITE_ILOOM_COLOR_HEX` to tint the UI. See [Vite Integration Guide](docs/vite-iloom-color.md) for details.
|
|
112
|
+
|
|
131
113
|
* **Unique Runtime:**
|
|
132
114
|
|
|
133
115
|
* **Web Apps:** Runs on a deterministic port (e.g., base port 3000 + issue #25 = 3025).
|
|
@@ -142,13 +124,13 @@ Command Reference
|
|
|
142
124
|
|
|
143
125
|
| **Command** | **Alias** | **Description** |
|
|
144
126
|
| ------ | ----- | -----|
|
|
145
|
-
| `il start` | `new` | Create loom, run analysis agents, and launch IDE. |
|
|
127
|
+
| `il start` | `new` | Create loom, run analysis agents, and launch IDE. Auto-detects epics with child issues for [swarm mode](#swarm-mode-epic-orchestration). |
|
|
146
128
|
| `il commit` | `c` | Commit all files with issue reference (`Refs #N` or `Fixes #N`). |
|
|
147
129
|
| `il finish` | `dn` | Validate tests/lint, commit, handle conflicts, and merge/PR. |
|
|
148
130
|
| `il cleanup` | `remove` | Safely remove a loom and its database branch without merging. |
|
|
149
|
-
| `il list` | | Show active looms for current project. `--finished` for archived, `--all` for active + archived, `--global` for looms across all projects. |
|
|
131
|
+
| `il list` | | Show active looms for current project. `--finished` for archived, `--all` for active + archived, `--global` for looms across all projects. JSON output includes `swarmIssues` and `dependencyMap` for epic looms. |
|
|
150
132
|
| `il projects` | | List configured projects (JSON output). |
|
|
151
|
-
| `il spin` | | Launch Claude inside the current loom with context auto-detected. |
|
|
133
|
+
| `il spin` | | Launch Claude inside the current loom with context auto-detected. In epic looms, enters [swarm mode](#swarm-mode-epic-orchestration) with parallel agent orchestration. |
|
|
152
134
|
| `il open` | `run` | Open loom in browser (web) or run your CLI tool. |
|
|
153
135
|
| `il vscode` | | Install iloom VS Code extension and open workspace in VS Code. |
|
|
154
136
|
| `il dev-server` | `dev` | Start dev server in foreground for a workspace. |
|
|
@@ -162,6 +144,7 @@ Command Reference
|
|
|
162
144
|
| `il init` | `config` | Interactive configuration wizard. |
|
|
163
145
|
| `il feedback` | `f` | Submit bug reports/feedback directly from the CLI. |
|
|
164
146
|
| `il update` | | Update iloom CLI to the latest version. |
|
|
147
|
+
| `il telemetry` | | Manage anonymous usage telemetry (`on`, `off`, `status`). |
|
|
165
148
|
|
|
166
149
|
For detailed documentation including all command options, flags, and examples, see the [Complete Command Reference](docs/iloom-commands.md).
|
|
167
150
|
|
|
@@ -439,12 +422,61 @@ Integrations
|
|
|
439
422
|
|
|
440
423
|
### Issue Trackers
|
|
441
424
|
|
|
442
|
-
iloom supports
|
|
425
|
+
iloom supports multiple issue tracking providers to fit your team's workflow.
|
|
443
426
|
|
|
444
427
|
| **Provider** | **Setup** | **Notes** |
|
|
445
428
|
|--------------|-----------|-----------|
|
|
446
429
|
| **GitHub** | `gh auth login` | Default. Supports Issues and Pull Requests automatically. |
|
|
447
430
|
| **Linear** | `il init` | Requires API token. Supports full read/write on Linear issues. |
|
|
431
|
+
| **Jira** | Configure in `.iloom/settings.json` | Atlassian Cloud. Requires API token. See [Jira Setup](#jira-setup) below. |
|
|
432
|
+
|
|
433
|
+
### Jira Setup
|
|
434
|
+
|
|
435
|
+
To use Jira as your issue tracker, add this configuration:
|
|
436
|
+
|
|
437
|
+
**.iloom/settings.json (Committed)**
|
|
438
|
+
```json
|
|
439
|
+
{
|
|
440
|
+
"issueManagement": {
|
|
441
|
+
"provider": "jira",
|
|
442
|
+
"jira": {
|
|
443
|
+
"host": "https://yourcompany.atlassian.net",
|
|
444
|
+
"username": "your.email@company.com",
|
|
445
|
+
"projectKey": "PROJ",
|
|
446
|
+
"boardId": "123",
|
|
447
|
+
"doneStatuses": ["Done", "Closed"],
|
|
448
|
+
"transitionMappings": {
|
|
449
|
+
"In Review": "Start Review"
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
**.iloom/settings.local.json (Gitignored - Never commit this file)**
|
|
457
|
+
```json
|
|
458
|
+
{
|
|
459
|
+
"issueManagement": {
|
|
460
|
+
"jira": {
|
|
461
|
+
"apiToken": "your-jira-api-token-here"
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
**Generate a Jira API Token:**
|
|
468
|
+
1. Visit https://id.atlassian.com/manage-profile/security/api-tokens
|
|
469
|
+
2. Click "Create API token"
|
|
470
|
+
3. Copy the token to `.iloom/settings.local.json`
|
|
471
|
+
|
|
472
|
+
**Configuration Options:**
|
|
473
|
+
- `host`: Your Jira Cloud instance URL
|
|
474
|
+
- `username`: Your Jira email address
|
|
475
|
+
- `apiToken`: API token (store in settings.local.json only!)
|
|
476
|
+
- `projectKey`: Jira project key (e.g., "PROJ", "ENG")
|
|
477
|
+
- `boardId`: (Optional) Board ID for sprint/workflow operations
|
|
478
|
+
- `doneStatuses`: (Optional) Status names to exclude from `il issues` lists (default: `["Done"]`). Set to match your Jira workflow, e.g., `["Done", "Closed", "Verified"]`
|
|
479
|
+
- `transitionMappings`: (Optional) Map iloom states to your Jira workflow transition names
|
|
448
480
|
|
|
449
481
|
|
|
450
482
|
### IDE Support
|
|
@@ -547,6 +579,88 @@ il plan --yolo "Add GitLab integration"
|
|
|
547
579
|
|
|
548
580
|
See the [Complete Command Reference](docs/iloom-commands.md#il-plan) for all options including `--model`, `--planner`, and `--reviewer` flags.
|
|
549
581
|
|
|
582
|
+
### Swarm Mode (Epic Orchestration)
|
|
583
|
+
|
|
584
|
+
Swarm mode enables automatic, parallel execution of an entire epic by coordinating a team of AI agents. Each child issue gets its own worktree and agent, all working simultaneously while respecting dependency order.
|
|
585
|
+
|
|
586
|
+
**Prerequisite:** Decompose your epic into child issues with dependencies first, using `il plan` or manually creating child issues and setting up blocking relationships.
|
|
587
|
+
|
|
588
|
+
**How to trigger:**
|
|
589
|
+
|
|
590
|
+
```bash
|
|
591
|
+
# Auto-detect: iloom checks for child issues and prompts
|
|
592
|
+
il start 100
|
|
593
|
+
|
|
594
|
+
# Force epic mode (skip prompt)
|
|
595
|
+
il start 100 --epic
|
|
596
|
+
|
|
597
|
+
# Force normal loom even if children exist
|
|
598
|
+
il start 100 --no-epic
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
When you run `il spin` inside the epic loom, swarm mode activates:
|
|
602
|
+
|
|
603
|
+
1. **Child worktrees** are created for each child issue, branched off the epic branch
|
|
604
|
+
2. **Swarm agents and skill files** are rendered into the epic loom's `.claude/` directory
|
|
605
|
+
3. **Dependency DAG** is fetched from your issue tracker (blocking relationships between children)
|
|
606
|
+
4. **Orchestrator launches** with Claude's experimental agent teams, using `bypassPermissions` mode
|
|
607
|
+
5. **Parallel agents** are spawned for all unblocked child issues simultaneously
|
|
608
|
+
6. As agents complete, their work is **rebased and fast-forward merged** into the epic branch
|
|
609
|
+
7. **Newly unblocked issues** are spawned automatically as their dependencies finish
|
|
610
|
+
8. **Failed children** are isolated — they don't block unrelated issues
|
|
611
|
+
|
|
612
|
+
**Example workflow:**
|
|
613
|
+
|
|
614
|
+
```bash
|
|
615
|
+
# 1. Plan and decompose your epic
|
|
616
|
+
il plan 100
|
|
617
|
+
|
|
618
|
+
# 2. Start the epic loom (auto-detects children)
|
|
619
|
+
il start 100 --epic
|
|
620
|
+
|
|
621
|
+
# 3. Launch swarm mode
|
|
622
|
+
il spin
|
|
623
|
+
# The orchestrator takes over — parallel agents implement each child issue,
|
|
624
|
+
# merge completed work, and handle failures autonomously.
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
Each child issue tracks its lifecycle state: `pending` -> `in_progress` -> `done` / `failed`. Use `il list --json` to see `swarmIssues` with per-child states and the `dependencyMap` for epic looms.
|
|
628
|
+
|
|
629
|
+
For detailed reference on swarm mode behavior, see the [Complete Command Reference](docs/iloom-commands.md#swarm-mode-epic-orchestration).
|
|
630
|
+
|
|
631
|
+
Telemetry
|
|
632
|
+
---------
|
|
633
|
+
|
|
634
|
+
iloom collects anonymous usage data to help improve the product. This data helps us understand which features are used, identify common errors, and prioritize development efforts.
|
|
635
|
+
|
|
636
|
+
**What IS collected:**
|
|
637
|
+
- Anonymous event data: command usage, feature adoption, and error types
|
|
638
|
+
- An anonymous identifier (not linked to your identity)
|
|
639
|
+
|
|
640
|
+
**What is NOT collected:**
|
|
641
|
+
- GitHub/Linear/Jira usernames or emails
|
|
642
|
+
- Repository names or URLs
|
|
643
|
+
- Issue titles, descriptions, or content
|
|
644
|
+
- File paths or code content
|
|
645
|
+
- Branch names
|
|
646
|
+
- AI analysis or plan content
|
|
647
|
+
- Anything that could identify a specific project or person
|
|
648
|
+
|
|
649
|
+
**Opt out at any time:**
|
|
650
|
+
|
|
651
|
+
```bash
|
|
652
|
+
# Disable telemetry
|
|
653
|
+
il telemetry off
|
|
654
|
+
|
|
655
|
+
# Check current status
|
|
656
|
+
il telemetry status
|
|
657
|
+
|
|
658
|
+
# Re-enable telemetry
|
|
659
|
+
il telemetry on
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
On first run, iloom displays a disclosure message informing you that telemetry is enabled and how to opt out.
|
|
663
|
+
|
|
550
664
|
System Requirements & Limitations
|
|
551
665
|
---------------------------------
|
|
552
666
|
|
|
@@ -608,6 +722,11 @@ This command:
|
|
|
608
722
|
|
|
609
723
|
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.
|
|
610
724
|
|
|
725
|
+
Acknowledgments
|
|
726
|
+
----------------
|
|
727
|
+
|
|
728
|
+
- [@NoahCardoza](https://github.com/NoahCardoza) — Jira Cloud integration (PR [#588](https://github.com/iloom-ai/iloom-cli/pull/588)): JiraApiClient, JiraIssueTracker, ADF/Markdown conversion, MCP provider, sprint/mine filtering, and `il issues` Jira support.
|
|
729
|
+
|
|
611
730
|
License & Name
|
|
612
731
|
--------------
|
|
613
732
|
|
|
@@ -619,7 +738,7 @@ License & Name
|
|
|
619
738
|
|
|
620
739
|
* ❌ You cannot resell iloom itself as a product or SaaS.
|
|
621
740
|
|
|
622
|
-
* Converts to Apache 2.0 on 2030-02-
|
|
741
|
+
* Converts to Apache 2.0 on 2030-02-25.
|
|
623
742
|
|
|
624
743
|
|
|
625
744
|
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-QVLPWNE3.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-25KSZAEM.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
ClaudeContextManager
|
|
4
|
+
} from "./chunk-E6KOWMKA.js";
|
|
5
|
+
import "./chunk-S7PZA6IV.js";
|
|
6
|
+
import "./chunk-UR5DGNUO.js";
|
|
7
|
+
import "./chunk-UUEW5KWB.js";
|
|
8
|
+
import "./chunk-7VHJNVLF.js";
|
|
9
|
+
import "./chunk-6MLEBAYZ.js";
|
|
10
|
+
import "./chunk-VT4PDUYT.js";
|
|
11
|
+
export {
|
|
12
|
+
ClaudeContextManager
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=ClaudeContextManager-66GR4BGM.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
ClaudeService
|
|
4
|
+
} from "./chunk-S7PZA6IV.js";
|
|
5
|
+
import "./chunk-UR5DGNUO.js";
|
|
6
|
+
import "./chunk-UUEW5KWB.js";
|
|
7
|
+
import "./chunk-7VHJNVLF.js";
|
|
8
|
+
import "./chunk-6MLEBAYZ.js";
|
|
9
|
+
import "./chunk-VT4PDUYT.js";
|
|
10
|
+
export {
|
|
11
|
+
ClaudeService
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=ClaudeService-7KM5NA5Z.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
GitHubService
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-7JDMYTFZ.js";
|
|
4
|
+
} from "./chunk-KXDRI47U.js";
|
|
5
|
+
import "./chunk-VG45TUYK.js";
|
|
7
6
|
import "./chunk-6MLEBAYZ.js";
|
|
7
|
+
import "./chunk-7JDMYTFZ.js";
|
|
8
8
|
import "./chunk-VT4PDUYT.js";
|
|
9
9
|
export {
|
|
10
10
|
GitHubService
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=GitHubService-
|
|
12
|
+
//# sourceMappingURL=GitHubService-MEHKHUQP.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
IssueTrackerFactory
|
|
4
|
+
} from "./chunk-UKBAJ2QQ.js";
|
|
5
|
+
import "./chunk-HEXKPKCK.js";
|
|
6
|
+
import "./chunk-KXDRI47U.js";
|
|
7
|
+
import "./chunk-VG45TUYK.js";
|
|
8
|
+
import "./chunk-6MLEBAYZ.js";
|
|
9
|
+
import "./chunk-7JDMYTFZ.js";
|
|
10
|
+
import "./chunk-VT4PDUYT.js";
|
|
11
|
+
export {
|
|
12
|
+
IssueTrackerFactory
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=IssueTrackerFactory-NG53YX5S.js.map
|
|
@@ -4,21 +4,21 @@ 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-E6KOWMKA.js";
|
|
8
|
+
import "./chunk-S7PZA6IV.js";
|
|
9
|
+
import "./chunk-UR5DGNUO.js";
|
|
10
|
+
import "./chunk-UUEW5KWB.js";
|
|
10
11
|
import {
|
|
11
12
|
getExecutablePath
|
|
12
13
|
} from "./chunk-GYCR2LOU.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-7VHJNVLF.js";
|
|
15
|
+
import {
|
|
16
|
+
getLogger
|
|
17
|
+
} from "./chunk-6MLEBAYZ.js";
|
|
14
18
|
import {
|
|
15
19
|
generateColorFromBranchName,
|
|
16
20
|
hexToRgb
|
|
17
21
|
} from "./chunk-433MOLAU.js";
|
|
18
|
-
import "./chunk-FO5GGFOV.js";
|
|
19
|
-
import {
|
|
20
|
-
getLogger
|
|
21
|
-
} from "./chunk-6MLEBAYZ.js";
|
|
22
22
|
import {
|
|
23
23
|
getDotenvFlowFiles,
|
|
24
24
|
openMultipleTerminalWindows,
|
|
@@ -252,4 +252,4 @@ var LoomLauncher = class {
|
|
|
252
252
|
export {
|
|
253
253
|
LoomLauncher
|
|
254
254
|
};
|
|
255
|
-
//# sourceMappingURL=LoomLauncher-
|
|
255
|
+
//# sourceMappingURL=LoomLauncher-TDLZSYG2.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
MetadataManager
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KB64WNBZ.js";
|
|
5
5
|
import "./chunk-6MLEBAYZ.js";
|
|
6
6
|
import "./chunk-VT4PDUYT.js";
|
|
7
7
|
export {
|
|
8
8
|
MetadataManager
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=MetadataManager-
|
|
10
|
+
//# sourceMappingURL=MetadataManager-5QZSTKNN.js.map
|
package/dist/{ProjectCapabilityDetector-N5L7T4IY.js → ProjectCapabilityDetector-5KSYUTBJ.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-MORRVYPT.js";
|
|
5
|
+
import "./chunk-YQ57ORTV.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-5KSYUTBJ.js.map
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
PromptTemplateManager,
|
|
4
4
|
buildReviewTemplateVariables
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-UUEW5KWB.js";
|
|
6
6
|
import "./chunk-VT4PDUYT.js";
|
|
7
7
|
export {
|
|
8
8
|
PromptTemplateManager,
|
|
9
9
|
buildReviewTemplateVariables
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=PromptTemplateManager-
|
|
11
|
+
//# sourceMappingURL=PromptTemplateManager-YOE2SIPG.js.map
|