@iloom/cli 0.3.2 → 0.3.4
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 +3 -3
- package/dist/{BranchNamingService-JYO746H7.js → BranchNamingService-A77VI6AI.js} +2 -2
- package/dist/ClaudeContextManager-BN7RE5ZQ.js +15 -0
- package/dist/ClaudeService-DLYLJUPA.js +14 -0
- package/dist/{GitHubService-UAMH7DMF.js → GitHubService-FZHHBOFG.js} +3 -3
- package/dist/{LoomLauncher-FVZECY3C.js → LoomLauncher-ZV3ZZIBA.js} +23 -20
- package/dist/LoomLauncher-ZV3ZZIBA.js.map +1 -0
- package/dist/{PromptTemplateManager-A52RUAMS.js → PromptTemplateManager-6HH3PVXV.js} +2 -2
- package/dist/README.md +3 -3
- package/dist/{SettingsManager-MTVX57WR.js → SettingsManager-I2LRCW2A.js} +2 -2
- package/dist/{SettingsMigrationManager-AGIIIPDQ.js → SettingsMigrationManager-TJ7UWZG5.js} +3 -3
- package/dist/agents/iloom-issue-complexity-evaluator.md +18 -3
- package/dist/agents/iloom-issue-enhancer.md +1 -1
- package/dist/{chunk-OAP6SASD.js → chunk-2CXREBLZ.js} +2 -2
- package/dist/{chunk-KG343GSG.js → chunk-2IJEMXOB.js} +359 -99
- package/dist/chunk-2IJEMXOB.js.map +1 -0
- package/dist/{chunk-FOV7RRQ2.js → chunk-2MAIX45J.js} +4 -4
- package/dist/{chunk-5NTD4MCZ.js → chunk-5Q3NDNNV.js} +29 -5
- package/dist/chunk-5Q3NDNNV.js.map +1 -0
- package/dist/{chunk-GVICXJHW.js → chunk-5VK4NRSF.js} +2 -2
- package/dist/{chunk-C7ASXK6J.js → chunk-AKUJXDNW.js} +2 -2
- package/dist/{chunk-UCZ24SUE.js → chunk-CDZERT7Z.js} +21 -9
- package/dist/chunk-CDZERT7Z.js.map +1 -0
- package/dist/{chunk-JKXJ7BGL.js → chunk-CE26YH2U.js} +42 -3
- package/dist/chunk-CE26YH2U.js.map +1 -0
- package/dist/{chunk-ZZZWQGTS.js → chunk-CFFQ2Z7A.js} +74 -75
- package/dist/chunk-CFFQ2Z7A.js.map +1 -0
- package/dist/{chunk-FXMLNKLT.js → chunk-DLHA5VQ3.js} +174 -5
- package/dist/chunk-DLHA5VQ3.js.map +1 -0
- package/dist/{chunk-GOG3ZB7O.js → chunk-IFB4Z76W.js} +23 -4
- package/dist/chunk-IFB4Z76W.js.map +1 -0
- package/dist/{chunk-F4ENT6AC.js → chunk-M7JJCX53.js} +2 -2
- package/dist/{chunk-KLBYVHPK.js → chunk-OSCLCMDG.js} +2 -2
- package/dist/{chunk-ZLIHIUDQ.js → chunk-OYF4VIFI.js} +2 -2
- package/dist/{chunk-A2P7NZTB.js → chunk-PGPI5LR4.js} +4 -4
- package/dist/{chunk-WEN5C5DM.js → chunk-RIEO2WML.js} +4 -1
- package/dist/chunk-RIEO2WML.js.map +1 -0
- package/dist/{chunk-UERERX6M.js → chunk-SUOXY5WJ.js} +2 -2
- package/dist/{init-7IIM35LQ.js → chunk-UAN4A3YU.js} +343 -46
- package/dist/chunk-UAN4A3YU.js.map +1 -0
- package/dist/{claude-KIZYXTSG.js → claude-W52VKI6L.js} +2 -2
- package/dist/{cleanup-6WYUD5SN.js → cleanup-H4VXU3C3.js} +12 -12
- package/dist/cli.js +188 -91
- package/dist/cli.js.map +1 -1
- package/dist/{color-ZVALX37U.js → color-F7RU6B6Z.js} +10 -4
- package/dist/{contribute-7YJHZTO7.js → contribute-Y7IQV5QY.js} +4 -4
- package/dist/{feedback-752MGDPG.js → feedback-XTUCKJNT.js} +11 -9
- package/dist/{feedback-752MGDPG.js.map → feedback-XTUCKJNT.js.map} +1 -1
- package/dist/{git-TAFVDB3J.js → git-IYA53VIC.js} +7 -3
- package/dist/{ignite-OAMDUN27.js → ignite-T74RYXCA.js} +19 -71
- package/dist/ignite-T74RYXCA.js.map +1 -0
- package/dist/index.d.ts +52 -8
- package/dist/index.js +132 -84
- package/dist/index.js.map +1 -1
- package/dist/init-4FHTAM3F.js +19 -0
- package/dist/{neon-helpers-5HBYO2VP.js → neon-helpers-77PBPGJ5.js} +3 -3
- package/dist/{open-FCHKQ77R.js → open-UMXANW5S.js} +4 -4
- package/dist/{prompt-7INJ7YRU.js → prompt-QALMYTVC.js} +4 -2
- package/dist/prompt-QALMYTVC.js.map +1 -0
- package/dist/prompts/init-prompt.txt +82 -8
- package/dist/prompts/issue-prompt.txt +18 -11
- package/dist/prompts/regular-prompt.txt +373 -14
- package/dist/{rebase-Q7WXK566.js → rebase-VJ2VKR6R.js} +11 -11
- package/dist/rebase-VJ2VKR6R.js.map +1 -0
- package/dist/{run-SJPM6YRI.js → run-MJYY4PUT.js} +4 -4
- package/dist/schema/settings.schema.json +21 -3
- package/dist/{test-git-DEUE656D.js → test-git-IT5EWQ5C.js} +3 -3
- package/dist/{test-prefix-Y6Z6ZHSF.js → test-prefix-NPWDPUUH.js} +3 -3
- package/package.json +2 -1
- package/dist/ClaudeContextManager-5WPRJIIW.js +0 -15
- package/dist/ClaudeService-Z4KA7QOW.js +0 -14
- package/dist/LoomLauncher-FVZECY3C.js.map +0 -1
- package/dist/chunk-5NTD4MCZ.js.map +0 -1
- package/dist/chunk-FXMLNKLT.js.map +0 -1
- package/dist/chunk-GOG3ZB7O.js.map +0 -1
- package/dist/chunk-JKXJ7BGL.js.map +0 -1
- package/dist/chunk-KG343GSG.js.map +0 -1
- package/dist/chunk-PRE7KTM4.js +0 -302
- package/dist/chunk-PRE7KTM4.js.map +0 -1
- package/dist/chunk-UCZ24SUE.js.map +0 -1
- package/dist/chunk-WEN5C5DM.js.map +0 -1
- package/dist/chunk-ZZZWQGTS.js.map +0 -1
- package/dist/ignite-OAMDUN27.js.map +0 -1
- package/dist/init-7IIM35LQ.js.map +0 -1
- package/dist/rebase-Q7WXK566.js.map +0 -1
- /package/dist/{BranchNamingService-JYO746H7.js.map → BranchNamingService-A77VI6AI.js.map} +0 -0
- /package/dist/{ClaudeContextManager-5WPRJIIW.js.map → ClaudeContextManager-BN7RE5ZQ.js.map} +0 -0
- /package/dist/{ClaudeService-Z4KA7QOW.js.map → ClaudeService-DLYLJUPA.js.map} +0 -0
- /package/dist/{GitHubService-UAMH7DMF.js.map → GitHubService-FZHHBOFG.js.map} +0 -0
- /package/dist/{PromptTemplateManager-A52RUAMS.js.map → PromptTemplateManager-6HH3PVXV.js.map} +0 -0
- /package/dist/{SettingsManager-MTVX57WR.js.map → SettingsManager-I2LRCW2A.js.map} +0 -0
- /package/dist/{SettingsMigrationManager-AGIIIPDQ.js.map → SettingsMigrationManager-TJ7UWZG5.js.map} +0 -0
- /package/dist/{chunk-OAP6SASD.js.map → chunk-2CXREBLZ.js.map} +0 -0
- /package/dist/{chunk-FOV7RRQ2.js.map → chunk-2MAIX45J.js.map} +0 -0
- /package/dist/{chunk-GVICXJHW.js.map → chunk-5VK4NRSF.js.map} +0 -0
- /package/dist/{chunk-C7ASXK6J.js.map → chunk-AKUJXDNW.js.map} +0 -0
- /package/dist/{chunk-F4ENT6AC.js.map → chunk-M7JJCX53.js.map} +0 -0
- /package/dist/{chunk-KLBYVHPK.js.map → chunk-OSCLCMDG.js.map} +0 -0
- /package/dist/{chunk-ZLIHIUDQ.js.map → chunk-OYF4VIFI.js.map} +0 -0
- /package/dist/{chunk-A2P7NZTB.js.map → chunk-PGPI5LR4.js.map} +0 -0
- /package/dist/{chunk-UERERX6M.js.map → chunk-SUOXY5WJ.js.map} +0 -0
- /package/dist/{claude-KIZYXTSG.js.map → claude-W52VKI6L.js.map} +0 -0
- /package/dist/{cleanup-6WYUD5SN.js.map → cleanup-H4VXU3C3.js.map} +0 -0
- /package/dist/{color-ZVALX37U.js.map → color-F7RU6B6Z.js.map} +0 -0
- /package/dist/{contribute-7YJHZTO7.js.map → contribute-Y7IQV5QY.js.map} +0 -0
- /package/dist/{git-TAFVDB3J.js.map → git-IYA53VIC.js.map} +0 -0
- /package/dist/{neon-helpers-5HBYO2VP.js.map → init-4FHTAM3F.js.map} +0 -0
- /package/dist/{prompt-7INJ7YRU.js.map → neon-helpers-77PBPGJ5.js.map} +0 -0
- /package/dist/{open-FCHKQ77R.js.map → open-UMXANW5S.js.map} +0 -0
- /package/dist/{run-SJPM6YRI.js.map → run-MJYY4PUT.js.map} +0 -0
- /package/dist/{test-git-DEUE656D.js.map → test-git-IT5EWQ5C.js.map} +0 -0
- /package/dist/{test-prefix-Y6Z6ZHSF.js.map → test-prefix-NPWDPUUH.js.map} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
InitCommand
|
|
4
|
+
} from "./chunk-UAN4A3YU.js";
|
|
5
|
+
import "./chunk-PA6Q6AWM.js";
|
|
6
|
+
import "./chunk-OSCLCMDG.js";
|
|
7
|
+
import "./chunk-2CXREBLZ.js";
|
|
8
|
+
import "./chunk-RIEO2WML.js";
|
|
9
|
+
import "./chunk-5Q3NDNNV.js";
|
|
10
|
+
import "./chunk-CDZERT7Z.js";
|
|
11
|
+
import "./chunk-CE26YH2U.js";
|
|
12
|
+
import "./chunk-OYF4VIFI.js";
|
|
13
|
+
import "./chunk-RW54ZMBM.js";
|
|
14
|
+
import "./chunk-UJL4HI2R.js";
|
|
15
|
+
import "./chunk-GEHQXLEI.js";
|
|
16
|
+
export {
|
|
17
|
+
InitCommand
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=init-4FHTAM3F.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
createNeonProviderFromSettings
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-5VK4NRSF.js";
|
|
5
|
+
import "./chunk-CE26YH2U.js";
|
|
6
6
|
import "./chunk-GEHQXLEI.js";
|
|
7
7
|
export {
|
|
8
8
|
createNeonProviderFromSettings
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=neon-helpers-
|
|
10
|
+
//# sourceMappingURL=neon-helpers-77PBPGJ5.js.map
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-YETJNRQM.js";
|
|
15
15
|
import {
|
|
16
16
|
GitWorktreeManager
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-2CXREBLZ.js";
|
|
18
18
|
import "./chunk-ZT3YZB4K.js";
|
|
19
19
|
import {
|
|
20
20
|
ProjectCapabilityDetector
|
|
@@ -25,10 +25,10 @@ import {
|
|
|
25
25
|
} from "./chunk-GYCR2LOU.js";
|
|
26
26
|
import {
|
|
27
27
|
extractIssueNumber
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-5Q3NDNNV.js";
|
|
29
29
|
import {
|
|
30
30
|
SettingsManager
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-CDZERT7Z.js";
|
|
32
32
|
import {
|
|
33
33
|
extractPort,
|
|
34
34
|
findEnvFileContainingVariable,
|
|
@@ -289,4 +289,4 @@ Make sure the project is built (run 'il start' first)`
|
|
|
289
289
|
export {
|
|
290
290
|
OpenCommand
|
|
291
291
|
};
|
|
292
|
-
//# sourceMappingURL=open-
|
|
292
|
+
//# sourceMappingURL=open-UMXANW5S.js.map
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
isInteractiveEnvironment,
|
|
4
|
+
promptCommitAction,
|
|
4
5
|
promptConfirmation,
|
|
5
6
|
promptInput,
|
|
6
7
|
waitForKeypress
|
|
7
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-CE26YH2U.js";
|
|
8
9
|
import "./chunk-GEHQXLEI.js";
|
|
9
10
|
export {
|
|
10
11
|
isInteractiveEnvironment,
|
|
12
|
+
promptCommitAction,
|
|
11
13
|
promptConfirmation,
|
|
12
14
|
promptInput,
|
|
13
15
|
waitForKeypress
|
|
14
16
|
};
|
|
15
|
-
//# sourceMappingURL=prompt-
|
|
17
|
+
//# sourceMappingURL=prompt-QALMYTVC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -417,14 +417,32 @@ The following JSON Schema defines valid iloom settings:
|
|
|
417
417
|
"webstorm",
|
|
418
418
|
"sublime",
|
|
419
419
|
"intellij",
|
|
420
|
-
"windsurf"
|
|
420
|
+
"windsurf",
|
|
421
|
+
"antigravity"
|
|
421
422
|
],
|
|
422
423
|
"default": "vscode",
|
|
423
|
-
"description": "IDE to launch when starting a loom. Options: vscode (Visual Studio Code), cursor (Cursor AI editor), webstorm (JetBrains WebStorm), sublime (Sublime Text), intellij (JetBrains IntelliJ IDEA), windsurf (Windsurf editor)."
|
|
424
|
+
"description": "IDE to launch when starting a loom. Options: vscode (Visual Studio Code), cursor (Cursor AI editor), webstorm (JetBrains WebStorm), sublime (Sublime Text), intellij (JetBrains IntelliJ IDEA), windsurf (Windsurf editor), antigravity (Antigravity IDE)."
|
|
424
425
|
}
|
|
425
426
|
},
|
|
426
427
|
"additionalProperties": false,
|
|
427
|
-
"description": "IDE configuration for workspace launches. Controls which editor opens when you start a loom. Supports VSCode, Cursor, WebStorm, Sublime Text, IntelliJ, and
|
|
428
|
+
"description": "IDE configuration for workspace launches. Controls which editor opens when you start a loom. Supports VSCode, Cursor, WebStorm, Sublime Text, IntelliJ, Windsurf, and Antigravity. Note: Color synchronization (title bar colors) only works with VSCode-compatible editors (vscode, cursor, windsurf, antigravity)."
|
|
429
|
+
},
|
|
430
|
+
"colors": {
|
|
431
|
+
"type": "object",
|
|
432
|
+
"properties": {
|
|
433
|
+
"terminal": {
|
|
434
|
+
"type": "boolean",
|
|
435
|
+
"default": true,
|
|
436
|
+
"description": "Apply terminal background colors based on branch name (macOS only)"
|
|
437
|
+
},
|
|
438
|
+
"vscode": {
|
|
439
|
+
"type": "boolean",
|
|
440
|
+
"default": false,
|
|
441
|
+
"description": "Apply VSCode/Cursor title bar colors based on branch name. Note: This modifies .vscode/settings.json which may be in source control. Default is false for safety; enable via init or explicitly if .vscode is gitignored."
|
|
442
|
+
}
|
|
443
|
+
},
|
|
444
|
+
"additionalProperties": false,
|
|
445
|
+
"description": "Color synchronization settings for workspace identification"
|
|
428
446
|
}
|
|
429
447
|
},
|
|
430
448
|
"additionalProperties": false
|
|
@@ -647,7 +665,7 @@ Use AskUserQuestion to ask ALL local development settings questions **IN A SINGL
|
|
|
647
665
|
- "bypassPermissions" - Claude executes without confirmation (use with caution)
|
|
648
666
|
- Default: currentPermissionMode or "acceptEdits"
|
|
649
667
|
- Validation: Must be one of: default, plan, acceptEdits, bypassPermissions
|
|
650
|
-
- Store answer as: `workflows.issue.permissionMode`
|
|
668
|
+
- Store answer as: `workflows.issue.permissionMode` - NOTE: this is a personal preference - recommend it be stored in the gitignored local settings file.
|
|
651
669
|
|
|
652
670
|
4. **Base Port**
|
|
653
671
|
- Question format: "What base port should web development servers use?{{#IF currentBasePort}} (Currently: [currentBasePort]){{/IF currentBasePort}}"
|
|
@@ -754,10 +772,11 @@ REMOTES_INFO
|
|
|
754
772
|
- "sublime" - Sublime Text
|
|
755
773
|
- "intellij" - JetBrains IntelliJ IDEA
|
|
756
774
|
- "windsurf" - Windsurf editor
|
|
775
|
+
- "antigravity" - Antigravity IDE
|
|
757
776
|
- Default: currentIdeType or "vscode"
|
|
758
777
|
- Validation: Must be one of the listed options
|
|
759
778
|
- Store answer as: `ide.type`
|
|
760
|
-
- Note: Color synchronization (title bar colors) only works with VSCode-compatible editors (vscode, cursor, windsurf). Other IDEs will launch without color theming.
|
|
779
|
+
- Note: Color synchronization (title bar colors) only works with VSCode-compatible editors (vscode, cursor, windsurf, antigravity). Other IDEs will launch without color theming.
|
|
761
780
|
|
|
762
781
|
**Step 4: Merge Mode** (only ask if multiple remotes detected OR user requests advanced config)
|
|
763
782
|
|
|
@@ -780,6 +799,40 @@ REMOTES_INFO
|
|
|
780
799
|
- Set multiSelect: false for all questions
|
|
781
800
|
- Process answers sequentially as they depend on each other
|
|
782
801
|
|
|
802
|
+
### Phase 2.5: Color Synchronization Settings - ONLY IF USER HAS CHOSEN the vscode, cursor, windsurf, or antigravity IDE
|
|
803
|
+
|
|
804
|
+
After Phase 2, handle color settings based on gitignore status.
|
|
805
|
+
|
|
806
|
+
Analyis of system: Is VSCode Settings ignore? VSCODE_SETTINGS_GITIGNORED
|
|
807
|
+
|
|
808
|
+
**IMPORTANT DISTINCTION:**
|
|
809
|
+
- Schema defaults are: terminal=true, vscode=false (for safety)
|
|
810
|
+
- Your job in init is to RECOMMEND optimal settings based on the project
|
|
811
|
+
- IMPORTANT: This is a per-project setting - recommend to save it in shared project settings (not globally). EVEN IF OTHER SETTINGS ARE SAVED ELSEHWERE
|
|
812
|
+
|
|
813
|
+
**Terminal Color Recommendation:**
|
|
814
|
+
- Always recommend `true` - terminal colors only affect macOS Terminal.app, no file changes
|
|
815
|
+
|
|
816
|
+
**VSCode Color Recommendation:**
|
|
817
|
+
|
|
818
|
+
**If "VSCODE_SETTINGS_GITIGNORED" == "true":**
|
|
819
|
+
- Recommend `colors.vscode: true` (safe since file is gitignored)
|
|
820
|
+
- Explain: "VSCode title bar coloring is safe to enable since .vscode/settings.json is gitignored"
|
|
821
|
+
|
|
822
|
+
**If "VSCODE_SETTINGS_GITIGNORED" == "false":**
|
|
823
|
+
- Warn user: "VSCode/Cursor title bar coloring modifies .vscode/settings.json which is tracked in git."
|
|
824
|
+
- Ask user: "Would you like to:
|
|
825
|
+
1. Add .vscode/settings.json to .gitignore (recommended - enables color sync without git pollution)
|
|
826
|
+
2. Keep VSCode color sync disabled (default - keeps .vscode/settings.json in source control unchanged)
|
|
827
|
+
3. Enable anyway (Please don't do this - colors will appear in git diffs)"
|
|
828
|
+
|
|
829
|
+
Based on the users answer:
|
|
830
|
+
- Option 1: Add to .gitignore, set `colors.vscode: true`
|
|
831
|
+
- Option 2: Set `colors.vscode: false` (matches safe default)
|
|
832
|
+
- Option 3: Set `colors.vscode: true` (with warning noted)
|
|
833
|
+
|
|
834
|
+
**Note:** Terminal colors default to `true` (always recommend unless user explicitly disables).
|
|
835
|
+
|
|
783
836
|
### Phase 3: Configuration Summary
|
|
784
837
|
|
|
785
838
|
After gathering all answers from Phase 1 and Phase 2, display a summary like this:
|
|
@@ -953,9 +1006,24 @@ When both settings.json and settings.local.json exist, you MUST prevent duplicat
|
|
|
953
1006
|
}
|
|
954
1007
|
```
|
|
955
1008
|
|
|
956
|
-
7. **
|
|
1009
|
+
7. **Add colors settings based on Phase 2.5 recommendations (if vscode or cursor IDE):**
|
|
1010
|
+
```json
|
|
1011
|
+
{
|
|
1012
|
+
"colors": {
|
|
1013
|
+
"terminal": true, // Always recommend true unless user explicitly disabled
|
|
1014
|
+
"vscode": <based on gitignore status and user choice>
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
```
|
|
1018
|
+
- Default behavior: Only include if vscode differs from default (false) or terminal is disabled
|
|
1019
|
+
- If "VSCODE_SETTINGS_GITIGNORED" == "true" (note: variable has been subsituted) and user accepted recommendation: `"vscode": true`
|
|
1020
|
+
- If user chose to add .vscode/settings.json to .gitignore: `"vscode": true`
|
|
1021
|
+
- If user chose to keep disabled or enable anyway: set accordingly
|
|
1022
|
+
- Terminal should be true unless user explicitly disabled it
|
|
1023
|
+
|
|
1024
|
+
8. **Combine all applicable sections** into a single JSON object. Only include sections where the value differs from the default.
|
|
957
1025
|
|
|
958
|
-
|
|
1026
|
+
9. **If existing settings exist, MERGE** the new values with existing ones. Don't overwrite settings the user didn't modify.
|
|
959
1027
|
|
|
960
1028
|
### Phase 6: Write File
|
|
961
1029
|
|
|
@@ -963,6 +1031,8 @@ When both settings.json and settings.local.json exist, you MUST prevent duplicat
|
|
|
963
1031
|
|
|
964
1032
|
Before writing the file, perform a final duplication check:
|
|
965
1033
|
|
|
1034
|
+
**You might need to create/update multiple files - if some settigns should be not commitedd (ie. API Keys, permissionMode etc), then recommend create a local settings file for those settings and a shared one for others.
|
|
1035
|
+
|
|
966
1036
|
**If writing to settings.local.json:**
|
|
967
1037
|
1. Load the current settings.json (if it exists)
|
|
968
1038
|
2. Compare EVERY setting in the generated local config against settings.json
|
|
@@ -992,7 +1062,7 @@ Reason: mainBranch has same value in both files, so it's removed from local
|
|
|
992
1062
|
- For global: Ensure `~/.config/iloom-ai/` directory exists (create if needed)
|
|
993
1063
|
- For project/local: Ensure `.iloom/` directory exists (create if needed)
|
|
994
1064
|
2. Perform duplication check as described above
|
|
995
|
-
3.
|
|
1065
|
+
3. For each settings file you need to update, write the deduplicated settings to the chosen file:
|
|
996
1066
|
- `~/.config/iloom-ai/settings.json` if user chose Global
|
|
997
1067
|
- `.iloom/settings.json` if user chose Project
|
|
998
1068
|
- `.iloom/settings.local.json` if user chose Local
|
|
@@ -1073,9 +1143,12 @@ Would you like to commit these changes?
|
|
|
1073
1143
|
- **NEVER stage or commit unrelated files** - even if they appear in `git status`
|
|
1074
1144
|
- **If the commit fails, you must then subsequently request to use --no-verify flag** to bypass pre-commit hooks that might fail due to unrelated codebase state
|
|
1075
1145
|
- **Do NOT commit settings.local.json** - it should be gitignored, not committed
|
|
1146
|
+
- **YOU MAY NEED TO EDIT/UPDATE MORE THAN ONE FILE if the user is changing something like API Keys (local only), permissionsMode (local only), IDE (recommened global) as well as shared settings.
|
|
1076
1147
|
|
|
1077
1148
|
**Step 3: If user says yes, commit the changes**
|
|
1078
1149
|
|
|
1150
|
+
VERIFY YOU'RE NOT BUNDLING ALL CHANGES IN ONE FILE DESPITE GUIDANCE TO SPLIT ACCORDING TO RULES/RECOMMENDATIONS ABOVE
|
|
1151
|
+
|
|
1079
1152
|
Stage ONLY the iloom-related files that should be committed:
|
|
1080
1153
|
```bash
|
|
1081
1154
|
git add .iloom/settings.json .gitignore 2>/dev/null || true
|
|
@@ -1219,6 +1292,7 @@ If users ask about specific configurations, help them add these sections to thei
|
|
|
1219
1292
|
- **Phase 1 = Local dev settings** (main branch, worktree prefix, permission mode, base port)
|
|
1220
1293
|
- **Phase 2 = Tooling integrations** (issue tracker provider, provider-specific config, IDE, merge mode)
|
|
1221
1294
|
- **Keep configuration minimal** - only include non-default values
|
|
1295
|
+
- **Honor recommendations/requirements of where to save certain settings - this may mean you have to create/update multiple settings files. (e.g when adding API keys for permissions mode settings)
|
|
1222
1296
|
- **Merge carefully** when updating existing settings - preserve any settings the user didn't modify
|
|
1223
1297
|
- **Handle errors gracefully** - if schema validation fails, explain what went wrong and ask the user to try again
|
|
1224
1298
|
- **CRITICAL: PREVENT DUPLICATION** - When writing settings.local.json, ONLY include settings that differ from settings.json. If a setting has the same value in both files, it MUST be removed from the local file. Local should only contain overrides, never duplicates.
|
|
@@ -30,7 +30,7 @@ This is the user's first time running through the `iloom` workflow. You have add
|
|
|
30
30
|
iloom is a CLI tool for scaling a human's understanding of the AI's work, as the AI's output scales. It does this by managing isolated Git worktrees in a guided workflow, with significant AI integration. It orchestrates multi-phase workflows:
|
|
31
31
|
|
|
32
32
|
1. **Enhancement** - Expands brief issues into detailed requirements
|
|
33
|
-
2. **Complexity Evaluation** - Categorizes as SIMPLE or COMPLEX based on scope
|
|
33
|
+
2. **Complexity Evaluation** - Categorizes as TRIVIAL, SIMPLE, or COMPLEX based on scope
|
|
34
34
|
3. **Analysis** - Investigates root causes and technical constraints
|
|
35
35
|
4. **Planning** - Creates implementation roadmap with file specifications
|
|
36
36
|
5. **Implementation** - Executes the plan with validation
|
|
@@ -121,7 +121,7 @@ You are orchestrating a set of agents through a development process, with human
|
|
|
121
121
|
5. Run complexity evaluation for ISSUE_NUMBER using @agent-iloom-issue-complexity-evaluator
|
|
122
122
|
6. Extract issue link that includes comment id from agent output, display complexity assessment to user
|
|
123
123
|
7. WAIT for human confirmation of complexity classification before proceeding to next phase
|
|
124
|
-
8. Route to appropriate workflow based on confirmed complexity (SIMPLE or COMPLEX)
|
|
124
|
+
8. Route to appropriate workflow based on confirmed complexity (TRIVIAL, SIMPLE, or COMPLEX)
|
|
125
125
|
9. If SIMPLE: Run combined analysis and planning for ISSUE_NUMBER using @agent-iloom-issue-analyze-and-plan
|
|
126
126
|
10. If COMPLEX: Run separate analysis for ISSUE_NUMBER using @agent-iloom-issue-analyzer
|
|
127
127
|
11. Extract issue link that includes comment id from agent output, display to user
|
|
@@ -152,10 +152,10 @@ Perform ONE comprehensive scan to determine which agents need to run:
|
|
|
152
152
|
**Complexity Evaluation Decision:**
|
|
153
153
|
- Search ALL comments for existing complexity evaluation. Consider "already evaluated" if ANY comment has:
|
|
154
154
|
* Header containing "Complexity Assessment" or "Complexity Evaluation"
|
|
155
|
-
* Section with "**Classification**: [SIMPLE / COMPLEX]"
|
|
155
|
+
* Section with "**Classification**: [TRIVIAL / SIMPLE / COMPLEX]"
|
|
156
156
|
* Metrics section with estimated files, LOC, breaking changes, DB migrations, and risk level
|
|
157
157
|
- Decision: NEEDS_COMPLEXITY_EVAL or SKIP_COMPLEXITY_EVAL
|
|
158
|
-
- If skipping, log: "Issue #ISSUE_NUMBER already has complexity evaluation by @[author] from [date] showing [SIMPLE/COMPLEX] classification, skipping evaluation"
|
|
158
|
+
- If skipping, log: "Issue #ISSUE_NUMBER already has complexity evaluation by @[author] from [date] showing [TRIVIAL/SIMPLE/COMPLEX] classification, skipping evaluation"
|
|
159
159
|
|
|
160
160
|
**Analysis Decision:**
|
|
161
161
|
- Search ALL comments for existing analysis. Consider "already analyzed" if ANY comment has ALL:
|
|
@@ -227,13 +227,13 @@ Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
|
|
|
227
227
|
2. Upon completion: Extract issue+comment link from agent output and provide link to issue comment (including comment ID)
|
|
228
228
|
3. Extract complexity classification from evaluator output:
|
|
229
229
|
- Search the evaluator's output for the "Complexity Assessment" section
|
|
230
|
-
- Extract: Classification (SIMPLE/COMPLEX), Metrics (files, LOC, breaking changes, DB migrations, risk level), and Reasoning
|
|
230
|
+
- Extract: Classification (TRIVIAL/SIMPLE/COMPLEX), Metrics (files, LOC, breaking changes, DB migrations, risk level), and Reasoning
|
|
231
231
|
- The evaluator uses deterministic format - parse exactly as specified
|
|
232
232
|
4. Display complexity assessment to user:
|
|
233
233
|
Display the extracted assessment in this format:
|
|
234
234
|
```
|
|
235
235
|
Complexity Assessment from Evaluator:
|
|
236
|
-
- Classification: [SIMPLE/COMPLEX]
|
|
236
|
+
- Classification: [TRIVIAL/SIMPLE/COMPLEX]
|
|
237
237
|
- Estimated files: [N]
|
|
238
238
|
- Estimated LOC: [N]
|
|
239
239
|
- Breaking changes: [Yes/No]
|
|
@@ -243,9 +243,10 @@ Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
|
|
|
243
243
|
Reasoning: [reasoning text from evaluator]
|
|
244
244
|
```
|
|
245
245
|
5. Use AskUserQuestion tool with a single question:
|
|
246
|
-
- Question: "Complexity evaluated as [SIMPLE/COMPLEX]. See assessment at: [issue comment URL]. Do you agree with this classification?"
|
|
246
|
+
- Question: "Complexity evaluated as [TRIVIAL/SIMPLE/COMPLEX]. See assessment at: [issue comment URL]. Do you agree with this classification?"
|
|
247
247
|
- Options:
|
|
248
|
-
- "Yes, proceed with [SIMPLE/COMPLEX] workflow" (default)
|
|
248
|
+
- "Yes, proceed with [TRIVIAL/SIMPLE/COMPLEX] workflow" (default)
|
|
249
|
+
- "No, reclassify as TRIVIAL"
|
|
249
250
|
- "No, reclassify as SIMPLE"
|
|
250
251
|
- "No, reclassify as COMPLEX"
|
|
251
252
|
- "Provide feedback before deciding"
|
|
@@ -260,11 +261,11 @@ Only execute if workflow plan determined NEEDS_COMPLEXITY_EVAL:
|
|
|
260
261
|
If workflow plan determined SKIP_COMPLEXITY_EVAL:
|
|
261
262
|
1. Mark todos #5, #6, and #7 as completed
|
|
262
263
|
2. Extract complexity from existing evaluation comment:
|
|
263
|
-
- Search ALL issue comments for "**Classification**: [SIMPLE / COMPLEX]"
|
|
264
|
-
- If found: Extract the classification (SIMPLE or COMPLEX)
|
|
264
|
+
- Search ALL issue comments for "**Classification**: [TRIVIAL / SIMPLE / COMPLEX]"
|
|
265
|
+
- If found: Extract the classification (TRIVIAL, SIMPLE, or COMPLEX)
|
|
265
266
|
- If not found: Default to COMPLEX workflow
|
|
266
267
|
3. Display classification to user:
|
|
267
|
-
If complexity found: "Previous evaluation classified this as [SIMPLE/COMPLEX]. Proceeding with [SIMPLE/COMPLEX] workflow."
|
|
268
|
+
If complexity found: "Previous evaluation classified this as [TRIVIAL/SIMPLE/COMPLEX]. Proceeding with [TRIVIAL/SIMPLE/COMPLEX] workflow."
|
|
268
269
|
If not found: "No complexity classification found - defaulting to COMPLEX workflow."
|
|
269
270
|
4. Proceed to ROUTING DECISION POINT with extracted complexity (no confirmation needed)
|
|
270
271
|
|
|
@@ -297,6 +298,12 @@ After STEP 1.5 completes and complexity is confirmed, determine which workflow p
|
|
|
297
298
|
|
|
298
299
|
**Check the confirmed complexity:**
|
|
299
300
|
|
|
301
|
+
**IF TRIVIAL complexity confirmed:**
|
|
302
|
+
1. Display to user: "Using TRIVIAL workflow: Skipping analysis and planning, proceeding directly to implementation"
|
|
303
|
+
2. Mark todo #8 as completed
|
|
304
|
+
3. Mark todos #9, #10, #11, #12, #13, #14, and #15 as completed (analysis/planning steps that will not execute)
|
|
305
|
+
4. Skip directly to **STEP 4** (Implementation Phase)
|
|
306
|
+
|
|
300
307
|
**IF SIMPLE complexity confirmed:**
|
|
301
308
|
1. Display to user: "✓ Using SIMPLE workflow: Combined analysis and planning via @agent-iloom-issue-analyze-and-plan, then implementation"
|
|
302
309
|
2. Mark todo #8 as completed
|