@howlil/ez-agents 3.4.1 → 3.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +7 -18
  3. package/bin/install.js +52 -10
  4. package/commands/ez/join-discord.md +18 -18
  5. package/ez-agents/bin/lib/assistant-adapter.cjs +264 -264
  6. package/ez-agents/bin/lib/audit-exec.cjs +7 -2
  7. package/ez-agents/bin/lib/circuit-breaker.cjs +118 -118
  8. package/ez-agents/bin/lib/config.cjs +190 -190
  9. package/ez-agents/bin/lib/file-lock.cjs +236 -236
  10. package/ez-agents/bin/lib/frontmatter.cjs +299 -299
  11. package/ez-agents/bin/lib/fs-utils.cjs +153 -153
  12. package/ez-agents/bin/lib/git-utils.cjs +203 -203
  13. package/ez-agents/bin/lib/index.cjs +113 -113
  14. package/ez-agents/bin/lib/init.cjs +757 -757
  15. package/ez-agents/bin/lib/logger.cjs +47 -17
  16. package/ez-agents/bin/lib/milestone.cjs +241 -241
  17. package/ez-agents/bin/lib/model-provider.cjs +241 -241
  18. package/ez-agents/bin/lib/phase.cjs +925 -925
  19. package/ez-agents/bin/lib/planning-write.cjs +107 -107
  20. package/ez-agents/bin/lib/retry.cjs +119 -119
  21. package/ez-agents/bin/lib/roadmap.cjs +306 -306
  22. package/ez-agents/bin/lib/safe-exec.cjs +90 -4
  23. package/ez-agents/bin/lib/safe-path.cjs +130 -130
  24. package/ez-agents/bin/lib/state.cjs +736 -736
  25. package/ez-agents/bin/lib/temp-file.cjs +239 -239
  26. package/ez-agents/bin/lib/template.cjs +223 -223
  27. package/ez-agents/bin/lib/test-file-lock.cjs +112 -112
  28. package/ez-agents/bin/lib/test-graceful.cjs +93 -93
  29. package/ez-agents/bin/lib/test-logger.cjs +60 -60
  30. package/ez-agents/bin/lib/test-safe-exec.cjs +38 -38
  31. package/ez-agents/bin/lib/test-safe-path.cjs +33 -33
  32. package/ez-agents/bin/lib/test-temp-file.cjs +125 -125
  33. package/ez-agents/bin/lib/timeout-exec.cjs +63 -63
  34. package/ez-agents/bin/lib/verify.cjs +15 -1
  35. package/ez-agents/references/checkpoints.md +776 -776
  36. package/ez-agents/references/continuation-format.md +249 -249
  37. package/ez-agents/references/questioning.md +162 -162
  38. package/ez-agents/references/tdd.md +263 -263
  39. package/ez-agents/templates/codebase/concerns.md +310 -310
  40. package/ez-agents/templates/codebase/conventions.md +307 -307
  41. package/ez-agents/templates/codebase/integrations.md +280 -280
  42. package/ez-agents/templates/codebase/stack.md +186 -186
  43. package/ez-agents/templates/codebase/testing.md +480 -480
  44. package/ez-agents/templates/config.json +37 -37
  45. package/ez-agents/templates/continue-here.md +78 -78
  46. package/ez-agents/templates/milestone-archive.md +123 -123
  47. package/ez-agents/templates/milestone.md +115 -115
  48. package/ez-agents/templates/requirements.md +231 -231
  49. package/ez-agents/templates/research-project/ARCHITECTURE.md +204 -204
  50. package/ez-agents/templates/research-project/FEATURES.md +147 -147
  51. package/ez-agents/templates/research-project/PITFALLS.md +200 -200
  52. package/ez-agents/templates/research-project/STACK.md +120 -120
  53. package/ez-agents/templates/research-project/SUMMARY.md +170 -170
  54. package/ez-agents/templates/retrospective.md +54 -54
  55. package/ez-agents/templates/roadmap.md +202 -202
  56. package/ez-agents/templates/summary-minimal.md +41 -41
  57. package/ez-agents/templates/summary-standard.md +48 -48
  58. package/ez-agents/templates/summary.md +248 -248
  59. package/ez-agents/templates/user-setup.md +311 -311
  60. package/ez-agents/templates/verification-report.md +322 -322
  61. package/ez-agents/workflows/add-phase.md +112 -112
  62. package/ez-agents/workflows/add-tests.md +351 -351
  63. package/ez-agents/workflows/add-todo.md +158 -158
  64. package/ez-agents/workflows/audit-milestone.md +332 -332
  65. package/ez-agents/workflows/autonomous.md +743 -743
  66. package/ez-agents/workflows/check-todos.md +177 -177
  67. package/ez-agents/workflows/cleanup.md +152 -152
  68. package/ez-agents/workflows/complete-milestone.md +766 -766
  69. package/ez-agents/workflows/diagnose-issues.md +219 -219
  70. package/ez-agents/workflows/discovery-phase.md +289 -289
  71. package/ez-agents/workflows/discuss-phase.md +762 -762
  72. package/ez-agents/workflows/execute-phase.md +468 -468
  73. package/ez-agents/workflows/execute-plan.md +483 -483
  74. package/ez-agents/workflows/health.md +159 -159
  75. package/ez-agents/workflows/help.md +492 -492
  76. package/ez-agents/workflows/insert-phase.md +130 -130
  77. package/ez-agents/workflows/list-phase-assumptions.md +178 -178
  78. package/ez-agents/workflows/map-codebase.md +316 -316
  79. package/ez-agents/workflows/new-milestone.md +384 -384
  80. package/ez-agents/workflows/new-project.md +1113 -1113
  81. package/ez-agents/workflows/node-repair.md +92 -92
  82. package/ez-agents/workflows/pause-work.md +122 -122
  83. package/ez-agents/workflows/plan-milestone-gaps.md +274 -274
  84. package/ez-agents/workflows/plan-phase.md +651 -651
  85. package/ez-agents/workflows/progress.md +382 -382
  86. package/ez-agents/workflows/quick.md +610 -610
  87. package/ez-agents/workflows/remove-phase.md +155 -155
  88. package/ez-agents/workflows/research-phase.md +74 -74
  89. package/ez-agents/workflows/resume-project.md +307 -307
  90. package/ez-agents/workflows/set-profile.md +81 -81
  91. package/ez-agents/workflows/settings.md +242 -242
  92. package/ez-agents/workflows/stats.md +57 -57
  93. package/ez-agents/workflows/transition.md +544 -544
  94. package/ez-agents/workflows/ui-phase.md +290 -290
  95. package/ez-agents/workflows/ui-review.md +157 -157
  96. package/ez-agents/workflows/update.md +320 -320
  97. package/ez-agents/workflows/validate-phase.md +167 -167
  98. package/ez-agents/workflows/verify-phase.md +243 -243
  99. package/ez-agents/workflows/verify-work.md +584 -584
  100. package/package.json +2 -3
  101. package/scripts/build-hooks.js +43 -43
  102. package/scripts/run-tests.cjs +29 -29
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Lex Christopherson
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Lex Christopherson
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  [![GitHub stars](https://img.shields.io/github/stars/howlil/ez-agents?style=for-the-badge&logo=github)](https://github.com/howlil/ez-agents/stargazers)
10
10
 
11
11
  ```bash
12
- npm install -g git+https://github.com/howlil/ez-agents.git
12
+ npm i -g @howlil/ez-agents@latest
13
13
  ```
14
14
 
15
15
  **Works with:** Claude Code · OpenCode · Gemini CLI · Codex · Copilot · Qwen · Kimi
@@ -42,7 +42,7 @@ EZ Agents fixes this by adding a lightweight orchestration layer. Think of it as
42
42
  ### 1. Install
43
43
 
44
44
  ```bash
45
- npm install -g git+https://github.com/howlil/ez-agents.git
45
+ npm i -g @howlil/ez-agents@latest
46
46
  ```
47
47
 
48
48
  ### 2. Setup for Your AI Tool
@@ -242,23 +242,20 @@ Parallel agents analyze your stack, architecture, conventions, and pain points.
242
242
  - Node.js >= 16.7.0
243
243
  - One of: Claude Code, OpenCode, Gemini CLI, Codex, Copilot, Qwen Code, Kimi Code
244
244
 
245
- ### Installation Options
246
-
247
- **From GitHub (Recommended)**
245
+ ### Installation
248
246
 
249
247
  ```bash
250
- npm install -g git+https://github.com/howlil/ez-agents.git
248
+ npm i -g @howlil/ez-agents@latest
251
249
  ez-agents --claude --global
252
250
  ```
253
251
 
254
- **From npm**
252
+ ### Updating
255
253
 
256
254
  ```bash
257
- npm install -g @howlil/ez-agents
258
- ez-agents --claude --global
255
+ npm update -g @howlil/ez-agents
259
256
  ```
260
257
 
261
- **Development Install**
258
+ **Development Install** (for contributing)
262
259
 
263
260
  ```bash
264
261
  git clone https://github.com/howlil/ez-agents.git
@@ -267,14 +264,6 @@ npm install -g .
267
264
  ez-agents --claude --local
268
265
  ```
269
266
 
270
- ### Updating
271
-
272
- ```bash
273
- ez-agents-update
274
- ```
275
-
276
- Shows changelog before installing. If you have local modifications, they're backed up and can be reapplied with `/ez:reapply-patches`.
277
-
278
267
  ---
279
268
 
280
269
  ## Configuration
package/bin/install.js CHANGED
@@ -323,6 +323,7 @@ function parseConfigDirArg() {
323
323
  }
324
324
  const explicitConfigDir = parseConfigDirArg();
325
325
  const hasHelp = args.includes('--help') || args.includes('-h');
326
+ const hasVersion = args.includes('--version') || args.includes('-v');
326
327
  const forceStatusline = args.includes('--force-statusline');
327
328
 
328
329
  console.log(banner);
@@ -331,9 +332,59 @@ if (hasUninstall) {
331
332
  console.log(' Mode: Uninstall\n');
332
333
  }
333
334
 
335
+ // Show version if requested
336
+ if (hasVersion) {
337
+ console.log(` v${pkg.version}\n`);
338
+ process.exit(0);
339
+ }
340
+
334
341
  // Show help if requested
335
342
  if (hasHelp) {
336
- console.log(` ${yellow}Usage:${reset} npx ez-agents [options]\n\n ${yellow}Options:${reset}\n ${cyan}-g, --global${reset} Install globally (to config directory)\n ${cyan}-l, --local${reset} Install locally (to current directory)\n ${cyan}--claude${reset} Install for Claude Code only\n ${cyan}--opencode${reset} Install for OpenCode only\n ${cyan}--gemini${reset} Install for Gemini only\n ${cyan}--codex${reset} Install for Codex only\n ${cyan}--copilot${reset} Install for Copilot only\\n ${cyan}--qwen${reset} Install for Qwen Code only\\n ${cyan}--kimi${reset} Install for Kimi Code only\\n ${cyan}--all${reset} Install for all runtimes\\n ${cyan}-u, --uninstall${reset} Uninstall EZ_Agents (remove all EZ_Agents files)\\n ${cyan}-c, --config-dir <path>${reset} Specify custom config directory\\n ${cyan}-h, --help${reset} Show this help message\\n ${cyan}--force-statusline${reset} Replace existing statusline config\\n\\n ${yellow}Examples:${reset}\\n ${dim}# Interactive install (prompts for runtime and location)${reset}\\n npx ez-agents\\n\\n ${dim}# Install for Claude Code globally${reset}\\n npx ez-agents --claude --global\\n\\n ${dim}# Install for Qwen Code globally${reset}\\n npx ez-agents --qwen --global\\n\\n ${dim}# Install for Kimi Code globally${reset}\\n npx ez-agents --kimi --global\\n\\n ${dim}# Install for all runtimes globally${reset}\\n npx ez-agents --all --global\\n\\n ${dim}# Uninstall EZ_Agents globally${reset}\\n npx ez-agents --all --global --uninstall\\n\\n ${yellow}Notes:${reset}\\n The --config-dir option is useful when you have multiple configurations.\\n It takes priority over CLAUDE_CONFIG_DIR / GEMINI_CONFIG_DIR / CODEX_HOME / COPILOT_CONFIG_DIR / QWEN_CONFIG_DIR / KIMI_CONFIG_DIR environment variables.\\n\\n ${yellow}Model Providers:${reset}\\n OpenAI and Anthropic are model providers configured in settings.json,\\n not separate CLI runtimes. See README.md for model configuration.\\n`);
343
+ console.log(` ${yellow}Usage:${reset} npx ez-agents [options]
344
+
345
+ ${yellow}Options:${reset}
346
+ ${cyan}-g, --global${reset} Install globally (to config directory)
347
+ ${cyan}-l, --local${reset} Install locally (to current directory)
348
+ ${cyan}--claude${reset} Install for Claude Code only
349
+ ${cyan}--opencode${reset} Install for OpenCode only
350
+ ${cyan}--gemini${reset} Install for Gemini only
351
+ ${cyan}--codex${reset} Install for Codex only
352
+ ${cyan}--copilot${reset} Install for Copilot only
353
+ ${cyan}--qwen${reset} Install for Qwen Code only
354
+ ${cyan}--kimi${reset} Install for Kimi Code only
355
+ ${cyan}--all${reset} Install for all runtimes
356
+ ${cyan}-u, --uninstall${reset} Uninstall EZ_Agents (remove all EZ_Agents files)
357
+ ${cyan}-c, --config-dir <path>${reset} Specify custom config directory
358
+ ${cyan}-h, --help${reset} Show this help message
359
+ ${cyan}--force-statusline${reset} Replace existing statusline config
360
+
361
+ ${yellow}Examples:${reset}
362
+ ${dim}# Interactive install (prompts for runtime and location)${reset}
363
+ npx ez-agents
364
+
365
+ ${dim}# Install for Claude Code globally${reset}
366
+ npx ez-agents --claude --global
367
+
368
+ ${dim}# Install for Qwen Code globally${reset}
369
+ npx ez-agents --qwen --global
370
+
371
+ ${dim}# Install for Kimi Code globally${reset}
372
+ npx ez-agents --kimi --global
373
+
374
+ ${dim}# Install for all runtimes globally${reset}
375
+ npx ez-agents --all --global
376
+
377
+ ${dim}# Uninstall EZ_Agents globally${reset}
378
+ npx ez-agents --all --global --uninstall
379
+
380
+ ${yellow}Notes:${reset}
381
+ The --config-dir option is useful when you have multiple configurations.
382
+ It takes priority over CLAUDE_CONFIG_DIR / GEMINI_CONFIG_DIR / CODEX_HOME / COPILOT_CONFIG_DIR / QWEN_CONFIG_DIR / KIMI_CONFIG_DIR environment variables.
383
+
384
+ ${yellow}Model Providers:${reset}
385
+ OpenAI and Anthropic are model providers configured in settings.json,
386
+ not separate CLI runtimes. See README.md for model configuration.
387
+ `);
337
388
  process.exit(0);
338
389
  }
339
390
 
@@ -2602,15 +2653,6 @@ function install(isGlobal, runtime = 'claude') {
2602
2653
  }
2603
2654
  }
2604
2655
 
2605
- // Copy bin/update.js for ez-agents-update command
2606
- const updateSrc = path.join(src, 'bin', 'update.js');
2607
- if (fs.existsSync(updateSrc)) {
2608
- const updateDest = path.join(targetDir, 'bin', 'update.js');
2609
- fs.mkdirSync(path.dirname(updateDest), { recursive: true });
2610
- fs.copyFileSync(updateSrc, updateDest);
2611
- console.log(` ${green}✓${reset} Installed ez-agents-update command`);
2612
- }
2613
-
2614
2656
  // Copy ez-agents skill with path replacement
2615
2657
  const skillSrc = path.join(src, 'ez-agents');
2616
2658
  const skillDest = path.join(targetDir, 'ez-agents');
@@ -1,18 +1,18 @@
1
- ---
2
- name: ez:join-discord
3
- description: Join the EZ Agents Discord community
4
- ---
5
-
6
- <objective>
7
- Display the Discord invite link for the EZ Agents community server.
8
- </objective>
9
-
10
- <output>
11
- # Join the EZ Agents Discord
12
-
13
- Connect with other EZ Agents users, get help, share what you're building, and stay updated.
14
-
15
- **Invite link:** https://discord.gg/ez-agents
16
-
17
- Click the link or paste it into your browser to join.
18
- </output>
1
+ ---
2
+ name: ez:join-discord
3
+ description: Join the EZ Agents Discord community
4
+ ---
5
+
6
+ <objective>
7
+ Display the Discord invite link for the EZ Agents community server.
8
+ </objective>
9
+
10
+ <output>
11
+ # Join the EZ Agents Discord
12
+
13
+ Connect with other EZ Agents users, get help, share what you're building, and stay updated.
14
+
15
+ **Invite link:** https://discord.gg/ez-agents
16
+
17
+ Click the link or paste it into your browser to join.
18
+ </output>