@iloom/cli 0.3.0 → 0.3.2
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/README.md +207 -882
- package/dist/{BranchNamingService-3OQPRSWT.js → BranchNamingService-JYO746H7.js} +2 -2
- package/dist/ClaudeContextManager-5WPRJIIW.js +15 -0
- package/dist/ClaudeService-Z4KA7QOW.js +14 -0
- package/dist/{GitHubService-EBOETDIW.js → GitHubService-UAMH7DMF.js} +2 -2
- package/dist/{LoomLauncher-FLEMBCSQ.js → LoomLauncher-FVZECY3C.js} +24 -13
- package/dist/LoomLauncher-FVZECY3C.js.map +1 -0
- package/dist/README.md +207 -882
- package/dist/{SettingsManager-WHHFGSL7.js → SettingsManager-MTVX57WR.js} +2 -2
- package/dist/{chunk-MAVL6PJF.js → chunk-5NTD4MCZ.js} +23 -7
- package/dist/chunk-5NTD4MCZ.js.map +1 -0
- package/dist/{chunk-FIAT22G7.js → chunk-A2P7NZTB.js} +7 -7
- package/dist/{chunk-C5QCTEQK.js → chunk-C7ASXK6J.js} +2 -2
- package/dist/{chunk-G2IEYOLQ.js → chunk-F4ENT6AC.js} +16 -1
- package/dist/chunk-F4ENT6AC.js.map +1 -0
- package/dist/{chunk-AWOFAD5O.js → chunk-FOV7RRQ2.js} +8 -8
- package/dist/{chunk-RO26VS3W.js → chunk-FXMLNKLT.js} +2 -2
- package/dist/{chunk-47KSHUCR.js → chunk-GOG3ZB7O.js} +16 -10
- package/dist/chunk-GOG3ZB7O.js.map +1 -0
- package/dist/{chunk-JQFO7QQN.js → chunk-GVICXJHW.js} +2 -2
- package/dist/{chunk-JQFO7QQN.js.map → chunk-GVICXJHW.js.map} +1 -1
- package/dist/{chunk-5EF7Z346.js → chunk-KG343GSG.js} +93 -48
- package/dist/chunk-KG343GSG.js.map +1 -0
- package/dist/{chunk-4HHRTA7Q.js → chunk-OAP6SASD.js} +3 -3
- package/dist/{chunk-4HHRTA7Q.js.map → chunk-OAP6SASD.js.map} +1 -1
- package/dist/chunk-OXAM2WVC.js +68 -0
- package/dist/chunk-OXAM2WVC.js.map +1 -0
- package/dist/{chunk-VAYCCUXW.js → chunk-PRE7KTM4.js} +2 -2
- package/dist/{chunk-ZE74H5BR.js → chunk-RW54ZMBM.js} +26 -20
- package/dist/chunk-RW54ZMBM.js.map +1 -0
- package/dist/{chunk-ML3NRPNB.js → chunk-UCZ24SUE.js} +5 -5
- package/dist/chunk-UCZ24SUE.js.map +1 -0
- package/dist/{chunk-3KATJIKO.js → chunk-UERERX6M.js} +2 -2
- package/dist/chunk-UERERX6M.js.map +1 -0
- package/dist/{chunk-IP7SMKIF.js → chunk-UJL4HI2R.js} +59 -60
- package/dist/chunk-UJL4HI2R.js.map +1 -0
- package/dist/{chunk-XXV3UFZL.js → chunk-ZLIHIUDQ.js} +8 -6
- package/dist/chunk-ZLIHIUDQ.js.map +1 -0
- package/dist/{claude-GOP6PFC7.js → claude-KIZYXTSG.js} +4 -2
- package/dist/{cleanup-7RWLBSLE.js → cleanup-6WYUD5SN.js} +19 -17
- package/dist/{cleanup-7RWLBSLE.js.map → cleanup-6WYUD5SN.js.map} +1 -1
- package/dist/cli.js +209 -73
- package/dist/cli.js.map +1 -1
- package/dist/{contribute-BS2L4FZR.js → contribute-7YJHZTO7.js} +3 -2
- package/dist/{contribute-BS2L4FZR.js.map → contribute-7YJHZTO7.js.map} +1 -1
- package/dist/{feedback-N4ECWIPF.js → feedback-752MGDPG.js} +10 -8
- package/dist/{feedback-N4ECWIPF.js.map → feedback-752MGDPG.js.map} +1 -1
- package/dist/{git-TDXKRTXM.js → git-TAFVDB3J.js} +5 -2
- package/dist/{ignite-VM64QO3J.js → ignite-OAMDUN27.js} +13 -11
- package/dist/{ignite-VM64QO3J.js.map → ignite-OAMDUN27.js.map} +1 -1
- package/dist/index.d.ts +20 -7
- package/dist/index.js +279 -297
- package/dist/index.js.map +1 -1
- package/dist/{init-G3T64SC4.js → init-7IIM35LQ.js} +12 -9
- package/dist/{init-G3T64SC4.js.map → init-7IIM35LQ.js.map} +1 -1
- package/dist/mcp/issue-management-server.js +8 -1
- package/dist/mcp/issue-management-server.js.map +1 -1
- package/dist/{neon-helpers-WPUACUVC.js → neon-helpers-5HBYO2VP.js} +2 -2
- package/dist/{open-KXDXEKRZ.js → open-FCHKQ77R.js} +27 -14
- package/dist/open-FCHKQ77R.js.map +1 -0
- package/dist/prompts/init-prompt.txt +10 -4
- package/dist/{rebase-Q7GMM7EI.js → rebase-Q7WXK566.js} +10 -8
- package/dist/{rebase-Q7GMM7EI.js.map → rebase-Q7WXK566.js.map} +1 -1
- package/dist/{run-PAWJJCSX.js → run-SJPM6YRI.js} +27 -14
- package/dist/run-SJPM6YRI.js.map +1 -0
- package/dist/schema/settings.schema.json +4 -4
- package/dist/{test-git-3WDLNQCA.js → test-git-DEUE656D.js} +5 -5
- package/dist/{test-prefix-EVGAWAJW.js → test-prefix-Y6Z6ZHSF.js} +5 -5
- package/dist/{test-tabs-RXDBZ6J7.js → test-tabs-PRMRSHKI.js} +3 -2
- package/dist/{test-tabs-RXDBZ6J7.js.map → test-tabs-PRMRSHKI.js.map} +1 -1
- package/package.json +2 -2
- package/dist/ClaudeContextManager-MUQSDY2E.js +0 -13
- package/dist/ClaudeService-HG4VQ7AW.js +0 -12
- package/dist/LoomLauncher-FLEMBCSQ.js.map +0 -1
- package/dist/chunk-3KATJIKO.js.map +0 -1
- package/dist/chunk-47KSHUCR.js.map +0 -1
- package/dist/chunk-5EF7Z346.js.map +0 -1
- package/dist/chunk-G2IEYOLQ.js.map +0 -1
- package/dist/chunk-IP7SMKIF.js.map +0 -1
- package/dist/chunk-MAVL6PJF.js.map +0 -1
- package/dist/chunk-ML3NRPNB.js.map +0 -1
- package/dist/chunk-XXV3UFZL.js.map +0 -1
- package/dist/chunk-ZE74H5BR.js.map +0 -1
- package/dist/open-KXDXEKRZ.js.map +0 -1
- package/dist/run-PAWJJCSX.js.map +0 -1
- package/dist/terminal-BIRBZ4AZ.js +0 -16
- package/dist/terminal-BIRBZ4AZ.js.map +0 -1
- /package/dist/{BranchNamingService-3OQPRSWT.js.map → BranchNamingService-JYO746H7.js.map} +0 -0
- /package/dist/{ClaudeContextManager-MUQSDY2E.js.map → ClaudeContextManager-5WPRJIIW.js.map} +0 -0
- /package/dist/{ClaudeService-HG4VQ7AW.js.map → ClaudeService-Z4KA7QOW.js.map} +0 -0
- /package/dist/{GitHubService-EBOETDIW.js.map → GitHubService-UAMH7DMF.js.map} +0 -0
- /package/dist/{SettingsManager-WHHFGSL7.js.map → SettingsManager-MTVX57WR.js.map} +0 -0
- /package/dist/{chunk-FIAT22G7.js.map → chunk-A2P7NZTB.js.map} +0 -0
- /package/dist/{chunk-C5QCTEQK.js.map → chunk-C7ASXK6J.js.map} +0 -0
- /package/dist/{chunk-AWOFAD5O.js.map → chunk-FOV7RRQ2.js.map} +0 -0
- /package/dist/{chunk-RO26VS3W.js.map → chunk-FXMLNKLT.js.map} +0 -0
- /package/dist/{chunk-VAYCCUXW.js.map → chunk-PRE7KTM4.js.map} +0 -0
- /package/dist/{claude-GOP6PFC7.js.map → claude-KIZYXTSG.js.map} +0 -0
- /package/dist/{git-TDXKRTXM.js.map → git-TAFVDB3J.js.map} +0 -0
- /package/dist/{neon-helpers-WPUACUVC.js.map → neon-helpers-5HBYO2VP.js.map} +0 -0
- /package/dist/{test-git-3WDLNQCA.js.map → test-git-DEUE656D.js.map} +0 -0
- /package/dist/{test-prefix-EVGAWAJW.js.map → test-prefix-Y6Z6ZHSF.js.map} +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
iloom
|
|
2
|
+
=====
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@iloom/cli)
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
</div>
|
|
16
16
|
|
|
17
17
|
#### Links to key sections
|
|
18
|
-
[How It Works](#how-it-works) • [Installation](#installation) • [Commands](#commands) • [Nested Looms](#child-looms-nested-looms) • [Limitations](#platform--integration-support) • [Configuration](#configuration) • [Feedback](#providing-feedback)
|
|
19
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)
|
|
20
20
|
|
|
21
21
|
## Built For Modern Tools...
|
|
22
22
|
|
|
@@ -26,990 +26,315 @@
|
|
|
26
26
|
[](https://neon.tech/)
|
|
27
27
|
[](https://claude.ai/)
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
## ...To Solve A Very Modern Problem
|
|
32
|
-
|
|
33
|
-
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.
|
|
34
|
-
|
|
35
|
-
**AI agents write code quickly. They struggle to stay in sync with their humans.**
|
|
36
|
-
|
|
37
|
-
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.
|
|
38
|
-
|
|
39
|
-
Friction piles up:
|
|
40
|
-
- You open new chats for each problem and rebuild context in your head.
|
|
41
|
-
- Mental overhead grows. Stress rises. Momentum drops.
|
|
42
|
-
- Hidden assumptions creep in. The AI picks Axios when your team standardizes on fetch. It reaches for the wrong auth pattern.
|
|
43
|
-
- Hit a context limit and the model forgets what matters.
|
|
44
|
-
|
|
45
|
-
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.
|
|
46
|
-
|
|
47
|
-
**The bottleneck isn't output velocity. It's maintaining shared understanding between human and AI at scale.**
|
|
48
|
-
|
|
49
|
-
*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.*
|
|
50
|
-
|
|
51
|
-
## How iloom Solves This
|
|
52
|
-
|
|
53
|
-
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.
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
> npm install -g @iloom/cli
|
|
57
|
-
|
|
58
|
-
# iloom doesn't need your GitHub access token - it uses the GitHub CLI instead.
|
|
59
|
-
> gh auth login
|
|
60
|
-
|
|
61
|
-
# Spins up an isolated dev environment.
|
|
62
|
-
# Pulls in issue 25 from GitHub, even if it's just an issue title.
|
|
63
|
-
# Fills in the blanks with you.
|
|
64
|
-
> iloom start 25
|
|
65
|
-
|
|
66
|
-
# or
|
|
67
|
-
|
|
68
|
-
# Creates an issue, builds that same shared mental model from scratch.
|
|
69
|
-
> iloom start "user auth broken"
|
|
70
|
-
|
|
71
|
-
# or
|
|
72
|
-
|
|
73
|
-
# Grabs context from this PR and its original issue, then iterates on it alongside you
|
|
74
|
-
> iloom start 34
|
|
75
|
-
|
|
76
|
-
# then
|
|
77
|
-
|
|
78
|
-
# Knows which loom you're in, validates, merges your code back to your primary branch.
|
|
79
|
-
# If you hit compilation/lint/test failures or merge conflicts along the way,
|
|
80
|
-
# Claude will help resolve them automatically.
|
|
81
|
-
> iloom finish
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**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.
|
|
85
|
-
|
|
86
|
-
### One Command, Parallel Work, Predictable Flow
|
|
87
|
-
|
|
88
|
-
Each loom follows the same workflow - structured, visible, repeatable.
|
|
89
|
-
|
|
90
|
-
`iloom start` doesn't just create a git worktree. It spins up a loom. Here's what happens:
|
|
91
|
-
|
|
92
|
-
- Fetches the full GitHub issue (or PR) including all comments and requirements - or not, if they don't exist.
|
|
93
|
-
- Creates an isolated environment (Git worktree, database branch, web server on a deterministic unique port)
|
|
94
|
-
- Enhances the GitHub issue with a better description, and structured analysis & planning. Asking questions and stating assumptions along the way, all in GitHub comments.
|
|
95
|
-
- 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.
|
|
96
|
-
- Each loom is color-coded, from terminal windows to VS Code, so you visually know which context you're in.
|
|
97
|
-
|
|
98
|
-
**When you switch to this loom, both you and Claude know exactly what you're working on and why.**
|
|
99
|
-
|
|
100
|
-
### Merge with Confidence
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
> iloom finish
|
|
104
|
-
# ✅ Runs tests, types, lint - Claude helps fix any failures automatically
|
|
105
|
-
# ✅ Generates commit message from the issue context
|
|
106
|
-
# ✅ Handles merge conflicts with AI assistance
|
|
107
|
-
# ✅ Merges to main, installs dependencies
|
|
108
|
-
# ✅ Cleans up everything - worktree, database branch, and the web server you were using to test your work
|
|
109
|
-
```
|
|
110
|
-
(as you can see, using iloom does not spare you from copious emoji)
|
|
111
|
-
|
|
112
|
-
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.
|
|
113
|
-
|
|
114
|
-
## What This Means for How You Work
|
|
115
|
-
|
|
116
|
-
### You Stop Babysitting Your AI, Start Collaborating With It
|
|
117
|
-
|
|
118
|
-
Traditional approach:
|
|
119
|
-
1. Start a feature, brief Claude on context.
|
|
120
|
-
2. Review code, fix misunderstandings. Argue with Claude.
|
|
121
|
-
3. Get pulled into a bug - stash or WIP commit, switch branches, start a new Claude chat.
|
|
122
|
-
4. Lose context on both tasks, repeat the same explanations.
|
|
123
|
-
|
|
124
|
-
iloom approach:
|
|
125
|
-
1. `il start 45` - begin the feature. Note: `il` is an alias for `iloom`.
|
|
126
|
-
2. Review iloom's structured analysis in GitHub, clarify assumptions.
|
|
127
|
-
3. `il start 99` - urgent bug; Claude already knows the issue context from the GitHub issue.
|
|
128
|
-
4. Switch between looms freely - color coding and context persistence keep everything clear.
|
|
129
|
-
5. `il finish` - work validated, merged, cleaned up.
|
|
130
|
-
6. Return to your feature loom - context, reasoning, and AI alignment all intact.
|
|
131
|
-
|
|
132
|
-
**The difference**: Your AI becomes a persistent collaborator rather than a tool you're constantly playing catch-up with.
|
|
133
|
-
|
|
134
|
-
**Plus, your AI's reasoning is now visible to everyone, including future you:**
|
|
135
|
-
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.
|
|
136
|
-
|
|
137
|
-
### You Scale Understanding, Not Just Output
|
|
138
|
-
|
|
139
|
-
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.
|
|
140
|
-
|
|
141
|
-
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.
|
|
142
|
-
|
|
143
|
-
**This is how you achieve sustainable velocity with AI assistance.**
|
|
144
|
-
|
|
145
|
-
### You Reduce Rework and Chaos
|
|
146
|
-
|
|
147
|
-
When you and your AI are in lockstep:
|
|
148
|
-
- 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.
|
|
149
|
-
- Reviews focus on the quality of the AI's thinking, not just its code.
|
|
150
|
-
- Fewer surprises caused by AI agents inventing requirements or inconsistently implementing existing patterns
|
|
151
|
-
- 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.
|
|
152
|
-
|
|
153
|
-
### The Power of Predictable Flow
|
|
154
|
-
|
|
155
|
-
Every loom follows the same rhythm - Start → Enhance → Analyze → Plan → Implement → Human review → Finish.
|
|
156
|
-
The steps never change. The tools stay aligned.
|
|
157
|
-
Predictability becomes muscle memory - you focus on ideas, not process.
|
|
158
|
-
|
|
159
|
-
## How It Works
|
|
160
|
-
|
|
161
|
-
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.
|
|
162
|
-
|
|
163
|
-
### Creating Context
|
|
164
|
-
|
|
165
|
-
```bash
|
|
166
|
-
> il start 25
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
iloom executes a multi-phase context-establishment workflow:
|
|
170
|
-
|
|
171
|
-
1. **Fetch complete requirements** - GitHub issue body + all comments
|
|
172
|
-
2. **Create isolated loom** - Git worktree at `~/project-looms/issue-25-auth-bugs/` (branch names are generated)
|
|
173
|
-
3. **Run AI workflow agents** - Enhance, analyze, plan, and document directly in GitHub comments:
|
|
174
|
-
- **Enhancement Agent**: Expands brief issues into detailed requirements (if needed)
|
|
175
|
-
- **Complexity Evaluator**: Assesses scope and determines workflow approach
|
|
176
|
-
- **Simple workflow**: Combined analysis and planning in one step
|
|
177
|
-
- **Complex workflow**: Separate analysis phase, then detailed planning phase
|
|
178
|
-
4. **Establish environment** - Unique web server port (e.g., 3025), isolated database branch, `.env` file with correct DATABASE_URL environment variable
|
|
179
|
-
5. **Launch tools** - VS Code with color theme, dev server, Claude with preloaded context from GitHub comments
|
|
180
|
-
|
|
181
|
-
**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:
|
|
182
|
-
- Enhancement analysis (if the issue was brief)
|
|
183
|
-
- Complexity evaluation with metrics
|
|
184
|
-
- Root cause analysis and technical findings
|
|
185
|
-
- Implementation plan
|
|
186
|
-
- All context is editable, reviewable, and persists across machines
|
|
187
|
-
|
|
188
|
-
### Maintaining Context
|
|
189
|
-
|
|
190
|
-
Each loom is isolated:
|
|
191
|
-
|
|
192
|
-
- **Git worktree** - Separate filesystem, different branch checked out, no switching overhead
|
|
193
|
-
- **Database branch** - Schema changes don't affect other contexts (optional, requires Neon - other provider support coming soon)
|
|
194
|
-
- **Unique port** - Multiple dev servers run simultaneously (base port + issue number)
|
|
195
|
-
- **Environment variables** - Each loom has correct database URL
|
|
196
|
-
- **Visual identity** - Color-coded VS Code window (40 distinct pastel colors)
|
|
197
|
-
- **GitHub issue comments** - Multi-phase context (enhancement, analysis, planning) persists and is editable by team members
|
|
198
|
-
|
|
199
|
-
**When you switch looms, the context switches with you.**
|
|
29
|
+
...To Solve A Very Modern Problem
|
|
30
|
+
---------------------------------
|
|
200
31
|
|
|
201
|
-
|
|
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.**
|
|
202
33
|
|
|
203
|
-
|
|
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:
|
|
204
35
|
|
|
205
|
-
|
|
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
|
+
|
|
206
42
|
|
|
207
|
-
|
|
208
|
-
- **Collaboration**: Team members can review, comment on, and refine AI-generated context
|
|
209
|
-
- **Persistence**: Context survives repository clones, machine switches, and team member changes
|
|
210
|
-
- **Version Control**: GitHub tracks all context changes with timestamps and authors
|
|
211
|
-
- **Searchability**: GitHub's search finds AI insights across all your issues
|
|
212
|
-
- **Integration**: Context appears in notifications, project boards, and automation workflows
|
|
213
|
-
- **No Sync Issues**: Everyone sees the same context - no local file drift
|
|
43
|
+
**The bottleneck isn't output velocity. It's maintaining alignment between human and AI at scale.**
|
|
214
44
|
|
|
215
|
-
|
|
45
|
+
### The iloom Approach: Context as Infrastructure
|
|
216
46
|
|
|
217
|
-
|
|
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.
|
|
218
48
|
|
|
219
|
-
|
|
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
|
+
|
|
220
55
|
|
|
221
|
-
|
|
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._
|
|
222
57
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
- Expands brief descriptions into comprehensive requirements
|
|
226
|
-
- Posts enhancement as a GitHub comment
|
|
227
|
-
- **Used for:** All issues that need enhancement
|
|
228
|
-
|
|
229
|
-
**Phase 2: Complexity Evaluation** - `iloom-issue-complexity-evaluator`
|
|
230
|
-
- Analyzes scope, file changes, breaking changes, risks
|
|
231
|
-
- Classifies as Simple or Complex
|
|
232
|
-
- Posts evaluation as a GitHub comment with metrics
|
|
233
|
-
- **Used for:** All issues
|
|
234
|
-
|
|
235
|
-
#### For complex issues
|
|
236
|
-
|
|
237
|
-
**Phase 3: Dedicated Analysis** - `iloom-issue-analyzer`
|
|
238
|
-
- Investigates root causes and technical constraints
|
|
239
|
-
- Documents findings and implementation considerations
|
|
240
|
-
- Posts analysis as a GitHub comment
|
|
241
|
-
- **Used for:** Complex issues only
|
|
242
|
-
|
|
243
|
-
**Phase 4: Dedicated Planning** - `iloom-issue-planner`
|
|
244
|
-
- Creates detailed implementation roadmap
|
|
245
|
-
- Breaks work into phases with validation points
|
|
246
|
-
- Posts plan as a GitHub comment
|
|
247
|
-
- **Used for:** Complex issues only
|
|
248
|
-
|
|
249
|
-
#### For simple issues
|
|
250
|
-
|
|
251
|
-
**Phase 3+4: Combined Analysis & Planning** - `iloom-issue-analyze-and-plan`
|
|
252
|
-
- Combines analysis and planning in a single step to shorten time and reduce review checkpoints
|
|
253
|
-
- Posts combined analysis and plan as a GitHub comment
|
|
254
|
-
- **Used for:** Simple issues only
|
|
255
|
-
|
|
256
|
-
#### For all issues
|
|
257
|
-
|
|
258
|
-
**Phase 5: Implementation** - `iloom-issue-implementer`
|
|
259
|
-
- Executes the implementation plan created in previous phases
|
|
260
|
-
- Updates progress in a GitHub comment
|
|
261
|
-
- Documents decisions and completion status
|
|
262
|
-
- **Used for:** All issues
|
|
263
|
-
|
|
264
|
-
**Phase 6: Review (optional)** - `iloom-issue-reviewer`
|
|
265
|
-
- Reviews completed implementation against issue requirements
|
|
266
|
-
- Posts review findings as a GitHub comment
|
|
267
|
-
- **Used for:** All issues (when review is requested)
|
|
268
|
-
|
|
269
|
-
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.
|
|
270
|
-
|
|
271
|
-
### A Note on Token Usage and Model Selection
|
|
272
|
-
|
|
273
|
-
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.
|
|
274
|
-
|
|
275
|
-
You can [configure](#configuration) the models used by the agents:
|
|
276
|
-
|
|
277
|
-
- **Default**: All agents run on the latest Sonnet model to balance capability and cost
|
|
278
|
-
- **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
|
|
279
|
-
- **Maximum Power**: Override to Opus for complex architectural work (more expensive)
|
|
280
|
-
|
|
281
|
-
**Available agents** (all configurable):
|
|
282
|
-
- `iloom-issue-enhancer` - Structures issue descriptions from user perspective
|
|
283
|
-
- `iloom-issue-complexity-evaluator` - Assesses scope and determines workflow approach
|
|
284
|
-
- `iloom-issue-analyzer` - Investigates root causes (complex issues only)
|
|
285
|
-
- `iloom-issue-planner` - Creates implementation roadmap (complex issues only)
|
|
286
|
-
- `iloom-issue-analyze-and-plan` - Combined analysis and planning (simple issues only)
|
|
287
|
-
- `iloom-issue-implementer` - Executes implementation plans (good candidate for Haiku)
|
|
288
|
-
- `iloom-issue-reviewer` - Reviews completed implementations
|
|
289
|
-
|
|
290
|
-
**Hard-coded model usage** (not configurable):
|
|
291
|
-
- **Branch naming** - Uses the latest Haiku model to generate descriptive branch names from issue titles
|
|
292
|
-
- **Commit message generation** - Uses the latest Haiku model to create commit messages
|
|
293
|
-
|
|
294
|
-
Both operations use Haiku for fast, cost-effective AI assistance.
|
|
295
|
-
|
|
296
|
-
**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.
|
|
297
|
-
|
|
298
|
-
**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.
|
|
299
|
-
|
|
300
|
-
## Commands
|
|
301
|
-
|
|
302
|
-
### Loom Management
|
|
303
|
-
|
|
304
|
-
```bash
|
|
305
|
-
iloom start <issue-number | pr-number | issue-description | branch-name>
|
|
306
|
-
# Create loom with complete context
|
|
307
|
-
# Orchestrates AI agents that analyze the issue and post structured comments
|
|
308
|
-
# Phases: Enhancement → Analysis → Planning → Implementation with review checkpoints at every step
|
|
309
|
-
# Aliases: create, up
|
|
310
|
-
# Options:
|
|
311
|
-
# --one-shot <mode> - Automation level for Claude CLI
|
|
312
|
-
# default: Standard behavior with prompts
|
|
313
|
-
# noReview: Skip phase approval prompts
|
|
314
|
-
# bypassPermissions: Full automation, skip all permission prompts. Be careful!
|
|
315
|
-
# --child-loom - Force create as child loom (skip prompt, requires parent loom)
|
|
316
|
-
# --no-child-loom - Force create as independent loom (skip prompt)
|
|
317
|
-
|
|
318
|
-
iloom finish
|
|
319
|
-
# AI assisted validation, commit, merge steps, as well as loom cleanup (run this from the loom directory)
|
|
320
|
-
# Behavior depends on mergeBehavior.mode setting:
|
|
321
|
-
# local (default): Merge locally and cleanup
|
|
322
|
-
# github-pr: Push branch, create PR, prompt for cleanup
|
|
323
|
-
# Alias: dn
|
|
324
|
-
# Options:
|
|
325
|
-
# -f, --force - Skip confirmation prompts
|
|
326
|
-
# -n, --dry-run - Preview actions without executing
|
|
327
|
-
# --skip-build - Skip post-merge build verification
|
|
328
|
-
# --no-browser - Skip opening PR in browser (github-pr mode only)
|
|
329
|
-
# --cleanup - Clean up worktree after PR creation (github-pr mode only)
|
|
330
|
-
# --no-cleanup - Keep worktree after PR creation (github-pr mode only)
|
|
331
|
-
|
|
332
|
-
iloom rebase
|
|
333
|
-
# Rebase current branch on main with Claude-assisted conflict resolution (run this from a loom directory)
|
|
334
|
-
# Options:
|
|
335
|
-
# -f, --force - Skip confirmation prompts
|
|
336
|
-
# -n, --dry-run - Preview actions without executing
|
|
337
|
-
|
|
338
|
-
iloom cleanup [identifier...]
|
|
339
|
-
# Remove a loom without merging (safely, by default)
|
|
340
|
-
|
|
341
|
-
iloom list
|
|
342
|
-
# Show active looms with their ports and paths
|
|
343
|
-
|
|
344
|
-
iloom spin
|
|
345
|
-
# Launch Claude with auto-detected loom context
|
|
346
|
-
# Options:
|
|
347
|
-
# --one-shot=<mode> - Same automation modes as 'start'
|
|
348
|
-
|
|
349
|
-
iloom open [identifier]
|
|
350
|
-
# Open loom in browser (web projects) or run configured CLI tool
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
### Issue Management
|
|
354
|
-
|
|
355
|
-
```bash
|
|
356
|
-
iloom add-issue <description>
|
|
357
|
-
# Create and AI-enhance GitHub issue (doesn't spin up a loom)
|
|
358
|
-
# Alias: a
|
|
359
|
-
# Example: il add-issue "Add dark mode toggle to settings"
|
|
360
|
-
|
|
361
|
-
iloom enhance <issue-number>
|
|
362
|
-
# Apply AI enhancement agent to existing GitHub issue
|
|
363
|
-
# Expands requirements, asks clarifying questions and adds implementation context
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
## Child Looms (Nested Looms)
|
|
367
|
-
|
|
368
|
-
Child looms let you create isolated workspaces from within an existing loom. This is useful when you need to work on a subtask, bug fix, or experiment while keeping your parent work intact.
|
|
369
|
-
|
|
370
|
-
### When to Use Child Looms
|
|
371
|
-
|
|
372
|
-
- **Break down complex issues**: Large features can spawn smaller issues that become child looms
|
|
373
|
-
- **Fix bugs discovered during work**: Create a child loom to fix a bug without mixing commits
|
|
374
|
-
- **Experiment safely**: Try different approaches in child looms without affecting parent work
|
|
375
|
-
- **Handle interrupts**: Start urgent work from your current context without losing it
|
|
376
|
-
|
|
377
|
-
### How Child Looms Work
|
|
378
|
-
|
|
379
|
-
When you run `il start` from inside an existing loom, iloom detects the parent context and prompts you:
|
|
58
|
+
Quick Start
|
|
59
|
+
-----------
|
|
380
60
|
|
|
61
|
+
iloom uses your existing Claude subscription to build a shared mental model of your task.
|
|
381
62
|
```bash
|
|
382
|
-
#
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
### CLI Flags
|
|
393
|
-
|
|
394
|
-
Skip the prompt with explicit flags:
|
|
395
|
-
|
|
396
|
-
```bash
|
|
397
|
-
# Force child loom creation (no prompt)
|
|
398
|
-
il start 42 --child-loom
|
|
399
|
-
|
|
400
|
-
# Force independent loom (no prompt)
|
|
401
|
-
il start 42 --no-child-loom
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
The `--child-loom` flag is ignored when not running from inside a loom.
|
|
405
|
-
|
|
406
|
-
### Directory Structure
|
|
407
|
-
|
|
408
|
-
Child looms are created in a dedicated subdirectory based on the parent branch name:
|
|
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
|
|
409
73
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
│ └── feat-issue-43-oauth-support/ # Child loom 2
|
|
416
|
-
```
|
|
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
|
+
```
|
|
417
79
|
|
|
418
|
-
|
|
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.**
|
|
419
81
|
|
|
420
|
-
|
|
82
|
+
**→ [Want to know how you'll benefit from iloom?](docs/is-iloom-right-for-you.md)**
|
|
421
83
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
⚠ Found 2 child loom(s) that should be cleaned up first:
|
|
425
|
-
- ~/project-looms/feat-issue-25-auth-refactor-looms/fix-issue-42-token-validation
|
|
426
|
-
- ~/project-looms/feat-issue-25-auth-refactor-looms/feat-issue-43-oauth-support
|
|
427
|
-
|
|
428
|
-
To clean up child looms:
|
|
429
|
-
il cleanup 42
|
|
430
|
-
il cleanup 43
|
|
431
|
-
```
|
|
84
|
+
How It Works: The Multi-Agent Workflow
|
|
85
|
+
--------------------------------------
|
|
432
86
|
|
|
433
|
-
|
|
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.
|
|
434
88
|
|
|
435
|
-
###
|
|
89
|
+
### 1. The Agents
|
|
436
90
|
|
|
437
|
-
|
|
438
|
-
# Start working on a feature
|
|
439
|
-
> il start 25
|
|
440
|
-
# ... working on authentication refactor
|
|
91
|
+
Instead of a single generic prompt, iloom uses a pipeline of agents:
|
|
441
92
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
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
|
+
|
|
446
103
|
|
|
447
|
-
|
|
448
|
-
> cd ~/project-looms/feat-issue-25-auth-refactor-looms/fix-issue-42-...
|
|
104
|
+
### 2\ Interactive Control
|
|
449
105
|
|
|
450
|
-
|
|
451
|
-
> il finish
|
|
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.
|
|
452
107
|
|
|
453
|
-
|
|
454
|
-
|
|
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
|
+
|
|
455
112
|
|
|
456
|
-
|
|
457
|
-
> il finish
|
|
458
|
-
```
|
|
113
|
+
### 3. The Environment
|
|
459
114
|
|
|
460
|
-
|
|
115
|
+
Each loom is a fully isolated container for your work:
|
|
461
116
|
|
|
462
|
-
|
|
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.
|
|
463
120
|
|
|
464
|
-
|
|
465
|
-
iloom feedback <description>
|
|
466
|
-
# Submit feedback/bug report to iloom-cli repository
|
|
467
|
-
# Alias: f
|
|
468
|
-
# Example: il feedback "Add support for Linear issue tracking"
|
|
469
|
-
# Example: il feedback "The worktree cleanup seems to leave temp files behind"
|
|
470
|
-
```
|
|
121
|
+
* **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`.
|
|
471
122
|
|
|
472
|
-
**
|
|
123
|
+
* **Unique Runtime:**
|
|
124
|
+
|
|
125
|
+
* **Web Apps:** Runs on a deterministic port (e.g., base port 3000 + issue #25 = 3025).
|
|
126
|
+
|
|
127
|
+
* **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).
|
|
128
|
+
|
|
129
|
+
* **Context Persistence:** All reasoning is stored in issue comments. This makes the "why" behind the code visible to your teammates and your future self.
|
|
130
|
+
|
|
473
131
|
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
3. **AI Enhancement**: Within a couple of minutes, your feedback gets enhanced by iloom to provide clear context and actionable details
|
|
132
|
+
Command Reference
|
|
133
|
+
-----------------
|
|
477
134
|
|
|
478
|
-
**
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
135
|
+
| **Command** | **Alias** | **Description** |
|
|
136
|
+
| ------ | ----- | -----|
|
|
137
|
+
| `il start` | `new` | Create loom, run analysis agents, and launch IDE. |
|
|
138
|
+
| `il finish` | `dn` | Validate tests/lint, commit, handle conflicts, and merge/PR. |
|
|
139
|
+
| `il cleanup` | `remove` | Safely remove a loom and its database branch without merging. |
|
|
140
|
+
| `il list` | | Show active looms and paths. |
|
|
141
|
+
| `il spin` | | Launch Claude inside the current loom with context auto-detected. |
|
|
142
|
+
| `il open` | `run` | Open loom in browser (web) or run your CLI tool. |
|
|
143
|
+
| `il add-issue` | `a` | Create and AI-enhance a new issue without starting work yet. |
|
|
144
|
+
| `il init` | `config` | Interactive configuration wizard. |
|
|
145
|
+
| `il feedback` | `f` | Submit bug reports/feedback directly from the CLI. |
|
|
146
|
+
| `il update` | | Update iloom CLI to the latest version. |
|
|
483
147
|
|
|
484
|
-
|
|
148
|
+
For detailed documentation including all command options, flags, and examples, see the [Complete Command Reference](docs/iloom-commands.md).
|
|
485
149
|
|
|
486
|
-
|
|
150
|
+
Configuration
|
|
151
|
+
-------------
|
|
487
152
|
|
|
488
|
-
|
|
489
|
-
iloom update
|
|
490
|
-
# Update iloom-cli to the latest version
|
|
491
|
-
```
|
|
153
|
+
### 1. Interactive Setup (Recommended)
|
|
492
154
|
|
|
493
|
-
|
|
155
|
+
The easiest way to configure iloom is the interactive wizard. It guides you through setting up your environment (GitHub/Linear, Neon, IDE).
|
|
494
156
|
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
The recommended way to configure iloom:
|
|
157
|
+
You can even use natural language to jump-start the process:
|
|
498
158
|
|
|
499
159
|
```bash
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
iloom config
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
This Claude-powered assistant will guide you through all configuration options and automatically:
|
|
506
|
-
- Create and configure `.iloom/settings.json` and `.iloom/settings.local.json`
|
|
507
|
-
- Set up `.gitignore` entries
|
|
508
|
-
- Help you choose the right GitHub remote (if you have multiple)
|
|
509
|
-
- Configure database providers (Neon, etc.)
|
|
510
|
-
- Set workflow permissions and preferences
|
|
511
|
-
- Explain each option as you go
|
|
512
|
-
|
|
513
|
-
For most users, this is all you need. The wizard creates the files and explains everything as you configure it.
|
|
514
|
-
|
|
515
|
-
### Manual Configuration Files
|
|
160
|
+
# Standard wizard
|
|
161
|
+
il init
|
|
516
162
|
|
|
517
|
-
|
|
163
|
+
# Natural language wizard
|
|
164
|
+
il init "set my IDE to windsurf and help me configure linear"
|
|
165
|
+
```
|
|
518
166
|
|
|
519
|
-
|
|
520
|
-
2. **`.iloom/settings.local.json`** - Local machine settings (gitignored, not committed)
|
|
521
|
-
3. **`.iloom/settings.json`** - Project-wide settings (committed to repository)
|
|
522
|
-
4. **`~/.config/iloom-ai/settings.json`** - Global user settings (applies to all projects)
|
|
523
|
-
5. **Built-in defaults** - Hardcoded fallback values
|
|
167
|
+
### 2. Manual Configuration
|
|
524
168
|
|
|
525
|
-
|
|
169
|
+
Settings are loaded in this order (highest priority first):
|
|
526
170
|
|
|
527
|
-
**
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
171
|
+
1. **CLI Flags:** il start --permissionMode=acceptEdits
|
|
172
|
+
|
|
173
|
+
2. **Local Overrides:** .iloom/settings.local.json (gitignored; for API keys & local preferences)
|
|
174
|
+
|
|
175
|
+
3. **Project Settings:** .iloom/settings.json (committed; for shared team defaults)
|
|
176
|
+
|
|
177
|
+
4. **Global Settings:** ~/.config/iloom-ai/settings.json (for user-specific defaults)
|
|
178
|
+
|
|
531
179
|
|
|
532
|
-
|
|
533
|
-
Global settings are stored in `~/.config/iloom-ai/settings.json` and apply to all iloom projects on your machine. Use these for personal preferences like default agent models or workflow permission modes. Project-specific settings (like database configuration) should remain in project config files.
|
|
180
|
+
### Key Settings Example
|
|
534
181
|
|
|
535
|
-
|
|
182
|
+
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.
|
|
536
183
|
|
|
537
|
-
|
|
184
|
+
**.iloom/settings.json (Committed)**
|
|
538
185
|
|
|
539
|
-
```
|
|
186
|
+
```json
|
|
540
187
|
{
|
|
541
188
|
"mainBranch": "main",
|
|
542
|
-
"
|
|
543
|
-
|
|
544
|
-
"mode": "local", // or "github-pr" for PR-based workflows
|
|
545
|
-
"remote": "upstream" // optional, defaults to issueManagement.github.remote
|
|
189
|
+
"issueManagement": {
|
|
190
|
+
"provider": "github"
|
|
546
191
|
},
|
|
547
192
|
"capabilities": {
|
|
548
|
-
"web": {
|
|
549
|
-
|
|
193
|
+
"web": {
|
|
194
|
+
"basePort": 3000
|
|
195
|
+
},
|
|
196
|
+
"database": {
|
|
197
|
+
"databaseUrlEnvVarName": "DATABASE_URL"
|
|
198
|
+
}
|
|
550
199
|
},
|
|
551
200
|
"databaseProviders": {
|
|
552
201
|
"neon": {
|
|
553
|
-
"projectId": "fantastic-fox-3566354"
|
|
554
|
-
"parentBranch": "main"
|
|
555
|
-
}
|
|
556
|
-
},
|
|
557
|
-
"workflows": {
|
|
558
|
-
"issue": {
|
|
559
|
-
"permissionMode": "default",
|
|
560
|
-
"startIde": true,
|
|
561
|
-
"startDevServer": true,
|
|
562
|
-
"startAiAgent": true,
|
|
563
|
-
"startTerminal": false
|
|
202
|
+
"projectId": "fantastic-fox-3566354"
|
|
564
203
|
}
|
|
565
|
-
},
|
|
566
|
-
"agents": {
|
|
567
|
-
"iloom-issue-enhancer": {"model":"opus"},
|
|
568
|
-
"iloom-issue-analyzer": {"model":"opus"},
|
|
569
|
-
"iloom-issue-analyze-and-plan": {"model":"opus"},
|
|
570
|
-
"iloom-issue-implementer": {"model":"haiku"}
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
```
|
|
574
|
-
|
|
575
|
-
**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:
|
|
576
|
-
- **Opus for analysis/enhancement** - Maximum reasoning capability for understanding requirements and planning
|
|
577
|
-
- **Haiku for implementation** - Cost-effective execution of detailed plans (recommended for token-conscious users)
|
|
578
|
-
|
|
579
|
-
** Common configuration options:**
|
|
580
|
-
- `mainBranch` - Primary branch for merging (default: "main")
|
|
581
|
-
- `sourceEnvOnStart` - Source .env file when launching terminal processes (default: false)
|
|
582
|
-
- `mergeBehavior.mode` - How to finish work: "local" (merge locally) or "github-pr" (create PR) (default: "local")
|
|
583
|
-
- `mergeBehavior.remote` - Remote to target for PRs (optional, defaults to `issueManagement.github.remote`)
|
|
584
|
-
- `capabilities.web.basePort` - Base port for dev servers (default: 3000)
|
|
585
|
-
- `capabilities.database.databaseUrlEnvVarName` - Name of environment variable for database connection URL (default: "DATABASE_URL")
|
|
586
|
-
- `databaseProviders.neon.projectId` - Neon project ID (found in project URL, e.g., "fantastic-fox-3566354")
|
|
587
|
-
- `databaseProviders.neon.parentBranch` - Branch from which new database branches are created (default: "main")
|
|
588
|
-
- `workflows` - Per-workflow Claude CLI permission modes and tool launching
|
|
589
|
-
- `agents` - Claude model selection (sonnet/opus/haiku) per agent type
|
|
590
|
-
|
|
591
|
-
All options can be specified in either `settings.json` (project-wide) or `settings.local.json` (local overrides, gitignored).
|
|
592
|
-
|
|
593
|
-
Port calculation: `assignedPort = basePort + issueNumber`
|
|
594
|
-
Example: Issue #25 with basePort 3000 = port 3025
|
|
595
|
-
|
|
596
|
-
For complete configuration reference, see [.iloom/README.md](./.iloom/README.md)
|
|
597
|
-
|
|
598
|
-
### IDE Configuration
|
|
599
|
-
|
|
600
|
-
Configure which IDE launches when starting a loom:
|
|
601
|
-
|
|
602
|
-
```jsonc
|
|
603
|
-
{
|
|
604
|
-
"ide": {
|
|
605
|
-
"type": "cursor" // or: vscode, webstorm, sublime, intellij, windsurf
|
|
606
204
|
}
|
|
607
205
|
}
|
|
608
206
|
```
|
|
609
207
|
|
|
610
|
-
**
|
|
611
|
-
|
|
612
|
-
| Type | Command | Notes |
|
|
613
|
-
|------|---------|-------|
|
|
614
|
-
| `vscode` | `code` | Default. Visual Studio Code |
|
|
615
|
-
| `cursor` | `cursor` | Cursor AI editor |
|
|
616
|
-
| `webstorm` | `webstorm` | JetBrains WebStorm (launches with --nosplash) |
|
|
617
|
-
| `sublime` | `subl` | Sublime Text |
|
|
618
|
-
| `intellij` | `idea` | JetBrains IntelliJ IDEA (launches with --nosplash) |
|
|
619
|
-
| `windsurf` | `windsurf` | Windsurf editor |
|
|
620
|
-
|
|
621
|
-
**Configure via CLI:** Use the existing `--set` flag:
|
|
622
|
-
|
|
623
|
-
```bash
|
|
624
|
-
il start 25 --set ide.type=cursor
|
|
625
|
-
```
|
|
626
|
-
|
|
627
|
-
**Configure during setup:** Run `il init` to configure IDE preference interactively along with other settings.
|
|
628
|
-
|
|
629
|
-
**Note:** Color synchronization (title bar colors) only works with VSCode-compatible editors (vscode, cursor, windsurf). Other IDEs will launch without color theming.
|
|
630
|
-
|
|
631
|
-
## Issue Tracker Integration
|
|
632
|
-
|
|
633
|
-
iloom supports multiple issue tracking systems through a provider abstraction. Choose GitHub or Linear based on your team's workflow.
|
|
634
|
-
|
|
635
|
-
### GitHub (Default)
|
|
636
|
-
|
|
637
|
-
GitHub is the default issue tracker and requires no additional configuration beyond authentication with the `gh` CLI.
|
|
208
|
+
**.iloom/settings.local.json (Gitignored)**
|
|
638
209
|
|
|
639
|
-
|
|
640
|
-
```bash
|
|
641
|
-
# Authenticate with GitHub CLI
|
|
642
|
-
gh auth login
|
|
643
|
-
|
|
644
|
-
# Start using iloom with GitHub issues
|
|
645
|
-
il start 123
|
|
646
|
-
il start PR-456
|
|
647
|
-
```
|
|
648
|
-
|
|
649
|
-
**Configuration:**
|
|
650
|
-
```jsonc
|
|
210
|
+
```json
|
|
651
211
|
{
|
|
652
212
|
"issueManagement": {
|
|
653
|
-
"
|
|
654
|
-
|
|
655
|
-
|
|
213
|
+
"linear": {
|
|
214
|
+
"apiToken": "lin_api_..." // Only if using Linear
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"workflows": {
|
|
218
|
+
"issue": {
|
|
219
|
+
"permissionMode": "acceptEdits" // Control Claude Code permissions
|
|
656
220
|
}
|
|
657
221
|
}
|
|
658
222
|
}
|
|
659
223
|
```
|
|
660
224
|
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
iloom integrates with Linear through the official `@linear/sdk`, enabling full Linear issue tracking support.
|
|
664
|
-
|
|
665
|
-
**Setup:**
|
|
666
|
-
|
|
667
|
-
1. Get your Linear API token from [Linear Settings → API → Personal API Keys](https://linear.app/settings/api)
|
|
668
|
-
|
|
669
|
-
2. Configure iloom to use Linear:
|
|
670
|
-
```bash
|
|
671
|
-
il init
|
|
672
|
-
# Follow prompts to:
|
|
673
|
-
# - Select Linear as your issue tracker
|
|
674
|
-
# - Enter your Linear team ID (e.g., "ENG")
|
|
675
|
-
# - Enter your Linear API token (saved securely to settings.local.json)
|
|
676
|
-
```
|
|
677
|
-
|
|
678
|
-
Or manually configure:
|
|
679
|
-
|
|
680
|
-
Edit `.iloom/settings.local.json` (for sensitive data):
|
|
681
|
-
```jsonc
|
|
682
|
-
{
|
|
683
|
-
"issueManagement": {
|
|
684
|
-
"provider": "linear",
|
|
685
|
-
"linear": {
|
|
686
|
-
"teamId": "ENG", // Required: Your Linear team key
|
|
687
|
-
"apiToken": "lin_api_..." // Required: Your Linear API token
|
|
688
|
-
}
|
|
689
|
-
}
|
|
690
|
-
}
|
|
691
|
-
```
|
|
692
|
-
|
|
693
|
-
**Important:** The `apiToken` should be stored in `settings.local.json` (not committed to git), not in `settings.json`. The init command will automatically save it to the correct location.
|
|
694
|
-
|
|
695
|
-
Alternatively, use an environment variable:
|
|
696
|
-
```bash
|
|
697
|
-
export LINEAR_API_TOKEN="lin_api_..."
|
|
698
|
-
```
|
|
699
|
-
|
|
700
|
-
Settings take precedence over environment variables.
|
|
701
|
-
|
|
702
|
-
**Usage:**
|
|
703
|
-
|
|
704
|
-
```bash
|
|
705
|
-
# Start working on a Linear issue
|
|
706
|
-
il start ENG-123
|
|
707
|
-
|
|
708
|
-
# Create a new Linear issue
|
|
709
|
-
il start "Add user authentication"
|
|
710
|
-
|
|
711
|
-
# Finish and merge
|
|
712
|
-
il finish
|
|
713
|
-
```
|
|
714
|
-
|
|
715
|
-
**Features:**
|
|
716
|
-
|
|
717
|
-
- Full CRUD operations on issues and comments via the official Linear SDK
|
|
718
|
-
- MCP integration for Claude AI assistance with Linear issues
|
|
719
|
-
- Automatic workspace creation with Linear issue context
|
|
720
|
-
|
|
721
|
-
**Limitations:**
|
|
722
|
-
|
|
723
|
-
- Linear does not have pull requests. Use `il finish` with `mergeBehavior.mode: "local"` or `"github-pr"` to merge your code.
|
|
724
|
-
|
|
725
|
-
**Port Calculation:**
|
|
726
|
-
|
|
727
|
-
Linear issue identifiers (e.g., ENG-123) use hash-based port calculation instead of simple numeric addition. The port is deterministically generated from the branch name, ensuring consistency across sessions.
|
|
728
|
-
|
|
729
|
-
## Requirements
|
|
225
|
+
Integrations
|
|
226
|
+
------------
|
|
730
227
|
|
|
731
|
-
|
|
732
|
-
- Claude CLI - AI assistance with issue context preloaded
|
|
733
|
-
- Node.js 16+
|
|
734
|
-
- Git 2.5+ (for worktree support)
|
|
228
|
+
### Issue Trackers
|
|
735
229
|
|
|
736
|
-
|
|
737
|
-
- **GitHub CLI (`gh`)** - For GitHub issue tracking (default)
|
|
738
|
-
- **Linear CLI (`linearis`)** - For Linear issue tracking (install with `npm install -g linearis`)
|
|
230
|
+
iloom supports the tools you already use. Unless you use JIRA.
|
|
739
231
|
|
|
740
|
-
**
|
|
741
|
-
|
|
232
|
+
| **Provider** | **Setup** | **Notes** |
|
|
233
|
+
|--------------|-----------|-----------|
|
|
234
|
+
| **GitHub** | `gh auth login` | Default. Supports Issues and Pull Requests automatically. |
|
|
235
|
+
| **Linear** | `il init` | Requires API token. Supports full read/write on Linear issues. |
|
|
742
236
|
|
|
743
|
-
**Optional (auto-detected):**
|
|
744
|
-
- **Neon CLI** - Isolated database branches per loom
|
|
745
|
-
- **VS Code** - Color-coded editor windows for visual context
|
|
746
|
-
- **iTerm2** (macOS only) - Enhanced terminal experience with dual tabs in a single window (when configured to open both Claude and start a dev server)
|
|
747
237
|
|
|
748
|
-
|
|
238
|
+
### IDE Support
|
|
239
|
+
iloom creates isolated workspace settings for your editor. Color synchronization (visual context) only works best VS Code-based editors.
|
|
749
240
|
|
|
750
|
-
|
|
241
|
+
* **Supported:** VS Code, Cursor, Windsurf, WebStorm, IntelliJ, Sublime Text.
|
|
242
|
+
|
|
243
|
+
* **Config:** Set your preference via `il init` or `il start --set ide.type=cursor`.
|
|
244
|
+
|
|
751
245
|
|
|
752
|
-
|
|
246
|
+
Advanced Features
|
|
247
|
+
-----------------
|
|
753
248
|
|
|
754
|
-
|
|
755
|
-
- ✅ **macOS** - Fully tested and supported
|
|
756
|
-
- ⚠️ **Linux/Windows** - Not yet tested, may work with modifications
|
|
249
|
+
### Child Looms (Nested Contexts)
|
|
757
250
|
|
|
758
|
-
|
|
759
|
-
- ✅ **GitHub Issues** - Full support with AI enhancement, analysis, and planning
|
|
760
|
-
- 🚧 **Linear** - Native integration coming soon. A two way sync between Linear and your github repo works great currently.
|
|
251
|
+
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.
|
|
761
252
|
|
|
762
|
-
**
|
|
763
|
-
- ✅ **Node.js web projects** - First-class support via package.json scripts (`dev`, `test`, `build`)
|
|
764
|
-
- ✅ **Node.js CLI tools** - Full support with isolated executables (see below)
|
|
765
|
-
- 🔧 **Other tech stacks** - Can work now via package.json scripts, native support coming later (open to help!)
|
|
253
|
+
**When to use:**
|
|
766
254
|
|
|
767
|
-
|
|
255
|
+
* Breaking down a massive feature into smaller PRs.
|
|
256
|
+
|
|
257
|
+
* Fixing a bug discovered during feature work without losing context.
|
|
258
|
+
|
|
768
259
|
|
|
769
|
-
|
|
260
|
+
**How it works:** If you run il start 42 while inside loom-25, iloom asks if you want to create a child loom.
|
|
770
261
|
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
# Install globally
|
|
775
|
-
> npm install -g @iloom/cli
|
|
776
|
-
|
|
777
|
-
# Authenticate with GitHub
|
|
778
|
-
> gh auth login
|
|
779
|
-
# do `gh auth login --scopes project` to automatically move issues to in progress
|
|
780
|
-
|
|
781
|
-
# Initialize in your project
|
|
782
|
-
> cd your-project
|
|
783
|
-
> il init
|
|
784
|
-
|
|
785
|
-
# Start working
|
|
786
|
-
> il start 25 # existing issue
|
|
787
|
-
> il start "Enable log in/sign up with Google account" # new issue
|
|
788
|
-
```
|
|
789
|
-
|
|
790
|
-
## Pull Request Support
|
|
791
|
-
|
|
792
|
-
iloom works identically with GitHub pull requests:
|
|
793
|
-
|
|
794
|
-
```bash
|
|
795
|
-
> il start 125 # PR number instead of issue number
|
|
796
|
-
```
|
|
797
|
-
|
|
798
|
-
Automatically detects PR, fetches the branch, and creates loom with PR context. Everything else works the same.
|
|
799
|
-
|
|
800
|
-
## Architecture
|
|
801
|
-
|
|
802
|
-
**Technologies:**
|
|
803
|
-
- TypeScript CLI built with Commander.js
|
|
804
|
-
- Git worktrees for loom isolation
|
|
805
|
-
- GitHub CLI integration for issues/PRs
|
|
806
|
-
- Integration with node-based web servers via standard package.json scripts
|
|
807
|
-
- Database branching (Neon) - optional
|
|
808
|
-
- Claude CLI integration for AI assistance to resolve compilation/test/lint/merge errors
|
|
809
|
-
|
|
810
|
-
**Project structure:**
|
|
262
|
+
* **Inheritance:** The child inherits the database state and git branch from the parent (not main).
|
|
263
|
+
|
|
264
|
+
* **Structure**
|
|
811
265
|
```
|
|
812
|
-
|
|
813
|
-
├──
|
|
814
|
-
|
|
815
|
-
├──
|
|
816
|
-
└──
|
|
266
|
+
~/my-project-looms/
|
|
267
|
+
├── feat-issue-25-auth/ # Parent Loom
|
|
268
|
+
└── feat-issue-25-auth-looms/ # Child Looms Directory
|
|
269
|
+
├── fix-issue-42-bug/ # Child Loom (inherits from #25)
|
|
270
|
+
└── feat-issue-43-subtask/ # Another Child Loom
|
|
817
271
|
```
|
|
818
272
|
|
|
819
|
-
|
|
273
|
+
### CLI Tool Development
|
|
820
274
|
|
|
821
|
-
|
|
275
|
+
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.
|
|
822
276
|
|
|
823
|
-
iloom provides first-class support for Node.js web applications (next/express/vite, etc) through standardized package.json scripts:
|
|
824
|
-
|
|
825
|
-
**Required scripts** (auto-detected):
|
|
826
|
-
- `dev` - Start development server (launched automatically with unique port)
|
|
827
|
-
- `test` - Run test suite (executed during `il finish` validation)
|
|
828
|
-
|
|
829
|
-
**Optional scripts**:
|
|
830
|
-
- `lint` - Code quality checks (run during `il finish` if present)
|
|
831
|
-
- `typecheck` - TypeScript validation (run during `il finish` if present)
|
|
832
|
-
|
|
833
|
-
**How it integrates:**
|
|
834
277
|
|
|
835
278
|
```bash
|
|
836
|
-
> il start
|
|
837
|
-
# ✅ Runs `pnpm install` in worktree
|
|
838
|
-
# ✅ Launches `pnpm dev` on port 3025 (3000 + issue number)
|
|
839
|
-
# ✅ Sets up database branch with correct DATABASE_URL
|
|
840
|
-
|
|
841
|
-
> il finish
|
|
842
|
-
# ✅ Runs `pnpm test` (fails if tests fail)
|
|
843
|
-
# ✅ Runs `pnpm typecheck` if configured
|
|
844
|
-
# ✅ Runs `pnpm lint` if configured
|
|
845
|
-
# ✅ AI assists with any failures automatically
|
|
846
|
-
```
|
|
279
|
+
> il start 52 # Working on CLI feature in issue 52
|
|
847
280
|
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
iloom was built using iloom itself. CLI tools get the same isolation benefits as web projects, plus **isolated executable access per loom**.
|
|
851
|
-
|
|
852
|
-
**How it works:**
|
|
853
|
-
|
|
854
|
-
When you create a loom for a CLI project, iloom creates workspace-specific binaries so you can test each issue's version independently:
|
|
855
|
-
|
|
856
|
-
```bash
|
|
857
|
-
> il start 52 # Working on CLI feature in issue 52
|
|
858
|
-
> cli-tool-52 --version # Test issue 52's version
|
|
281
|
+
> my-cli-52 --version # Test issue 52's version
|
|
859
282
|
|
|
860
283
|
> il start 137 # Switch to different CLI issue
|
|
861
|
-
> cli-tool-137 --help # Test issue 137's version
|
|
862
|
-
|
|
863
|
-
# Original binary still works from main branch
|
|
864
|
-
> cli-tool --version # Unaffected by iloom CLIs
|
|
865
|
-
```
|
|
866
|
-
|
|
867
|
-
**Binary naming**: `<original-name>-<issue/pr-number>`
|
|
868
|
-
- Binary named in package.json's "bin" object: `cli-tool`
|
|
869
|
-
- Issue 52: `cli-tool-52`
|
|
870
|
-
- Issue 137: `cli-tool-137`
|
|
871
|
-
- PR 200: `cli-tool-200`
|
|
872
|
-
|
|
873
|
-
**Cleanup**: When you run `il finish`, the workspace-specific binary is automatically removed along with the worktree and any database branches.
|
|
874
|
-
|
|
875
|
-
This enables parallel development and testing of CLI features without conflicts or manual PATH manipulation.
|
|
876
284
|
|
|
285
|
+
> my-cli-137 --help # Test issue 137's version
|
|
877
286
|
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
## Roadmap
|
|
882
|
-
|
|
883
|
-
**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.
|
|
884
|
-
|
|
885
|
-
### Understanding Git Worktrees
|
|
886
|
-
|
|
887
|
-
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.
|
|
888
|
-
|
|
889
|
-
Traditional approach:
|
|
890
|
-
```bash
|
|
891
|
-
> git checkout feature-a # Switch branch
|
|
892
|
-
# Edit files
|
|
893
|
-
> git stash # Save work
|
|
894
|
-
> git checkout feature-b # Switch branch again
|
|
895
|
-
# Edit different files
|
|
896
|
-
> git stash pop # Restore work
|
|
897
|
-
> git checkout feature-a # Switch back
|
|
898
|
-
```
|
|
899
|
-
|
|
900
|
-
Git worktree approach:
|
|
901
|
-
```bash
|
|
902
|
-
# All exist simultaneously:
|
|
903
|
-
~/project-looms/issue-25/ # feature-a checked out
|
|
904
|
-
~/project-looms/issue-30/ # feature-b checked out
|
|
905
|
-
~/project/ # main branch
|
|
906
|
-
|
|
907
|
-
# No branch switching, no stashing, less confusion
|
|
287
|
+
# Original binary still works from main branch
|
|
288
|
+
> my-cli --version # Unaffected by other looms' CLIs
|
|
908
289
|
```
|
|
909
290
|
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
### When to Choose Other Git Worktree Solutions
|
|
913
|
-
|
|
914
|
-
iloom isn't the only tool that makes git worktrees more accessible. Several excellent alternatives exist, each with different trade-offs:
|
|
915
|
-
|
|
916
|
-
**Editor-Integrated Solutions:**
|
|
917
|
-
- [VS Code Git Worktrees](https://marketplace.visualstudio.com/items?itemName=GitWorktrees.git-worktrees) - Enhanced Git worktree support in VS Code
|
|
918
|
-
- [git-worktree.nvim](https://github.com/ThePrimeagen/git-worktree.nvim) - Neovim plugin for rapid worktree management
|
|
291
|
+
System Requirements & Limitations
|
|
292
|
+
---------------------------------
|
|
919
293
|
|
|
920
|
-
|
|
921
|
-
- [Crystal](https://github.com/stravu/crystal) - Run multiple Codex and Claude Code AI sessions in parallel git worktrees
|
|
922
|
-
- [Conductor](https://conductor.build/) - Run a team of coding agents on your Mac
|
|
294
|
+
This is an early-stage product.
|
|
923
295
|
|
|
924
|
-
**
|
|
925
|
-
- [git-worktree-wrapper](https://github.com/lu0/git-worktree-wrapper) - Manage Git worktrees with `git checkout` and `git branch` commands.
|
|
296
|
+
**Requirements:**
|
|
926
297
|
|
|
927
|
-
**
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
298
|
+
* ✅ **OS:** macOS (Fully supported). ⚠️ Linux/Windows are untested.
|
|
299
|
+
|
|
300
|
+
* ✅ **Runtime:** Node.js 16+, Git 2.5+.
|
|
301
|
+
|
|
302
|
+
* ✅ **AI:** Claude CLI installed. A Claude Max subscription is recommended (iloom uses your subscription).
|
|
303
|
+
|
|
933
304
|
|
|
934
|
-
**
|
|
305
|
+
**Project Support:**
|
|
935
306
|
|
|
936
|
-
|
|
307
|
+
* ✅ **Node.js Web Projects:** First-class support via package.json scripts (dev, test, build).
|
|
308
|
+
|
|
309
|
+
* ✅ **Node.js CLI Tools:** Full support with isolated binary generation.
|
|
310
|
+
|
|
311
|
+
* ⚠️ **Other Stacks:** Python/Go/Rust etc. can work via generic package.json scripts, but are not natively supported yet.
|
|
937
312
|
|
|
938
|
-
|
|
939
|
-
- **Database isolation**: Neon branch integration for schema/data separation
|
|
940
|
-
- **AI context persistence**: Structured analysis stored in GitHub comments, not local chat history
|
|
941
|
-
- **Cognitive overhead reduction**: Color coding, port assignment, environment setup handled automatically
|
|
942
|
-
- **Human-AI alignment**: Multi-phase workflow surfaces assumptions before code is written
|
|
943
|
-
- **Validation automation**: AI-assisted error fixing during merge process
|
|
313
|
+
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...
|
|
944
314
|
|
|
945
|
-
|
|
315
|
+
Contributing
|
|
316
|
+
------------
|
|
946
317
|
|
|
947
|
-
|
|
948
|
-
- Persistent shared understanding between you and your AI
|
|
949
|
-
- Reduced time debugging AI misunderstandings
|
|
950
|
-
- Less context switching mental overhead
|
|
951
|
-
- Complete environment isolation (not just git)
|
|
952
|
-
|
|
953
|
-
**Choose other solutions if:**
|
|
954
|
-
- You primarily work solo without AI assistance
|
|
955
|
-
- You want minimal workflow changes
|
|
956
|
-
- You just need easier git worktree commands
|
|
957
|
-
- You don't see yourself working on multiple tasks at once
|
|
958
|
-
|
|
959
|
-
**Choose iloom if:**
|
|
960
|
-
- You're scaling AI-assisted development across multiple issues
|
|
961
|
-
- Cognitive overhead is limiting your velocity more than coding speed
|
|
962
|
-
- You work on projects with database schemas that change per feature
|
|
963
|
-
- You want AI analysis and planning visible to your whole team
|
|
964
|
-
|
|
965
|
-
## Contributing
|
|
966
|
-
|
|
967
|
-
We welcome contributions! Whether you're fixing a bug, adding a feature, or improving documentation, there are multiple ways to get involved.
|
|
968
|
-
|
|
969
|
-
### Quick Start for Contributors
|
|
970
|
-
|
|
971
|
-
The fastest way to get started contributing:
|
|
318
|
+
We (Claude and I) welcome contributions! We've made it easy to get started — iloom can even set up its own dev environment.
|
|
972
319
|
|
|
973
320
|
```bash
|
|
974
|
-
iloom contribute
|
|
321
|
+
iloom contribute # Handles forking, cloning, and setting up the dev environment automatically.
|
|
975
322
|
```
|
|
976
323
|
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
### Finding Your First Issue
|
|
980
|
-
|
|
981
|
-
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) - these are designed to help you learn the iloom workflow and codebase while making meaningful contributions.
|
|
982
|
-
|
|
983
|
-
### Full Contributing Guide
|
|
984
|
-
|
|
985
|
-
For detailed information about our development process, testing requirements, and workflow, see our comprehensive [Contributing Guide](CONTRIBUTING.md).
|
|
986
|
-
|
|
987
|
-
**Key highlights:**
|
|
988
|
-
- Behavior-focused testing principles
|
|
989
|
-
- AI-assisted development workflow using iloom itself
|
|
990
|
-
- Clear PR process and code quality standards
|
|
991
|
-
- Test-Driven Development with >70% coverage requirement
|
|
992
|
-
|
|
993
|
-
## License
|
|
994
|
-
|
|
995
|
-
**Business Source License 1.1** - Free to use for any purpose, including commercial use within your organization.
|
|
996
|
-
|
|
997
|
-
**You can:**
|
|
998
|
-
- ✅ Use freely in your organization and commercial projects
|
|
999
|
-
- ✅ Modify and distribute internally
|
|
1000
|
-
- ✅ Build paid applications with it
|
|
1001
|
-
|
|
1002
|
-
**You cannot:**
|
|
1003
|
-
- ❌ Resell iloom itself as a product or service
|
|
1004
|
-
- ❌ Incorporate into products/services you sell to others
|
|
1005
|
-
- ❌ Offer as a hosted service or SaaS
|
|
324
|
+
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).
|
|
1006
325
|
|
|
1007
|
-
|
|
326
|
+
License & Name
|
|
327
|
+
--------------
|
|
1008
328
|
|
|
1009
|
-
|
|
329
|
+
**iloom** comes from "illuminate" (illuminating the AI coding process) and "intelligent loom" (weaving artificial and human intelligence together).
|
|
1010
330
|
|
|
1011
|
-
|
|
331
|
+
**License: Business Source License 1.1**
|
|
1012
332
|
|
|
1013
|
-
|
|
333
|
+
* ✅ Free to use for any internal or commercial project.
|
|
334
|
+
|
|
335
|
+
* ❌ You cannot resell iloom itself as a product or SaaS.
|
|
336
|
+
|
|
337
|
+
* Converts to Apache 2.0 on 2029-01-01.
|
|
338
|
+
|
|
1014
339
|
|
|
1015
|
-
|
|
340
|
+
See [LICENSE](https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/LICENSE) for complete terms.
|