@howlil/ez-agents 3.4.2 → 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 (365) hide show
  1. package/README.md +735 -462
  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 -0
  18. package/agents/ez-requirements-agent.md +377 -0
  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/install.js +3221 -3272
  30. package/bin/lib/analytics/analytics-collector.cjs +86 -0
  31. package/bin/lib/analytics/analytics-reporter.cjs +130 -0
  32. package/bin/lib/analytics/cohort-analyzer.cjs +138 -0
  33. package/bin/lib/analytics/funnel-analyzer.cjs +147 -0
  34. package/bin/lib/analytics/nps-tracker.cjs +147 -0
  35. package/bin/lib/archetype-detector.cjs +289 -0
  36. package/bin/lib/assistant-adapter.cjs +361 -0
  37. package/bin/lib/audit-exec.cjs +175 -0
  38. package/bin/lib/auth.cjs +176 -0
  39. package/bin/lib/backup-service.cjs +422 -0
  40. package/bin/lib/bdd-validator.cjs +622 -0
  41. package/bin/lib/business-flow-mapper.cjs +429 -0
  42. package/bin/lib/circuit-breaker.cjs +276 -0
  43. package/bin/lib/code-complexity-analyzer.cjs +360 -0
  44. package/bin/lib/codebase-analyzer.cjs +241 -0
  45. package/bin/lib/commands.cjs +691 -0
  46. package/bin/lib/config.cjs +236 -0
  47. package/bin/lib/constraint-extractor.cjs +526 -0
  48. package/bin/lib/content-scanner.cjs +238 -0
  49. package/bin/lib/context-cache.cjs +154 -0
  50. package/bin/lib/context-compressor.cjs +102 -0
  51. package/bin/lib/context-deduplicator.cjs +105 -0
  52. package/bin/lib/context-errors.cjs +78 -0
  53. package/bin/lib/context-manager.cjs +338 -0
  54. package/bin/lib/context-metadata-tracker.cjs +140 -0
  55. package/bin/lib/context-relevance-scorer.cjs +99 -0
  56. package/bin/lib/core.cjs +507 -0
  57. package/bin/lib/cost-alerts.cjs +174 -0
  58. package/bin/lib/cost-tracker.cjs +275 -0
  59. package/bin/lib/crash-recovery.cjs +220 -0
  60. package/bin/lib/dependency-graph.cjs +319 -0
  61. package/bin/lib/deploy/deploy-audit-log.cjs +76 -0
  62. package/bin/lib/deploy/deploy-detector.cjs +69 -0
  63. package/bin/lib/deploy/deploy-env-manager.cjs +109 -0
  64. package/bin/lib/deploy/deploy-health-check.cjs +88 -0
  65. package/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
  66. package/bin/lib/deploy/deploy-rollback.cjs +72 -0
  67. package/bin/lib/deploy/deploy-runner.cjs +97 -0
  68. package/bin/lib/deploy/deploy-status.cjs +74 -0
  69. package/bin/lib/discussion-synthesizer.cjs +439 -0
  70. package/bin/lib/error-cache.cjs +114 -0
  71. package/bin/lib/error-registry.cjs +177 -0
  72. package/bin/lib/file-access.cjs +207 -0
  73. package/bin/lib/file-lock.cjs +236 -0
  74. package/bin/lib/finops/budget-enforcer.cjs +126 -0
  75. package/bin/lib/finops/cost-reporter.cjs +132 -0
  76. package/bin/lib/finops/finops-analyzer.cjs +112 -0
  77. package/bin/lib/finops/spot-manager.cjs +118 -0
  78. package/bin/lib/framework-detector.cjs +396 -0
  79. package/bin/lib/frontmatter.cjs +313 -0
  80. package/bin/lib/fs-utils.cjs +153 -0
  81. package/bin/lib/gate-executor.cjs +272 -0
  82. package/bin/lib/gates/README.md +374 -0
  83. package/bin/lib/gates/gate-01-requirement.cjs +303 -0
  84. package/bin/lib/gates/gate-02-architecture.cjs +555 -0
  85. package/bin/lib/gates/gate-03-code.cjs +635 -0
  86. package/bin/lib/gates/gate-04-security.cjs +829 -0
  87. package/bin/lib/git-errors.cjs +83 -0
  88. package/bin/lib/git-utils.cjs +321 -0
  89. package/bin/lib/git-workflow-engine.cjs +1157 -0
  90. package/bin/lib/health-check.cjs +227 -0
  91. package/bin/lib/index.cjs +279 -0
  92. package/bin/lib/init.cjs +725 -0
  93. package/bin/lib/lock-logger.cjs +194 -0
  94. package/bin/lib/lock-state.cjs +263 -0
  95. package/bin/lib/lockfile-validator.cjs +227 -0
  96. package/bin/lib/log-rotation.cjs +71 -0
  97. package/bin/lib/logger.cjs +125 -0
  98. package/bin/lib/memory-compression.cjs +256 -0
  99. package/bin/lib/milestone.cjs +247 -0
  100. package/bin/lib/model-provider.cjs +241 -0
  101. package/bin/lib/package-manager-detector.cjs +203 -0
  102. package/bin/lib/package-manager-executor.cjs +385 -0
  103. package/bin/lib/package-manager-service.cjs +216 -0
  104. package/bin/lib/perf/api-monitor.cjs +88 -0
  105. package/bin/lib/perf/db-optimizer.cjs +78 -0
  106. package/bin/lib/perf/frontend-performance.cjs +56 -0
  107. package/bin/lib/perf/perf-analyzer.cjs +77 -0
  108. package/bin/lib/perf/perf-baseline.cjs +102 -0
  109. package/bin/lib/perf/perf-reporter.cjs +117 -0
  110. package/bin/lib/perf/regression-detector.cjs +92 -0
  111. package/bin/lib/phase.cjs +963 -0
  112. package/bin/lib/planning-write.cjs +123 -0
  113. package/bin/lib/project-reporter.cjs +565 -0
  114. package/bin/lib/quality-gate.cjs +332 -0
  115. package/bin/lib/quality-metrics.cjs +324 -0
  116. package/bin/lib/recovery-manager.cjs +98 -0
  117. package/bin/lib/release-validator.cjs +617 -0
  118. package/bin/lib/retry.cjs +119 -0
  119. package/bin/lib/roadmap.cjs +309 -0
  120. package/bin/lib/safe-exec.cjs +173 -0
  121. package/bin/lib/safe-path.cjs +130 -0
  122. package/bin/lib/security-errors.cjs +62 -0
  123. package/bin/lib/session-chain.cjs +304 -0
  124. package/bin/lib/session-errors.cjs +81 -0
  125. package/bin/lib/session-export.cjs +251 -0
  126. package/bin/lib/session-import.cjs +262 -0
  127. package/bin/lib/session-manager.cjs +280 -0
  128. package/bin/lib/skill-context.cjs +148 -0
  129. package/bin/lib/skill-matcher.cjs +236 -0
  130. package/bin/lib/skill-registry.cjs +360 -0
  131. package/bin/lib/skill-resolver.cjs +449 -0
  132. package/bin/lib/skill-triggers.cjs +90 -0
  133. package/bin/lib/skill-validator.cjs +270 -0
  134. package/bin/lib/skill-versioning.cjs +355 -0
  135. package/bin/lib/stack-detector.cjs +399 -0
  136. package/bin/lib/state.cjs +736 -0
  137. package/bin/lib/tech-debt-analyzer.cjs +309 -0
  138. package/bin/lib/temp-file.cjs +239 -0
  139. package/bin/lib/template.cjs +223 -0
  140. package/bin/lib/test-file-lock.cjs +112 -0
  141. package/bin/lib/test-graceful.cjs +93 -0
  142. package/bin/lib/test-logger.cjs +60 -0
  143. package/bin/lib/test-safe-exec.cjs +38 -0
  144. package/bin/lib/test-safe-path.cjs +33 -0
  145. package/bin/lib/test-temp-file.cjs +125 -0
  146. package/bin/lib/tier-manager.cjs +428 -0
  147. package/bin/lib/timeout-exec.cjs +63 -0
  148. package/bin/lib/tradeoff-analyzer.cjs +284 -0
  149. package/bin/lib/url-fetch.cjs +170 -0
  150. package/bin/lib/verify.cjs +863 -0
  151. package/bin/update.js +217 -214
  152. package/commands/deploy.cjs +53 -0
  153. package/commands/ez/add-tests.md +41 -41
  154. package/commands/ez/audit-milestone.md +36 -36
  155. package/commands/ez/complete-milestone.md +136 -136
  156. package/commands/ez/discuss-phase.md +90 -90
  157. package/commands/ez/execute-phase.md +52 -41
  158. package/commands/ez/help.md +22 -22
  159. package/commands/ez/map-codebase.md +71 -71
  160. package/commands/ez/new-milestone.md +44 -44
  161. package/commands/ez/new-project.md +51 -42
  162. package/commands/ez/plan-phase.md +53 -45
  163. package/commands/ez/progress.md +36 -24
  164. package/commands/ez/quick.md +45 -45
  165. package/commands/ez/resume-work.md +40 -40
  166. package/commands/ez/run-phase.md +580 -0
  167. package/commands/ez/settings.md +36 -36
  168. package/commands/ez/update.md +37 -37
  169. package/commands/ez/verify-work.md +402 -38
  170. package/commands/health-check.cjs +44 -0
  171. package/commands/rollback.cjs +47 -0
  172. package/ez-agents/bin/ez-tools.cjs +1692 -716
  173. package/ez-agents/bin/guards/autonomy-guard.cjs +346 -0
  174. package/ez-agents/bin/guards/context-budget-guard.cjs +247 -0
  175. package/ez-agents/bin/guards/hallucination-guard.cjs +271 -0
  176. package/ez-agents/bin/guards/hidden-state-guard.cjs +182 -0
  177. package/ez-agents/bin/guards/team-overhead-guard.cjs +266 -0
  178. package/ez-agents/bin/guards/tool-sprawl-guard.cjs +271 -0
  179. package/ez-agents/bin/lib/analytics/analytics-collector.cjs +86 -0
  180. package/ez-agents/bin/lib/analytics/analytics-reporter.cjs +130 -0
  181. package/ez-agents/bin/lib/analytics/cohort-analyzer.cjs +138 -0
  182. package/ez-agents/bin/lib/analytics/funnel-analyzer.cjs +147 -0
  183. package/ez-agents/bin/lib/analytics/nps-tracker.cjs +147 -0
  184. package/ez-agents/bin/lib/archetype-detector.cjs +289 -0
  185. package/ez-agents/bin/lib/audit-exec.cjs +166 -167
  186. package/ez-agents/bin/lib/auth.cjs +176 -176
  187. package/ez-agents/bin/lib/backup-service.cjs +422 -0
  188. package/ez-agents/bin/lib/bdd-validator.cjs +622 -0
  189. package/ez-agents/bin/lib/business-flow-mapper.cjs +429 -0
  190. package/ez-agents/bin/lib/code-complexity-analyzer.cjs +360 -0
  191. package/ez-agents/bin/lib/codebase-analyzer.cjs +241 -0
  192. package/ez-agents/bin/lib/commands.cjs +685 -685
  193. package/ez-agents/bin/lib/config.cjs +41 -1
  194. package/ez-agents/bin/lib/constraint-extractor.cjs +526 -0
  195. package/ez-agents/bin/lib/content-scanner.cjs +238 -0
  196. package/ez-agents/bin/lib/context-cache.cjs +154 -0
  197. package/ez-agents/bin/lib/context-errors.cjs +71 -0
  198. package/ez-agents/bin/lib/context-manager.cjs +220 -0
  199. package/ez-agents/bin/lib/core.cjs +507 -512
  200. package/ez-agents/bin/lib/cost-tracker.cjs +243 -0
  201. package/ez-agents/bin/lib/crash-recovery.cjs +172 -0
  202. package/ez-agents/bin/lib/dependency-graph.cjs +319 -0
  203. package/ez-agents/bin/lib/deploy/deploy-audit-log.cjs +76 -0
  204. package/ez-agents/bin/lib/deploy/deploy-detector.cjs +69 -0
  205. package/ez-agents/bin/lib/deploy/deploy-env-manager.cjs +109 -0
  206. package/ez-agents/bin/lib/deploy/deploy-health-check.cjs +88 -0
  207. package/ez-agents/bin/lib/deploy/deploy-pre-flight.cjs +57 -0
  208. package/ez-agents/bin/lib/deploy/deploy-rollback.cjs +72 -0
  209. package/ez-agents/bin/lib/deploy/deploy-runner.cjs +97 -0
  210. package/ez-agents/bin/lib/deploy/deploy-status.cjs +74 -0
  211. package/ez-agents/bin/lib/discussion-synthesizer.cjs +458 -0
  212. package/ez-agents/bin/lib/file-access.cjs +207 -0
  213. package/ez-agents/bin/lib/finops/budget-enforcer.cjs +126 -0
  214. package/ez-agents/bin/lib/finops/cost-reporter.cjs +132 -0
  215. package/ez-agents/bin/lib/finops/finops-analyzer.cjs +112 -0
  216. package/ez-agents/bin/lib/finops/spot-manager.cjs +118 -0
  217. package/ez-agents/bin/lib/framework-detector.cjs +396 -0
  218. package/ez-agents/bin/lib/frontmatter.cjs +3 -1
  219. package/ez-agents/bin/lib/gates/README.md +374 -0
  220. package/ez-agents/bin/lib/gates/gate-01-requirement.cjs +303 -0
  221. package/ez-agents/bin/lib/gates/gate-02-architecture.cjs +555 -0
  222. package/ez-agents/bin/lib/gates/gate-03-code.cjs +635 -0
  223. package/ez-agents/bin/lib/gates/gate-04-security.cjs +829 -0
  224. package/ez-agents/bin/lib/git-errors.cjs +83 -0
  225. package/ez-agents/bin/lib/git-utils.cjs +118 -0
  226. package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -0
  227. package/ez-agents/bin/lib/health-check.cjs +162 -162
  228. package/ez-agents/bin/lib/index.cjs +40 -2
  229. package/ez-agents/bin/lib/init.cjs +0 -2
  230. package/ez-agents/bin/lib/lockfile-validator.cjs +227 -0
  231. package/ez-agents/bin/lib/log-rotation.cjs +71 -0
  232. package/ez-agents/bin/lib/logger.cjs +99 -154
  233. package/ez-agents/bin/lib/memory-compression.cjs +256 -0
  234. package/ez-agents/bin/lib/package-manager-detector.cjs +203 -0
  235. package/ez-agents/bin/lib/package-manager-executor.cjs +385 -0
  236. package/ez-agents/bin/lib/package-manager-service.cjs +216 -0
  237. package/ez-agents/bin/lib/perf/api-monitor.cjs +88 -0
  238. package/ez-agents/bin/lib/perf/db-optimizer.cjs +78 -0
  239. package/ez-agents/bin/lib/perf/frontend-performance.cjs +56 -0
  240. package/ez-agents/bin/lib/perf/perf-analyzer.cjs +77 -0
  241. package/ez-agents/bin/lib/perf/perf-baseline.cjs +102 -0
  242. package/ez-agents/bin/lib/perf/perf-reporter.cjs +117 -0
  243. package/ez-agents/bin/lib/perf/regression-detector.cjs +92 -0
  244. package/ez-agents/bin/lib/project-reporter.cjs +502 -0
  245. package/ez-agents/bin/lib/quality-gate.cjs +332 -0
  246. package/ez-agents/bin/lib/recovery-manager.cjs +98 -0
  247. package/ez-agents/bin/lib/release-validator.cjs +617 -0
  248. package/ez-agents/bin/lib/safe-exec.cjs +128 -214
  249. package/ez-agents/bin/lib/security-errors.cjs +62 -0
  250. package/ez-agents/bin/lib/session-chain.cjs +304 -0
  251. package/ez-agents/bin/lib/session-errors.cjs +81 -0
  252. package/ez-agents/bin/lib/session-export.cjs +251 -0
  253. package/ez-agents/bin/lib/session-import.cjs +262 -0
  254. package/ez-agents/bin/lib/session-manager.cjs +280 -0
  255. package/ez-agents/bin/lib/skill-context.cjs +148 -0
  256. package/ez-agents/bin/lib/skill-matcher.cjs +236 -0
  257. package/ez-agents/bin/lib/skill-registry.cjs +341 -0
  258. package/ez-agents/bin/lib/skill-resolver.cjs +449 -0
  259. package/ez-agents/bin/lib/skill-triggers.cjs +90 -0
  260. package/ez-agents/bin/lib/skill-validator.cjs +270 -0
  261. package/ez-agents/bin/lib/skill-versioning.cjs +355 -0
  262. package/ez-agents/bin/lib/stack-detector.cjs +399 -0
  263. package/ez-agents/bin/lib/tech-debt-analyzer.cjs +309 -0
  264. package/ez-agents/bin/lib/tier-manager.cjs +428 -0
  265. package/ez-agents/bin/lib/tradeoff-analyzer.cjs +284 -0
  266. package/ez-agents/bin/lib/url-fetch.cjs +170 -0
  267. package/ez-agents/bin/lib/verify.cjs +863 -863
  268. package/ez-agents/references/decimal-phase-calculation.md +65 -65
  269. package/ez-agents/references/git-integration.md +248 -248
  270. package/ez-agents/references/git-planning-commit.md +38 -38
  271. package/ez-agents/references/metrics-schema.md +118 -0
  272. package/ez-agents/references/model-profile-resolution.md +34 -34
  273. package/ez-agents/references/model-profiles.md +93 -93
  274. package/ez-agents/references/phase-argument-parsing.md +61 -61
  275. package/ez-agents/references/planning-config.md +340 -200
  276. package/ez-agents/references/tier-strategy.md +103 -0
  277. package/ez-agents/references/ui-brand.md +160 -160
  278. package/ez-agents/references/verification-patterns.md +612 -612
  279. package/ez-agents/templates/DEBUG.md +164 -164
  280. package/ez-agents/templates/UAT.md +247 -247
  281. package/ez-agents/templates/agent-output-format.md +404 -0
  282. package/ez-agents/templates/bdd-feature.md +173 -0
  283. package/ez-agents/templates/codebase/architecture.md +255 -255
  284. package/ez-agents/templates/codebase/structure.md +285 -285
  285. package/ez-agents/templates/copilot-instructions.md +7 -7
  286. package/ez-agents/templates/debug-subagent-prompt.md +91 -91
  287. package/ez-agents/templates/discovery.md +146 -146
  288. package/ez-agents/templates/discussion.md +68 -0
  289. package/ez-agents/templates/handoff-protocol.md +294 -0
  290. package/ez-agents/templates/incident-runbook.md +205 -0
  291. package/ez-agents/templates/mode-workflow-templates.md +301 -0
  292. package/ez-agents/templates/phase-prompt.md +610 -610
  293. package/ez-agents/templates/planner-subagent-prompt.md +117 -117
  294. package/ez-agents/templates/project.md +184 -184
  295. package/ez-agents/templates/release-checklist.md +136 -0
  296. package/ez-agents/templates/research.md +552 -552
  297. package/ez-agents/templates/rollback-plan.md +201 -0
  298. package/ez-agents/templates/security-user-setup.md +244 -0
  299. package/ez-agents/templates/skill-validation-rules.md +476 -0
  300. package/ez-agents/templates/state.md +180 -176
  301. package/ez-agents/templates/summary-complex.md +59 -59
  302. package/ez-agents/tests/gates/gate-01-02.test.cjs +812 -0
  303. package/ez-agents/tests/gates/gate-03-04.test.cjs +762 -0
  304. package/ez-agents/tests/gates/gate-05-validator.test.cjs +145 -0
  305. package/ez-agents/tests/gates/gate-06-docs-validator.test.cjs +244 -0
  306. package/ez-agents/tests/gates/gate-07-release-validator.test.cjs +219 -0
  307. package/ez-agents/tests/guards/context-budget-guard.test.cjs +145 -0
  308. package/ez-agents/tests/guards/edge-case-guards.test.cjs +238 -0
  309. package/ez-agents/tests/guards/hallucination-guard.test.cjs +124 -0
  310. package/ez-agents/workflows/audit-milestone.md +1 -1
  311. package/ez-agents/workflows/autonomous.md +131 -30
  312. package/ez-agents/workflows/complete-milestone.md +1 -1
  313. package/ez-agents/workflows/discuss-phase.md +1 -1
  314. package/ez-agents/workflows/execute-phase.md +169 -3
  315. package/ez-agents/workflows/help.md +86 -133
  316. package/ez-agents/workflows/hotfix.md +291 -0
  317. package/ez-agents/workflows/new-milestone.md +340 -11
  318. package/ez-agents/workflows/new-project.md +294 -318
  319. package/ez-agents/workflows/plan-phase.md +22 -40
  320. package/ez-agents/workflows/progress.md +15 -25
  321. package/ez-agents/workflows/release.md +253 -0
  322. package/ez-agents/workflows/resume-session.md +215 -0
  323. package/ez-agents/workflows/run-phase.md +531 -0
  324. package/ez-agents/workflows/settings.md +2 -35
  325. package/hooks/dist/ez-check-update.js +81 -81
  326. package/hooks/dist/ez-context-monitor.js +148 -141
  327. package/hooks/dist/ez-statusline.js +115 -115
  328. package/package.json +78 -64
  329. package/scripts/fix-qwen-installation.js +144 -144
  330. package/agents/ez-integration-checker.md +0 -443
  331. package/agents/ez-nyquist-auditor.md +0 -176
  332. package/agents/ez-plan-checker.md +0 -706
  333. package/agents/ez-research-synthesizer.md +0 -247
  334. package/agents/ez-ui-auditor.md +0 -439
  335. package/agents/ez-ui-checker.md +0 -300
  336. package/agents/ez-ui-researcher.md +0 -353
  337. package/commands/ez/add-phase.md +0 -43
  338. package/commands/ez/add-todo.md +0 -47
  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/health.md +0 -22
  345. package/commands/ez/insert-phase.md +0 -32
  346. package/commands/ez/join-discord.md +0 -18
  347. package/commands/ez/list-phase-assumptions.md +0 -46
  348. package/commands/ez/pause-work.md +0 -38
  349. package/commands/ez/plan-milestone-gaps.md +0 -34
  350. package/commands/ez/reapply-patches.md +0 -124
  351. package/commands/ez/remove-phase.md +0 -31
  352. package/commands/ez/research-phase.md +0 -190
  353. package/commands/ez/set-profile.md +0 -34
  354. package/commands/ez/stats.md +0 -18
  355. package/commands/ez/ui-phase.md +0 -34
  356. package/commands/ez/ui-review.md +0 -32
  357. package/commands/ez/validate-phase.md +0 -35
  358. package/ez-agents/templates/UI-SPEC.md +0 -100
  359. package/ez-agents/templates/VALIDATION.md +0 -76
  360. package/ez-agents/templates/context.md +0 -352
  361. package/ez-agents/templates/verification-report.md +0 -322
  362. package/ez-agents/workflows/research-phase.md +0 -74
  363. package/ez-agents/workflows/ui-phase.md +0 -290
  364. package/ez-agents/workflows/ui-review.md +0 -157
  365. package/ez-agents/workflows/validate-phase.md +0 -167
