@iloom/cli 0.1.18 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +53 -6
  2. package/dist/ClaudeContextManager-LVCYRM6Q.js +13 -0
  3. package/dist/ClaudeService-WVTWB3DK.js +12 -0
  4. package/dist/{GitHubService-SH4H6VS5.js → GitHubService-7E2S5NNZ.js} +3 -3
  5. package/dist/{LoomLauncher-FB2MV2ZI.js → LoomLauncher-CTSWJL35.js} +7 -7
  6. package/dist/{PromptTemplateManager-WM5GIPEF.js → PromptTemplateManager-WII75TKH.js} +2 -2
  7. package/dist/README.md +771 -0
  8. package/dist/{SettingsManager-SKLUVE3K.js → SettingsManager-XOYCLH3D.js} +2 -2
  9. package/dist/{add-issue-L5HX6LEV.js → add-issue-OBI325W7.js} +7 -7
  10. package/dist/{chunk-SLIMABFA.js → chunk-2PLUQT6J.js} +2 -2
  11. package/dist/{chunk-VVH3ANF2.js → chunk-4IV6W4U5.js} +4 -4
  12. package/dist/{chunk-PV3GAXQO.js → chunk-6LEQW46Y.js} +2 -2
  13. package/dist/{chunk-6OTVPRXH.js → chunk-CVLAZRNB.js} +2 -2
  14. package/dist/{chunk-FXV24OYZ.js → chunk-DJUGYNQE.js} +9 -2
  15. package/dist/{chunk-FXV24OYZ.js.map → chunk-DJUGYNQE.js.map} +1 -1
  16. package/dist/{chunk-KOCQAD2E.js → chunk-HBVFXN7R.js} +3 -3
  17. package/dist/{chunk-HURVAQRK.js → chunk-LHP6ROUM.js} +4 -4
  18. package/dist/{chunk-PXZBAC2M.js → chunk-MFU53H6J.js} +2 -2
  19. package/dist/{chunk-L4QGC27H.js → chunk-PVAVNJKS.js} +13 -1
  20. package/dist/chunk-PVAVNJKS.js.map +1 -0
  21. package/dist/{chunk-PR7FKQBG.js → chunk-RF2YI2XJ.js} +2 -2
  22. package/dist/{chunk-DGEKUT7Q.js → chunk-SWCRXDZC.js} +34 -6
  23. package/dist/chunk-SWCRXDZC.js.map +1 -0
  24. package/dist/{chunk-Q2KYPAH2.js → chunk-SYOSCMIT.js} +6 -6
  25. package/dist/{chunk-VYQLLHZ7.js → chunk-T3KEIB4D.js} +6 -2
  26. package/dist/{chunk-VYQLLHZ7.js.map → chunk-T3KEIB4D.js.map} +1 -1
  27. package/dist/{chunk-IIPTBZQW.js → chunk-TS6DL67T.js} +2 -2
  28. package/dist/{chunk-IO4WFTL2.js → chunk-VETG35MF.js} +2 -2
  29. package/dist/{chunk-RSRO7564.js → chunk-ZE74H5BR.js} +28 -3
  30. package/dist/chunk-ZE74H5BR.js.map +1 -0
  31. package/dist/{claude-7LUVDZZ4.js → claude-ZIWDG4XG.js} +2 -2
  32. package/dist/{cleanup-ZHROIBSQ.js → cleanup-FEIVZSIV.js} +5 -5
  33. package/dist/cli.js +41 -31
  34. package/dist/cli.js.map +1 -1
  35. package/dist/contribute-EMZKCAC6.js +259 -0
  36. package/dist/contribute-EMZKCAC6.js.map +1 -0
  37. package/dist/{enhance-VVMAKMVZ.js → enhance-MNA4ZGXW.js} +7 -7
  38. package/dist/{feedback-AKHD7QIM.js → feedback-LFNMQBAZ.js} +6 -6
  39. package/dist/{finish-WGPISUEH.js → finish-TX5CJICB.js} +411 -17
  40. package/dist/finish-TX5CJICB.js.map +1 -0
  41. package/dist/{git-OUYMVYJX.js → git-WC6HZLOT.js} +2 -2
  42. package/dist/{ignite-JEN3K3OT.js → ignite-MQWVJEAB.js} +125 -10
  43. package/dist/ignite-MQWVJEAB.js.map +1 -0
  44. package/dist/index.d.ts +23 -0
  45. package/dist/index.js +75 -7
  46. package/dist/index.js.map +1 -1
  47. package/dist/{init-EVUT4ZQJ.js → init-GJDYN2IK.js} +7 -7
  48. package/dist/mcp/{claude-YHHHLSXH.js → claude-NDFOCQQQ.js} +2 -2
  49. package/dist/mcp/github-comment-server.js.map +1 -1
  50. package/dist/mcp/{terminal-SDCMDVD7.js → terminal-OMNRFWB3.js} +28 -3
  51. package/dist/mcp/terminal-OMNRFWB3.js.map +1 -0
  52. package/dist/{open-ETZUFSE4.js → open-NXSN7XOC.js} +4 -4
  53. package/dist/prompts/init-prompt.txt +32 -1
  54. package/dist/prompts/issue-prompt.txt +141 -9
  55. package/dist/{rebase-KBWFDZCN.js → rebase-DUNFOJVS.js} +6 -6
  56. package/dist/{remote-GJEZWRCC.js → remote-ZCXJVVNW.js} +4 -2
  57. package/dist/{run-4SVQ3WEU.js → run-O7ZK7CKA.js} +4 -4
  58. package/dist/schema/settings.schema.json +18 -0
  59. package/dist/{start-2NEZU7SE.js → start-73I5W7WW.js} +16 -16
  60. package/dist/{terminal-3D6TUAKJ.js → terminal-BIRBZ4AZ.js} +2 -2
  61. package/dist/{test-git-MKZATGZN.js → test-git-T76HOTIA.js} +3 -3
  62. package/dist/{test-prefix-ZNLWDI3K.js → test-prefix-6HJUVQMH.js} +3 -3
  63. package/dist/{test-tabs-JRKY3QMM.js → test-tabs-RXDBZ6J7.js} +2 -2
  64. package/package.json +3 -2
  65. package/dist/ClaudeContextManager-LD3VB6EM.js +0 -13
  66. package/dist/ClaudeService-CFFI7DD5.js +0 -12
  67. package/dist/chunk-DGEKUT7Q.js.map +0 -1
  68. package/dist/chunk-L4QGC27H.js.map +0 -1
  69. package/dist/chunk-RSRO7564.js.map +0 -1
  70. package/dist/finish-WGPISUEH.js.map +0 -1
  71. package/dist/ignite-JEN3K3OT.js.map +0 -1
  72. package/dist/mcp/terminal-SDCMDVD7.js.map +0 -1
  73. /package/dist/{ClaudeContextManager-LD3VB6EM.js.map → ClaudeContextManager-LVCYRM6Q.js.map} +0 -0
  74. /package/dist/{ClaudeService-CFFI7DD5.js.map → ClaudeService-WVTWB3DK.js.map} +0 -0
  75. /package/dist/{GitHubService-SH4H6VS5.js.map → GitHubService-7E2S5NNZ.js.map} +0 -0
  76. /package/dist/{LoomLauncher-FB2MV2ZI.js.map → LoomLauncher-CTSWJL35.js.map} +0 -0
  77. /package/dist/{PromptTemplateManager-WM5GIPEF.js.map → PromptTemplateManager-WII75TKH.js.map} +0 -0
  78. /package/dist/{SettingsManager-SKLUVE3K.js.map → SettingsManager-XOYCLH3D.js.map} +0 -0
  79. /package/dist/{add-issue-L5HX6LEV.js.map → add-issue-OBI325W7.js.map} +0 -0
  80. /package/dist/{chunk-SLIMABFA.js.map → chunk-2PLUQT6J.js.map} +0 -0
  81. /package/dist/{chunk-VVH3ANF2.js.map → chunk-4IV6W4U5.js.map} +0 -0
  82. /package/dist/{chunk-PV3GAXQO.js.map → chunk-6LEQW46Y.js.map} +0 -0
  83. /package/dist/{chunk-6OTVPRXH.js.map → chunk-CVLAZRNB.js.map} +0 -0
  84. /package/dist/{chunk-KOCQAD2E.js.map → chunk-HBVFXN7R.js.map} +0 -0
  85. /package/dist/{chunk-HURVAQRK.js.map → chunk-LHP6ROUM.js.map} +0 -0
  86. /package/dist/{chunk-PXZBAC2M.js.map → chunk-MFU53H6J.js.map} +0 -0
  87. /package/dist/{chunk-PR7FKQBG.js.map → chunk-RF2YI2XJ.js.map} +0 -0
  88. /package/dist/{chunk-Q2KYPAH2.js.map → chunk-SYOSCMIT.js.map} +0 -0
  89. /package/dist/{chunk-IIPTBZQW.js.map → chunk-TS6DL67T.js.map} +0 -0
  90. /package/dist/{chunk-IO4WFTL2.js.map → chunk-VETG35MF.js.map} +0 -0
  91. /package/dist/{claude-7LUVDZZ4.js.map → claude-ZIWDG4XG.js.map} +0 -0
  92. /package/dist/{cleanup-ZHROIBSQ.js.map → cleanup-FEIVZSIV.js.map} +0 -0
  93. /package/dist/{enhance-VVMAKMVZ.js.map → enhance-MNA4ZGXW.js.map} +0 -0
  94. /package/dist/{feedback-AKHD7QIM.js.map → feedback-LFNMQBAZ.js.map} +0 -0
  95. /package/dist/{git-OUYMVYJX.js.map → git-WC6HZLOT.js.map} +0 -0
  96. /package/dist/{init-EVUT4ZQJ.js.map → init-GJDYN2IK.js.map} +0 -0
  97. /package/dist/mcp/{claude-YHHHLSXH.js.map → claude-NDFOCQQQ.js.map} +0 -0
  98. /package/dist/{open-ETZUFSE4.js.map → open-NXSN7XOC.js.map} +0 -0
  99. /package/dist/{rebase-KBWFDZCN.js.map → rebase-DUNFOJVS.js.map} +0 -0
  100. /package/dist/{remote-GJEZWRCC.js.map → remote-ZCXJVVNW.js.map} +0 -0
  101. /package/dist/{run-4SVQ3WEU.js.map → run-O7ZK7CKA.js.map} +0 -0
  102. /package/dist/{start-2NEZU7SE.js.map → start-73I5W7WW.js.map} +0 -0
  103. /package/dist/{terminal-3D6TUAKJ.js.map → terminal-BIRBZ4AZ.js.map} +0 -0
  104. /package/dist/{test-git-MKZATGZN.js.map → test-git-T76HOTIA.js.map} +0 -0
  105. /package/dist/{test-prefix-ZNLWDI3K.js.map → test-prefix-6HJUVQMH.js.map} +0 -0
  106. /package/dist/{test-tabs-JRKY3QMM.js.map → test-tabs-RXDBZ6J7.js.map} +0 -0
