@iloom/cli 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/README.md +234 -667
  2. package/dist/BranchNamingService-OMWKUYMM.js +13 -0
  3. package/dist/ClaudeContextManager-3VXA6UPR.js +13 -0
  4. package/dist/ClaudeService-6CPK43N4.js +12 -0
  5. package/dist/GitHubService-EBOETDIW.js +11 -0
  6. package/dist/{LoomLauncher-CTSWJL35.js → LoomLauncher-JF7JZMTZ.js} +63 -32
  7. package/dist/LoomLauncher-JF7JZMTZ.js.map +1 -0
  8. package/dist/ProjectCapabilityDetector-34LU7JJ4.js +9 -0
  9. package/dist/{PromptTemplateManager-WII75TKH.js → PromptTemplateManager-A52RUAMS.js} +2 -2
  10. package/dist/README.md +234 -667
  11. package/dist/{SettingsManager-XOYCLH3D.js → SettingsManager-ZCWJ56WP.js} +12 -4
  12. package/dist/SettingsMigrationManager-AGIIIPDQ.js +10 -0
  13. package/dist/agents/iloom-issue-analyze-and-plan.md +125 -35
  14. package/dist/agents/iloom-issue-analyzer.md +284 -32
  15. package/dist/agents/iloom-issue-complexity-evaluator.md +40 -21
  16. package/dist/agents/iloom-issue-enhancer.md +69 -48
  17. package/dist/agents/iloom-issue-implementer.md +36 -25
  18. package/dist/agents/iloom-issue-planner.md +35 -24
  19. package/dist/agents/iloom-issue-reviewer.md +62 -9
  20. package/dist/{chunk-SWCRXDZC.js → chunk-3RUPPQRG.js} +1 -18
  21. package/dist/chunk-3RUPPQRG.js.map +1 -0
  22. package/dist/{chunk-HBVFXN7R.js → chunk-4BGK7T6X.js} +26 -3
  23. package/dist/chunk-4BGK7T6X.js.map +1 -0
  24. package/dist/{chunk-6LEQW46Y.js → chunk-4E4LD3QR.js} +72 -2
  25. package/dist/{chunk-6LEQW46Y.js.map → chunk-4E4LD3QR.js.map} +1 -1
  26. package/dist/{chunk-CWR2SANQ.js → chunk-EBISESAP.js} +1 -1
  27. package/dist/{chunk-TS6DL67T.js → chunk-G2IEYOLQ.js} +11 -38
  28. package/dist/chunk-G2IEYOLQ.js.map +1 -0
  29. package/dist/chunk-HBYZH6GD.js +1989 -0
  30. package/dist/chunk-HBYZH6GD.js.map +1 -0
  31. package/dist/chunk-INW24J2W.js +55 -0
  32. package/dist/chunk-INW24J2W.js.map +1 -0
  33. package/dist/{chunk-ZMNQBJUI.js → chunk-IP7SMKIF.js} +61 -22
  34. package/dist/chunk-IP7SMKIF.js.map +1 -0
  35. package/dist/{chunk-4IV6W4U5.js → chunk-IXKLYTWO.js} +12 -12
  36. package/dist/chunk-IXKLYTWO.js.map +1 -0
  37. package/dist/{chunk-JNKJ7NJV.js → chunk-JKXJ7BGL.js} +6 -2
  38. package/dist/{chunk-JNKJ7NJV.js.map → chunk-JKXJ7BGL.js.map} +1 -1
  39. package/dist/{chunk-LAPY6NAE.js → chunk-JQFO7QQN.js} +68 -12
  40. package/dist/{chunk-LAPY6NAE.js.map → chunk-JQFO7QQN.js.map} +1 -1
  41. package/dist/{SettingsMigrationManager-MTQIMI54.js → chunk-KLBYVHPK.js} +3 -2
  42. package/dist/{chunk-USVVV3FP.js → chunk-MKWYLDFK.js} +5 -5
  43. package/dist/chunk-O5OH5MRX.js +396 -0
  44. package/dist/chunk-O5OH5MRX.js.map +1 -0
  45. package/dist/{chunk-DJUGYNQE.js → chunk-PA6Q6AWM.js} +16 -3
  46. package/dist/chunk-PA6Q6AWM.js.map +1 -0
  47. package/dist/chunk-RO26VS3W.js +444 -0
  48. package/dist/chunk-RO26VS3W.js.map +1 -0
  49. package/dist/{chunk-VETG35MF.js → chunk-TSKY3JI7.js} +3 -3
  50. package/dist/{chunk-VETG35MF.js.map → chunk-TSKY3JI7.js.map} +1 -1
  51. package/dist/{chunk-LHP6ROUM.js → chunk-U5QDY7ZD.js} +4 -16
  52. package/dist/chunk-U5QDY7ZD.js.map +1 -0
  53. package/dist/{chunk-SPYPLHMK.js → chunk-VU3QMIP2.js} +34 -2
  54. package/dist/chunk-VU3QMIP2.js.map +1 -0
  55. package/dist/{chunk-PVAVNJKS.js → chunk-WEN5C5DM.js} +10 -1
  56. package/dist/chunk-WEN5C5DM.js.map +1 -0
  57. package/dist/{chunk-2PLUQT6J.js → chunk-XPKDPZ5D.js} +2 -2
  58. package/dist/{chunk-RF2YI2XJ.js → chunk-ZBQVSHVT.js} +5 -5
  59. package/dist/chunk-ZBQVSHVT.js.map +1 -0
  60. package/dist/{chunk-GZP4UGGM.js → chunk-ZM3CFL5L.js} +2 -2
  61. package/dist/{chunk-BLCTGFZN.js → chunk-ZT3YZB4K.js} +3 -4
  62. package/dist/chunk-ZT3YZB4K.js.map +1 -0
  63. package/dist/{chunk-MFU53H6J.js → chunk-ZWFBBPJI.js} +6 -6
  64. package/dist/{chunk-MFU53H6J.js.map → chunk-ZWFBBPJI.js.map} +1 -1
  65. package/dist/{claude-ZIWDG4XG.js → claude-LUZ35IMK.js} +2 -2
  66. package/dist/{cleanup-FEIVZSIV.js → cleanup-3MONU4PU.js} +88 -27
  67. package/dist/cleanup-3MONU4PU.js.map +1 -0
  68. package/dist/cli.js +2511 -62
  69. package/dist/cli.js.map +1 -1
  70. package/dist/{contribute-EMZKCAC6.js → contribute-UWJAGIG7.js} +6 -6
  71. package/dist/{feedback-LFNMQBAZ.js → feedback-W3BXTGIM.js} +15 -14
  72. package/dist/{feedback-LFNMQBAZ.js.map → feedback-W3BXTGIM.js.map} +1 -1
  73. package/dist/{git-WC6HZLOT.js → git-34Z6QVDS.js} +4 -2
  74. package/dist/{ignite-MQWVJEAB.js → ignite-KVJEFXNO.js} +32 -27
  75. package/dist/ignite-KVJEFXNO.js.map +1 -0
  76. package/dist/index.d.ts +359 -45
  77. package/dist/index.js +1267 -503
  78. package/dist/index.js.map +1 -1
  79. package/dist/{init-GJDYN2IK.js → init-L55Q73H4.js} +104 -40
  80. package/dist/init-L55Q73H4.js.map +1 -0
  81. package/dist/mcp/issue-management-server.js +934 -0
  82. package/dist/mcp/issue-management-server.js.map +1 -0
  83. package/dist/{neon-helpers-ZVIRPKCI.js → neon-helpers-WPUACUVC.js} +3 -3
  84. package/dist/neon-helpers-WPUACUVC.js.map +1 -0
  85. package/dist/{open-NXSN7XOC.js → open-LNRZL3UU.js} +39 -36
  86. package/dist/open-LNRZL3UU.js.map +1 -0
  87. package/dist/{prompt-ANTQWHUF.js → prompt-7INJ7YRU.js} +4 -2
  88. package/dist/prompt-7INJ7YRU.js.map +1 -0
  89. package/dist/prompts/init-prompt.txt +541 -98
  90. package/dist/prompts/issue-prompt.txt +27 -27
  91. package/dist/{rebase-DUNFOJVS.js → rebase-C4WNCVGM.js} +6 -6
  92. package/dist/{remote-ZCXJVVNW.js → remote-VUNCQZ6J.js} +3 -2
  93. package/dist/remote-VUNCQZ6J.js.map +1 -0
  94. package/dist/{run-O7ZK7CKA.js → run-IOGNIOYN.js} +39 -36
  95. package/dist/run-IOGNIOYN.js.map +1 -0
  96. package/dist/schema/settings.schema.json +59 -3
  97. package/dist/{test-git-T76HOTIA.js → test-git-J7I5MFYH.js} +3 -3
  98. package/dist/{test-prefix-6HJUVQMH.js → test-prefix-ZCONBCBX.js} +3 -3
  99. package/dist/{test-webserver-M2I3EV4J.js → test-webserver-DAHONWCS.js} +4 -4
  100. package/dist/test-webserver-DAHONWCS.js.map +1 -0
  101. package/package.json +3 -2
  102. package/dist/ClaudeContextManager-LVCYRM6Q.js +0 -13
  103. package/dist/ClaudeService-WVTWB3DK.js +0 -12
  104. package/dist/GitHubService-7E2S5NNZ.js +0 -11
  105. package/dist/LoomLauncher-CTSWJL35.js.map +0 -1
  106. package/dist/add-issue-OBI325W7.js +0 -69
  107. package/dist/add-issue-OBI325W7.js.map +0 -1
  108. package/dist/chunk-4IV6W4U5.js.map +0 -1
  109. package/dist/chunk-BLCTGFZN.js.map +0 -1
  110. package/dist/chunk-CVLAZRNB.js +0 -54
  111. package/dist/chunk-CVLAZRNB.js.map +0 -1
  112. package/dist/chunk-DJUGYNQE.js.map +0 -1
  113. package/dist/chunk-H4E4THUZ.js +0 -55
  114. package/dist/chunk-H4E4THUZ.js.map +0 -1
  115. package/dist/chunk-H5LDRGVK.js +0 -642
  116. package/dist/chunk-H5LDRGVK.js.map +0 -1
  117. package/dist/chunk-HBVFXN7R.js.map +0 -1
  118. package/dist/chunk-LHP6ROUM.js.map +0 -1
  119. package/dist/chunk-PVAVNJKS.js.map +0 -1
  120. package/dist/chunk-RF2YI2XJ.js.map +0 -1
  121. package/dist/chunk-SPYPLHMK.js.map +0 -1
  122. package/dist/chunk-SWCRXDZC.js.map +0 -1
  123. package/dist/chunk-SYOSCMIT.js +0 -545
  124. package/dist/chunk-SYOSCMIT.js.map +0 -1
  125. package/dist/chunk-T3KEIB4D.js +0 -243
  126. package/dist/chunk-T3KEIB4D.js.map +0 -1
  127. package/dist/chunk-TS6DL67T.js.map +0 -1
  128. package/dist/chunk-ZMNQBJUI.js.map +0 -1
  129. package/dist/cleanup-FEIVZSIV.js.map +0 -1
  130. package/dist/enhance-MNA4ZGXW.js +0 -176
  131. package/dist/enhance-MNA4ZGXW.js.map +0 -1
  132. package/dist/finish-TX5CJICB.js +0 -1749
  133. package/dist/finish-TX5CJICB.js.map +0 -1
  134. package/dist/ignite-MQWVJEAB.js.map +0 -1
  135. package/dist/init-GJDYN2IK.js.map +0 -1
  136. package/dist/mcp/chunk-6SDFJ42P.js +0 -62
  137. package/dist/mcp/chunk-6SDFJ42P.js.map +0 -1
  138. package/dist/mcp/claude-NDFOCQQQ.js +0 -249
  139. package/dist/mcp/claude-NDFOCQQQ.js.map +0 -1
  140. package/dist/mcp/color-QS5BFCNN.js +0 -168
  141. package/dist/mcp/color-QS5BFCNN.js.map +0 -1
  142. package/dist/mcp/github-comment-server.js +0 -168
  143. package/dist/mcp/github-comment-server.js.map +0 -1
  144. package/dist/mcp/terminal-OMNRFWB3.js +0 -227
  145. package/dist/mcp/terminal-OMNRFWB3.js.map +0 -1
  146. package/dist/open-NXSN7XOC.js.map +0 -1
  147. package/dist/run-O7ZK7CKA.js.map +0 -1
  148. package/dist/start-73I5W7WW.js +0 -983
  149. package/dist/start-73I5W7WW.js.map +0 -1
  150. package/dist/test-webserver-M2I3EV4J.js.map +0 -1
  151. /package/dist/{ClaudeContextManager-LVCYRM6Q.js.map → BranchNamingService-OMWKUYMM.js.map} +0 -0
  152. /package/dist/{ClaudeService-WVTWB3DK.js.map → ClaudeContextManager-3VXA6UPR.js.map} +0 -0
  153. /package/dist/{GitHubService-7E2S5NNZ.js.map → ClaudeService-6CPK43N4.js.map} +0 -0
  154. /package/dist/{PromptTemplateManager-WII75TKH.js.map → GitHubService-EBOETDIW.js.map} +0 -0
  155. /package/dist/{SettingsManager-XOYCLH3D.js.map → ProjectCapabilityDetector-34LU7JJ4.js.map} +0 -0
  156. /package/dist/{claude-ZIWDG4XG.js.map → PromptTemplateManager-A52RUAMS.js.map} +0 -0
  157. /package/dist/{git-WC6HZLOT.js.map → SettingsManager-ZCWJ56WP.js.map} +0 -0
  158. /package/dist/{neon-helpers-ZVIRPKCI.js.map → SettingsMigrationManager-AGIIIPDQ.js.map} +0 -0
  159. /package/dist/{chunk-CWR2SANQ.js.map → chunk-EBISESAP.js.map} +0 -0
  160. /package/dist/{SettingsMigrationManager-MTQIMI54.js.map → chunk-KLBYVHPK.js.map} +0 -0
  161. /package/dist/{chunk-USVVV3FP.js.map → chunk-MKWYLDFK.js.map} +0 -0
  162. /package/dist/{chunk-2PLUQT6J.js.map → chunk-XPKDPZ5D.js.map} +0 -0
  163. /package/dist/{chunk-GZP4UGGM.js.map → chunk-ZM3CFL5L.js.map} +0 -0
  164. /package/dist/{prompt-ANTQWHUF.js.map → claude-LUZ35IMK.js.map} +0 -0
  165. /package/dist/{contribute-EMZKCAC6.js.map → contribute-UWJAGIG7.js.map} +0 -0
  166. /package/dist/{remote-ZCXJVVNW.js.map → git-34Z6QVDS.js.map} +0 -0
  167. /package/dist/{rebase-DUNFOJVS.js.map → rebase-C4WNCVGM.js.map} +0 -0
  168. /package/dist/{test-git-T76HOTIA.js.map → test-git-J7I5MFYH.js.map} +0 -0
  169. /package/dist/{test-prefix-6HJUVQMH.js.map → test-prefix-ZCONBCBX.js.map} +0 -0
