@howlil/ez-agents 3.4.1 → 3.5.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 (162) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +84 -20
  3. package/agents/ez-observer-agent.md +260 -0
  4. package/agents/ez-release-agent.md +333 -0
  5. package/agents/ez-requirements-agent.md +377 -0
  6. package/agents/ez-scrum-master-agent.md +242 -0
  7. package/agents/ez-tech-lead-agent.md +267 -0
  8. package/bin/install.js +3221 -3230
  9. package/commands/ez/arch-review.md +102 -0
  10. package/commands/ez/execute-phase.md +11 -0
  11. package/commands/ez/export-session.md +79 -0
  12. package/commands/ez/gather-requirements.md +117 -0
  13. package/commands/ez/git-workflow.md +72 -0
  14. package/commands/ez/hotfix.md +120 -0
  15. package/commands/ez/import-session.md +82 -0
  16. package/commands/ez/join-discord.md +18 -18
  17. package/commands/ez/list-sessions.md +96 -0
  18. package/commands/ez/package-manager.md +316 -0
  19. package/commands/ez/plan-phase.md +9 -1
  20. package/commands/ez/preflight.md +79 -0
  21. package/commands/ez/progress.md +13 -1
  22. package/commands/ez/release.md +153 -0
  23. package/commands/ez/resume.md +107 -0
  24. package/commands/ez/standup.md +85 -0
  25. package/ez-agents/bin/ez-tools.cjs +1095 -716
  26. package/ez-agents/bin/lib/assistant-adapter.cjs +264 -264
  27. package/ez-agents/bin/lib/audit-exec.cjs +7 -2
  28. package/ez-agents/bin/lib/bdd-validator.cjs +622 -0
  29. package/ez-agents/bin/lib/circuit-breaker.cjs +118 -118
  30. package/ez-agents/bin/lib/config.cjs +190 -190
  31. package/ez-agents/bin/lib/content-scanner.cjs +238 -0
  32. package/ez-agents/bin/lib/context-cache.cjs +154 -0
  33. package/ez-agents/bin/lib/context-errors.cjs +71 -0
  34. package/ez-agents/bin/lib/context-manager.cjs +220 -0
  35. package/ez-agents/bin/lib/discussion-synthesizer.cjs +458 -0
  36. package/ez-agents/bin/lib/file-access.cjs +207 -0
  37. package/ez-agents/bin/lib/file-lock.cjs +236 -236
  38. package/ez-agents/bin/lib/frontmatter.cjs +299 -299
  39. package/ez-agents/bin/lib/fs-utils.cjs +153 -153
  40. package/ez-agents/bin/lib/git-errors.cjs +83 -0
  41. package/ez-agents/bin/lib/git-utils.cjs +118 -0
  42. package/ez-agents/bin/lib/git-workflow-engine.cjs +1157 -0
  43. package/ez-agents/bin/lib/index.cjs +157 -113
  44. package/ez-agents/bin/lib/init.cjs +757 -757
  45. package/ez-agents/bin/lib/lockfile-validator.cjs +227 -0
  46. package/ez-agents/bin/lib/logger.cjs +124 -124
  47. package/ez-agents/bin/lib/memory-compression.cjs +256 -0
  48. package/ez-agents/bin/lib/metrics-tracker.cjs +406 -0
  49. package/ez-agents/bin/lib/milestone.cjs +241 -241
  50. package/ez-agents/bin/lib/model-provider.cjs +241 -241
  51. package/ez-agents/bin/lib/package-manager-detector.cjs +203 -0
  52. package/ez-agents/bin/lib/package-manager-executor.cjs +385 -0
  53. package/ez-agents/bin/lib/package-manager-service.cjs +216 -0
  54. package/ez-agents/bin/lib/phase.cjs +925 -925
  55. package/ez-agents/bin/lib/planning-write.cjs +107 -107
  56. package/ez-agents/bin/lib/release-validator.cjs +614 -0
  57. package/ez-agents/bin/lib/retry.cjs +119 -119
  58. package/ez-agents/bin/lib/roadmap.cjs +306 -306
  59. package/ez-agents/bin/lib/safe-exec.cjs +128 -128
  60. package/ez-agents/bin/lib/safe-path.cjs +130 -130
  61. package/ez-agents/bin/lib/session-chain.cjs +304 -0
  62. package/ez-agents/bin/lib/session-errors.cjs +81 -0
  63. package/ez-agents/bin/lib/session-export.cjs +251 -0
  64. package/ez-agents/bin/lib/session-import.cjs +262 -0
  65. package/ez-agents/bin/lib/session-manager.cjs +280 -0
  66. package/ez-agents/bin/lib/state.cjs +736 -736
  67. package/ez-agents/bin/lib/temp-file.cjs +239 -239
  68. package/ez-agents/bin/lib/template.cjs +223 -223
  69. package/ez-agents/bin/lib/test-file-lock.cjs +112 -112
  70. package/ez-agents/bin/lib/test-graceful.cjs +93 -93
  71. package/ez-agents/bin/lib/test-logger.cjs +60 -60
  72. package/ez-agents/bin/lib/test-safe-exec.cjs +38 -38
  73. package/ez-agents/bin/lib/test-safe-path.cjs +33 -33
  74. package/ez-agents/bin/lib/test-temp-file.cjs +125 -125
  75. package/ez-agents/bin/lib/tier-manager.cjs +428 -0
  76. package/ez-agents/bin/lib/timeout-exec.cjs +63 -63
  77. package/ez-agents/bin/lib/url-fetch.cjs +170 -0
  78. package/ez-agents/bin/lib/verify.cjs +15 -1
  79. package/ez-agents/references/checkpoints.md +776 -776
  80. package/ez-agents/references/continuation-format.md +249 -249
  81. package/ez-agents/references/metrics-schema.md +118 -0
  82. package/ez-agents/references/planning-config.md +140 -0
  83. package/ez-agents/references/questioning.md +162 -162
  84. package/ez-agents/references/tdd.md +263 -263
  85. package/ez-agents/references/tier-strategy.md +103 -0
  86. package/ez-agents/templates/bdd-feature.md +173 -0
  87. package/ez-agents/templates/codebase/concerns.md +310 -310
  88. package/ez-agents/templates/codebase/conventions.md +307 -307
  89. package/ez-agents/templates/codebase/integrations.md +280 -280
  90. package/ez-agents/templates/codebase/stack.md +186 -186
  91. package/ez-agents/templates/codebase/testing.md +480 -480
  92. package/ez-agents/templates/config.json +37 -37
  93. package/ez-agents/templates/continue-here.md +78 -78
  94. package/ez-agents/templates/discussion.md +68 -0
  95. package/ez-agents/templates/incident-runbook.md +205 -0
  96. package/ez-agents/templates/milestone-archive.md +123 -123
  97. package/ez-agents/templates/milestone.md +115 -115
  98. package/ez-agents/templates/release-checklist.md +133 -0
  99. package/ez-agents/templates/requirements.md +231 -231
  100. package/ez-agents/templates/research-project/ARCHITECTURE.md +204 -204
  101. package/ez-agents/templates/research-project/FEATURES.md +147 -147
  102. package/ez-agents/templates/research-project/PITFALLS.md +200 -200
  103. package/ez-agents/templates/research-project/STACK.md +120 -120
  104. package/ez-agents/templates/research-project/SUMMARY.md +170 -170
  105. package/ez-agents/templates/retrospective.md +54 -54
  106. package/ez-agents/templates/roadmap.md +202 -202
  107. package/ez-agents/templates/rollback-plan.md +201 -0
  108. package/ez-agents/templates/summary-minimal.md +41 -41
  109. package/ez-agents/templates/summary-standard.md +48 -48
  110. package/ez-agents/templates/summary.md +248 -248
  111. package/ez-agents/templates/user-setup.md +311 -311
  112. package/ez-agents/templates/verification-report.md +322 -322
  113. package/ez-agents/workflows/add-phase.md +112 -112
  114. package/ez-agents/workflows/add-tests.md +351 -351
  115. package/ez-agents/workflows/add-todo.md +158 -158
  116. package/ez-agents/workflows/arch-review.md +54 -0
  117. package/ez-agents/workflows/audit-milestone.md +332 -332
  118. package/ez-agents/workflows/autonomous.md +131 -30
  119. package/ez-agents/workflows/check-todos.md +177 -177
  120. package/ez-agents/workflows/cleanup.md +152 -152
  121. package/ez-agents/workflows/complete-milestone.md +766 -766
  122. package/ez-agents/workflows/diagnose-issues.md +219 -219
  123. package/ez-agents/workflows/discovery-phase.md +289 -289
  124. package/ez-agents/workflows/discuss-phase.md +762 -762
  125. package/ez-agents/workflows/execute-phase.md +513 -468
  126. package/ez-agents/workflows/execute-plan.md +483 -483
  127. package/ez-agents/workflows/export-session.md +255 -0
  128. package/ez-agents/workflows/gather-requirements.md +206 -0
  129. package/ez-agents/workflows/health.md +159 -159
  130. package/ez-agents/workflows/help.md +584 -492
  131. package/ez-agents/workflows/hotfix.md +291 -0
  132. package/ez-agents/workflows/import-session.md +303 -0
  133. package/ez-agents/workflows/insert-phase.md +130 -130
  134. package/ez-agents/workflows/list-phase-assumptions.md +178 -178
  135. package/ez-agents/workflows/map-codebase.md +316 -316
  136. package/ez-agents/workflows/new-milestone.md +339 -10
  137. package/ez-agents/workflows/new-project.md +293 -299
  138. package/ez-agents/workflows/node-repair.md +92 -92
  139. package/ez-agents/workflows/pause-work.md +122 -122
  140. package/ez-agents/workflows/plan-milestone-gaps.md +274 -274
  141. package/ez-agents/workflows/plan-phase.md +673 -651
  142. package/ez-agents/workflows/progress.md +372 -382
  143. package/ez-agents/workflows/quick.md +610 -610
  144. package/ez-agents/workflows/release.md +253 -0
  145. package/ez-agents/workflows/remove-phase.md +155 -155
  146. package/ez-agents/workflows/research-phase.md +74 -74
  147. package/ez-agents/workflows/resume-project.md +307 -307
  148. package/ez-agents/workflows/resume-session.md +215 -0
  149. package/ez-agents/workflows/set-profile.md +81 -81
  150. package/ez-agents/workflows/settings.md +242 -242
  151. package/ez-agents/workflows/standup.md +64 -0
  152. package/ez-agents/workflows/stats.md +57 -57
  153. package/ez-agents/workflows/transition.md +544 -544
  154. package/ez-agents/workflows/ui-phase.md +290 -290
  155. package/ez-agents/workflows/ui-review.md +157 -157
  156. package/ez-agents/workflows/update.md +320 -320
  157. package/ez-agents/workflows/validate-phase.md +167 -167
  158. package/ez-agents/workflows/verify-phase.md +243 -243
  159. package/ez-agents/workflows/verify-work.md +584 -584
  160. package/package.json +10 -4
  161. package/scripts/build-hooks.js +43 -43
  162. package/scripts/run-tests.cjs +29 -29
