@iloom/cli 0.3.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.
- package/README.md +228 -905
- package/dist/{BranchNamingService-3OQPRSWT.js → BranchNamingService-OMWKUYMM.js} +2 -2
- package/dist/ClaudeContextManager-3VXA6UPR.js +13 -0
- package/dist/ClaudeService-6CPK43N4.js +12 -0
- package/dist/{LoomLauncher-FLEMBCSQ.js → LoomLauncher-JF7JZMTZ.js} +5 -5
- package/dist/README.md +228 -905
- package/dist/{SettingsManager-WHHFGSL7.js → SettingsManager-ZCWJ56WP.js} +2 -2
- package/dist/{chunk-MAVL6PJF.js → chunk-4BGK7T6X.js} +3 -3
- package/dist/{chunk-VAYCCUXW.js → chunk-4E4LD3QR.js} +2 -2
- package/dist/{chunk-5EF7Z346.js → chunk-HBYZH6GD.js} +11 -9
- package/dist/chunk-HBYZH6GD.js.map +1 -0
- package/dist/{chunk-3KATJIKO.js → chunk-INW24J2W.js} +2 -2
- package/dist/chunk-INW24J2W.js.map +1 -0
- package/dist/{chunk-AWOFAD5O.js → chunk-IXKLYTWO.js} +4 -4
- package/dist/{chunk-ML3NRPNB.js → chunk-O5OH5MRX.js} +3 -3
- package/dist/chunk-O5OH5MRX.js.map +1 -0
- package/dist/{chunk-4HHRTA7Q.js → chunk-TSKY3JI7.js} +3 -3
- package/dist/{chunk-4HHRTA7Q.js.map → chunk-TSKY3JI7.js.map} +1 -1
- package/dist/{chunk-FIAT22G7.js → chunk-U5QDY7ZD.js} +3 -3
- package/dist/{chunk-C5QCTEQK.js → chunk-XPKDPZ5D.js} +2 -2
- package/dist/{chunk-47KSHUCR.js → chunk-ZBQVSHVT.js} +4 -4
- package/dist/chunk-ZBQVSHVT.js.map +1 -0
- package/dist/{chunk-XXV3UFZL.js → chunk-ZWFBBPJI.js} +5 -5
- package/dist/{chunk-XXV3UFZL.js.map → chunk-ZWFBBPJI.js.map} +1 -1
- package/dist/{claude-GOP6PFC7.js → claude-LUZ35IMK.js} +2 -2
- package/dist/{cleanup-7RWLBSLE.js → cleanup-3MONU4PU.js} +10 -10
- package/dist/{cleanup-7RWLBSLE.js.map → cleanup-3MONU4PU.js.map} +1 -1
- package/dist/cli.js +32 -32
- package/dist/cli.js.map +1 -1
- package/dist/{contribute-BS2L4FZR.js → contribute-UWJAGIG7.js} +2 -2
- package/dist/{feedback-N4ECWIPF.js → feedback-W3BXTGIM.js} +4 -4
- package/dist/{git-TDXKRTXM.js → git-34Z6QVDS.js} +2 -2
- package/dist/{ignite-VM64QO3J.js → ignite-KVJEFXNO.js} +5 -5
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/{init-G3T64SC4.js → init-L55Q73H4.js} +5 -5
- package/dist/{open-KXDXEKRZ.js → open-LNRZL3UU.js} +4 -4
- package/dist/prompts/init-prompt.txt +3 -3
- package/dist/{rebase-Q7GMM7EI.js → rebase-C4WNCVGM.js} +6 -6
- package/dist/{run-PAWJJCSX.js → run-IOGNIOYN.js} +4 -4
- package/dist/schema/settings.schema.json +3 -3
- package/dist/{test-git-3WDLNQCA.js → test-git-J7I5MFYH.js} +3 -3
- package/dist/{test-prefix-EVGAWAJW.js → test-prefix-ZCONBCBX.js} +3 -3
- package/package.json +2 -2
- package/dist/ClaudeContextManager-MUQSDY2E.js +0 -13
- package/dist/ClaudeService-HG4VQ7AW.js +0 -12
- 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-ML3NRPNB.js.map +0 -1
- /package/dist/{BranchNamingService-3OQPRSWT.js.map → BranchNamingService-OMWKUYMM.js.map} +0 -0
- /package/dist/{ClaudeContextManager-MUQSDY2E.js.map → ClaudeContextManager-3VXA6UPR.js.map} +0 -0
- /package/dist/{ClaudeService-HG4VQ7AW.js.map → ClaudeService-6CPK43N4.js.map} +0 -0
- /package/dist/{LoomLauncher-FLEMBCSQ.js.map → LoomLauncher-JF7JZMTZ.js.map} +0 -0
- /package/dist/{SettingsManager-WHHFGSL7.js.map → SettingsManager-ZCWJ56WP.js.map} +0 -0
- /package/dist/{chunk-MAVL6PJF.js.map → chunk-4BGK7T6X.js.map} +0 -0
- /package/dist/{chunk-VAYCCUXW.js.map → chunk-4E4LD3QR.js.map} +0 -0
- /package/dist/{chunk-AWOFAD5O.js.map → chunk-IXKLYTWO.js.map} +0 -0
- /package/dist/{chunk-FIAT22G7.js.map → chunk-U5QDY7ZD.js.map} +0 -0
- /package/dist/{chunk-C5QCTEQK.js.map → chunk-XPKDPZ5D.js.map} +0 -0
- /package/dist/{claude-GOP6PFC7.js.map → claude-LUZ35IMK.js.map} +0 -0
- /package/dist/{contribute-BS2L4FZR.js.map → contribute-UWJAGIG7.js.map} +0 -0
- /package/dist/{feedback-N4ECWIPF.js.map → feedback-W3BXTGIM.js.map} +0 -0
- /package/dist/{git-TDXKRTXM.js.map → git-34Z6QVDS.js.map} +0 -0
- /package/dist/{ignite-VM64QO3J.js.map → ignite-KVJEFXNO.js.map} +0 -0
- /package/dist/{init-G3T64SC4.js.map → init-L55Q73H4.js.map} +0 -0
- /package/dist/{open-KXDXEKRZ.js.map → open-LNRZL3UU.js.map} +0 -0
- /package/dist/{rebase-Q7GMM7EI.js.map → rebase-C4WNCVGM.js.map} +0 -0
- /package/dist/{run-PAWJJCSX.js.map → run-IOGNIOYN.js.map} +0 -0
- /package/dist/{test-git-3WDLNQCA.js.map → test-git-J7I5MFYH.js.map} +0 -0
- /package/dist/{test-prefix-EVGAWAJW.js.map → test-prefix-ZCONBCBX.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,313 @@
|
|
|
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.**
|
|
200
|
-
|
|
201
|
-
### Context That Scales With Your Team
|
|
202
|
-
|
|
203
|
-
Traditional AI workflows store context locally in chat history or Markdown files. iloom stores context where it belongs - in the GitHub issue itself.
|
|
204
|
-
|
|
205
|
-
**Benefits:**
|
|
206
|
-
|
|
207
|
-
- **Transparency**: All AI analysis and planning is visible to your entire team
|
|
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
|
|
214
|
-
|
|
215
|
-
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.
|
|
216
|
-
|
|
217
|
-
**This is context as infrastructure, not files.**
|
|
29
|
+
...To Solve A Very Modern Problem
|
|
30
|
+
---------------------------------
|
|
218
31
|
|
|
219
|
-
|
|
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.**
|
|
220
33
|
|
|
221
|
-
|
|
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:
|
|
222
35
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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
|
+
|
|
228
42
|
|
|
229
|
-
**
|
|
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
|
|
43
|
+
**The bottleneck isn't output velocity. It's maintaining alignment between human and AI at scale.**
|
|
234
44
|
|
|
235
|
-
|
|
45
|
+
### The iloom Approach: Context as Infrastructure
|
|
236
46
|
|
|
237
|
-
|
|
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
|
|
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.
|
|
242
48
|
|
|
243
|
-
**
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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
|
+
|
|
248
55
|
|
|
249
|
-
|
|
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._
|
|
250
57
|
|
|
251
|
-
|
|
252
|
-
|
|
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:
|
|
380
|
-
|
|
381
|
-
```bash
|
|
382
|
-
# Inside a loom working on issue #25
|
|
383
|
-
> il start 42
|
|
384
|
-
? Create as child loom of issue #25? (Y/n)
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
**Automatic inheritance:**
|
|
388
|
-
- **Database branch**: Child looms branch from the parent's database state, not the main branch
|
|
389
|
-
- **Base branch**: Git branch is created from the parent's branch
|
|
390
|
-
- **Main branch config**: Child's `mainBranch` setting points to parent branch (for `il finish`)
|
|
391
|
-
|
|
392
|
-
### CLI Flags
|
|
393
|
-
|
|
394
|
-
Skip the prompt with explicit flags:
|
|
58
|
+
Quick Start
|
|
59
|
+
-----------
|
|
395
60
|
|
|
61
|
+
iloom uses your existing Claude subscription to build a shared mental model of your task.
|
|
396
62
|
```bash
|
|
397
|
-
#
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
#
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
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:
|
|
436
156
|
|
|
437
157
|
```bash
|
|
438
|
-
#
|
|
439
|
-
|
|
440
|
-
# ... working on authentication refactor
|
|
158
|
+
# Standard wizard
|
|
159
|
+
il init
|
|
441
160
|
|
|
442
|
-
#
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
# Creates child loom with parent's database state
|
|
161
|
+
# Natural language wizard
|
|
162
|
+
il init "set my IDE to windsurf and help me configure linear"
|
|
163
|
+
```
|
|
446
164
|
|
|
447
|
-
|
|
448
|
-
> cd ~/project-looms/feat-issue-25-auth-refactor-looms/fix-issue-42-...
|
|
165
|
+
### 2. Manual Configuration
|
|
449
166
|
|
|
450
|
-
|
|
451
|
-
> il finish
|
|
167
|
+
Settings are loaded in this order (highest priority first):
|
|
452
168
|
|
|
453
|
-
|
|
454
|
-
|
|
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
|
+
|
|
455
177
|
|
|
456
|
-
|
|
457
|
-
> il finish
|
|
458
|
-
```
|
|
178
|
+
### Key Settings Example
|
|
459
179
|
|
|
460
|
-
|
|
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.
|
|
461
181
|
|
|
462
|
-
|
|
182
|
+
**.iloom/settings.json (Committed)**
|
|
463
183
|
|
|
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
|
-
```
|
|
471
|
-
|
|
472
|
-
**What happens when you run `iloom feedback`:**
|
|
473
|
-
|
|
474
|
-
1. **Issue Creation**: Creates a new issue in the [iloom-cli repository](https://github.com/iloom-ai/iloom-cli)
|
|
475
|
-
2. **Browser Opening**: Opens the created issue in your browser for you to review and add additional context
|
|
476
|
-
3. **AI Enhancement**: Within a couple of minutes, your feedback gets enhanced by iloom to provide clear context and actionable details
|
|
477
|
-
|
|
478
|
-
**Open the browser to provide additional context. Please:**
|
|
479
|
-
- Be specific about what you expected vs. what happened
|
|
480
|
-
- Include your environment details if reporting a bug (OS, Node version, etc.)
|
|
481
|
-
- Mention the command or workflow that had issues
|
|
482
|
-
- Suggest improvements or alternative approaches if you have ideas
|
|
483
|
-
|
|
484
|
-
Your feedback helps make iloom better for everyone! Issues created through `iloom feedback` are prioritized and reviewed regularly.
|
|
485
|
-
|
|
486
|
-
### Maintenance
|
|
487
|
-
|
|
488
|
-
```bash
|
|
489
|
-
iloom update
|
|
490
|
-
# Update iloom-cli to the latest version
|
|
491
|
-
```
|
|
492
|
-
|
|
493
|
-
## Configuration
|
|
494
|
-
|
|
495
|
-
### Interactive Configuration Wizard
|
|
496
|
-
|
|
497
|
-
The recommended way to configure iloom:
|
|
498
|
-
|
|
499
|
-
```bash
|
|
500
|
-
iloom init
|
|
501
|
-
# or
|
|
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
|
|
516
|
-
|
|
517
|
-
If you prefer manual configuration, iloom uses these files (highest to lowest priority):
|
|
518
|
-
|
|
519
|
-
1. **CLI arguments** - Command-line flags (e.g., `--one-shot bypassPermissions`)
|
|
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
|
|
524
|
-
|
|
525
|
-
This allows teams to share project defaults via `settings.json` while individual developers maintain personal overrides in `settings.local.json` or global preferences in `~/.config/iloom-ai/settings.json`.
|
|
526
|
-
|
|
527
|
-
**Example Use Cases:**
|
|
528
|
-
- **Global settings**: Default agent models or workflow permission modes that apply to all your projects
|
|
529
|
-
- **Project settings**: Team defaults like `mainBranch`, database configuration, GitHub remote
|
|
530
|
-
- **Local settings**: Machine-specific overrides like different `basePort` due to port conflicts, local database URLs, personal workflow preferences
|
|
531
|
-
|
|
532
|
-
**Global Settings:**
|
|
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.
|
|
534
|
-
|
|
535
|
-
**Note:** The `.iloom/settings.local.json` file is automatically created and gitignored when you run `il init`.
|
|
536
|
-
|
|
537
|
-
### Key Configuration:
|
|
538
|
-
|
|
539
|
-
```jsonc
|
|
184
|
+
```json
|
|
540
185
|
{
|
|
541
186
|
"mainBranch": "main",
|
|
542
|
-
"
|
|
543
|
-
|
|
544
|
-
"mode": "local", // or "github-pr" for PR-based workflows
|
|
545
|
-
"remote": "upstream" // optional, defaults to issueManagement.github.remote
|
|
187
|
+
"issueManagement": {
|
|
188
|
+
"provider": "github"
|
|
546
189
|
},
|
|
547
190
|
"capabilities": {
|
|
548
|
-
"web": {
|
|
549
|
-
|
|
191
|
+
"web": {
|
|
192
|
+
"basePort": 3000
|
|
193
|
+
},
|
|
194
|
+
"database": {
|
|
195
|
+
"databaseUrlEnvVarName": "DATABASE_URL"
|
|
196
|
+
}
|
|
550
197
|
},
|
|
551
198
|
"databaseProviders": {
|
|
552
199
|
"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
|
|
200
|
+
"projectId": "fantastic-fox-3566354"
|
|
564
201
|
}
|
|
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
202
|
}
|
|
607
203
|
}
|
|
608
204
|
```
|
|
609
205
|
|
|
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
|
|
206
|
+
**.iloom/settings.local.json (Gitignored)**
|
|
632
207
|
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
### GitHub (Default)
|
|
636
|
-
|
|
637
|
-
GitHub is the default issue tracker and requires no additional configuration beyond authentication with the `gh` CLI.
|
|
638
|
-
|
|
639
|
-
**Setup:**
|
|
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
|
|
208
|
+
```json
|
|
651
209
|
{
|
|
652
210
|
"issueManagement": {
|
|
653
|
-
"
|
|
654
|
-
|
|
655
|
-
|
|
211
|
+
"linear": {
|
|
212
|
+
"apiToken": "lin_api_..." // Only if using Linear
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"workflows": {
|
|
216
|
+
"issue": {
|
|
217
|
+
"permissionMode": "acceptEdits" // Control Claude Code permissions
|
|
656
218
|
}
|
|
657
219
|
}
|
|
658
220
|
}
|
|
659
221
|
```
|
|
660
222
|
|
|
661
|
-
|
|
223
|
+
Integrations
|
|
224
|
+
------------
|
|
662
225
|
|
|
663
|
-
|
|
226
|
+
### Issue Trackers
|
|
664
227
|
|
|
665
|
-
|
|
228
|
+
iloom supports the tools you already use. Unless you use JIRA.
|
|
666
229
|
|
|
667
|
-
|
|
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. |
|
|
668
234
|
|
|
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
235
|
|
|
678
|
-
|
|
236
|
+
### IDE Support
|
|
237
|
+
iloom creates isolated workspace settings for your editor. Color synchronization (visual context) only works best VS Code-based editors.
|
|
679
238
|
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
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
|
-
```
|
|
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
|
+
|
|
692
243
|
|
|
693
|
-
|
|
244
|
+
Advanced Features
|
|
245
|
+
-----------------
|
|
694
246
|
|
|
695
|
-
|
|
696
|
-
```bash
|
|
697
|
-
export LINEAR_API_TOKEN="lin_api_..."
|
|
698
|
-
```
|
|
247
|
+
### Child Looms (Nested Contexts)
|
|
699
248
|
|
|
700
|
-
|
|
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.
|
|
701
250
|
|
|
702
|
-
**
|
|
251
|
+
**When to use:**
|
|
703
252
|
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
253
|
+
* Breaking down a massive feature into smaller PRs.
|
|
254
|
+
|
|
255
|
+
* Fixing a bug discovered during feature work without losing context.
|
|
256
|
+
|
|
707
257
|
|
|
708
|
-
|
|
709
|
-
il start "Add user authentication"
|
|
258
|
+
**How it works:** If you run il start 42 while inside loom-25, iloom asks if you want to create a child loom.
|
|
710
259
|
|
|
711
|
-
|
|
712
|
-
|
|
260
|
+
* **Inheritance:** The child inherits the database state and git branch from the parent (not main).
|
|
261
|
+
|
|
262
|
+
* **Structure**
|
|
713
263
|
```
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
-
|
|
718
|
-
-
|
|
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
|
|
730
|
-
|
|
731
|
-
**Essential:**
|
|
732
|
-
- Claude CLI - AI assistance with issue context preloaded
|
|
733
|
-
- Node.js 16+
|
|
734
|
-
- Git 2.5+ (for worktree support)
|
|
735
|
-
|
|
736
|
-
**Issue Tracker (choose one):**
|
|
737
|
-
- **GitHub CLI (`gh`)** - For GitHub issue tracking (default)
|
|
738
|
-
- **Linear CLI (`linearis`)** - For Linear issue tracking (install with `npm install -g linearis`)
|
|
739
|
-
|
|
740
|
-
**Recommended:**
|
|
741
|
-
- A Claude Max subscription - iloom uses your own subscription
|
|
742
|
-
|
|
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
|
-
|
|
748
|
-
Optional features activate automatically when detected.
|
|
749
|
-
|
|
750
|
-
## Platform & Integration Support
|
|
751
|
-
|
|
752
|
-
This is an early stage product - platform/tech stack support is limited for now.
|
|
753
|
-
|
|
754
|
-
**Current Platform Support:**
|
|
755
|
-
- ✅ **macOS** - Fully tested and supported
|
|
756
|
-
- ⚠️ **Linux/Windows** - Not yet tested, may work with modifications
|
|
757
|
-
|
|
758
|
-
**Issue Tracking Integration:**
|
|
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.
|
|
761
|
-
|
|
762
|
-
**Project Type Support:**
|
|
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!)
|
|
766
|
-
|
|
767
|
-
We (Claude and I) are actively working on expanding platform and integration support. Contributions welcome!
|
|
768
|
-
|
|
769
|
-
See all [`known-limitation`](https://github.com/iloom-ai/iloom-cli/issues?q=is%3Aissue+is%3Aopen+label%3Aknown-limitation) issues for details and to [contribute](CONTRIBUTING.md) solutions.
|
|
770
|
-
|
|
771
|
-
## Installation
|
|
772
|
-
|
|
773
|
-
```bash
|
|
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
|
|
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
|
|
788
269
|
```
|
|
789
270
|
|
|
790
|
-
|
|
271
|
+
### CLI Tool Development
|
|
791
272
|
|
|
792
|
-
iloom
|
|
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.
|
|
793
274
|
|
|
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:**
|
|
811
|
-
```
|
|
812
|
-
src/
|
|
813
|
-
├── commands/ # CLI commands (start, finish, cleanup, list, add-issue, enhance, spin, init, open)
|
|
814
|
-
├── lib/ # Core business logic (WorkspaceManager, GitWorktreeManager, etc.)
|
|
815
|
-
├── utils/ # Utility functions (git, github, env, database, shell)
|
|
816
|
-
└── types/ # TypeScript definitions
|
|
817
|
-
```
|
|
818
|
-
|
|
819
|
-
For development guidelines and testing strategy, see [CLAUDE.md](./CLAUDE.md).
|
|
820
|
-
|
|
821
|
-
### Node.js Web Project Support
|
|
822
|
-
|
|
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
275
|
|
|
835
276
|
```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
|
-
```
|
|
847
|
-
|
|
848
|
-
### Node.js CLI Tool Support
|
|
277
|
+
> il start 52 # Working on CLI feature in issue 52
|
|
849
278
|
|
|
850
|
-
|
|
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
|
|
279
|
+
> my-cli-52 --version # Test issue 52's version
|
|
859
280
|
|
|
860
281
|
> 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
282
|
|
|
873
|
-
|
|
283
|
+
> my-cli-137 --help # Test issue 137's version
|
|
874
284
|
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
**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).
|
|
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
|
|
285
|
+
# Original binary still works from main branch
|
|
286
|
+
> my-cli --version # Unaffected by other looms' CLIs
|
|
908
287
|
```
|
|
909
288
|
|
|
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:
|
|
289
|
+
System Requirements & Limitations
|
|
290
|
+
---------------------------------
|
|
915
291
|
|
|
916
|
-
|
|
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
|
|
292
|
+
This is an early-stage product.
|
|
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
|
+
**Requirements:**
|
|
923
295
|
|
|
924
|
-
**
|
|
925
|
-
|
|
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
|
+
|
|
926
302
|
|
|
927
|
-
**
|
|
928
|
-
- Reduce friction of git worktree CLI commands
|
|
929
|
-
- Integrate tightly with your editor workflow
|
|
930
|
-
- Minimal learning curve if you know git
|
|
931
|
-
- Lightweight - just worktree management, nothing more
|
|
932
|
-
- Conductor and Crystal help you with Agentic coding too
|
|
303
|
+
**Project Support:**
|
|
933
304
|
|
|
934
|
-
**
|
|
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.
|
|
935
310
|
|
|
936
|
-
|
|
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...
|
|
937
312
|
|
|
938
|
-
|
|
939
|
-
|
|
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
|
+
Contributing
|
|
314
|
+
------------
|
|
944
315
|
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
Other tools increase code output with minimal process change. iloom increases **sustainable velocity** with a prescriptive workflow. You trade flexibility for:
|
|
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:
|
|
316
|
+
We (Claude and I) welcome contributions! We've made it easy to get started — iloom can even set up its own dev environment.
|
|
972
317
|
|
|
973
318
|
```bash
|
|
974
|
-
iloom contribute
|
|
319
|
+
iloom contribute # Handles forking, cloning, and setting up the dev environment automatically.
|
|
975
320
|
```
|
|
976
321
|
|
|
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
|
|
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).
|
|
1006
323
|
|
|
1007
|
-
|
|
324
|
+
License & Name
|
|
325
|
+
--------------
|
|
1008
326
|
|
|
1009
|
-
|
|
327
|
+
**iloom** comes from "illuminate" (illuminating the AI coding process) and "intelligent loom" (weaving artificial and human intelligence together).
|
|
1010
328
|
|
|
1011
|
-
|
|
329
|
+
**License: Business Source License 1.1**
|
|
1012
330
|
|
|
1013
|
-
|
|
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
|
+
|
|
1014
337
|
|
|
1015
|
-
|
|
338
|
+
See [LICENSE](https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/LICENSE) for complete terms.
|