@howlil/ez-agents 3.5.0 → 4.0.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 (382) hide show
  1. package/README.md +735 -537
  2. package/agents/ez-architect-agent.md +267 -0
  3. package/agents/ez-backend-agent.md +303 -0
  4. package/agents/ez-chief-strategist.md +271 -0
  5. package/agents/ez-codebase-mapper.md +770 -770
  6. package/agents/ez-context-manager.md +319 -0
  7. package/agents/ez-debugger.md +1255 -1255
  8. package/agents/ez-design-expert.md +347 -0
  9. package/agents/ez-devops-agent.md +331 -0
  10. package/agents/ez-executor.md +487 -487
  11. package/agents/ez-frontend-agent.md +322 -0
  12. package/agents/ez-phase-researcher.md +553 -553
  13. package/agents/ez-planner.md +1307 -1307
  14. package/agents/ez-product-engineer.md +435 -0
  15. package/agents/ez-project-researcher.md +629 -629
  16. package/agents/ez-qa-agent.md +320 -0
  17. package/agents/ez-release-agent.md +333 -333
  18. package/agents/ez-requirements-agent.md +377 -377
  19. package/agents/ez-roadmapper.md +650 -650
  20. package/agents/ez-technical-writer.md +551 -0
  21. package/agents/ez-ux-expert.md +393 -0
  22. package/agents/ez-verifier.md +579 -579
  23. package/bin/guards/autonomy-guard.cjs +346 -0
  24. package/bin/guards/context-budget-guard.cjs +278 -0
  25. package/bin/guards/hallucination-guard.cjs +380 -0
  26. package/bin/guards/hidden-state-guard.cjs +182 -0
  27. package/bin/guards/team-overhead-guard.cjs +266 -0
  28. package/bin/guards/tool-sprawl-guard.cjs +271 -0
  29. package/bin/lib/analytics/analytics-collector.cjs +86 -0
  30. package/bin/lib/analytics/analytics-reporter.cjs +130 -0
  31. package/bin/lib/analytics/cohort-analyzer.cjs +138 -0
  32. package/bin/lib/analytics/funnel-analyzer.cjs +147 -0
  33. package/bin/lib/analytics/nps-tracker.cjs +147 -0
  34. package/bin/lib/archetype-detector.cjs +289 -0
  35. package/bin/lib/assistant-adapter.cjs +361 -0
  36. package/bin/lib/audit-exec.cjs +175 -0
  37. package/bin/lib/auth.cjs +176 -0
  38. package/bin/lib/backup-service.cjs +422 -0
  39. package/bin/lib/bdd-validator.cjs +622 -0
  40. package/bin/lib/business-flow-mapper.cjs +429 -0
  41. package/bin/lib/circuit-breaker.cjs +276 -0
  42. package/bin/lib/code-complexity-analyzer.cjs +360 -0
  43. package/bin/lib/codebase-analyzer.cjs +241 -0
  44. package/bin/lib/commands.cjs +691 -0
  45. package/bin/lib/config.cjs +236 -0
  46. package/bin/lib/constraint-extractor.cjs +526 -0
  47. package/bin/lib/content-scanner.cjs +238 -0
  48. package/bin/lib/context-cache.cjs +154 -0
  49. package/bin/lib/context-compressor.cjs +102 -0
  50. package/bin/lib/context-deduplicator.cjs +105 -0
  51. package/bin/lib/context-errors.cjs +78 -0
  52. package/bin/lib/context-manager.cjs +338 -0
  53. package/bin/lib/context-metadata-tracker.cjs +140 -0
  54. package/bin/lib/context-relevance-scorer.cjs +99 -0
  55. package/bin/lib/core.cjs +507 -0
  56. package/bin/lib/cost-alerts.cjs +174 -0
  57. package/bin/lib/cost-tracker.cjs +275 -0
  58. package/bin/lib/crash-recovery.cjs +220 -0
  59. package/bin/lib/dependency-graph.cjs +319 -0
  60. package/bin/lib/deploy/deploy-audit-log.cjs +76 -0
  61. package/bin/lib/deploy/deploy-detector.cjs +69 -0
  62. package/bin/lib/deploy/deploy-env-manager.cjs +109 -0
  63. package/bin/lib/deploy/deploy-health-check.cjs +88 -0
  64. package/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
  65. package/bin/lib/deploy/deploy-rollback.cjs +72 -0
  66. package/bin/lib/deploy/deploy-runner.cjs +97 -0
  67. package/bin/lib/deploy/deploy-status.cjs +74 -0
  68. package/bin/lib/discussion-synthesizer.cjs +439 -0
  69. package/bin/lib/error-cache.cjs +114 -0
  70. package/bin/lib/error-registry.cjs +177 -0
  71. package/bin/lib/file-access.cjs +207 -0
  72. package/bin/lib/file-lock.cjs +236 -0
  73. package/bin/lib/finops/budget-enforcer.cjs +126 -0
  74. package/bin/lib/finops/cost-reporter.cjs +132 -0
  75. package/bin/lib/finops/finops-analyzer.cjs +112 -0
  76. package/bin/lib/finops/spot-manager.cjs +118 -0
  77. package/bin/lib/framework-detector.cjs +396 -0
  78. package/bin/lib/frontmatter.cjs +313 -0
  79. package/bin/lib/fs-utils.cjs +153 -0
  80. package/bin/lib/gate-executor.cjs +272 -0
  81. package/bin/lib/gates/README.md +374 -0
  82. package/bin/lib/gates/gate-01-requirement.cjs +303 -0
  83. package/bin/lib/gates/gate-02-architecture.cjs +555 -0
  84. package/bin/lib/gates/gate-03-code.cjs +635 -0
  85. package/bin/lib/gates/gate-04-security.cjs +829 -0
  86. package/bin/lib/git-errors.cjs +83 -0
  87. package/bin/lib/git-utils.cjs +321 -0
  88. package/bin/lib/git-workflow-engine.cjs +1157 -0
  89. package/bin/lib/health-check.cjs +227 -0
  90. package/bin/lib/index.cjs +279 -0
  91. package/bin/lib/init.cjs +725 -0
  92. package/bin/lib/lock-logger.cjs +194 -0
  93. package/bin/lib/lock-state.cjs +263 -0
  94. package/bin/lib/lockfile-validator.cjs +227 -0
  95. package/bin/lib/log-rotation.cjs +71 -0
  96. package/bin/lib/logger.cjs +125 -0
  97. package/bin/lib/memory-compression.cjs +256 -0
  98. package/bin/lib/milestone.cjs +247 -0
  99. package/bin/lib/model-provider.cjs +241 -0
  100. package/bin/lib/package-manager-detector.cjs +203 -0
  101. package/bin/lib/package-manager-executor.cjs +385 -0
  102. package/bin/lib/package-manager-service.cjs +216 -0
  103. package/bin/lib/perf/api-monitor.cjs +88 -0
  104. package/bin/lib/perf/db-optimizer.cjs +78 -0
  105. package/bin/lib/perf/frontend-performance.cjs +56 -0
  106. package/bin/lib/perf/perf-analyzer.cjs +77 -0
  107. package/bin/lib/perf/perf-baseline.cjs +102 -0
  108. package/bin/lib/perf/perf-reporter.cjs +117 -0
  109. package/bin/lib/perf/regression-detector.cjs +92 -0
  110. package/bin/lib/phase.cjs +963 -0
  111. package/bin/lib/planning-write.cjs +123 -0
  112. package/bin/lib/project-reporter.cjs +565 -0
  113. package/bin/lib/quality-gate.cjs +332 -0
  114. package/bin/lib/quality-metrics.cjs +324 -0
  115. package/bin/lib/recovery-manager.cjs +98 -0
  116. package/bin/lib/release-validator.cjs +617 -0
  117. package/bin/lib/retry.cjs +119 -0
  118. package/bin/lib/roadmap.cjs +309 -0
  119. package/bin/lib/safe-exec.cjs +173 -0
  120. package/bin/lib/safe-path.cjs +130 -0
  121. package/bin/lib/security-errors.cjs +62 -0
  122. package/bin/lib/session-chain.cjs +304 -0
  123. package/bin/lib/session-errors.cjs +81 -0
  124. package/bin/lib/session-export.cjs +251 -0
  125. package/bin/lib/session-import.cjs +262 -0
  126. package/bin/lib/session-manager.cjs +280 -0
  127. package/bin/lib/skill-context.cjs +148 -0
  128. package/bin/lib/skill-matcher.cjs +236 -0
  129. package/bin/lib/skill-registry.cjs +360 -0
  130. package/bin/lib/skill-resolver.cjs +449 -0
  131. package/bin/lib/skill-triggers.cjs +90 -0
  132. package/bin/lib/skill-validator.cjs +270 -0
  133. package/bin/lib/skill-versioning.cjs +355 -0
  134. package/bin/lib/stack-detector.cjs +399 -0
  135. package/bin/lib/state.cjs +736 -0
  136. package/bin/lib/tech-debt-analyzer.cjs +309 -0
  137. package/bin/lib/temp-file.cjs +239 -0
  138. package/bin/lib/template.cjs +223 -0
  139. package/bin/lib/test-file-lock.cjs +112 -0
  140. package/bin/lib/test-graceful.cjs +93 -0
  141. package/bin/lib/test-logger.cjs +60 -0
  142. package/bin/lib/test-safe-exec.cjs +38 -0
  143. package/bin/lib/test-safe-path.cjs +33 -0
  144. package/bin/lib/test-temp-file.cjs +125 -0
  145. package/bin/lib/tier-manager.cjs +428 -0
  146. package/bin/lib/timeout-exec.cjs +63 -0
  147. package/bin/lib/tradeoff-analyzer.cjs +284 -0
  148. package/bin/lib/url-fetch.cjs +170 -0
  149. package/bin/lib/verify.cjs +863 -0
  150. package/bin/update.js +217 -214
  151. package/commands/deploy.cjs +53 -0
  152. package/commands/ez/add-tests.md +41 -41
  153. package/commands/ez/audit-milestone.md +36 -36
  154. package/commands/ez/complete-milestone.md +136 -136
  155. package/commands/ez/discuss-phase.md +90 -90
  156. package/commands/ez/execute-phase.md +52 -52
  157. package/commands/ez/help.md +22 -22
  158. package/commands/ez/map-codebase.md +71 -71
  159. package/commands/ez/new-milestone.md +44 -44
  160. package/commands/ez/new-project.md +51 -42
  161. package/commands/ez/plan-phase.md +53 -53
  162. package/commands/ez/progress.md +36 -36
  163. package/commands/ez/quick.md +45 -45
  164. package/commands/ez/resume-work.md +40 -40
  165. package/commands/ez/run-phase.md +580 -0
  166. package/commands/ez/settings.md +36 -36
  167. package/commands/ez/update.md +37 -37
  168. package/commands/ez/verify-work.md +402 -38
  169. package/commands/health-check.cjs +44 -0
  170. package/commands/rollback.cjs +47 -0
  171. package/ez-agents/bin/ez-tools.cjs +599 -2
  172. package/ez-agents/bin/guards/autonomy-guard.cjs +346 -0
  173. package/ez-agents/bin/guards/context-budget-guard.cjs +247 -0
  174. package/ez-agents/bin/guards/hallucination-guard.cjs +271 -0
  175. package/ez-agents/bin/guards/hidden-state-guard.cjs +182 -0
  176. package/ez-agents/bin/guards/team-overhead-guard.cjs +266 -0
  177. package/ez-agents/bin/guards/tool-sprawl-guard.cjs +271 -0
  178. package/ez-agents/bin/lib/analytics/analytics-collector.cjs +86 -0
  179. package/ez-agents/bin/lib/analytics/analytics-reporter.cjs +130 -0
  180. package/ez-agents/bin/lib/analytics/cohort-analyzer.cjs +138 -0
  181. package/ez-agents/bin/lib/analytics/funnel-analyzer.cjs +147 -0
  182. package/ez-agents/bin/lib/analytics/nps-tracker.cjs +147 -0
  183. package/ez-agents/bin/lib/archetype-detector.cjs +289 -0
  184. package/ez-agents/bin/lib/audit-exec.cjs +166 -167
  185. package/ez-agents/bin/lib/auth.cjs +176 -176
  186. package/ez-agents/bin/lib/backup-service.cjs +422 -0
  187. package/ez-agents/bin/lib/bdd-validator.cjs +622 -622
  188. package/ez-agents/bin/lib/business-flow-mapper.cjs +429 -0
  189. package/ez-agents/bin/lib/code-complexity-analyzer.cjs +360 -0
  190. package/ez-agents/bin/lib/codebase-analyzer.cjs +241 -0
  191. package/ez-agents/bin/lib/commands.cjs +685 -685
  192. package/ez-agents/bin/lib/config.cjs +41 -1
  193. package/ez-agents/bin/lib/constraint-extractor.cjs +526 -0
  194. package/ez-agents/bin/lib/content-scanner.cjs +238 -238
  195. package/ez-agents/bin/lib/context-cache.cjs +154 -154
  196. package/ez-agents/bin/lib/context-errors.cjs +71 -71
  197. package/ez-agents/bin/lib/context-manager.cjs +220 -220
  198. package/ez-agents/bin/lib/core.cjs +507 -512
  199. package/ez-agents/bin/lib/cost-tracker.cjs +243 -0
  200. package/ez-agents/bin/lib/crash-recovery.cjs +172 -0
  201. package/ez-agents/bin/lib/dependency-graph.cjs +319 -0
  202. package/ez-agents/bin/lib/deploy/deploy-audit-log.cjs +76 -0
  203. package/ez-agents/bin/lib/deploy/deploy-detector.cjs +69 -0
  204. package/ez-agents/bin/lib/deploy/deploy-env-manager.cjs +109 -0
  205. package/ez-agents/bin/lib/deploy/deploy-health-check.cjs +88 -0
  206. package/ez-agents/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
  207. package/ez-agents/bin/lib/deploy/deploy-rollback.cjs +72 -0
  208. package/ez-agents/bin/lib/deploy/deploy-runner.cjs +97 -0
  209. package/ez-agents/bin/lib/deploy/deploy-status.cjs +74 -0
  210. package/ez-agents/bin/lib/file-access.cjs +207 -207
  211. package/ez-agents/bin/lib/finops/budget-enforcer.cjs +126 -0
  212. package/ez-agents/bin/lib/finops/cost-reporter.cjs +132 -0
  213. package/ez-agents/bin/lib/finops/finops-analyzer.cjs +112 -0
  214. package/ez-agents/bin/lib/finops/spot-manager.cjs +118 -0
  215. package/ez-agents/bin/lib/framework-detector.cjs +396 -0
  216. package/ez-agents/bin/lib/frontmatter.cjs +3 -1
  217. package/ez-agents/bin/lib/gates/README.md +374 -0
  218. package/ez-agents/bin/lib/gates/gate-01-requirement.cjs +303 -0
  219. package/ez-agents/bin/lib/gates/gate-02-architecture.cjs +555 -0
  220. package/ez-agents/bin/lib/gates/gate-03-code.cjs +635 -0
  221. package/ez-agents/bin/lib/gates/gate-04-security.cjs +829 -0
  222. package/ez-agents/bin/lib/git-errors.cjs +83 -83
  223. package/ez-agents/bin/lib/git-utils.cjs +321 -321
  224. package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -1157
  225. package/ez-agents/bin/lib/health-check.cjs +162 -162
  226. package/ez-agents/bin/lib/index.cjs +2 -8
  227. package/ez-agents/bin/lib/init.cjs +0 -2
  228. package/ez-agents/bin/lib/lockfile-validator.cjs +227 -227
  229. package/ez-agents/bin/lib/log-rotation.cjs +71 -0
  230. package/ez-agents/bin/lib/logger.cjs +22 -47
  231. package/ez-agents/bin/lib/memory-compression.cjs +256 -256
  232. package/ez-agents/bin/lib/package-manager-detector.cjs +203 -203
  233. package/ez-agents/bin/lib/package-manager-executor.cjs +385 -385
  234. package/ez-agents/bin/lib/package-manager-service.cjs +216 -216
  235. package/ez-agents/bin/lib/perf/api-monitor.cjs +88 -0
  236. package/ez-agents/bin/lib/perf/db-optimizer.cjs +78 -0
  237. package/ez-agents/bin/lib/perf/frontend-performance.cjs +56 -0
  238. package/ez-agents/bin/lib/perf/perf-analyzer.cjs +77 -0
  239. package/ez-agents/bin/lib/perf/perf-baseline.cjs +102 -0
  240. package/ez-agents/bin/lib/perf/perf-reporter.cjs +117 -0
  241. package/ez-agents/bin/lib/perf/regression-detector.cjs +92 -0
  242. package/ez-agents/bin/lib/project-reporter.cjs +502 -0
  243. package/ez-agents/bin/lib/quality-gate.cjs +332 -0
  244. package/ez-agents/bin/lib/recovery-manager.cjs +98 -0
  245. package/ez-agents/bin/lib/release-validator.cjs +617 -614
  246. package/ez-agents/bin/lib/security-errors.cjs +62 -0
  247. package/ez-agents/bin/lib/session-chain.cjs +304 -304
  248. package/ez-agents/bin/lib/session-errors.cjs +81 -81
  249. package/ez-agents/bin/lib/session-export.cjs +251 -251
  250. package/ez-agents/bin/lib/session-import.cjs +262 -262
  251. package/ez-agents/bin/lib/session-manager.cjs +280 -280
  252. package/ez-agents/bin/lib/skill-context.cjs +148 -0
  253. package/ez-agents/bin/lib/skill-matcher.cjs +236 -0
  254. package/ez-agents/bin/lib/skill-registry.cjs +341 -0
  255. package/ez-agents/bin/lib/skill-resolver.cjs +449 -0
  256. package/ez-agents/bin/lib/skill-triggers.cjs +90 -0
  257. package/ez-agents/bin/lib/skill-validator.cjs +270 -0
  258. package/ez-agents/bin/lib/skill-versioning.cjs +355 -0
  259. package/ez-agents/bin/lib/stack-detector.cjs +399 -0
  260. package/ez-agents/bin/lib/tech-debt-analyzer.cjs +309 -0
  261. package/ez-agents/bin/lib/tier-manager.cjs +428 -428
  262. package/ez-agents/bin/lib/tradeoff-analyzer.cjs +284 -0
  263. package/ez-agents/bin/lib/url-fetch.cjs +170 -170
  264. package/ez-agents/bin/lib/verify.cjs +863 -863
  265. package/ez-agents/references/decimal-phase-calculation.md +65 -65
  266. package/ez-agents/references/git-integration.md +248 -248
  267. package/ez-agents/references/git-planning-commit.md +38 -38
  268. package/ez-agents/references/metrics-schema.md +118 -118
  269. package/ez-agents/references/model-profile-resolution.md +34 -34
  270. package/ez-agents/references/model-profiles.md +93 -93
  271. package/ez-agents/references/phase-argument-parsing.md +61 -61
  272. package/ez-agents/references/planning-config.md +340 -340
  273. package/ez-agents/references/tier-strategy.md +103 -103
  274. package/ez-agents/references/ui-brand.md +160 -160
  275. package/ez-agents/references/verification-patterns.md +612 -612
  276. package/ez-agents/templates/DEBUG.md +164 -164
  277. package/ez-agents/templates/UAT.md +247 -247
  278. package/ez-agents/templates/agent-output-format.md +404 -0
  279. package/ez-agents/templates/bdd-feature.md +173 -173
  280. package/ez-agents/templates/codebase/architecture.md +255 -255
  281. package/ez-agents/templates/codebase/structure.md +285 -285
  282. package/ez-agents/templates/copilot-instructions.md +7 -7
  283. package/ez-agents/templates/debug-subagent-prompt.md +91 -91
  284. package/ez-agents/templates/discovery.md +146 -146
  285. package/ez-agents/templates/discussion.md +68 -68
  286. package/ez-agents/templates/handoff-protocol.md +294 -0
  287. package/ez-agents/templates/incident-runbook.md +205 -205
  288. package/ez-agents/templates/mode-workflow-templates.md +301 -0
  289. package/ez-agents/templates/phase-prompt.md +610 -610
  290. package/ez-agents/templates/planner-subagent-prompt.md +117 -117
  291. package/ez-agents/templates/project.md +184 -184
  292. package/ez-agents/templates/release-checklist.md +136 -133
  293. package/ez-agents/templates/research.md +552 -552
  294. package/ez-agents/templates/rollback-plan.md +201 -201
  295. package/ez-agents/templates/security-user-setup.md +244 -0
  296. package/ez-agents/templates/skill-validation-rules.md +476 -0
  297. package/ez-agents/templates/state.md +180 -176
  298. package/ez-agents/templates/summary-complex.md +59 -59
  299. package/ez-agents/tests/gates/gate-01-02.test.cjs +812 -0
  300. package/ez-agents/tests/gates/gate-03-04.test.cjs +762 -0
  301. package/ez-agents/tests/gates/gate-05-validator.test.cjs +145 -0
  302. package/ez-agents/tests/gates/gate-06-docs-validator.test.cjs +244 -0
  303. package/ez-agents/tests/gates/gate-07-release-validator.test.cjs +219 -0
  304. package/ez-agents/tests/guards/context-budget-guard.test.cjs +145 -0
  305. package/ez-agents/tests/guards/edge-case-guards.test.cjs +238 -0
  306. package/ez-agents/tests/guards/hallucination-guard.test.cjs +124 -0
  307. package/ez-agents/workflows/audit-milestone.md +1 -1
  308. package/ez-agents/workflows/autonomous.md +844 -844
  309. package/ez-agents/workflows/complete-milestone.md +1 -1
  310. package/ez-agents/workflows/discuss-phase.md +1 -1
  311. package/ez-agents/workflows/execute-phase.md +124 -3
  312. package/ez-agents/workflows/help.md +42 -181
  313. package/ez-agents/workflows/hotfix.md +291 -291
  314. package/ez-agents/workflows/new-milestone.md +713 -713
  315. package/ez-agents/workflows/new-project.md +1089 -1107
  316. package/ez-agents/workflows/plan-phase.md +0 -40
  317. package/ez-agents/workflows/release.md +253 -253
  318. package/ez-agents/workflows/resume-session.md +215 -215
  319. package/ez-agents/workflows/run-phase.md +531 -0
  320. package/ez-agents/workflows/settings.md +2 -35
  321. package/hooks/dist/ez-check-update.js +81 -81
  322. package/hooks/dist/ez-context-monitor.js +148 -141
  323. package/hooks/dist/ez-statusline.js +115 -115
  324. package/package.json +78 -71
  325. package/scripts/fix-qwen-installation.js +144 -144
  326. package/agents/ez-integration-checker.md +0 -443
  327. package/agents/ez-nyquist-auditor.md +0 -176
  328. package/agents/ez-observer-agent.md +0 -260
  329. package/agents/ez-plan-checker.md +0 -706
  330. package/agents/ez-research-synthesizer.md +0 -247
  331. package/agents/ez-scrum-master-agent.md +0 -242
  332. package/agents/ez-tech-lead-agent.md +0 -267
  333. package/agents/ez-ui-auditor.md +0 -439
  334. package/agents/ez-ui-checker.md +0 -300
  335. package/agents/ez-ui-researcher.md +0 -353
  336. package/commands/ez/add-phase.md +0 -43
  337. package/commands/ez/add-todo.md +0 -47
  338. package/commands/ez/arch-review.md +0 -102
  339. package/commands/ez/auth.md +0 -87
  340. package/commands/ez/autonomous.md +0 -41
  341. package/commands/ez/check-todos.md +0 -45
  342. package/commands/ez/cleanup.md +0 -18
  343. package/commands/ez/debug.md +0 -168
  344. package/commands/ez/export-session.md +0 -79
  345. package/commands/ez/gather-requirements.md +0 -117
  346. package/commands/ez/git-workflow.md +0 -72
  347. package/commands/ez/health.md +0 -22
  348. package/commands/ez/hotfix.md +0 -120
  349. package/commands/ez/import-session.md +0 -82
  350. package/commands/ez/insert-phase.md +0 -32
  351. package/commands/ez/join-discord.md +0 -18
  352. package/commands/ez/list-phase-assumptions.md +0 -46
  353. package/commands/ez/list-sessions.md +0 -96
  354. package/commands/ez/package-manager.md +0 -316
  355. package/commands/ez/pause-work.md +0 -38
  356. package/commands/ez/plan-milestone-gaps.md +0 -34
  357. package/commands/ez/preflight.md +0 -79
  358. package/commands/ez/reapply-patches.md +0 -124
  359. package/commands/ez/release.md +0 -153
  360. package/commands/ez/remove-phase.md +0 -31
  361. package/commands/ez/research-phase.md +0 -190
  362. package/commands/ez/resume.md +0 -107
  363. package/commands/ez/set-profile.md +0 -34
  364. package/commands/ez/standup.md +0 -85
  365. package/commands/ez/stats.md +0 -18
  366. package/commands/ez/ui-phase.md +0 -34
  367. package/commands/ez/ui-review.md +0 -32
  368. package/commands/ez/validate-phase.md +0 -35
  369. package/ez-agents/bin/lib/metrics-tracker.cjs +0 -406
  370. package/ez-agents/templates/UI-SPEC.md +0 -100
  371. package/ez-agents/templates/VALIDATION.md +0 -76
  372. package/ez-agents/templates/context.md +0 -352
  373. package/ez-agents/templates/verification-report.md +0 -322
  374. package/ez-agents/workflows/arch-review.md +0 -54
  375. package/ez-agents/workflows/export-session.md +0 -255
  376. package/ez-agents/workflows/gather-requirements.md +0 -206
  377. package/ez-agents/workflows/import-session.md +0 -303
  378. package/ez-agents/workflows/research-phase.md +0 -74
  379. package/ez-agents/workflows/standup.md +0 -64
  380. package/ez-agents/workflows/ui-phase.md +0 -290
  381. package/ez-agents/workflows/ui-review.md +0 -157
  382. package/ez-agents/workflows/validate-phase.md +0 -167