package/dist/README.md CHANGED
@@ -1,5 +1,5 @@
1
- # iloom
2
-
1
+ iloom
2
+ =====
3
3
  <div align="center">
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/%40iloom%2Fcli?label=npm)](https://www.npmjs.com/package/@iloom/cli)
@@ -10,14 +10,13 @@
10
10
  </div>
11
11
 
12
12
  <div align="center">
13
- <img width="327" height="328" alt="iloom-ai-logo" src="https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/assets/iloom-logo.png" />
14
- <div>Scale understanding, not just output.</div>
15
-
13
+ <img width="600" alt="iloom-ai-screenshot" src="https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/assets/iloom-screenshot.png" />
14
+ <div>iloom in action: Scale understanding, not just output.</div>
16
15
  </div>
17
16
 
18
17
  #### Links to key sections
19
- [How It Works](#how-it-works) • [Installation](#installation) • [Commands](#commands) • [Feedback](#providing-feedback) • [Limitations](#platform--integration-support) • [Configuration](#configuration)
20
18
 
19
+ [How It Works](#how-it-works-the-multi-agent-workflow) • [Installation](#quick-start) • [Configuration](#configuration) • [Advanced Features](#advanced-features) • [Limitations](#system-requirements--limitations)
21
20
 
22
21
  ## Built For Modern Tools...
23
22
 
@@ -27,745 +26,313 @@
27
26
  [![Neon](https://img.shields.io/badge/Neon-00E699?style=for-the-badge)](https://neon.tech/)
28
27
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-8A6FFF?style=for-the-badge)](https://claude.ai/)
29
28
 
30
- *These companies and projects do not endorse iloom.*
31
-
32
- ## ...To Solve A Very Modern Problem
33
-
34
- The promise of AI-assisted development is profound: write more code, ship features faster, handle complexity at scale. But there's a hidden cost that many tools ignore.
35
-
36
- **AI agents write code quickly. They struggle to stay in sync with their humans.**
37
-
38
- The hard part is not writing a ton of code. It's knowing what decisions your AI is making, what assumptions it's operating under, and why it's producing what it produces.
39
-
40
- Friction piles up:
41
- - You open new chats for each problem and rebuild context in your head.
42
- - Mental overhead grows. Stress rises. Momentum drops.
43
- - Hidden assumptions creep in. The AI picks Axios when your team standardizes on fetch. It reaches for the wrong auth pattern.
44
- - Hit a context limit and the model forgets what matters.
45
-
46
- The outcome is familiar: more time briefing the AI than building, more time fixing than shipping. Work can look finished while somehow shrouded in mystery.
47
-
48
- **The bottleneck isn't output velocity. It's maintaining shared understanding between human and AI at scale.**
49
-
50
- *iloom treats context as a first-class concern. It's not a tool for managing branches - it's a control plane for maintaining alignment between you and your AI assistant.*
51
-
52
- ## How iloom Solves This
29
+ ...To Solve A Very Modern Problem
30
+ ---------------------------------
53
31
 
54
- iloom uses your existing Claude subscription, takes what context you already have, and works with you to build a shared mental model of the task at hand.
32
+ 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.**
55
33
 
56
- ```bash
57
- > npm install -g @iloom/cli
58
-
59
- # iloom doesn't need your GitHub access token - it uses the GitHub CLI instead.
60
- > gh auth login
61
-
62
- # Spins up an isolated dev environment.
63
- # Pulls in issue 25 from GitHub, even if it's just an issue title.
64
- # Fills in the blanks with you.
65
- > iloom start 25
66
-
67
- # or
68
-
69
- # Creates an issue, builds that same shared mental model from scratch.
70
- > iloom start "user auth broken"
71
-
72
- # or
73
-
74
- # Grabs context from this PR and its original issue, then iterates on it alongside you
75
- > iloom start 34
76
-
77
- # then
78
-
79
- # Knows which loom you're in, validates, merges your code back to your primary branch.
80
- # If you hit compilation/lint/test failures or merge conflicts along the way,
81
- # Claude will help resolve them automatically.
82
- > iloom finish
83
- ```
34
+ 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:
84
35
 
85
- **The iloom difference**: Surface hidden assumptions up front, then persist all the analysis and reasoning in GitHub issue comments - visible and editable - rather than burning tokens in the context window where they're invisible and set in stone.
36
+ * You constantly re-brief the AI on the same context.
37
+
38
+ * Hidden assumptions creep in (e.g., "Why did it use Axios instead of fetch?").
39
+
40
+ * You spend more time reviewing and "babysitting" the AI than building.
41
+
86
42
 
87
- ### One Command, Parallel Work, Predictable Flow
43
+ **The bottleneck isn't output velocity. It's maintaining alignment between human and AI at scale.**
88
44
 
89
- Each loom follows the same workflow - structured, visible, repeatable.
45
+ ### The iloom Approach: Context as Infrastructure
90
46
 
91
- `iloom start` doesn't just create a git worktree. It spins up a loom. Here's what happens:
47
+ iloom stops the "Context Window Tetris." It treats context as a first-class concern, persisting your AI's reasoning in **issue comments** rather than temporary chats.
92
48
 
93
- - Fetches the full GitHub issue (or PR) including all comments and requirements - or not, if they don't exist.
94
- - Creates an isolated environment (Git worktree, database branch, web server on a deterministic unique port)
95
- - Enhances the GitHub issue with a better description, and structured analysis & planning. Asking questions and stating assumptions along the way, all in GitHub comments.
96
- - Launches Claude with this context preloaded from the issue, guides you through a structured workflow. You can stop at any time, pick up where you left off.
97
- - Each loom is color-coded, from terminal windows to VS Code, so you visually know which context you're in.
49
+ * **Stop Babysitting, Start Collaborating:** Instead of arguing with Claude in a chat, you review structured analysis plans in your issue tracker _before_ a single line of code is written.
50
+
51
+ * **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.
52
+
53
+ * **Visible Reasoning:** The AI's decisions are documented publicly. Your team sees the plan, and "future you" knows exactly why a decision was made.
54
+
98
55
 
99
- **When you switch to this loom, both you and Claude know exactly what you're working on and why.**
56
+ _iloom is not just a tool for managing git worktrees - it's a control plane for maintaining alignment between you and your AI assistant._
100
57
 
101
- ### Merge with Confidence
58
+ Quick Start
59
+ -----------
102
60
 
61
+ iloom uses your existing Claude subscription to build a shared mental model of your task.
103
62
  ```bash
104
- > iloom finish
105
- # Runs tests, types, lint - Claude helps fix any failures automatically
106
- # ✅ Generates commit message from the issue context
107
- # Handles merge conflicts with AI assistance
108
- # Merges to main, installs dependencies
109
- # ✅ Cleans up everything - worktree, database branch, and the web server you were using to test your work
110
- ```
111
- (as you can see, using iloom does not spare you from copious emoji)
112
-
113
- This isn't just convenience automation. You know you're merging the correct code, correctly - the commit message is auto-generated from the issue context, and any build/test/merge failures get fixed automatically with Claude's help. It helps keep resources in check too, local and remote, by safely shutting down servers and cleaning up Neon DB branches.
114
-
115
- ## What This Means for How You Work
116
-
117
- ### You Stop Babysitting Your AI, Start Collaborating With It
118
-
119
- Traditional approach:
120
- 1. Start a feature, brief Claude on context.
121
- 2. Review code, fix misunderstandings. Argue with Claude.
122
- 3. Get pulled into a bug - stash or WIP commit, switch branches, start a new Claude chat.
123
- 4. Lose context on both tasks, repeat the same explanations.
124
-
125
- iloom approach:
126
- 1. `il start 45` - begin the feature. Note: `il` is an alias for `iloom`.
127
- 2. Review iloom's structured analysis in GitHub, clarify assumptions.
128
- 3. `il start 99` - urgent bug; Claude already knows the issue context from the GitHub issue.
129
- 4. Switch between looms freely - color coding and context persistence keep everything clear.
130
- 5. `il finish` - work validated, merged, cleaned up.
131
- 6. Return to your feature loom - context, reasoning, and AI alignment all intact.
132
-
133
- **The difference**: Your AI becomes a persistent collaborator rather than a tool you're constantly playing catch-up with.
134
-
135
- **Plus, your AI's reasoning is now visible to everyone, including future you:**
136
- The AI analysis gets posted as GitHub comments, so anyone on your team can see the context and planning without having to ask you for background.
137
-
138
- ### You Scale Understanding, Not Just Output
139
-
140
- Without iloom, adding AI to your workflow increases code production but also increases cognitive load. You're managing what the AI knows, correcting misaligned suggestions, and second-guessing its understanding. Not to mention managing its context window.
141
-
142
- With iloom, the cognitive load stays constant as you scale. Each loom holds a complete shared understanding between you and your AI. Five issues in flight feel (almost) as calm and clear as one.
143
-
144
- **This is how you achieve sustainable velocity with AI assistance.**
145
-
146
- ### You Reduce Rework and Chaos
147
-
148
- When you and your AI are in lockstep:
149
- - Features get built right the first time because you spot when the AI is going off course, way before it writes a line of code.
150
- - Reviews focus on the quality of the AI's thinking, not just its code.
151
- - Fewer surprises caused by AI agents inventing requirements or inconsistently implementing existing patterns
152
- - If the AI takes a wrong turn - you don't spend hours arguing with Claude and playing context window Tetris. You just start the process again with better issue descriptions, different assumptions and better context for your AI assistant.
153
-
154
- ### The Power of Predictable Flow
155
-
156
- Every loom follows the same rhythm - Start Enhance → Analyze → Plan → Implement → Human review → Finish.
157
- The steps never change. The tools stay aligned.
158
- Predictability becomes muscle memory - you focus on ideas, not process.
159
-
160
- ## How It Works
161
-
162
- iloom orchestrates specialized AI agents that analyze issues, evaluate complexity, create implementation plans, and document everything directly in GitHub comments. Each agent has a specific role and writes structured output that becomes permanent project and team knowledge.
163
-
164
- ### Creating Context
63
+ # 1. Install iloom
64
+ npm install -g @iloom/cli
65
+
66
+ # 2. Authenticate (iloom uses the GitHub CLI)
67
+ gh auth login
68
+
69
+ # 3. Start a Loom
70
+ # Spins up an isolated environment (Git worktree, DB branch, unique port).
71
+ # Analyzes the issue, plans the work, and documents the plan in issue comments.
72
+ il start 25
73
+
74
+ # ... You, the iloom agents and Claude build the feature together in the isolated environment ...
75
+
76
+ # 4. Finish & Merge # Validates code (test/lint), handles merge conflicts, and cleans up the worktree/DB.
77
+ il finish
78
+ ```
79
+
80
+ **The iloom Difference:** il start doesn't just create a branch. It launches a multi-agent workflow that surfaces assumptions and creates a structured plan in your issue tracker **before you even need to look at your IDE.**
81
+
82
+ **→ [Want to know how you'll benefit from iloom?](docs/is-iloom-right-for-you.md)**
83
+
84
+ How It Works: The Multi-Agent Workflow
85
+ --------------------------------------
86
+
87
+ When you run il start, iloom orchestrates specialized AI agents. Each has a specific role and writes structured output to **issue comments**, creating permanent project knowledge.
88
+
89
+ ### 1. The Agents
90
+
91
+ Instead of a single generic prompt, iloom uses a pipeline of agents:
92
+
93
+ * **Enhancer (iloom-issue-enhancer):** Expands brief one-liners into detailed requirements.
94
+
95
+ * **Evaluator (iloom-issue-complexity-evaluator):** Determines the workflow approach:
96
+
97
+ * **Simple:** Combines analysis and planning into one step for efficiency.
98
+
99
+ * **Complex:** Separates deep root-cause analysis from detailed implementation planning.
100
+
101
+ * **Implementer:** Executes the plan using the context established in the previous steps.
102
+
103
+
104
+ ### 2\ Interactive Control
105
+
106
+ 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.
107
+
108
+ * **Default Mode:** You approve each phase (Enhance Plan Implement).
109
+
110
+ * **--one-shot Mode:** Feeling lucky? Automate the entire pipeline from start to finish without prompts.
111
+
112
+
113
+ ### 3. The Environment
114
+
115
+ Each loom is a fully isolated container for your work:
116
+
117
+ * **Git Worktree:** A separate filesystem at ~/project-looms/issue-25/. No stashing, no branch switching overhead.
118
+
119
+ * **Database Branch:** (Neon support) Schema changes in this loom are isolated—they won't break your main environment or your other active looms.
120
+
121
+ * **Unique Runtime:**
122
+
123
+ * **Web Apps:** Runs on a deterministic port (e.g., base port 3000 + issue #25 = 3025).
124
+
125
+ * **CLI Tools:** Creates an isolated binary copy (e.g., my-tool-25). You can run issue #25's version of your CLI alongside issue #99's version without conflicts. (Fun fact: iloom was built with iloom using this feature).
126
+
127
+ * **Context Persistence:** All reasoning is stored in issue comments. This makes the "why" behind the code visible to your teammates and your future self.
128
+
129
+
130
+ Command Reference
131
+ -----------------
132
+
133
+ | **Command** | **Alias** | **Description** |
134
+ | ------ | ----- | -----|
135
+ | `il start` | `up` | Create loom, run analysis agents, and launch IDE. |
136
+ | `il finish` | `dn` | Validate tests/lint, commit, handle conflicts, and merge/PR. |
137
+ | `il cleanup` | | Safely remove a loom and its database branch without merging. |
138
+ | `il list` | | Show active looms and paths. |
139
+ | `il spin` | | Launch Claude inside the current loom with context auto-detected. |
140
+ | `il open` | `run` | Open loom in browser (web) or run your CLI tool. |
141
+ | `il add-issue` | `a` | Create and AI-enhance a new issue without starting work yet. |
142
+ | `il init` | `config` | Interactive configuration wizard. |
143
+ | `il feedback` | `f` | Submit bug reports/feedback directly from the CLI. |
144
+ | `il update` | | Update iloom CLI to the latest version. |
145
+
146
+ For detailed documentation including all command options, flags, and examples, see the [Complete Command Reference](docs/iloom-commands.md).
147
+
148
+ Configuration
149
+ -------------
150
+
151
+ ### 1. Interactive Setup (Recommended)
152
+
153
+ The easiest way to configure iloom is the interactive wizard. It guides you through setting up your environment (GitHub/Linear, Neon, IDE).
154
+
155
+ You can even use natural language to jump-start the process:
165
156
 
166
157
  ```bash
167
- > il start 25
168
- ```
169
-
170
- iloom executes a multi-phase context-establishment workflow:
158
+ # Standard wizard
159
+ il init
171
160
 
172
- 1. **Fetch complete requirements** - GitHub issue body + all comments
173
- 2. **Create isolated loom** - Git worktree at `~/project-looms/issue-25-auth-bugs/` (branch names are generated)
174
- 3. **Run AI workflow agents** - Enhance, analyze, plan, and document directly in GitHub comments:
175
- - **Enhancement Agent**: Expands brief issues into detailed requirements (if needed)
176
- - **Complexity Evaluator**: Assesses scope and determines workflow approach
177
- - **Simple workflow**: Combined analysis and planning in one step
178
- - **Complex workflow**: Separate analysis phase, then detailed planning phase
179
- 4. **Establish environment** - Unique web server port (e.g., 3025), isolated database branch, `.env` file with correct DATABASE_URL environment variable
180
- 5. **Launch tools** - VS Code with color theme, dev server, Claude with preloaded context from GitHub comments
161
+ # Natural language wizard
162
+ il init "set my IDE to windsurf and help me configure linear"
163
+ ```
181
164
 
182
- **Result**: A continer where both you and your AI share understanding, with all context stored as structured GitHub comments. Open the issue in your browser to see:
183
- - Enhancement analysis (if the issue was brief)
184
- - Complexity evaluation with metrics
185
- - Root cause analysis and technical findings
186
- - Implementation plan
187
- - All context is editable, reviewable, and persists across machines
165
+ ### 2. Manual Configuration
188
166
 
189
- ### Maintaining Context
167
+ Settings are loaded in this order (highest priority first):
190
168
 
191
- Each loom is isolated:
169
+ 1. **CLI Flags:** il start --permissionMode=acceptEdits
170
+
171
+ 2. **Local Overrides:** .iloom/settings.local.json (gitignored; for API keys & local preferences)
172
+
173
+ 3. **Project Settings:** .iloom/settings.json (committed; for shared team defaults)
174
+
175
+ 4. **Global Settings:** ~/.config/iloom-ai/settings.json (for user-specific defaults)
176
+
192
177
 
193
- - **Git worktree** - Separate filesystem, different branch checked out, no switching overhead
194
- - **Database branch** - Schema changes don't affect other contexts (optional, requires Neon - other provider support coming soon)
195
- - **Unique port** - Multiple dev servers run simultaneously (base port + issue number)
196
- - **Environment variables** - Each loom has correct database URL
197
- - **Visual identity** - Color-coded VS Code window (40 distinct pastel colors)
198
- - **GitHub issue comments** - Multi-phase context (enhancement, analysis, planning) persists and is editable by team members
178
+ ### Key Settings Example
199
179
 
200
- **When you switch looms, the context switches with you.**
201
-
202
- ### Context That Scales With Your Team
203
-
204
- Traditional AI workflows store context locally in chat history or Markdown files. iloom stores context where it belongs - in the GitHub issue itself.
205
-
206
- **Benefits:**
207
-
208
- - **Transparency**: All AI analysis and planning is visible to your entire team
209
- - **Collaboration**: Team members can review, comment on, and refine AI-generated context
210
- - **Persistence**: Context survives repository clones, machine switches, and team member changes
211
- - **Version Control**: GitHub tracks all context changes with timestamps and authors
212
- - **Searchability**: GitHub's search finds AI insights across all your issues
213
- - **Integration**: Context appears in notifications, project boards, and automation workflows
214
- - **No Sync Issues**: Everyone sees the same context - no local file drift
215
-
216
- When Claude analyzes your issue and creates a comment with "### Root Cause Analysis", that insight becomes permanent project knowledge. When you switch machines, clone the repo elsewhere, or bring in a new team member - the context is already there.
217
-
218
- **This is context as infrastructure, not files.**
219
-
220
- ### Understanding the Multi-Agent Workflow
221
-
222
- When you run `il start 25`, iloom orchestrates specialized AI agents that work through a structured analysis and planning process:
223
-
224
- **Phase 1: Enhancement (optional)** - `iloom-issue-enhancer`
225
- - Checks if issue needs more detail (word count, structure, clarity)
226
- - Expands brief descriptions into comprehensive requirements
227
- - Posts enhancement as a GitHub comment
228
- - **Used for:** All issues that need enhancement
229
-
230
- **Phase 2: Complexity Evaluation** - `iloom-issue-complexity-evaluator`
231
- - Analyzes scope, file changes, breaking changes, risks
232
- - Classifies as Simple or Complex
233
- - Posts evaluation as a GitHub comment with metrics
234
- - **Used for:** All issues
235
-
236
- #### For complex issues
237
-
238
- **Phase 3: Dedicated Analysis** - `iloom-issue-analyzer`
239
- - Investigates root causes and technical constraints
240
- - Documents findings and implementation considerations
241
- - Posts analysis as a GitHub comment
242
- - **Used for:** Complex issues only
243
-
244
- **Phase 4: Dedicated Planning** - `iloom-issue-planner`
245
- - Creates detailed implementation roadmap
246
- - Breaks work into phases with validation points
247
- - Posts plan as a GitHub comment
248
- - **Used for:** Complex issues only
249
-
250
- #### For simple issues
251
-
252
- **Phase 3+4: Combined Analysis & Planning** - `iloom-issue-analyze-and-plan`
253
- - Combines analysis and planning in a single step to shorten time and reduce review checkpoints
254
- - Posts combined analysis and plan as a GitHub comment
255
- - **Used for:** Simple issues only
256
-
257
- #### For all issues
258
-
259
- **Phase 5: Implementation** - `iloom-issue-implementer`
260
- - Executes the implementation plan created in previous phases
261
- - Updates progress in a GitHub comment
262
- - Documents decisions and completion status
263
- - **Used for:** All issues
264
-
265
- **Phase 6: Review (optional)** - `iloom-issue-reviewer`
266
- - Reviews completed implementation against issue requirements
267
- - Posts review findings as a GitHub comment
268
- - **Used for:** All issues (when review is requested)
269
-
270
- All agent output is written to GitHub issue comments using markdown, making the AI's reasoning process transparent and collaborative. You can review, edit, or refine any comment before proceeding to the next phase.
271
-
272
- ### A Note on Token Usage and Model Selection
273
-
274
- iloom optimizes for **building shared understanding** and **long-term efficiency** over short-term token economy. The multi-phase workflow deliberately front-loads analysis and planning to reduce expensive implementation rework.
275
-
276
- You can [configure](#configuration) the models used by the agents:
277
-
278
- - **Default**: All agents run on the latest Sonnet model to balance capability and cost
279
- - **Haiku for Implementation**: The `iloom-issue-implementer` agent is a good candidate for the latest Haiku model for token-conscious users, as it follows detailed plans created by analysis/planning agents
280
- - **Maximum Power**: Override to Opus for complex architectural work (more expensive)
281
-
282
- **Available agents** (all configurable):
283
- - `iloom-issue-enhancer` - Structures issue descriptions from user perspective
284
- - `iloom-issue-complexity-evaluator` - Assesses scope and determines workflow approach
285
- - `iloom-issue-analyzer` - Investigates root causes (complex issues only)
286
- - `iloom-issue-planner` - Creates implementation roadmap (complex issues only)
287
- - `iloom-issue-analyze-and-plan` - Combined analysis and planning (simple issues only)
288
- - `iloom-issue-implementer` - Executes implementation plans (good candidate for Haiku)
289
- - `iloom-issue-reviewer` - Reviews completed implementations
290
-
291
- **Hard-coded model usage** (not configurable):
292
- - **Branch naming** - Uses the latest Haiku model to generate descriptive branch names from issue titles
293
- - **Commit message generation** - Uses the latest Haiku model to create commit messages
294
-
295
- Both operations use Haiku for fast, cost-effective AI assistance.
296
-
297
- **Fun Fact**: iloom originally used Opus (over the latest Sonnet model) for analysis and planning phases. As agent prompts improved, we switched entirely to Sonnet with equivalent results at lower cost.
298
-
299
- **Recommendation**: A Claude Max subscription is recommended. The theory is that token investment in structured/shared context pays dividends through reduced debugging, rework, and cognitive overhead.
300
-
301
- ## Commands
302
-
303
- ### Loom Management
304
-
305
- ```bash
306
- iloom start <issue-number | pr-number | issue-description | branch-name>
307
- # Create loom with complete context
308
- # Orchestrates AI agents that analyze the issue and post structured comments
309
- # Phases: Enhancement → Analysis → Planning → Implementation with review checkpoints at every step
310
- # Aliases: create, up
311
- # Options:
312
- # --one-shot <mode> - Automation level for Claude CLI
313
- # default: Standard behavior with prompts
314
- # noReview: Skip phase approval prompts
315
- # bypassPermissions: Full automation, skip all permission prompts. Be careful!
316
-
317
- iloom finish
318
- # AI assisted validation, commit, merge steps, as well as loom cleanup (run this from the loom directory)
319
- # Behavior depends on mergeBehavior.mode setting:
320
- # local (default): Merge locally and cleanup
321
- # github-pr: Push branch, create PR, prompt for cleanup
322
- # Alias: dn
323
- # Options:
324
- # -f, --force - Skip confirmation prompts
325
- # -n, --dry-run - Preview actions without executing
326
- # --skip-build - Skip post-merge build verification
327
- # --no-browser - Skip opening PR in browser (github-pr mode only)
328
- # --cleanup - Clean up worktree after PR creation (github-pr mode only)
329
- # --no-cleanup - Keep worktree after PR creation (github-pr mode only)
330
-
331
- iloom rebase
332
- # Rebase current branch on main with Claude-assisted conflict resolution (run this from a loom directory)
333
- # Options:
334
- # -f, --force - Skip confirmation prompts
335
- # -n, --dry-run - Preview actions without executing
336
-
337
- iloom cleanup [identifier...]
338
- # Remove a loom without merging (safely, by default)
339
-
340
- iloom list
341
- # Show active looms with their ports and paths
342
-
343
- iloom spin
344
- # Launch Claude with auto-detected loom context
345
- # Options:
346
- # --one-shot=<mode> - Same automation modes as 'start'
347
-
348
- iloom open [identifier]
349
- # Open loom in browser (web projects) or run configured CLI tool
350
- ```
351
-
352
- ### Issue Management
353
-
354
- ```bash
355
- iloom add-issue <description>
356
- # Create and AI-enhance GitHub issue (doesn't spin up a loom)
357
- # Alias: a
358
- # Example: il add-issue "Add dark mode toggle to settings"
359
-
360
- iloom enhance <issue-number>
361
- # Apply AI enhancement agent to existing GitHub issue
362
- # Expands requirements, asks clarifying questions and adds implementation context
363
- ```
364
-
365
- ## Providing Feedback
366
-
367
- Found a bug, have a feature request, or want to contribute ideas to improve iloom CLI? Submit feedback directly from your terminal.
368
-
369
- ```bash
370
- iloom feedback <description>
371
- # Submit feedback/bug report to iloom-cli repository
372
- # Alias: f
373
- # Example: il feedback "Add support for Linear issue tracking"
374
- # Example: il feedback "The worktree cleanup seems to leave temp files behind"
375
- ```
180
+ This example shows how to configure a project-wide default (e.g., GitHub remote) while keeping sensitive keys (Linear API token) or personal preferences (IDE choice) local.
376
181
 
377
- **What happens when you run `iloom feedback`:**
182
+ **.iloom/settings.json (Committed)**
378
183
 
379
- 1. **Issue Creation**: Creates a new issue in the [iloom-cli repository](https://github.com/iloom-ai/iloom-cli)
380
- 2. **Browser Opening**: Opens the created issue in your browser for you to review and add additional context
381
- 3. **AI Enhancement**: Within a couple of minutes, your feedback gets enhanced by iloom to provide clear context and actionable details
382
-
383
- **Open the browser to provide additional context. Please:**
384
- - Be specific about what you expected vs. what happened
385
- - Include your environment details if reporting a bug (OS, Node version, etc.)
386
- - Mention the command or workflow that had issues
387
- - Suggest improvements or alternative approaches if you have ideas
388
-
389
- Your feedback helps make iloom better for everyone! Issues created through `iloom feedback` are prioritized and reviewed regularly.
390
-
391
- ### Maintenance
392
-
393
- ```bash
394
- iloom init
395
- # Interactive Claude-powered configuration wizard
396
- # Sets up settings.json, .gitignore, and guides you through all configuration options
397
- # Automatically detects multi-remote setups and helps you configure GitHub integration
398
- # Alias: il config
399
- # Run this once per project
400
-
401
- iloom contribute
402
- # Set up local development environment for contributing to iloom
403
- # Automatically forks the repository, clones it locally, configures upstream remote,
404
- # and runs il init to complete setup
405
- # Streamlines contributor onboarding with a single command
406
-
407
- iloom update
408
- # Update iloom-cli to the latest version
409
- ```
410
-
411
- ## Configuration
412
-
413
- ### Interactive Configuration Wizard
414
-
415
- The recommended way to configure iloom:
416
-
417
- ```bash
418
- iloom init
419
- # or
420
- il config
421
- ```
422
-
423
- This Claude-powered assistant will guide you through all configuration options and automatically:
424
- - Create and configure `.iloom/settings.json` and `.iloom/settings.local.json`
425
- - Set up `.gitignore` entries
426
- - Help you choose the right GitHub remote (if you have multiple)
427
- - Configure database providers (Neon, etc.)
428
- - Set workflow permissions and preferences
429
- - Explain each option as you go
430
-
431
- For most users, this is all you need. The wizard creates the files and explains everything as you configure it.
432
-
433
- ### Manual Configuration Files
434
-
435
- If you prefer manual configuration, iloom uses these files (highest to lowest priority):
436
-
437
- 1. **CLI arguments** - Command-line flags (e.g., `--one-shot bypassPermissions`)
438
- 2. **`.iloom/settings.local.json`** - Local machine settings (gitignored, not committed)
439
- 3. **`.iloom/settings.json`** - Project-wide settings (committed to repository)
440
- 4. **Built-in defaults** - Hardcoded fallback values
441
-
442
- This allows teams to share project defaults via `settings.json` while individual developers maintain personal overrides in `settings.local.json`.
443
-
444
- **Example Use Cases:**
445
- - Developer needs different `basePort` due to port conflicts
446
- - Local database connection strings that differ from team defaults
447
- - Personal preferences for `permissionMode` or component launch flags
448
-
449
- **Note:** The `.iloom/settings.local.json` file is automatically created and gitignored when you run `il init`.
450
-
451
- ### Key Configuration:
452
-
453
- ```jsonc
184
+ ```json
454
185
  {
455
186
  "mainBranch": "main",
456
- "mergeBehavior": {
457
- "mode": "local", // or "github-pr" for PR-based workflows
458
- "remote": "upstream" // optional, defaults to issueManagement.github.remote
187
+ "issueManagement": {
188
+ "provider": "github"
459
189
  },
460
190
  "capabilities": {
461
- "web": { "basePort": 3000 },
462
- "database": { "databaseUrlEnvVarName": "DATABASE_URL" }
191
+ "web": {
192
+ "basePort": 3000
193
+ },
194
+ "database": {
195
+ "databaseUrlEnvVarName": "DATABASE_URL"
196
+ }
463
197
  },
464
198
  "databaseProviders": {
465
199
  "neon": {
466
- "projectId": "fantastic-fox-3566354",
467
- "parentBranch": "main"
200
+ "projectId": "fantastic-fox-3566354"
201
+ }
202
+ }
203
+ }
204
+ ```
205
+
206
+ **.iloom/settings.local.json (Gitignored)**
207
+
208
+ ```json
209
+ {
210
+ "issueManagement": {
211
+ "linear": {
212
+ "apiToken": "lin_api_..." // Only if using Linear
468
213
  }
469
214
  },
470
215
  "workflows": {
471
216
  "issue": {
472
- "permissionMode": "default",
473
- "startIde": true,
474
- "startDevServer": true,
475
- "startAiAgent": true,
476
- "startTerminal": false
217
+ "permissionMode": "acceptEdits" // Control Claude Code permissions
477
218
  }
478
- },
479
- "agents": {
480
- "iloom-issue-enhancer": {"model":"opus"},
481
- "iloom-issue-analyzer": {"model":"opus"},
482
- "iloom-issue-analyze-and-plan": {"model":"opus"},
483
- "iloom-issue-implementer": {"model":"haiku"}
484
219
  }
485
220
  }
486
221
  ```
487
222
 
488
- **Note on agent configuration:** All agents use the latest Sonnet model by default, except complexity evaluator which uses Haiku. You could also try a some different configurations:
489
- - **Opus for analysis/enhancement** - Maximum reasoning capability for understanding requirements and planning
490
- - **Haiku for implementation** - Cost-effective execution of detailed plans (recommended for token-conscious users)
491
-
492
- ** Common configuration options:**
493
- - `mainBranch` - Primary branch for merging (default: "main")
494
- - `mergeBehavior.mode` - How to finish work: "local" (merge locally) or "github-pr" (create PR) (default: "local")
495
- - `mergeBehavior.remote` - Remote to target for PRs (optional, defaults to `issueManagement.github.remote`)
496
- - `capabilities.web.basePort` - Base port for dev servers (default: 3000)
497
- - `capabilities.database.databaseUrlEnvVarName` - Name of environment variable for database connection URL (default: "DATABASE_URL")
498
- - `databaseProviders.neon.projectId` - Neon project ID (found in project URL, e.g., "fantastic-fox-3566354")
499
- - `databaseProviders.neon.parentBranch` - Branch from which new database branches are created (default: "main")
500
- - `workflows` - Per-workflow Claude CLI permission modes and tool launching
501
- - `agents` - Claude model selection (sonnet/opus/haiku) per agent type
223
+ Integrations
224
+ ------------
502
225
 
503
- All options can be specified in either `settings.json` (project-wide) or `settings.local.json` (local overrides, gitignored).
226
+ ### Issue Trackers
504
227
 
505
- Port calculation: `assignedPort = basePort + issueNumber`
506
- Example: Issue #25 with basePort 3000 = port 3025
228
+ iloom supports the tools you already use. Unless you use JIRA.
507
229
 
508
- For complete configuration reference, see [.iloom/README.md](./.iloom/README.md)
230
+ | **Provider** | **Setup** | **Notes** |
231
+ |--------------|-----------|-----------|
232
+ | **GitHub** | `gh auth login` | Default. Supports Issues and Pull Requests automatically. |
233
+ | **Linear** | `il init` | Requires API token. Supports full read/write on Linear issues. |
509
234
 
510
- ## Requirements
511
235
 
512
- **Essential:**
513
- - Claude CLI - AI assistance with issue context preloaded
514
- - Node.js 16+
515
- - Git 2.5+ (for worktree support)
516
- - GitHub CLI (`gh`) - authenticated with your repository
236
+ ### IDE Support
237
+ iloom creates isolated workspace settings for your editor. Color synchronization (visual context) only works best VS Code-based editors.
517
238
 
518
- **Recommended**
519
- - A Claude Max subscription - iloom uses your own subscription
239
+ * **Supported:** VS Code, Cursor, Windsurf, WebStorm, IntelliJ, Sublime Text.
240
+
241
+ * **Config:** Set your preference via `il init` or `il start --set ide.type=cursor`.
242
+
520
243
 
521
- **Optional (auto-detected):**
522
- - **Neon CLI** - Isolated database branches per loom
523
- - **VS Code** - Color-coded editor windows for visual context
524
- - **iTerm2** (macOS only) - Enhanced terminal experience with dual tabs in a single window (when configured to open both Claude and start a dev server)
244
+ Advanced Features
245
+ -----------------
525
246
 
526
- Optional features activate automatically when detected.
247
+ ### Child Looms (Nested Contexts)
527
248
 
528
- ## Platform & Integration Support
249
+ Sometimes a task spawns sub-tasks, or you get interrupted by an urgent bug while deep in a feature. Child looms let you create a workspace _within_ a workspace.
529
250
 
530
- This is an early stage product - platform/tech stack support is limited for now.
251
+ **When to use:**
531
252
 
532
- **Current Platform Support:**
533
- - ✅ **macOS** - Fully tested and supported
534
- - ⚠️ **Linux/Windows** - Not yet tested, may work with modifications
253
+ * Breaking down a massive feature into smaller PRs.
254
+
255
+ * Fixing a bug discovered during feature work without losing context.
256
+
535
257
 
536
- **Issue Tracking Integration:**
537
- - ✅ **GitHub Issues** - Full support with AI enhancement, analysis, and planning
538
- - 🚧 **Linear** - Native integration coming soon. A two way sync between Linear and your github repo works great currently.
258
+ **How it works:** If you run il start 42 while inside loom-25, iloom asks if you want to create a child loom.
539
259
 
540
- **Project Type Support:**
541
- - ✅ **Node.js web projects** - First-class support via package.json scripts (`dev`, `test`, `build`)
542
- - ✅ **Node.js CLI tools** - Full support with isolated executables (see below)
543
- - 🔧 **Other tech stacks** - Can work now via package.json scripts, native support coming later (open to help!)
544
-
545
- We (Claude and I) are actively working on expanding platform and integration support. Contributions welcome!
546
-
547
- ## Installation
548
-
549
- ```bash
550
- # Install globally
551
- > npm install -g @iloom/cli
552
-
553
- # Authenticate with GitHub
554
- > gh auth login
555
- # do `gh auth login --scopes project` to automatically move issues to in progress
556
-
557
- # Initialize in your project
558
- > cd your-project
559
- > il init
560
-
561
- # Start working
562
- > il start 25 # existing issue
563
- > il start "Enable log in/sign up with Google account" # new issue
260
+ * **Inheritance:** The child inherits the database state and git branch from the parent (not main).
261
+
262
+ * **Structure**
564
263
  ```
565
-
566
- ## Pull Request Support
567
-
568
- iloom works identically with GitHub pull requests:
569
-
570
- ```bash
571
- > il start 125 # PR number instead of issue number
264
+ ~/my-project-looms/
265
+ ├── feat-issue-25-auth/ # Parent Loom
266
+ └── feat-issue-25-auth-looms/ # Child Looms Directory
267
+ ├── fix-issue-42-bug/ # Child Loom (inherits from #25)
268
+ └── feat-issue-43-subtask/ # Another Child Loom
572
269
  ```
573
270
 
574
- Automatically detects PR, fetches the branch, and creates loom with PR context. Everything else works the same.
575
-
576
- ## Architecture
577
-
578
- **Technologies:**
579
- - TypeScript CLI built with Commander.js
580
- - Git worktrees for loom isolation
581
- - GitHub CLI integration for issues/PRs
582
- - Integration with node-based web servers via standard package.json scripts
583
- - Database branching (Neon) - optional
584
- - Claude CLI integration for AI assistance to resolve compilation/test/lint/merge errors
585
-
586
- **Project structure:**
587
- ```
588
- src/
589
- ├── commands/ # CLI commands (start, finish, cleanup, list, add-issue, enhance, spin, init, open)
590
- ├── lib/ # Core business logic (WorkspaceManager, GitWorktreeManager, etc.)
591
- ├── utils/ # Utility functions (git, github, env, database, shell)
592
- └── types/ # TypeScript definitions
593
- ```
271
+ ### CLI Tool Development
594
272
 
595
- For development guidelines and testing strategy, see [CLAUDE.md](./CLAUDE.md).
273
+ iloom provides first-class support for building CLI tools. When you start a loom for a CLI project, iloom creates workspace-specific binaries so you can test each issue's version independently.
596
274
 
597
- ### Node.js Web Project Support
598
-
599
- iloom provides first-class support for Node.js web applications (next/express/vite, etc) through standardized package.json scripts:
600
-
601
- **Required scripts** (auto-detected):
602
- - `dev` - Start development server (launched automatically with unique port)
603
- - `test` - Run test suite (executed during `il finish` validation)
604
-
605
- **Optional scripts**:
606
- - `lint` - Code quality checks (run during `il finish` if present)
607
- - `typecheck` - TypeScript validation (run during `il finish` if present)
608
-
609
- **How it integrates:**
610
275
 
611
276
  ```bash
612
- > il start 25
613
- # ✅ Runs `pnpm install` in worktree
614
- # ✅ Launches `pnpm dev` on port 3025 (3000 + issue number)
615
- # ✅ Sets up database branch with correct DATABASE_URL
616
-
617
- > il finish
618
- # ✅ Runs `pnpm test` (fails if tests fail)
619
- # ✅ Runs `pnpm typecheck` if configured
620
- # ✅ Runs `pnpm lint` if configured
621
- # ✅ AI assists with any failures automatically
622
- ```
277
+ > il start 52 # Working on CLI feature in issue 52
623
278
 
624
- ### Node.js CLI Tool Support
625
-
626
- iloom was built using iloom itself. CLI tools get the same isolation benefits as web projects, plus **isolated executable access per loom**.
627
-
628
- **How it works:**
629
-
630
- When you create a loom for a CLI project, iloom creates workspace-specific binaries so you can test each issue's version independently:
631
-
632
- ```bash
633
- > il start 52 # Working on CLI feature in issue 52
634
- > cli-tool-52 --version # Test issue 52's version
279
+ > my-cli-52 --version # Test issue 52's version
635
280
 
636
281
  > il start 137 # Switch to different CLI issue
637
- > cli-tool-137 --help # Test issue 137's version
282
+
283
+ > my-cli-137 --help # Test issue 137's version
638
284
 
639
285
  # Original binary still works from main branch
640
- > cli-tool --version # Unaffected by iloom CLIs
286
+ > my-cli --version # Unaffected by other looms' CLIs
641
287
  ```
642
288
 
643
- **Binary naming**: `<original-name>-<issue/pr-number>`
644
- - Binary named in package.json's "bin" object: `cli-tool`
645
- - Issue 52: `cli-tool-52`
646
- - Issue 137: `cli-tool-137`
647
- - PR 200: `cli-tool-200`
648
-
649
- **Cleanup**: When you run `il finish`, the workspace-specific binary is automatically removed along with the worktree and any database branches.
289
+ System Requirements & Limitations
290
+ ---------------------------------
650
291
 
651
- This enables parallel development and testing of CLI features without conflicts or manual PATH manipulation.
292
+ This is an early-stage product.
652
293
 
294
+ **Requirements:**
653
295
 
296
+ * ✅ **OS:** macOS (Fully supported). ⚠️ Linux/Windows are untested.
297
+
298
+ * ✅ **Runtime:** Node.js 16+, Git 2.5+.
299
+
300
+ * ✅ **AI:** Claude CLI installed. A Claude Max subscription is recommended (iloom uses your subscription).
301
+
654
302
 
655
- **Other tech stacks**: Projects using different languages/frameworks can work with iloom by providing compatible package.json scripts that wrap their native tooling. Native support for additional tech stacks is planned (but probably not for a while).
303
+ **Project Support:**
656
304
 
657
- ## Roadmap
305
+ * ✅ **Node.js Web Projects:** First-class support via package.json scripts (dev, test, build).
306
+
307
+ * ✅ **Node.js CLI Tools:** Full support with isolated binary generation.
308
+
309
+ * ⚠️ **Other Stacks:** Python/Go/Rust etc. can work via generic package.json scripts, but are not natively supported yet.
658
310
 
659
- **Currently in Development** - Actively developing this CLI tool, with the intent to support more workflow flexibility and different tech stacks, task management tools and DB providers.
311
+ See all [known limitations](https://github.com/iloom-ai/iloom-cli/issues?q=is:issue+is:open+label:known-limitation) on GitHub. If you're feeling left out - you're absolutely right! The best way to complain about something is to fix it. So...
660
312
 
661
- ### Understanding Git Worktrees
313
+ Contributing
314
+ ------------
662
315
 
663
- A Git worktree is a separate working directory for the same repository. Instead of switching branches in one directory, you have multiple directories with different branches checked out simultaneously.
316
+ We (Claude and I) welcome contributions! We've made it easy to get started iloom can even set up its own dev environment.
664
317
 
665
- Traditional approach:
666
318
  ```bash
667
- > git checkout feature-a # Switch branch
668
- # Edit files
669
- > git stash # Save work
670
- > git checkout feature-b # Switch branch again
671
- # Edit different files
672
- > git stash pop # Restore work
673
- > git checkout feature-a # Switch back
319
+ iloom contribute # Handles forking, cloning, and setting up the dev environment automatically.
674
320
  ```
675
321
 
676
- Git worktree approach:
677
- ```bash
678
- # All exist simultaneously:
679
- ~/project-looms/issue-25/ # feature-a checked out
680
- ~/project-looms/issue-30/ # feature-b checked out
681
- ~/project/ # main branch
682
-
683
- # No branch switching, no stashing, less confusion
684
- ```
685
-
686
- This is the foundation that enables loom isolation and persistent context. Other awesome tools use worktrees too.
687
-
688
- ### When to Choose Other Git Worktree Solutions
689
-
690
- iloom isn't the only tool that makes git worktrees more accessible. Several excellent alternatives exist, each with different trade-offs:
691
-
692
- **Editor-Integrated Solutions:**
693
- - [VS Code Git Worktrees](https://marketplace.visualstudio.com/items?itemName=GitWorktrees.git-worktrees) - Enhanced Git worktree support in VS Code
694
- - [git-worktree.nvim](https://github.com/ThePrimeagen/git-worktree.nvim) - Neovim plugin for rapid worktree management
695
-
696
- **Apps**
697
- - [Crystal](https://github.com/stravu/crystal) - Run multiple Codex and Claude Code AI sessions in parallel git worktrees
698
- - [Conductor](https://conductor.build/) - Run a team of coding agents on your Mac
699
-
700
- **CLI Helpers:**
701
- - [git-worktree-wrapper](https://github.com/lu0/git-worktree-wrapper) - Manage Git worktrees with `git checkout` and `git branch` commands.
702
-
703
- **What They Do Well:**
704
- - Reduce friction of git worktree CLI commands
705
- - Integrate tightly with your editor workflow
706
- - Minimal learning curve if you know git
707
- - Lightweight - just worktree management, nothing more
708
- - Conductor and Crystal help you with Agentic coding too
709
-
710
- **Where iloom Differs:**
711
-
712
- Most tools focus on **making git worktrees easier to use**, some add-in Agentic coding too. iloom focuses on **making multi-issue AI-assisted development sustainable**.
713
-
714
- **Beyond Worktrees:**
715
- - **Database isolation**: Neon branch integration for schema/data separation
716
- - **AI context persistence**: Structured analysis stored in GitHub comments, not local chat history
717
- - **Cognitive overhead reduction**: Color coding, port assignment, environment setup handled automatically
718
- - **Human-AI alignment**: Multi-phase workflow surfaces assumptions before code is written
719
- - **Validation automation**: AI-assisted error fixing during merge process
720
-
721
- **The Trade-off:**
722
-
723
- Other tools increase code output with minimal process change. iloom increases **sustainable velocity** with a prescriptive workflow. You trade flexibility for:
724
- - Persistent shared understanding between you and your AI
725
- - Reduced time debugging AI misunderstandings
726
- - Less context switching mental overhead
727
- - Complete environment isolation (not just git)
728
-
729
- **Choose other solutions if:**
730
- - You primarily work solo without AI assistance
731
- - You want minimal workflow changes
732
- - You just need easier git worktree commands
733
- - You don't see yourself working on multiple tasks at once
734
-
735
- **Choose iloom if:**
736
- - You're scaling AI-assisted development across multiple issues
737
- - Cognitive overhead is limiting your velocity more than coding speed
738
- - You work on projects with database schemas that change per feature
739
- - You want AI analysis and planning visible to your whole team
740
-
741
- ## Contributing
742
-
743
- This project follows Test-Driven Development. All code must:
744
- - Be written test-first with comprehensive unit tests
745
- - Achieve >70% code coverage
746
- - Include regression tests against bash script behavior
747
- - Use mock factories for all external dependencies
748
-
749
- ## License
750
-
751
- **Business Source License 1.1** - Free to use for any purpose, including commercial use within your organization.
752
-
753
- **You can:**
754
- - ✅ Use freely in your organization and commercial projects
755
- - ✅ Modify and distribute internally
756
- - ✅ Build paid applications with it
757
-
758
- **You cannot:**
759
- - ❌ Resell iloom itself as a product or service
760
- - ❌ Incorporate into products/services you sell to others
761
- - ❌ Offer as a hosted service or SaaS
322
+ New contributors should start with issues labeled [starter-task](https://github.com/iloom-ai/iloom-cli/issues?q=is%3Aissue+is%3Aopen+label%3Astarter-task). For details, see our [Contributing Guide](CONTRIBUTING.md).
762
323
 
763
- **Converts to Apache 2.0 on 2029-01-01** - Becomes fully open source automatically.
324
+ License & Name
325
+ --------------
764
326
 
765
- For commercial licensing inquiries, contact Adam Creeger.
327
+ **iloom** comes from "illuminate" (illuminating the AI coding process) and "intelligent loom" (weaving artificial and human intelligence together).
766
328
 
767
- See [LICENSE](https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/LICENSE) for complete terms.
329
+ **License: Business Source License 1.1**
768
330
 
769
- ## About the Name
331
+ * ✅ Free to use for any internal or commercial project.
332
+
333
+ * ❌ You cannot resell iloom itself as a product or SaaS.
334
+
335
+ * Converts to Apache 2.0 on 2029-01-01.
336
+
770
337
 
771
- **iloom** comes from "illuminate" - it illuminates the mysterious AI coding process - and "intelligent loom" that weaves artificial and human intelligence together.
338
+ See [LICENSE](https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/LICENSE) for complete terms.