package/README.md CHANGED
@@ -35,7 +35,7 @@ The promise of AI-assisted development is profound: write more code, ship featur
35
35
 
36
36
  **AI agents write code quickly. They struggle to stay in sync with their humans.**
37
37
 
38
- When you juggle multiple issues, the hard part is not branches or ports. It is keeping you and your AI aligned on the goal.
38
+ The hard part is not writing a ton of code. It's knowing what decisions your AI is making, what assumptions it's operating under, and why it's producing what it produces.
39
39
 
40
40
  Friction piles up:
41
41
  - You open new chats for each problem and rebuild context in your head.
@@ -47,7 +47,7 @@ The outcome is familiar: more time briefing the AI than building, more time fixi
47
47
 
48
48
  **The bottleneck isn't output velocity. It's maintaining shared understanding between human and AI at scale.**
49
49
 
50
- *iloom treats context as a first-class concern. It's not a tool for managing branches - it's a control plane for maintaining alignment between you and your AI assistant as you work across multiple issues simultaneously.*
50
+ *iloom treats context as a first-class concern. It's not a tool for managing branches - it's a control plane for maintaining alignment between you and your AI assistant.*
51
51
 
52
52
  ## How iloom Solves This
53
53
 
@@ -316,7 +316,17 @@ iloom start <issue-number | pr-number | issue-description | branch-name>
316
316
 