@@ -1,115 +1,115 @@
1
- #!/usr/bin/env node
2
- // Claude Code Statusline - EZ Agents Edition
3
- // Shows: model | current task | directory | context usage
4
-
5
- const fs = require('fs');
6
- const path = require('path');
7
- const os = require('os');
8
-
9
- // Read JSON from stdin
10
- let input = '';
11
- // Timeout guard: if stdin doesn't close within 3s (e.g. pipe issues on
12
- // Windows/Git Bash), exit silently instead of hanging. See #775.
13
- const stdinTimeout = setTimeout(() => process.exit(0), 3000);
14
- process.stdin.setEncoding('utf8');
15
- process.stdin.on('data', chunk => input += chunk);
16
- process.stdin.on('end', () => {
17
- clearTimeout(stdinTimeout);
18
- try {
19
- const data = JSON.parse(input);
20
- const model = data.model?.display_name || 'Claude';
21
- const dir = data.workspace?.current_dir || process.cwd();
22
- const session = data.session_id || '';
23
- const remaining = data.context_window?.remaining_percentage;
24
-
25
- // Context window display (shows USED percentage scaled to usable context)
26
- // Claude Code reserves ~16.5% for autocompact buffer, so usable context
27
- // is 83.5% of the total window. We normalize to show 100% at that point.
28
- const AUTO_COMPACT_BUFFER_PCT = 16.5;
29
- let ctx = '';
30
- if (remaining != null) {
31
- // Normalize: subtract buffer from remaining, scale to usable range
32
- const usableRemaining = Math.max(0, ((remaining - AUTO_COMPACT_BUFFER_PCT) / (100 - AUTO_COMPACT_BUFFER_PCT)) * 100);
33
- const used = Math.max(0, Math.min(100, Math.round(100 - usableRemaining)));
34
-
35
- // Write context metrics to bridge file for the context-monitor PostToolUse hook.
36
- // The monitor reads this file to inject agent-facing warnings when context is low.
37
- if (session) {
38
- try {
39
- const bridgePath = path.join(os.tmpdir(), `claude-ctx-${session}.json`);
40
- const bridgeData = JSON.stringify({
41
- session_id: session,
42
- remaining_percentage: remaining,
43
- used_pct: used,
44
- timestamp: Math.floor(Date.now() / 1000)
45
- });
46
- fs.writeFileSync(bridgePath, bridgeData);
47
- } catch (e) {
48
- // Silent fail -- bridge is best-effort, don't break statusline
49
- }
50
- }
51
-
52
- // Build progress bar (10 segments)
53
- const filled = Math.floor(used / 10);
54
- const bar = '█'.repeat(filled) + '░'.repeat(10 - filled);
55
-
56
- // Color based on usable context thresholds
57
- if (used < 50) {
58
- ctx = ` \x1b[32m${bar} ${used}%\x1b[0m`;
59
- } else if (used < 65) {
60
- ctx = ` \x1b[33m${bar} ${used}%\x1b[0m`;
61
- } else if (used < 80) {
62
- ctx = ` \x1b[38;5;208m${bar} ${used}%\x1b[0m`;
63
- } else {
64
- ctx = ` \x1b[5;31m💀 ${bar} ${used}%\x1b[0m`;
65
- }
66
- }
67
-
68
- // Current task from todos
69
- let task = '';
70
- const homeDir = os.homedir();
71
- // Respect CLAUDE_CONFIG_DIR for custom config directory setups (#870)
72
- const claudeDir = process.env.CLAUDE_CONFIG_DIR || path.join(homeDir, '.claude');
73
- const todosDir = path.join(claudeDir, 'todos');
74
- if (session && fs.existsSync(todosDir)) {
75
- try {
76
- const files = fs.readdirSync(todosDir)
77
- .filter(f => f.startsWith(session) && f.includes('-agent-') && f.endsWith('.json'))
78
- .map(f => ({ name: f, mtime: fs.statSync(path.join(todosDir, f)).mtime }))
79
- .sort((a, b) => b.mtime - a.mtime);
80
-
81
- if (files.length > 0) {
82
- try {
83
- const todos = JSON.parse(fs.readFileSync(path.join(todosDir, files[0].name), 'utf8'));
84
- const inProgress = todos.find(t => t.status === 'in_progress');
85
- if (inProgress) task = inProgress.activeForm || '';
86
- } catch (e) {}
87
- }
88
- } catch (e) {
89
- // Silently fail on file system errors - don't break statusline
90
- }
91
- }
92
-
93
- // EZ Agents update available?
94
- let ezUpdate = '';
95
- const cacheFile = path.join(claudeDir, 'cache', 'ez-update-check.json');
96
- if (fs.existsSync(cacheFile)) {
97
- try {
98
- const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
99
- if (cache.update_available) {
100
- ezUpdate = '\x1b[33m⬆ /ez:update\x1b[0m │ ';
101
- }
102
- } catch (e) {}
103
- }
104
-
105
- // Output
106
- const dirname = path.basename(dir);
107
- if (task) {
108
- process.stdout.write(`${ezUpdate}\x1b[2m${model}\x1b[0m │ \x1b[1m${task}\x1b[0m │ \x1b[2m${dirname}\x1b[0m${ctx}`);
109
- } else {
110
- process.stdout.write(`${ezUpdate}\x1b[2m${model}\x1b[0m │ \x1b[2m${dirname}\x1b[0m${ctx}`);
111
- }
112
- } catch (e) {
113
- // Silent fail - don't break statusline on parse errors
114
- }
115
- });
1
+ #!/usr/bin/env node
2
+ // Claude Code Statusline - EZ Agents Edition
3
+ // Shows: model | current task | directory | context usage
4
+
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+ const os = require('os');
8
+
9
+ // Read JSON from stdin
10
+ let input = '';
11
+ // Timeout guard: if stdin doesn't close within 3s (e.g. pipe issues on
12
+ // Windows/Git Bash), exit silently instead of hanging. See #775.
13
+ const stdinTimeout = setTimeout(() => process.exit(0), 3000);
14
+ process.stdin.setEncoding('utf8');
15
+ process.stdin.on('data', chunk => input += chunk);
16
+ process.stdin.on('end', () => {
17
+ clearTimeout(stdinTimeout);
18
+ try {
19
+ const data = JSON.parse(input);
20
+ const model = data.model?.display_name || 'Claude';
21
+ const dir = data.workspace?.current_dir || process.cwd();
22
+ const session = data.session_id || '';
23
+ const remaining = data.context_window?.remaining_percentage;
24
+
25
+ // Context window display (shows USED percentage scaled to usable context)
26
+ // Claude Code reserves ~16.5% for autocompact buffer, so usable context
27
+ // is 83.5% of the total window. We normalize to show 100% at that point.
28
+ const AUTO_COMPACT_BUFFER_PCT = 16.5;
29
+ let ctx = '';
30
+ if (remaining != null) {
31
+ // Normalize: subtract buffer from remaining, scale to usable range
32
+ const usableRemaining = Math.max(0, ((remaining - AUTO_COMPACT_BUFFER_PCT) / (100 - AUTO_COMPACT_BUFFER_PCT)) * 100);
33
+ const used = Math.max(0, Math.min(100, Math.round(100 - usableRemaining)));
34
+
35
+ // Write context metrics to bridge file for the context-monitor PostToolUse hook.
36
+ // The monitor reads this file to inject agent-facing warnings when context is low.
37
+ if (session) {
38
+ try {
39
+ const bridgePath = path.join(os.tmpdir(), `claude-ctx-${session}.json`);
40
+ const bridgeData = JSON.stringify({
41
+ session_id: session,
42
+ remaining_percentage: remaining,
43
+ used_pct: used,
44
+ timestamp: Math.floor(Date.now() / 1000)
45
+ });
46
+ fs.writeFileSync(bridgePath, bridgeData);
47
+ } catch (e) {
48
+ // Silent fail -- bridge is best-effort, don't break statusline
49
+ }
50
+ }
51
+
52
+ // Build progress bar (10 segments)
53
+ const filled = Math.floor(used / 10);
54
+ const bar = '█'.repeat(filled) + '░'.repeat(10 - filled);
55
+
56
+ // Color based on usable context thresholds
57
+ if (used < 50) {
58
+ ctx = ` \x1b[32m${bar} ${used}%\x1b[0m`;
59
+ } else if (used < 65) {
60
+ ctx = ` \x1b[33m${bar} ${used}%\x1b[0m`;
61
+ } else if (used < 80) {
62
+ ctx = ` \x1b[38;5;208m${bar} ${used}%\x1b[0m`;
63
+ } else {
64
+ ctx = ` \x1b[5;31m💀 ${bar} ${used}%\x1b[0m`;
65
+ }
66
+ }
67
+
68
+ // Current task from todos
69
+ let task = '';
70
+ const homeDir = os.homedir();
71
+ // Respect CLAUDE_CONFIG_DIR for custom config directory setups (#870)
72
+ const claudeDir = process.env.CLAUDE_CONFIG_DIR || path.join(homeDir, '.claude');
73
+ const todosDir = path.join(claudeDir, 'todos');
74
+ if (session && fs.existsSync(todosDir)) {
75
+ try {
76
+ const files = fs.readdirSync(todosDir)
77
+ .filter(f => f.startsWith(session) && f.includes('-agent-') && f.endsWith('.json'))
78
+ .map(f => ({ name: f, mtime: fs.statSync(path.join(todosDir, f)).mtime }))
79
+ .sort((a, b) => b.mtime - a.mtime);
80
+
81
+ if (files.length > 0) {
82
+ try {
83
+ const todos = JSON.parse(fs.readFileSync(path.join(todosDir, files[0].name), 'utf8'));
84
+ const inProgress = todos.find(t => t.status === 'in_progress');
85
+ if (inProgress) task = inProgress.activeForm || '';
86
+ } catch (e) {}
87
+ }
88
+ } catch (e) {
89
+ // Silently fail on file system errors - don't break statusline
90
+ }
91
+ }
92
+
93
+ // EZ Agents update available?
94
+ let ezUpdate = '';
95
+ const cacheFile = path.join(claudeDir, 'cache', 'ez-update-check.json');
96
+ if (fs.existsSync(cacheFile)) {
97
+ try {
98
+ const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
99
+ if (cache.update_available) {
100
+ ezUpdate = '\x1b[33m⬆ /ez:update\x1b[0m │ ';
101
+ }
102
+ } catch (e) {}
103
+ }
104
+
105
+ // Output
106
+ const dirname = path.basename(dir);
107
+ if (task) {
108
+ process.stdout.write(`${ezUpdate}\x1b[2m${model}\x1b[0m │ \x1b[1m${task}\x1b[0m │ \x1b[2m${dirname}\x1b[0m${ctx}`);
109
+ } else {
110
+ process.stdout.write(`${ezUpdate}\x1b[2m${model}\x1b[0m │ \x1b[2m${dirname}\x1b[0m${ctx}`);
111
+ }
112
+ } catch (e) {
113
+ // Silent fail - don't break statusline on parse errors
114
+ }
115
+ });
package/package.json CHANGED
@@ -1,71 +1,78 @@
1
- {
2
- "name": "@howlil/ez-agents",
3
- "version": "3.5.0",
4
- "description": "EZ Agents — Meta-prompting with multi-model support (Qwen, Kimi, OpenAI)",
5
- "bin": {
6
- "ez-agents": "bin/install.js"
7
- },
8
- "files": [
9
- "bin",
10
- "commands",
11
- "ez-agents",
12
- "agents",
13
- "hooks/dist",
14
- "scripts"
15
- ],
16
- "keywords": [
17
- "claude",
18
- "claude-code",
19
- "ai",
20
- "meta-prompting",
21
- "context-engineering",
22
- "spec-driven-development",
23
- "gemini",
24
- "gemini-cli",
25
- "codex",
26
- "codex-cli",
27
- "ez-agents",
28
- "agent-orchestration"
29
- ],
30
- "author": "TÂCHES",
31
- "license": "MIT",
32
- "repository": {
33
- "type": "git",
34
- "url": "git+https://github.com/howlil/ez-agents.git"
35
- },
36
- "homepage": "https://github.com/howlil/ez-agents",
37
- "bugs": {
38
- "url": "https://github.com/howlil/ez-agents/issues"
39
- },
40
- "engines": {
41
- "node": ">=16.7.0"
42
- },
43
- "devDependencies": {
44
- "@octokit/rest": "^20.0.0",
45
- "c8": "^11.0.0",
46
- "conventional-changelog": "^5.0.0",
47
- "conventional-commits-parser": "^5.0.0",
48
- "esbuild": "^0.24.2",
49
- "husky": "^9.1.7",
50
- "lint-staged": "^15.5.2",
51
- "proper-lockfile": "^4.1.2",
52
- "semver": "^7.6.0"
53
- },
54
- "scripts": {
55
- "build:hooks": "node scripts/build-hooks.js",
56
- "prepublishOnly": "npm run build:hooks",
57
- "test": "node scripts/run-tests.cjs",
58
- "test:coverage": "c8 --check-coverage --lines 70 --reporter text --include 'ez-agents/bin/lib/*.cjs' --exclude 'tests/**' --all node scripts/run-tests.cjs"
59
- },
60
- "lint-staged": {
61
- "*.cjs": [
62
- "node --test"
63
- ],
64
- "*.md": [
65
- "node scripts/run-tests.cjs"
66
- ]
67
- },
68
- "dependencies": {
69
- "micromatch": "^4.0.5"
70
- }
71
- }
1
+ {
2
+ "name": "@howlil/ez-agents",
3
+ "version": "4.0.0",
4
+ "description": "EZ Agents — Meta-prompting with multi-model support (Qwen, Kimi, OpenAI)",
5
+ "bin": {
6
+ "ez-agents": "bin/install.js"
7
+ },
8
+ "files": [
9
+ "bin",
10
+ "commands",
11
+ "ez-agents",
12
+ "agents",
13
+ "hooks/dist",
14
+ "scripts"
15
+ ],
16
+ "keywords": [
17
+ "claude",
18
+ "claude-code",
19
+ "ai",
20
+ "meta-prompting",
21
+ "context-engineering",
22
+ "spec-driven-development",
23
+ "gemini",
24
+ "gemini-cli",
25
+ "codex",
26
+ "codex-cli",
27
+ "ez-agents",
28
+ "agent-orchestration"
29
+ ],
30
+ "author": "TÂCHES",
31
+ "license": "MIT",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/howlil/ez-agents.git"
35
+ },
36
+ "homepage": "https://github.com/howlil/ez-agents",
37
+ "bugs": {
38
+ "url": "https://github.com/howlil/ez-agents/issues"
39
+ },
40
+ "engines": {
41
+ "node": ">=16.7.0"
42
+ },
43
+ "devDependencies": {
44
+ "c8": "^11.0.0",
45
+ "eslint": "^8.57.0",
46
+ "husky": "^9.1.7",
47
+ "js-yaml": "^4.1.1",
48
+ "jsdoc": "^4.0.2",
49
+ "k6": "^0.0.0",
50
+ "lint-staged": "^15.5.2",
51
+ "markdownlint": "^0.40.0",
52
+ "vitest": "^4.1.0"
53
+ },
54
+ "scripts": {
55
+ "lint": "eslint . --ext .cjs,.js --max-warnings=0",
56
+ "lint:fix": "eslint . --ext .cjs,.js --fix",
57
+ "build:hooks": "node scripts/build-hooks.js",
58
+ "prepublishOnly": "npm run build:hooks",
59
+ "test": "node scripts/run-tests.cjs",
60
+ "test:coverage": "c8 --check-coverage --lines 70 --reporter text --include 'ez-agents/bin/lib/*.cjs' --exclude 'tests/**' --all node scripts/run-tests.cjs",
61
+ "test:a11y": "node tests/accessibility/run-a11y-tests.cjs",
62
+ "test:load": "k6 run tests/perf/load-test.js",
63
+ "security:scan": "npm audit --audit-level=moderate",
64
+ "docs:generate": "jsdoc -c jsdoc.json -r bin/ ez-agents/bin/lib/",
65
+ "prepare": "husky"
66
+ },
67
+ "lint-staged": {
68
+ "*.cjs": [
69
+ "node --test"
70
+ ],
71
+ "*.md": [
72
+ "node scripts/run-tests.cjs"
73
+ ]
74
+ },
75
+ "dependencies": {
76
+ "micromatch": "^4.0.5"
77
+ }
78
+ }