@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,215 +1,215 @@
1
- # Workflow: resume-session
2
-
3
- **Purpose:** Resume work from a previous session with full context restoration
4
-
5
- **Related Commands:** `/ez:resume`
6
-
7
- ---
8
-
9
- ## Workflow Steps
10
-
11
- ### 1. Load and Validate Session
12
-
13
- ```
14
- SessionManager mgr = new SessionManager();
15
- Session session = sessionId ? mgr.loadSession(sessionId) : mgr.getLastSession();
16
-
17
- if (!session) {
18
- output("No previous sessions found. Start a new session with your work.");
19
- exit;
20
- }
21
-
22
- logger.info('Resuming session', { sessionId: session.metadata.session_id });
23
- ```
24
-
25
- ### 2. Compare with Current State
26
-
27
- ```
28
- Load current STATE.md
29
- Extract current phase, plan, incomplete tasks from STATE.md
30
-
31
- sessionPhase = session.state.current_phase
32
- sessionPlan = session.state.current_plan
33
- statePhase = STATE.md.current_phase
34
- statePlan = STATE.md.current_plan
35
-
36
- needsReconciliation = (sessionPhase !== statePhase) || (sessionPlan !== statePlan)
37
- ```
38
-
39
- ### 3. If Reconciliation Needed
40
-
41
- **Display Warning:**
42
- ```
43
- ⚠️ Session state differs from current project state
44
-
45
- Session shows:
46
- - Phase: {session.state.current_phase}
47
- - Plan: {session.state.current_plan}
48
-
49
- Current STATE.md shows:
50
- - Phase: {state.current_phase}
51
- - Plan: {state.current_plan}
52
- ```
53
-
54
- **Offer Options:**
55
- ```
56
- How would you like to reconcile?
57
-
58
- 1. Use session state (overwrite STATE.md)
59
- 2. Use current state (ignore session state)
60
- 3. Manual review (show both, let user decide)
61
- ```
62
-
63
- **Handle Choice:**
64
- - "1": Update STATE.md with session.state values
65
- - "2": Keep STATE.md unchanged, use session context only
66
- - "3": Show side-by-side comparison, let user edit
67
-
68
- ### 4. Load Context
69
-
70
- ```
71
- // Load recent transcript for context
72
- transcript = session.context.transcript
73
- if (Array.isArray(transcript)) {
74
- recentMessages = transcript.slice(-20) // Last 20 messages
75
- }
76
-
77
- // Load tasks
78
- completedTasks = session.context.tasks.filter(t => t.status === 'completed')
79
- incompleteTasks = session.state.incomplete_tasks
80
-
81
- // Load decisions
82
- decisions = session.context.decisions
83
-
84
- // Load file changes
85
- fileChanges = session.context.file_changes
86
- ```
87
-
88
- ### 5. Update STATE.md
89
-
90
- ```
91
- ez-tools state record-session \
92
- --stopped-at "{session.state.last_action}" \
93
- --resume-file "{session.metadata.session_id}"
94
-
95
- // Update phase/plan if using session state
96
- if (useSessionState) {
97
- ez-tools state update "Current Phase" "{session.metadata.phase}"
98
- ez-tools state update "Current Plan" "{session.metadata.plan}"
99
- }
100
- ```
101
-
102
- ### 6. Prepare for Continuation
103
-
104
- ```
105
- // Identify incomplete work
106
- incompleteTasks = session.state.incomplete_tasks || []
107
-
108
- // Identify next action
109
- nextAction = session.state.next_recommended_action
110
-
111
- // Load relevant files
112
- if (session.metadata.phase && session.metadata.plan) {
113
- planFile = `.planning/phases/${session.metadata.phase}/.../${session.metadata.plan}-PLAN.md`
114
- summaryFile = `.planning/phases/${session.metadata.phase}/.../${session.metadata.plan}-PLAN-SUMMARY.md`
115
-
116
- if (fileExists(planFile)) {
117
- loadFile(planFile)
118
- }
119
- }
120
-
121
- // Load incomplete task files
122
- for (task of incompleteTasks) {
123
- if (task.file) {
124
- loadFile(task.file)
125
- }
126
- }
127
- ```
128
-
129
- ### 7. Output Resumption Confirmation
130
-
131
- ```
132
- ╔══════════════════════════════════════════════════════════════╗
133
- ║ SESSION RESUMED ║
134
- ╠══════════════════════════════════════════════════════════════╣
135
- ║ Session: {session.metadata.session_id} ║
136
- ║ Phase: {session.metadata.phase} ║
137
- ║ Plan: {session.metadata.plan} ║
138
- ║ Next action: {session.state.next_recommended_action} ║
139
- ╚══════════════════════════════════════════════════════════════╝
140
-
141
- Context loaded:
142
- - {incompleteTasks.length} incomplete tasks
143
- - {decisions.length} decisions recorded
144
- - {fileChanges.length} file changes
145
-
146
- Ready to continue. What would you like to do?
147
-
148
- 1. Continue with recommended action
149
- 2. Review incomplete tasks
150
- 3. View session transcript
151
- 4. Something else
152
- ```
153
-
154
- ---
155
-
156
- ## Error Handling
157
-
158
- ### Session Not Found
159
- ```
160
- if (!session) {
161
- output(`Session not found: ${sessionId}`);
162
- output("Use /ez:list-sessions to see available sessions.");
163
- exit;
164
- }
165
- ```
166
-
167
- ### Corrupted Session File
168
- ```
169
- try {
170
- session = JSON.parse(content);
171
- } catch (err) {
172
- logger.error('Corrupted session file', { sessionId, error: err.message });
173
- output(`Error: Session file is corrupted: ${sessionId}`);
174
- output("Consider deleting the file or contacting support.");
175
- exit;
176
- }
177
- ```
178
-
179
- ### Broken Chain Links
180
- ```
181
- if (session.metadata.session_chain) {
182
- for (chainId of session.metadata.session_chain) {
183
- if (!mgr.loadSession(chainId)) {
184
- warnings.push(`Missing linked session: ${chainId}`);
185
- }
186
- }
187
-
188
- if (warnings.length > 0) {
189
- output("⚠️ Session chain has broken links:");
190
- for (warning of warnings) {
191
- output(` - ${warning}`);
192
- }
193
- }
194
- }
195
- ```
196
-
197
- ---
198
-
199
- ## State Transitions
200
-
201
- **Before:** Session ended, STATE.md shows stopped state
202
-
203
- **After:** Session resumed, STATE.md updated with:
204
- - `Last session`: Current timestamp
205
- - `Resume file`: Session ID
206
- - `Stopped at`: Last action from session
207
-
208
- ---
209
-
210
- ## Related Files
211
-
212
- - `ez-agents/bin/lib/session-manager.cjs` - Session loading
213
- - `ez-agents/bin/lib/session-chain.cjs` - Chain navigation
214
- - `ez-agents/bin/lib/state.cjs` - STATE.md updates
215
- - `.planning/sessions/` - Session storage directory
1
+ # Workflow: resume-session
2
+
3
+ **Purpose:** Resume work from a previous session with full context restoration
4
+
5
+ **Related Commands:** `/ez:resume`
6
+
7
+ ---
8
+
9
+ ## Workflow Steps
10
+
11
+ ### 1. Load and Validate Session
12
+
13
+ ```
14
+ SessionManager mgr = new SessionManager();
15
+ Session session = sessionId ? mgr.loadSession(sessionId) : mgr.getLastSession();
16
+
17
+ if (!session) {
18
+ output("No previous sessions found. Start a new session with your work.");
19
+ exit;
20
+ }
21
+
22
+ logger.info('Resuming session', { sessionId: session.metadata.session_id });
23
+ ```
24
+
25
+ ### 2. Compare with Current State
26
+
27
+ ```
28
+ Load current STATE.md
29
+ Extract current phase, plan, incomplete tasks from STATE.md
30
+
31
+ sessionPhase = session.state.current_phase
32
+ sessionPlan = session.state.current_plan
33
+ statePhase = STATE.md.current_phase
34
+ statePlan = STATE.md.current_plan
35
+
36
+ needsReconciliation = (sessionPhase !== statePhase) || (sessionPlan !== statePlan)
37
+ ```
38
+
39
+ ### 3. If Reconciliation Needed
40
+
41
+ **Display Warning:**
42
+ ```
43
+ ⚠️ Session state differs from current project state
44
+
45
+ Session shows:
46
+ - Phase: {session.state.current_phase}
47
+ - Plan: {session.state.current_plan}
48
+
49
+ Current STATE.md shows:
50
+ - Phase: {state.current_phase}
51
+ - Plan: {state.current_plan}
52
+ ```
53
+
54
+ **Offer Options:**
55
+ ```
56
+ How would you like to reconcile?
57
+
58
+ 1. Use session state (overwrite STATE.md)
59
+ 2. Use current state (ignore session state)
60
+ 3. Manual review (show both, let user decide)
61
+ ```
62
+
63
+ **Handle Choice:**
64
+ - "1": Update STATE.md with session.state values
65
+ - "2": Keep STATE.md unchanged, use session context only
66
+ - "3": Show side-by-side comparison, let user edit
67
+
68
+ ### 4. Load Context
69
+
70
+ ```
71
+ // Load recent transcript for context
72
+ transcript = session.context.transcript
73
+ if (Array.isArray(transcript)) {
74
+ recentMessages = transcript.slice(-20) // Last 20 messages
75
+ }
76
+
77
+ // Load tasks
78
+ completedTasks = session.context.tasks.filter(t => t.status === 'completed')
79
+ incompleteTasks = session.state.incomplete_tasks
80
+
81
+ // Load decisions
82
+ decisions = session.context.decisions
83
+
84
+ // Load file changes
85
+ fileChanges = session.context.file_changes
86
+ ```
87
+
88
+ ### 5. Update STATE.md
89
+
90
+ ```
91
+ ez-tools state record-session \
92
+ --stopped-at "{session.state.last_action}" \
93
+ --resume-file "{session.metadata.session_id}"
94
+
95
+ // Update phase/plan if using session state
96
+ if (useSessionState) {
97
+ ez-tools state update "Current Phase" "{session.metadata.phase}"
98
+ ez-tools state update "Current Plan" "{session.metadata.plan}"
99
+ }
100
+ ```
101
+
102
+ ### 6. Prepare for Continuation
103
+
104
+ ```
105
+ // Identify incomplete work
106
+ incompleteTasks = session.state.incomplete_tasks || []
107
+
108
+ // Identify next action
109
+ nextAction = session.state.next_recommended_action
110
+
111
+ // Load relevant files
112
+ if (session.metadata.phase && session.metadata.plan) {
113
+ planFile = `.planning/phases/${session.metadata.phase}/.../${session.metadata.plan}-PLAN.md`
114
+ summaryFile = `.planning/phases/${session.metadata.phase}/.../${session.metadata.plan}-PLAN-SUMMARY.md`
115
+
116
+ if (fileExists(planFile)) {
117
+ loadFile(planFile)
118
+ }
119
+ }
120
+
121
+ // Load incomplete task files
122
+ for (task of incompleteTasks) {
123
+ if (task.file) {
124
+ loadFile(task.file)
125
+ }
126
+ }
127
+ ```
128
+
129
+ ### 7. Output Resumption Confirmation
130
+
131
+ ```
132
+ ╔══════════════════════════════════════════════════════════════╗
133
+ ║ SESSION RESUMED ║
134
+ ╠══════════════════════════════════════════════════════════════╣
135
+ ║ Session: {session.metadata.session_id} ║
136
+ ║ Phase: {session.metadata.phase} ║
137
+ ║ Plan: {session.metadata.plan} ║
138
+ ║ Next action: {session.state.next_recommended_action} ║
139
+ ╚══════════════════════════════════════════════════════════════╝
140
+
141
+ Context loaded:
142
+ - {incompleteTasks.length} incomplete tasks
143
+ - {decisions.length} decisions recorded
144
+ - {fileChanges.length} file changes
145
+
146
+ Ready to continue. What would you like to do?
147
+
148
+ 1. Continue with recommended action
149
+ 2. Review incomplete tasks
150
+ 3. View session transcript
151
+ 4. Something else
152
+ ```
153
+
154
+ ---
155
+
156
+ ## Error Handling
157
+
158
+ ### Session Not Found
159
+ ```
160
+ if (!session) {
161
+ output(`Session not found: ${sessionId}`);
162
+ output("Use /ez:list-sessions to see available sessions.");
163
+ exit;
164
+ }
165
+ ```
166
+
167
+ ### Corrupted Session File
168
+ ```
169
+ try {
170
+ session = JSON.parse(content);
171
+ } catch (err) {
172
+ logger.error('Corrupted session file', { sessionId, error: err.message });
173
+ output(`Error: Session file is corrupted: ${sessionId}`);
174
+ output("Consider deleting the file or contacting support.");
175
+ exit;
176
+ }
177
+ ```
178
+
179
+ ### Broken Chain Links
180
+ ```
181
+ if (session.metadata.session_chain) {
182
+ for (chainId of session.metadata.session_chain) {
183
+ if (!mgr.loadSession(chainId)) {
184
+ warnings.push(`Missing linked session: ${chainId}`);
185
+ }
186
+ }
187
+
188
+ if (warnings.length > 0) {
189
+ output("⚠️ Session chain has broken links:");
190
+ for (warning of warnings) {
191
+ output(` - ${warning}`);
192
+ }
193
+ }
194
+ }
195
+ ```
196
+
197
+ ---
198
+
199
+ ## State Transitions
200
+
201
+ **Before:** Session ended, STATE.md shows stopped state
202
+
203
+ **After:** Session resumed, STATE.md updated with:
204
+ - `Last session`: Current timestamp
205
+ - `Resume file`: Session ID
206
+ - `Stopped at`: Last action from session
207
+
208
+ ---
209
+
210
+ ## Related Files
211
+
212
+ - `ez-agents/bin/lib/session-manager.cjs` - Session loading
213
+ - `ez-agents/bin/lib/session-chain.cjs` - Chain navigation
214
+ - `ez-agents/bin/lib/state.cjs` - STATE.md updates
215
+ - `.planning/sessions/` - Session storage directory