@@ -0,0 +1,227 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * EZ Health Check — Health monitoring for EZ workflow
5
+ *
6
+ * Validates EZ environment and configuration
7
+ * Used by workflows to detect failures and use fallback functions
8
+ *
9
+ * Usage:
10
+ * const HealthCheck = require('./health-check.cjs');
11
+ * const health = new HealthCheck();
12
+ * const result = health.runAll();
13
+ */
14
+
15
+ const fs = require('fs');
16
+ const path = require('path');
17
+
18
+ class HealthCheck {
19
+ /**
20
+ * Create a HealthCheck instance
21
+ */
22
+ constructor() {
23
+ this.issues = [];
24
+ this.warnings = [];
25
+ }
26
+
27
+ /**
28
+ * Check Node.js version (must be >= 16)
29
+ * @returns {boolean} - True if version is acceptable
30
+ */
31
+ checkNodeVersion() {
32
+ try {
33
+ const version = process.version;
34
+ const major = parseInt(version.slice(1).split('.')[0]);
35
+ if (major < 16) {
36
+ this.issues.push(`Node.js version ${version} is below required 16.x`);
37
+ return false;
38
+ }
39
+ return true;
40
+ } catch (err) {
41
+ this.issues.push('Cannot determine Node.js version');
42
+ return false;
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Check if .planning directory exists
48
+ * @returns {boolean} - True if exists
49
+ */
50
+ checkPlanningDirectory() {
51
+ const planningDir = '.planning';
52
+ if (!fs.existsSync(planningDir)) {
53
+ this.warnings.push('.planning directory does not exist');
54
+ return false;
55
+ }
56
+ return true;
57
+ }
58
+
59
+ /**
60
+ * Check if config.json exists and is valid JSON
61
+ * @returns {boolean} - True if exists and valid
62
+ */
63
+ checkConfigFile() {
64
+ const configPath = '.planning/config.json';
65
+ if (!fs.existsSync(configPath)) {
66
+ this.warnings.push('config.json not found');
67
+ return false;
68
+ }
69
+ try {
70
+ JSON.parse(fs.readFileSync(configPath, 'utf-8'));
71
+ return true;
72
+ } catch (err) {
73
+ this.issues.push('config.json is invalid JSON');
74
+ return false;
75
+ }
76
+ }
77
+
78
+ /**
79
+ * Check if STATE.md exists
80
+ * @returns {boolean} - True if exists
81
+ */
82
+ checkStateFile() {
83
+ const statePath = '.planning/STATE.md';
84
+ if (!fs.existsSync(statePath)) {
85
+ this.warnings.push('STATE.md not found');
86
+ return false;
87
+ }
88
+ return true;
89
+ }
90
+
91
+ /**
92
+ * Check if ROADMAP.md exists
93
+ * @returns {boolean} - True if exists
94
+ */
95
+ checkRoadmapFile() {
96
+ const roadmapPath = '.planning/ROADMAP.md';
97
+ if (!fs.existsSync(roadmapPath)) {
98
+ this.warnings.push('ROADMAP.md not found');
99
+ return false;
100
+ }
101
+ return true;
102
+ }
103
+
104
+ /**
105
+ * Check if PROJECT.md exists
106
+ * @returns {boolean} - True if exists
107
+ */
108
+ checkProjectFile() {
109
+ const projectPath = '.planning/PROJECT.md';
110
+ if (!fs.existsSync(projectPath)) {
111
+ this.warnings.push('PROJECT.md not found');
112
+ return false;
113
+ }
114
+ return true;
115
+ }
116
+
117
+ /**
118
+ * Check if REQUIREMENTS.md exists
119
+ * @returns {boolean} - True if exists
120
+ */
121
+ checkRequirementsFile() {
122
+ const reqPath = '.planning/REQUIREMENTS.md';
123
+ if (!fs.existsSync(reqPath)) {
124
+ this.warnings.push('REQUIREMENTS.md not found');
125
+ return false;
126
+ }
127
+ return true;
128
+ }
129
+
130
+ /**
131
+ * Check if git is available in PATH
132
+ * @returns {boolean} - True if git is available
133
+ */
134
+ checkGitAvailability() {
135
+ try {
136
+ const { execSync } = require('child_process');
137
+ execSync('git --version', { stdio: 'ignore', timeout: 5000 });
138
+ return true;
139
+ } catch (err) {
140
+ this.warnings.push('git is not available in PATH');
141
+ return false;
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Check if required API keys are configured
147
+ * @returns {Object} - { ok: boolean, missing: string[] }
148
+ */
149
+ checkApiKeys() {
150
+ const missing = [];
151
+ const requiredKeys = ['ANTHROPIC_API_KEY'];
152
+
153
+ for (const key of requiredKeys) {
154
+ if (!process.env[key]) {
155
+ // Also check ~/.ez/ directory
156
+ const homeDir = require('os').homedir();
157
+ const keyPath = path.join(homeDir, '.ez', key.toLowerCase().replace('_api_key', ''));
158
+ if (!fs.existsSync(keyPath)) {
159
+ missing.push(key);
160
+ }
161
+ }
162
+ }
163
+
164
+ if (missing.length > 0) {
165
+ return { ok: false, missing };
166
+ }
167
+ return { ok: true };
168
+ }
169
+
170
+ /**
171
+ * Check if npm dependencies are installed
172
+ * @returns {Object} - { ok: boolean, missing: string[] }
173
+ */
174
+ checkDependencies() {
175
+ const missing = [];
176
+ const requiredDeps = ['proper-lockfile', 'semver'];
177
+
178
+ for (const dep of requiredDeps) {
179
+ try {
180
+ require.resolve(dep);
181
+ } catch (err) {
182
+ missing.push(dep);
183
+ }
184
+ }
185
+
186
+ if (missing.length > 0) {
187
+ return { ok: false, missing };
188
+ }
189
+ return { ok: true };
190
+ }
191
+
192
+ /**
193
+ * Run all health checks
194
+ * @returns {Object} - Health status object
195
+ */
196
+ runAll() {
197
+ const results = {
198
+ status: 'healthy',
199
+ timestamp: new Date().toISOString(),
200
+ node_version: process.version,
201
+ checks: {
202
+ node_version: this.checkNodeVersion(),
203
+ planning_dir: this.checkPlanningDirectory(),
204
+ config_file: this.checkConfigFile(),
205
+ state_file: this.checkStateFile(),
206
+ roadmap_file: this.checkRoadmapFile(),
207
+ project_file: this.checkProjectFile(),
208
+ requirements_file: this.checkRequirementsFile(),
209
+ git: this.checkGitAvailability(),
210
+ api_keys: this.checkApiKeys(),
211
+ dependencies: this.checkDependencies()
212
+ },
213
+ issues: this.issues,
214
+ warnings: this.warnings
215
+ };
216
+
217
+ if (this.issues.length > 0) {
218
+ results.status = 'unhealthy';
219
+ } else if (this.warnings.length > 0) {
220
+ results.status = 'degraded';
221
+ }
222
+
223
+ return results;
224
+ }
225
+ }
226
+
227
+ module.exports = HealthCheck;
@@ -0,0 +1,279 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * EZ Lib Index — Central export for all EZ libraries
5
+ *
6
+ * Provides single import point for all utility modules.
7
+ *
8
+ * Usage:
9
+ * const lib = require('./index.cjs');
10
+ * const logger = new lib.Logger();
11
+ * const git = new lib.GitUtils(process.cwd());
12
+ */
13
+
14
+ const path = require('path');
15
+ const fs = require('fs');
16
+
17
+ // Core utilities
18
+ const Logger = require('./logger.cjs');
19
+ const LoggerInstance = new Logger();
20
+
21
+ // File system
22
+ const fsUtils = require('./fs-utils.cjs');
23
+
24
+ // Security
25
+ const safeExec = require('./safe-exec.cjs');
26
+ const safePath = require('./safe-path.cjs');
27
+ const auth = require('./auth.cjs');
28
+ const auditExec = require('./audit-exec.cjs');
29
+
30
+ // Git
31
+ const GitUtils = require('./git-utils.cjs');
32
+ const GitWorkflowEngine = require('./git-workflow-engine.cjs');
33
+ const GitErrors = require('./git-errors.cjs');
34
+
35
+ // Reliability
36
+ const retry = require('./retry.cjs');
37
+ const CircuitBreaker = require('./circuit-breaker.cjs');
38
+
39
+ // Concurrency
40
+ const fileLock = require('./file-lock.cjs');
41
+ const tempFile = require('./temp-file.cjs');
42
+
43
+ // Health & Testing
44
+ const healthCheck = require('./health-check.cjs');
45
+ const timeoutExec = require('./timeout-exec.cjs');
46
+
47
+ // Multi-model
48
+ const modelProvider = require('./model-provider.cjs');
49
+
50
+ // Adapters
51
+ const assistantAdapter = require('./assistant-adapter.cjs');
52
+
53
+ // Package Manager
54
+ const PackageManagerService = require('./package-manager-service.cjs');
55
+ const PackageManagerDetector = require('./package-manager-detector.cjs');
56
+ const PackageManagerExecutor = require('./package-manager-executor.cjs');
57
+ const LockfileValidator = require('./lockfile-validator.cjs');
58
+
59
+ // BDD & Requirements (Phase 30)
60
+ const bddValidator = require('./bdd-validator.cjs');
61
+
62
+ // Discussion Synthesis (Phase 31)
63
+ const discussionSynthesizer = require('./discussion-synthesizer.cjs');
64
+
65
+ // Tier Management & Release Validation (Phase 32-33)
66
+ const TierManager = require('./tier-manager.cjs');
67
+ const ReleaseValidator = require('./release-validator.cjs');
68
+
69
+ // Context Optimization (Phase 43)
70
+ const ContextRelevanceScorer = require('./context-relevance-scorer.cjs');
71
+ const ContextCompressor = require('./context-compressor.cjs');
72
+ const ContextDeduplicator = require('./context-deduplicator.cjs');
73
+ const ContextMetadataTracker = require('./context-metadata-tracker.cjs');
74
+ const ContextManager = require('./context-manager.cjs');
75
+
76
+ // Analytics
77
+ const AnalyticsCollector = require('./analytics/analytics-collector.cjs');
78
+ const AnalyticsReporter = require('./analytics/analytics-reporter.cjs');
79
+ const CohortAnalyzer = require('./analytics/cohort-analyzer.cjs');
80
+ const FunnelAnalyzer = require('./analytics/funnel-analyzer.cjs');
81
+ const NpsTracker = require('./analytics/nps-tracker.cjs');
82
+
83
+ // Deploy
84
+ const DeployAuditLog = require('./deploy/deploy-audit-log.cjs');
85
+ const DeployDetector = require('./deploy/deploy-detector.cjs');
86
+ const DeployEnvManager = require('./deploy/deploy-env-manager.cjs');
87
+ const DeployHealthCheck = require('./deploy/deploy-health-check.cjs');
88
+ const DeployPreFlight = require('./deploy/deploy-pre-flight.cjs');
89
+ const DeployRollback = require('./deploy/deploy-rollback.cjs');
90
+ const DeployRunner = require('./deploy/deploy-runner.cjs');
91
+ const DeployStatus = require('./deploy/deploy-status.cjs');
92
+
93
+ // FinOps
94
+ const BudgetEnforcer = require('./finops/budget-enforcer.cjs');
95
+ const CostReporter = require('./finops/cost-reporter.cjs');
96
+ const FinopsAnalyzer = require('./finops/finops-analyzer.cjs');
97
+ const SpotManager = require('./finops/spot-manager.cjs');
98
+
99
+ // Gates
100
+ const Gate01Requirement = require('./gates/gate-01-requirement.cjs');
101
+ const Gate02Architecture = require('./gates/gate-02-architecture.cjs');
102
+ const Gate03Code = require('./gates/gate-03-code.cjs');
103
+ const Gate04Security = require('./gates/gate-04-security.cjs');
104
+
105
+ // Perf
106
+ const ApiMonitor = require('./perf/api-monitor.cjs');
107
+ const DbOptimizer = require('./perf/db-optimizer.cjs');
108
+ const FrontendPerformance = require('./perf/frontend-performance.cjs');
109
+ const PerfAnalyzer = require('./perf/perf-analyzer.cjs');
110
+ const PerfBaseline = require('./perf/perf-baseline.cjs');
111
+ const PerfReporter = require('./perf/perf-reporter.cjs');
112
+ const RegressionDetector = require('./perf/regression-detector.cjs');
113
+
114
+ // Standalone analyzers
115
+ const ArchetypeDetector = require('./archetype-detector.cjs');
116
+ const BackupService = require('./backup-service.cjs');
117
+ const BusinessFlowMapper = require('./business-flow-mapper.cjs');
118
+ const CodeComplexityAnalyzer = require('./code-complexity-analyzer.cjs');
119
+ const CodebaseAnalyzer = require('./codebase-analyzer.cjs');
120
+ const ConstraintExtractor = require('./constraint-extractor.cjs');
121
+ const DependencyGraph = require('./dependency-graph.cjs');
122
+ const FrameworkDetector = require('./framework-detector.cjs');
123
+ const LogRotation = require('./log-rotation.cjs');
124
+ const RecoveryManager = require('./recovery-manager.cjs');
125
+ const SkillTriggers = require('./skill-triggers.cjs');
126
+ const SkillValidator = require('./skill-validator.cjs');
127
+ const SkillVersioning = require('./skill-versioning.cjs');
128
+ const StackDetector = require('./stack-detector.cjs');
129
+ const TechDebtAnalyzer = require('./tech-debt-analyzer.cjs');
130
+ const TradeoffAnalyzer = require('./tradeoff-analyzer.cjs');
131
+ const QualityGate = require('./quality-gate.cjs');
132
+
133
+ module.exports = {
134
+ // Core
135
+ Logger,
136
+ logger: LoggerInstance,
137
+
138
+ // File system
139
+ ...fsUtils,
140
+
141
+ // Security
142
+ ...safeExec,
143
+ ...safePath,
144
+ ...auth,
145
+ ...auditExec,
146
+
147
+ // Git
148
+ GitUtils,
149
+ GitWorkflowEngine,
150
+ GitErrors,
151
+
152
+ // Reliability
153
+ ...retry,
154
+ CircuitBreaker,
155
+
156
+ // Concurrency
157
+ ...fileLock,
158
+ ...tempFile,
159
+
160
+ // Health & Testing
161
+ ...healthCheck,
162
+ ...timeoutExec,
163
+
164
+ // Multi-model
165
+ ...modelProvider,
166
+
167
+ // Adapters
168
+ ...assistantAdapter,
169
+
170
+ // Package Manager
171
+ PackageManagerService,
172
+ PackageManagerDetector,
173
+ PackageManagerExecutor,
174
+ LockfileValidator,
175
+
176
+ // BDD & Requirements (Phase 30)
177
+ ...bddValidator,
178
+
179
+ // Discussion Synthesis (Phase 31)
180
+ ...discussionSynthesizer,
181
+
182
+ // Tier Management & Release (Phase 32-33)
183
+ TierManager,
184
+ ReleaseValidator,
185
+
186
+ // Context Optimization (Phase 43)
187
+ ContextRelevanceScorer,
188
+ ContextCompressor,
189
+ ContextDeduplicator,
190
+ ContextMetadataTracker,
191
+ ContextManager,
192
+
193
+ // Analytics
194
+ AnalyticsCollector,
195
+ AnalyticsReporter,
196
+ CohortAnalyzer,
197
+ FunnelAnalyzer,
198
+ NpsTracker,
199
+
200
+ // Deploy
201
+ DeployAuditLog,
202
+ DeployDetector,
203
+ DeployEnvManager,
204
+ DeployHealthCheck,
205
+ DeployPreFlight,
206
+ DeployRollback,
207
+ DeployRunner,
208
+ DeployStatus,
209
+
210
+ // FinOps
211
+ BudgetEnforcer,
212
+ CostReporter,
213
+ FinopsAnalyzer,
214
+ SpotManager,
215
+
216
+ // Gates
217
+ Gate01Requirement,
218
+ Gate02Architecture,
219
+ Gate03Code,
220
+ Gate04Security,
221
+
222
+ // Perf
223
+ ApiMonitor,
224
+ DbOptimizer,
225
+ FrontendPerformance,
226
+ PerfAnalyzer,
227
+ PerfBaseline,
228
+ PerfReporter,
229
+ RegressionDetector,
230
+
231
+ // Standalone analyzers
232
+ ArchetypeDetector,
233
+ BackupService,
234
+ BusinessFlowMapper,
235
+ CodeComplexityAnalyzer,
236
+ CodebaseAnalyzer,
237
+ ConstraintExtractor,
238
+ DependencyGraph,
239
+ FrameworkDetector,
240
+ LogRotation,
241
+ RecoveryManager,
242
+ SkillTriggers,
243
+ SkillValidator,
244
+ SkillVersioning,
245
+ StackDetector,
246
+ TechDebtAnalyzer,
247
+ TradeoffAnalyzer,
248
+ QualityGate,
249
+
250
+ // Version info
251
+ version: '3.0.0',
252
+
253
+ /**
254
+ * Get health status of all modules
255
+ */
256
+ getHealthStatus() {
257
+ return {
258
+ version: this.version,
259
+ nodeVersion: process.version,
260
+ platform: process.platform,
261
+ modules: {
262
+ logger: 'ok',
263
+ fsUtils: 'ok',
264
+ safeExec: 'ok',
265
+ safePath: 'ok',
266
+ auth: auth.isKeychainAvailable() ? 'keychain' : 'fallback',
267
+ gitUtils: 'ok',
268
+ gitWorkflowEngine: 'ok',
269
+ gitErrors: 'ok',
270
+ retry: 'ok',
271
+ circuitBreaker: 'ok',
272
+ fileLock: 'ok',
273
+ tempFile: 'ok',
274
+ modelProvider: 'ok',
275
+ assistantAdapter: 'ok'
276
+ }
277
+ };
278
+ }
279
+ };