317
317
  iloom finish
318
318
  # AI assisted validation, commit, merge steps, as well as loom cleanup (run this from the loom directory)
319
+ # Behavior depends on mergeBehavior.mode setting:
320
+ # local (default): Merge locally and cleanup
321
+ # github-pr: Push branch, create PR, prompt for cleanup
319
322
  # Alias: dn
323
+ # Options:
324
+ # -f, --force - Skip confirmation prompts
325
+ # -n, --dry-run - Preview actions without executing
326
+ # --skip-build - Skip post-merge build verification
327
+ # --no-browser - Skip opening PR in browser (github-pr mode only)
328
+ # --cleanup - Clean up worktree after PR creation (github-pr mode only)
329
+ # --no-cleanup - Keep worktree after PR creation (github-pr mode only)
320
330
 
321
331
  iloom rebase
322
332
  # Rebase current branch on main with Claude-assisted conflict resolution (run this from a loom directory)
@@ -382,20 +392,47 @@ Your feedback helps make iloom better for everyone! Issues created through `iloo
382
392
 
383
393
  ```bash
384
394
  iloom init
385
- # Setup guide for shell autocomplete, settings file initialization (will do much more soon)
395
+ # Interactive Claude-powered configuration wizard
396
+ # Sets up settings.json, .gitignore, and guides you through all configuration options
397
+ # Automatically detects multi-remote setups and helps you configure GitHub integration
398
+ # Alias: il config
386
399
  # Run this once per project