@@ -0,0 +1,173 @@
1
+ # BDD Feature File Template
2
+
3
+ Use this template when creating `.feature` files for a phase.
4
+
5
+ Replace `{placeholders}` with actual content.
6
+
7
+ ---
8
+
9
+ ```gherkin
10
+ # specs/features/{domain}/{feature-name}.feature
11
+ #
12
+ # Feature: {feature-name}
13
+ # Phase: {phase-number} — {phase-name}
14
+ # MoSCoW: @must | @should | @could | @wont
15
+ # Tier: @mvp | @medium | @enterprise
16
+ #
17
+ # Requirements: {REQ-IDs this feature satisfies}
18
+
19
+ Feature: {Feature Name}
20
+ As a {user role}
21
+ I want to {action/capability}
22
+ So that {benefit/value delivered}
23
+
24
+ # Background sets up shared preconditions for all scenarios in this Feature.
25
+ # Remove if no shared setup needed.
26
+ Background:
27
+ Given {shared precondition 1}
28
+ And {shared precondition 2}
29
+
30
+ # ─────────────────────────────────────────────
31
+ # MUST — Required for MVP (phase gate)
32
+ # ─────────────────────────────────────────────
33
+
34
+ @must @mvp
35
+ Scenario: {Happy path — primary success case}
36
+ Given {initial context / system state}
37
+ When {user performs action}
38
+ Then {expected outcome}
39
+ And {additional assertion}
40
+
41
+ @must @mvp
42
+ Scenario: {Primary error case}
43
+ Given {initial context}
44
+ When {user performs invalid action}
45
+ Then {expected error response}
46
+ And {system remains in valid state}
47
+
48
+ # ─────────────────────────────────────────────
49
+ # SHOULD — Target for medium tier release
50
+ # ─────────────────────────────────────────────
51
+
52
+ @should @medium
53
+ Scenario: {Secondary success case or edge case}
54
+ Given {context}
55
+ When {action}
56
+ Then {outcome}
57
+
58
+ @should @medium
59
+ Scenario: {Error recovery or retry flow}
60
+ Given {context where partial failure occurred}
61
+ When {user attempts recovery}
62
+ Then {system handles gracefully}
63
+
64
+ # ─────────────────────────────────────────────
65
+ # COULD — Nice-to-have for enterprise tier
66
+ # ─────────────────────────────────────────────
67
+
68
+ @could @enterprise
69
+ Scenario: {Advanced or compliance feature}
70
+ Given {enterprise context}
71
+ When {action}
72
+ Then {enterprise-specific outcome}
73
+
74
+ # ─────────────────────────────────────────────
75
+ # WONT — Explicitly deferred (document reasons)
76
+ # ─────────────────────────────────────────────
77
+ # @wont — SSO integration: deferred to Phase XX, depends on identity provider decision
78
+ # @wont — Biometric auth: deferred — mobile-only feature, out of scope for web
79
+ ```
80
+
81
+ ---
82
+
83
+ ## Scenario Writing Guide
84
+
85
+ ### Given (Precondition)
86
+ Sets up the world before the action. Should be:
87
+ - Specific: "Given a user exists with email test@example.com" not "Given a user exists"
88
+ - Minimal: Only include context relevant to this scenario
89
+ - Reusable: Use Background for context shared by all scenarios
90
+
91
+ ```gherkin
92
+ # Good
93
+ Given a registered user with email "alice@example.com" exists
94
+ And the user's account is in "active" status
95
+
96
+ # Bad (too vague)
97
+ Given there is a user
98
+ ```
99
+
100
+ ### When (Action)
101
+ The single event being tested. Rules:
102
+ - One action per scenario (split if multiple)
103
+ - Active voice: "When I submit the form" not "When the form is submitted"
104
+ - From user's perspective
105
+
106
+ ```gherkin
107
+ # Good
108
+ When I submit the login form with email "alice@example.com" and password "secret123"
109
+
110
+ # Bad (multiple actions)
111
+ When I fill in the form and click submit and wait for response
112
+ ```
113
+
114
+ ### Then (Outcome)
115
+ Observable, verifiable result. Must be:
116
+ - Testable: Can be automated
117
+ - Specific: Exact values, not "something happens"
118
+ - From user's perspective
119
+
120
+ ```gherkin
121
+ # Good
122
+ Then I am redirected to "/dashboard"
123
+ And the page title contains "Welcome, Alice"
124
+ And a session cookie named "ez_session" is present
125
+
126
+ # Bad (subjective)
127
+ Then it works correctly
128
+ And the user is happy
129
+ ```
130
+
131
+ ### And / But
132
+ - `And` — continues the clause type (Given+And, When+And, Then+And)
133
+ - `But` — negative assertion ("But I should not see...")
134
+
135
+ ---
136
+
137
+ ## MoSCoW Quick Reference
138
+
139
+ | Tag | When to Use | Tier |
140
+ |-----|-------------|------|
141
+ | `@must` | System is broken/unusable without it | `@mvp` |
142
+ | `@should` | Important but workaround exists | `@medium` |
143
+ | `@could` | Enhances experience but not critical | `@enterprise` |
144
+ | `@wont` | Explicitly out of scope (document why) | — |
145
+
146
+ ---
147
+
148
+ ## File Naming Convention
149
+
150
+ ```
151
+ specs/
152
+ features/
153
+ {domain}/
154
+ {feature-name}.feature # e.g., auth/login.feature
155
+ {feature-name}.feature # e.g., auth/registration.feature
156
+ {domain2}/
157
+ {feature-name}.feature
158
+ ```
159
+
160
+ Domain examples: `auth`, `payments`, `dashboard`, `onboarding`, `settings`, `api`
161
+
162
+ ---
163
+
164
+ ## INVEST Checklist
165
+
166
+ Before finalizing a Feature, verify all scenarios as a group:
167
+
168
+ - [ ] **Independent**: Feature can be developed without dependency on other features in this file
169
+ - [ ] **Negotiable**: Implementation details (not described in Then) are flexible
170
+ - [ ] **Valuable**: The Feature statement explains clear user value
171
+ - [ ] **Estimable**: A developer can estimate effort from these scenarios
172
+ - [ ] **Small**: All @must scenarios fit in one phase (split if more than ~8 must scenarios)
173
+ - [ ] **Testable**: Every Then clause can be automated