387
400
 
401
+ iloom contribute
402
+ # Set up local development environment for contributing to iloom
403
+ # Automatically forks the repository, clones it locally, configures upstream remote,
404
+ # and runs il init to complete setup
405
+ # Streamlines contributor onboarding with a single command
406
+
388
407
  iloom update
389
408
  # Update iloom-cli to the latest version
390
409
  ```
391
410
 
392
411
  ## Configuration
393
412
 
394
- iloom uses a flexible configuration system with clear priority ordering.
413
+ ### Interactive Configuration Wizard
395
414
 
396
- ### Configuration Priority
415
+ The recommended way to configure iloom:
416
+
417
+ ```bash
418
+ iloom init
419
+ # or
420
+ il config
421
+ ```
397
422
 
398
- Settings are loaded in this order (highest to lowest priority):
423
+ This Claude-powered assistant will guide you through all configuration options and automatically:
424
+ - Create and configure `.iloom/settings.json` and `.iloom/settings.local.json`
425
+ - Set up `.gitignore` entries
426
+ - Help you choose the right GitHub remote (if you have multiple)
427
+ - Configure database providers (Neon, etc.)
428
+ - Set workflow permissions and preferences
429
+ - Explain each option as you go
430
+
431
+ For most users, this is all you need. The wizard creates the files and explains everything as you configure it.
432
+
433
+ ### Manual Configuration Files
434
+
435
+ If you prefer manual configuration, iloom uses these files (highest to lowest priority):
399
436
 
400
437
  1. **CLI arguments** - Command-line flags (e.g., `--one-shot bypassPermissions`)
401
438
  2. **`.iloom/settings.local.json`** - Local machine settings (gitignored, not committed)
@@ -416,6 +453,10 @@ This allows teams to share project defaults via `settings.json` while individual
416
453
  ```jsonc
417
454
  {
418
455
  "mainBranch": "main",
456
+ "mergeBehavior": {
457
+ "mode": "local", // or "github-pr" for PR-based workflows
458
+ "remote": "upstream" // optional, defaults to issueManagement.github.remote
459
+ },
419
460
  "capabilities": {
420
461
  "web": { "basePort": 3000 },
421
462
  "database": { "databaseUrlEnvVarName": "DATABASE_URL" }
@@ -450,6 +491,8 @@ This allows teams to share project defaults via `settings.json` while individual
450
491
 
451
492
  ** Common configuration options:**
452
493
  - `mainBranch` - Primary branch for merging (default: "main")
494
+ - `mergeBehavior.mode` - How to finish work: "local" (merge locally) or "github-pr" (create PR) (default: "local")
495
+ - `mergeBehavior.remote` - Remote to target for PRs (optional, defaults to `issueManagement.github.remote`)
453
496
  - `capabilities.web.basePort` - Base port for dev servers (default: 3000)
454
497
  - `capabilities.database.databaseUrlEnvVarName` - Name of environment variable for database connection URL (default: "DATABASE_URL")
455
498
  - `databaseProviders.neon.projectId` - Neon project ID (found in project URL, e.g., "fantastic-fox-3566354")
@@ -722,3 +765,7 @@ This project follows Test-Driven Development. All code must:
722
765
  For commercial licensing inquiries, contact Adam Creeger.
723
766
 
724
767
  See [LICENSE](https://raw.githubusercontent.com/iloom-ai/iloom-cli/main/LICENSE) for complete terms.
768
+
769
+ ## About the Name
770
+
771
+ **iloom** comes from "illuminate" - it illuminates the mysterious AI coding process - and "intelligent loom" that weaves artificial and human intelligence together.
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ ClaudeContextManager
4
+ } from "./chunk-2PLUQT6J.js";
5
+ import "./chunk-LHP6ROUM.js";
6
+ import "./chunk-MFU53H6J.js";
7
+ import "./chunk-PVAVNJKS.js";
8
+ import "./chunk-T3KEIB4D.js";
9
+ import "./chunk-GEHQXLEI.js";
10
+ export {
11
+ ClaudeContextManager
12
+ };
13
+ //# sourceMappingURL=ClaudeContextManager-LVCYRM6Q.js.map
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ ClaudeService
4
+ } from "./chunk-LHP6ROUM.js";
5
+ import "./chunk-MFU53H6J.js";
6
+ import "./chunk-PVAVNJKS.js";
7
+ import "./chunk-T3KEIB4D.js";
8
+ import "./chunk-GEHQXLEI.js";
9
+ export {
10
+ ClaudeService
11
+ };
12
+ //# sourceMappingURL=ClaudeService-WVTWB3DK.js.map
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  GitHubService
4
- } from "./chunk-IIPTBZQW.js";
5
- import "./chunk-DGEKUT7Q.js";
4
+ } from "./chunk-TS6DL67T.js";
5
+ import "./chunk-SWCRXDZC.js";
6
6
  import "./chunk-JNKJ7NJV.js";
7
7
  import "./chunk-GEHQXLEI.js";
8
8
  export {
9
9
  GitHubService
10
10
  };
11
- //# sourceMappingURL=GitHubService-SH4H6VS5.js.map
11
+ //# sourceMappingURL=GitHubService-7E2S5NNZ.js.map
@@ -5,18 +5,18 @@ import {
5
5
  import "./chunk-BLCTGFZN.js";
6
6
  import {
7
7
  ClaudeContextManager
8
- } from "./chunk-SLIMABFA.js";
8
+ } from "./chunk-2PLUQT6J.js";
9
9
  import {
10
10
  openMultipleTerminalWindows,
11
11
  openTerminalWindow
12
- } from "./chunk-RSRO7564.js";
12
+ } from "./chunk-ZE74H5BR.js";
13
13
  import {
14
14
  generateColorFromBranchName
15
15
  } from "./chunk-ZZZWQGTS.js";
16
- import "./chunk-HURVAQRK.js";
17
- import "./chunk-PXZBAC2M.js";
18
- import "./chunk-L4QGC27H.js";
19
- import "./chunk-VYQLLHZ7.js";
16
+ import "./chunk-LHP6ROUM.js";
17
+ import "./chunk-MFU53H6J.js";
18
+ import "./chunk-PVAVNJKS.js";
19
+ import "./chunk-T3KEIB4D.js";
20
20
  import {
21
21
  logger
22
22
  } from "./chunk-GEHQXLEI.js";
@@ -260,4 +260,4 @@ var LoomLauncher = class {
260
260
  export {
261
261
  LoomLauncher
262
262
  };
263
- //# sourceMappingURL=LoomLauncher-FB2MV2ZI.js.map
263
+ //# sourceMappingURL=LoomLauncher-CTSWJL35.js.map
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  PromptTemplateManager
4
- } from "./chunk-L4QGC27H.js";
4
+ } from "./chunk-PVAVNJKS.js";
5
5
  import "./chunk-GEHQXLEI.js";
6
6
  export {
7
7
  PromptTemplateManager
8
8
  };
9
- //# sourceMappingURL=PromptTemplateManager-WM5GIPEF.js.map
9
+ //# sourceMappingURL=PromptTemplateManager-WII75TKH.js.map