@evolith/smart-cli 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/ARCHITECTURE.md +1 -1
  2. package/LICENSE +21 -0
  3. package/README.es.md +31 -3
  4. package/README.md +915 -170
  5. package/package.json +50 -41
  6. package/shell/hooks.bash +68 -0
  7. package/shell/hooks.fish +57 -0
  8. package/shell/hooks.zsh +68 -0
  9. package/dist/app.module.d.ts +0 -2
  10. package/dist/app.module.js +0 -61
  11. package/dist/app.module.js.map +0 -1
  12. package/dist/app.module.spec.d.ts +0 -1
  13. package/dist/app.module.spec.js +0 -305
  14. package/dist/app.module.spec.js.map +0 -1
  15. package/dist/application/ports/webhook-notifier.port.d.ts +0 -4
  16. package/dist/application/ports/webhook-notifier.port.js +0 -3
  17. package/dist/application/ports/webhook-notifier.port.js.map +0 -1
  18. package/dist/application/services/index.d.ts +0 -64
  19. package/dist/application/services/index.js +0 -371
  20. package/dist/application/services/index.js.map +0 -1
  21. package/dist/application/services/initialize-project.spec.d.ts +0 -1
  22. package/dist/application/services/initialize-project.spec.js +0 -211
  23. package/dist/application/services/initialize-project.spec.js.map +0 -1
  24. package/dist/application/services/phase-transition.use-case.spec.d.ts +0 -1
  25. package/dist/application/services/phase-transition.use-case.spec.js +0 -297
  26. package/dist/application/services/phase-transition.use-case.spec.js.map +0 -1
  27. package/dist/application/services/services.test.d.ts +0 -1
  28. package/dist/application/services/services.test.js +0 -176
  29. package/dist/application/services/services.test.js.map +0 -1
  30. package/dist/application/use-cases/evaluate-gate.use-case.d.ts +0 -20
  31. package/dist/application/use-cases/evaluate-gate.use-case.js +0 -72
  32. package/dist/application/use-cases/evaluate-gate.use-case.js.map +0 -1
  33. package/dist/application/use-cases/validate-satellite.use-case.d.ts +0 -19
  34. package/dist/application/use-cases/validate-satellite.use-case.js +0 -96
  35. package/dist/application/use-cases/validate-satellite.use-case.js.map +0 -1
  36. package/dist/application/use-cases/validate-satellite.use-case.spec.d.ts +0 -1
  37. package/dist/application/use-cases/validate-satellite.use-case.spec.js +0 -102
  38. package/dist/application/use-cases/validate-satellite.use-case.spec.js.map +0 -1
  39. package/dist/commands/adr/adr.command.d.ts +0 -30
  40. package/dist/commands/adr/adr.command.js +0 -379
  41. package/dist/commands/adr/adr.command.js.map +0 -1
  42. package/dist/commands/adr/adr.command.spec.d.ts +0 -1
  43. package/dist/commands/adr/adr.command.spec.js +0 -409
  44. package/dist/commands/adr/adr.command.spec.js.map +0 -1
  45. package/dist/commands/architecture/scaffold.command.d.ts +0 -8
  46. package/dist/commands/architecture/scaffold.command.js +0 -184
  47. package/dist/commands/architecture/scaffold.command.js.map +0 -1
  48. package/dist/commands/architecture/scaffold.command.spec.d.ts +0 -1
  49. package/dist/commands/architecture/scaffold.command.spec.js +0 -207
  50. package/dist/commands/architecture/scaffold.command.spec.js.map +0 -1
  51. package/dist/commands/commands.test.d.ts +0 -1
  52. package/dist/commands/commands.test.js +0 -131
  53. package/dist/commands/commands.test.js.map +0 -1
  54. package/dist/commands/completion/completion.command.d.ts +0 -20
  55. package/dist/commands/completion/completion.command.js +0 -215
  56. package/dist/commands/completion/completion.command.js.map +0 -1
  57. package/dist/commands/completion/completion.command.spec.d.ts +0 -1
  58. package/dist/commands/completion/completion.command.spec.js +0 -240
  59. package/dist/commands/completion/completion.command.spec.js.map +0 -1
  60. package/dist/commands/docs/docs.command.d.ts +0 -14
  61. package/dist/commands/docs/docs.command.js +0 -233
  62. package/dist/commands/docs/docs.command.js.map +0 -1
  63. package/dist/commands/docs/docs.command.spec.d.ts +0 -1
  64. package/dist/commands/docs/docs.command.spec.js +0 -87
  65. package/dist/commands/docs/docs.command.spec.js.map +0 -1
  66. package/dist/commands/drift/drift.command.d.ts +0 -24
  67. package/dist/commands/drift/drift.command.js +0 -250
  68. package/dist/commands/drift/drift.command.js.map +0 -1
  69. package/dist/commands/drift/drift.command.spec.d.ts +0 -1
  70. package/dist/commands/drift/drift.command.spec.js +0 -327
  71. package/dist/commands/drift/drift.command.spec.js.map +0 -1
  72. package/dist/commands/gate/gate.command.d.ts +0 -23
  73. package/dist/commands/gate/gate.command.js +0 -210
  74. package/dist/commands/gate/gate.command.js.map +0 -1
  75. package/dist/commands/history/history.command.d.ts +0 -29
  76. package/dist/commands/history/history.command.js +0 -268
  77. package/dist/commands/history/history.command.js.map +0 -1
  78. package/dist/commands/history/history.command.spec.d.ts +0 -1
  79. package/dist/commands/history/history.command.spec.js +0 -392
  80. package/dist/commands/history/history.command.spec.js.map +0 -1
  81. package/dist/commands/init/agents.command.d.ts +0 -22
  82. package/dist/commands/init/agents.command.js +0 -502
  83. package/dist/commands/init/agents.command.js.map +0 -1
  84. package/dist/commands/init/agents.command.spec.d.ts +0 -1
  85. package/dist/commands/init/agents.command.spec.js +0 -550
  86. package/dist/commands/init/agents.command.spec.js.map +0 -1
  87. package/dist/commands/init/init.command.d.ts +0 -20
  88. package/dist/commands/init/init.command.js +0 -329
  89. package/dist/commands/init/init.command.js.map +0 -1
  90. package/dist/commands/init/init.command.spec.d.ts +0 -1
  91. package/dist/commands/init/init.command.spec.js +0 -272
  92. package/dist/commands/init/init.command.spec.js.map +0 -1
  93. package/dist/commands/init/upgrade.command.d.ts +0 -19
  94. package/dist/commands/init/upgrade.command.js +0 -210
  95. package/dist/commands/init/upgrade.command.js.map +0 -1
  96. package/dist/commands/init/upgrade.command.spec.d.ts +0 -1
  97. package/dist/commands/init/upgrade.command.spec.js +0 -378
  98. package/dist/commands/init/upgrade.command.spec.js.map +0 -1
  99. package/dist/commands/mcp/mcp-serve.command.d.ts +0 -15
  100. package/dist/commands/mcp/mcp-serve.command.js +0 -106
  101. package/dist/commands/mcp/mcp-serve.command.js.map +0 -1
  102. package/dist/commands/mcp/mcp-serve.command.spec.d.ts +0 -1
  103. package/dist/commands/mcp/mcp-serve.command.spec.js +0 -58
  104. package/dist/commands/mcp/mcp-serve.command.spec.js.map +0 -1
  105. package/dist/commands/sdlc/gate-status.command.d.ts +0 -7
  106. package/dist/commands/sdlc/gate-status.command.js +0 -189
  107. package/dist/commands/sdlc/gate-status.command.js.map +0 -1
  108. package/dist/commands/sdlc/gate-status.command.spec.d.ts +0 -1
  109. package/dist/commands/sdlc/gate-status.command.spec.js +0 -302
  110. package/dist/commands/sdlc/gate-status.command.spec.js.map +0 -1
  111. package/dist/commands/sdlc/generate-domain.command.d.ts +0 -7
  112. package/dist/commands/sdlc/generate-domain.command.js +0 -166
  113. package/dist/commands/sdlc/generate-domain.command.js.map +0 -1
  114. package/dist/commands/sdlc/generate-domain.command.spec.d.ts +0 -1
  115. package/dist/commands/sdlc/generate-domain.command.spec.js +0 -121
  116. package/dist/commands/sdlc/generate-domain.command.spec.js.map +0 -1
  117. package/dist/commands/sdlc/handoff.command.d.ts +0 -22
  118. package/dist/commands/sdlc/handoff.command.js +0 -273
  119. package/dist/commands/sdlc/handoff.command.js.map +0 -1
  120. package/dist/commands/sdlc/handoff.command.spec.d.ts +0 -1
  121. package/dist/commands/sdlc/handoff.command.spec.js +0 -395
  122. package/dist/commands/sdlc/handoff.command.spec.js.map +0 -1
  123. package/dist/commands/sdlc/sdlc.command.d.ts +0 -4
  124. package/dist/commands/sdlc/sdlc.command.js +0 -70
  125. package/dist/commands/sdlc/sdlc.command.js.map +0 -1
  126. package/dist/commands/sdlc/sdlc.command.spec.d.ts +0 -1
  127. package/dist/commands/sdlc/sdlc.command.spec.js +0 -79
  128. package/dist/commands/sdlc/sdlc.command.spec.js.map +0 -1
  129. package/dist/commands/standards/standards.command.d.ts +0 -27
  130. package/dist/commands/standards/standards.command.js +0 -308
  131. package/dist/commands/standards/standards.command.js.map +0 -1
  132. package/dist/commands/standards/standards.command.spec.d.ts +0 -1
  133. package/dist/commands/standards/standards.command.spec.js +0 -311
  134. package/dist/commands/standards/standards.command.spec.js.map +0 -1
  135. package/dist/commands/validate/validate.command.d.ts +0 -25
  136. package/dist/commands/validate/validate.command.js +0 -284
  137. package/dist/commands/validate/validate.command.js.map +0 -1
  138. package/dist/commands/validate/validate.command.spec.d.ts +0 -1
  139. package/dist/commands/validate/validate.command.spec.js +0 -368
  140. package/dist/commands/validate/validate.command.spec.js.map +0 -1
  141. package/dist/config/runtimes.json +0 -196
  142. package/dist/config/tool-catalog.json +0 -343
  143. package/dist/core/abstractions/index.d.ts +0 -6
  144. package/dist/core/abstractions/index.js +0 -23
  145. package/dist/core/abstractions/index.js.map +0 -1
  146. package/dist/core/abstractions/interfaces.d.ts +0 -61
  147. package/dist/core/abstractions/interfaces.js +0 -5
  148. package/dist/core/abstractions/interfaces.js.map +0 -1
  149. package/dist/core/abstractions/providers/config-parser.provider.d.ts +0 -15
  150. package/dist/core/abstractions/providers/config-parser.provider.js +0 -68
  151. package/dist/core/abstractions/providers/config-parser.provider.js.map +0 -1
  152. package/dist/core/abstractions/providers/config-parser.provider.spec.d.ts +0 -1
  153. package/dist/core/abstractions/providers/config-parser.provider.spec.js +0 -18
  154. package/dist/core/abstractions/providers/config-parser.provider.spec.js.map +0 -1
  155. package/dist/core/abstractions/providers/logger.provider.d.ts +0 -10
  156. package/dist/core/abstractions/providers/logger.provider.js +0 -84
  157. package/dist/core/abstractions/providers/logger.provider.js.map +0 -1
  158. package/dist/core/abstractions/providers/logger.provider.spec.d.ts +0 -1
  159. package/dist/core/abstractions/providers/logger.provider.spec.js +0 -212
  160. package/dist/core/abstractions/providers/logger.provider.spec.js.map +0 -1
  161. package/dist/core/abstractions/providers/mock-filesystem.provider.d.ts +0 -31
  162. package/dist/core/abstractions/providers/mock-filesystem.provider.js +0 -126
  163. package/dist/core/abstractions/providers/mock-filesystem.provider.js.map +0 -1
  164. package/dist/core/abstractions/providers/mock-filesystem.provider.spec.d.ts +0 -1
  165. package/dist/core/abstractions/providers/mock-filesystem.provider.spec.js +0 -56
  166. package/dist/core/abstractions/providers/mock-filesystem.provider.spec.js.map +0 -1
  167. package/dist/core/abstractions/providers/node-filesystem.provider.d.ts +0 -20
  168. package/dist/core/abstractions/providers/node-filesystem.provider.js +0 -108
  169. package/dist/core/abstractions/providers/node-filesystem.provider.js.map +0 -1
  170. package/dist/core/agents/agent-ruleset-builder.d.ts +0 -30
  171. package/dist/core/agents/agent-ruleset-builder.js +0 -75
  172. package/dist/core/agents/agent-ruleset-builder.js.map +0 -1
  173. package/dist/core/agents/agent-ruleset-builder.spec.d.ts +0 -1
  174. package/dist/core/agents/agent-ruleset-builder.spec.js +0 -135
  175. package/dist/core/agents/agent-ruleset-builder.spec.js.map +0 -1
  176. package/dist/core/architecture/nx-workspace.strategy.d.ts +0 -14
  177. package/dist/core/architecture/nx-workspace.strategy.js +0 -136
  178. package/dist/core/architecture/nx-workspace.strategy.js.map +0 -1
  179. package/dist/core/architecture/nx-workspace.strategy.spec.d.ts +0 -1
  180. package/dist/core/architecture/nx-workspace.strategy.spec.js +0 -187
  181. package/dist/core/architecture/nx-workspace.strategy.spec.js.map +0 -1
  182. package/dist/core/architecture/workspace-manager.strategy.d.ts +0 -8
  183. package/dist/core/architecture/workspace-manager.strategy.js +0 -3
  184. package/dist/core/architecture/workspace-manager.strategy.js.map +0 -1
  185. package/dist/core/config/config.service.d.ts +0 -15
  186. package/dist/core/config/config.service.js +0 -55
  187. package/dist/core/config/config.service.js.map +0 -1
  188. package/dist/core/config/config.service.spec.d.ts +0 -1
  189. package/dist/core/config/config.service.spec.js +0 -43
  190. package/dist/core/config/config.service.spec.js.map +0 -1
  191. package/dist/core/di/container.d.ts +0 -25
  192. package/dist/core/di/container.js +0 -87
  193. package/dist/core/di/container.js.map +0 -1
  194. package/dist/core/di/container.spec.d.ts +0 -1
  195. package/dist/core/di/container.spec.js +0 -301
  196. package/dist/core/di/container.spec.js.map +0 -1
  197. package/dist/core/errors/index.d.ts +0 -26
  198. package/dist/core/errors/index.js +0 -67
  199. package/dist/core/errors/index.js.map +0 -1
  200. package/dist/core/filesystem/file-manager.service.d.ts +0 -4
  201. package/dist/core/filesystem/file-manager.service.js +0 -96
  202. package/dist/core/filesystem/file-manager.service.js.map +0 -1
  203. package/dist/core/filesystem/file-manager.service.spec.d.ts +0 -1
  204. package/dist/core/filesystem/file-manager.service.spec.js +0 -103
  205. package/dist/core/filesystem/file-manager.service.spec.js.map +0 -1
  206. package/dist/core/generators/hexagonal-scaffolder.d.ts +0 -6
  207. package/dist/core/generators/hexagonal-scaffolder.js +0 -260
  208. package/dist/core/generators/hexagonal-scaffolder.js.map +0 -1
  209. package/dist/core/generators/hexagonal-scaffolder.spec.d.ts +0 -1
  210. package/dist/core/generators/hexagonal-scaffolder.spec.js +0 -164
  211. package/dist/core/generators/hexagonal-scaffolder.spec.js.map +0 -1
  212. package/dist/core/generators/mermaid-class-parser.d.ts +0 -38
  213. package/dist/core/generators/mermaid-class-parser.js +0 -183
  214. package/dist/core/generators/mermaid-class-parser.js.map +0 -1
  215. package/dist/core/generators/mermaid-class-parser.spec.d.ts +0 -1
  216. package/dist/core/generators/mermaid-class-parser.spec.js +0 -148
  217. package/dist/core/generators/mermaid-class-parser.spec.js.map +0 -1
  218. package/dist/core/mcp/mcp-server.service.d.ts +0 -7
  219. package/dist/core/mcp/mcp-server.service.js +0 -31
  220. package/dist/core/mcp/mcp-server.service.js.map +0 -1
  221. package/dist/core/mcp/metrics.service.d.ts +0 -37
  222. package/dist/core/mcp/metrics.service.js +0 -72
  223. package/dist/core/mcp/metrics.service.js.map +0 -1
  224. package/dist/core/mcp/metrics.service.spec.d.ts +0 -1
  225. package/dist/core/mcp/metrics.service.spec.js +0 -159
  226. package/dist/core/mcp/metrics.service.spec.js.map +0 -1
  227. package/dist/core/mcp/prompts/index.d.ts +0 -22
  228. package/dist/core/mcp/prompts/index.js +0 -211
  229. package/dist/core/mcp/prompts/index.js.map +0 -1
  230. package/dist/core/mcp/prompts/index.spec.d.ts +0 -1
  231. package/dist/core/mcp/prompts/index.spec.js +0 -150
  232. package/dist/core/mcp/prompts/index.spec.js.map +0 -1
  233. package/dist/core/mcp/resources/index.d.ts +0 -11
  234. package/dist/core/mcp/resources/index.js +0 -209
  235. package/dist/core/mcp/resources/index.js.map +0 -1
  236. package/dist/core/mcp/resources/index.spec.d.ts +0 -1
  237. package/dist/core/mcp/resources/index.spec.js +0 -212
  238. package/dist/core/mcp/resources/index.spec.js.map +0 -1
  239. package/dist/core/mcp/server.d.ts +0 -33
  240. package/dist/core/mcp/server.js +0 -693
  241. package/dist/core/mcp/server.js.map +0 -1
  242. package/dist/core/mcp/server.spec.d.ts +0 -1
  243. package/dist/core/mcp/server.spec.js +0 -579
  244. package/dist/core/mcp/server.spec.js.map +0 -1
  245. package/dist/core/mcp/tools/agent.d.ts +0 -41
  246. package/dist/core/mcp/tools/agent.js +0 -195
  247. package/dist/core/mcp/tools/agent.js.map +0 -1
  248. package/dist/core/mcp/tools/agent.spec.d.ts +0 -1
  249. package/dist/core/mcp/tools/agent.spec.js +0 -171
  250. package/dist/core/mcp/tools/agent.spec.js.map +0 -1
  251. package/dist/core/mcp/tools/architecture.d.ts +0 -29
  252. package/dist/core/mcp/tools/architecture.js +0 -234
  253. package/dist/core/mcp/tools/architecture.js.map +0 -1
  254. package/dist/core/mcp/tools/architecture.spec.d.ts +0 -1
  255. package/dist/core/mcp/tools/architecture.spec.js +0 -145
  256. package/dist/core/mcp/tools/architecture.spec.js.map +0 -1
  257. package/dist/core/mcp/tools/gate.d.ts +0 -1
  258. package/dist/core/mcp/tools/gate.js +0 -68
  259. package/dist/core/mcp/tools/gate.js.map +0 -1
  260. package/dist/core/mcp/tools/moscow.d.ts +0 -30
  261. package/dist/core/mcp/tools/moscow.js +0 -113
  262. package/dist/core/mcp/tools/moscow.js.map +0 -1
  263. package/dist/core/mcp/tools/moscow.spec.d.ts +0 -1
  264. package/dist/core/mcp/tools/moscow.spec.js +0 -209
  265. package/dist/core/mcp/tools/moscow.spec.js.map +0 -1
  266. package/dist/core/mcp/tools/sdlc.d.ts +0 -32
  267. package/dist/core/mcp/tools/sdlc.js +0 -190
  268. package/dist/core/mcp/tools/sdlc.js.map +0 -1
  269. package/dist/core/mcp/tools/sdlc.spec.d.ts +0 -1
  270. package/dist/core/mcp/tools/sdlc.spec.js +0 -170
  271. package/dist/core/mcp/tools/sdlc.spec.js.map +0 -1
  272. package/dist/core/mcp/tools/tool-utils.d.ts +0 -4
  273. package/dist/core/mcp/tools/tool-utils.js +0 -18
  274. package/dist/core/mcp/tools/tool-utils.js.map +0 -1
  275. package/dist/core/mcp/tools/validate.d.ts +0 -18
  276. package/dist/core/mcp/tools/validate.js +0 -56
  277. package/dist/core/mcp/tools/validate.js.map +0 -1
  278. package/dist/core/mcp/tools/validate.spec.d.ts +0 -1
  279. package/dist/core/mcp/tools/validate.spec.js +0 -130
  280. package/dist/core/mcp/tools/validate.spec.js.map +0 -1
  281. package/dist/core/mcp/watcher.service.d.ts +0 -8
  282. package/dist/core/mcp/watcher.service.js +0 -82
  283. package/dist/core/mcp/watcher.service.js.map +0 -1
  284. package/dist/core/mcp/watcher.service.spec.d.ts +0 -1
  285. package/dist/core/mcp/watcher.service.spec.js +0 -171
  286. package/dist/core/mcp/watcher.service.spec.js.map +0 -1
  287. package/dist/core/metrics/dora-calculator.d.ts +0 -18
  288. package/dist/core/metrics/dora-calculator.js +0 -146
  289. package/dist/core/metrics/dora-calculator.js.map +0 -1
  290. package/dist/core/metrics/dora-calculator.spec.d.ts +0 -1
  291. package/dist/core/metrics/dora-calculator.spec.js +0 -164
  292. package/dist/core/metrics/dora-calculator.spec.js.map +0 -1
  293. package/dist/core/metrics/git-log-reader.d.ts +0 -14
  294. package/dist/core/metrics/git-log-reader.js +0 -39
  295. package/dist/core/metrics/git-log-reader.js.map +0 -1
  296. package/dist/core/metrics/git-log-reader.spec.d.ts +0 -1
  297. package/dist/core/metrics/git-log-reader.spec.js +0 -108
  298. package/dist/core/metrics/git-log-reader.spec.js.map +0 -1
  299. package/dist/core/observability/command-watcher.d.ts +0 -45
  300. package/dist/core/observability/command-watcher.js +0 -168
  301. package/dist/core/observability/command-watcher.js.map +0 -1
  302. package/dist/core/observability/command-watcher.spec.d.ts +0 -1
  303. package/dist/core/observability/command-watcher.spec.js +0 -123
  304. package/dist/core/observability/command-watcher.spec.js.map +0 -1
  305. package/dist/core/observability/error-reporter.d.ts +0 -47
  306. package/dist/core/observability/error-reporter.js +0 -163
  307. package/dist/core/observability/error-reporter.js.map +0 -1
  308. package/dist/core/observability/error-reporter.spec.d.ts +0 -1
  309. package/dist/core/observability/error-reporter.spec.js +0 -291
  310. package/dist/core/observability/error-reporter.spec.js.map +0 -1
  311. package/dist/core/observability/index.d.ts +0 -5
  312. package/dist/core/observability/index.js +0 -26
  313. package/dist/core/observability/index.js.map +0 -1
  314. package/dist/core/observability/observability.test.d.ts +0 -1
  315. package/dist/core/observability/observability.test.js +0 -224
  316. package/dist/core/observability/observability.test.js.map +0 -1
  317. package/dist/core/observability/structured-logger.d.ts +0 -53
  318. package/dist/core/observability/structured-logger.js +0 -123
  319. package/dist/core/observability/structured-logger.js.map +0 -1
  320. package/dist/core/observability/structured-logger.spec.d.ts +0 -1
  321. package/dist/core/observability/structured-logger.spec.js +0 -197
  322. package/dist/core/observability/structured-logger.spec.js.map +0 -1
  323. package/dist/core/observability/timing.d.ts +0 -23
  324. package/dist/core/observability/timing.js +0 -140
  325. package/dist/core/observability/timing.js.map +0 -1
  326. package/dist/core/observability/timing.spec.d.ts +0 -1
  327. package/dist/core/observability/timing.spec.js +0 -216
  328. package/dist/core/observability/timing.spec.js.map +0 -1
  329. package/dist/core/observability/tool-usage-telemetry.service.d.ts +0 -46
  330. package/dist/core/observability/tool-usage-telemetry.service.js +0 -181
  331. package/dist/core/observability/tool-usage-telemetry.service.js.map +0 -1
  332. package/dist/core/services/command-executor.service.d.ts +0 -3
  333. package/dist/core/services/command-executor.service.js +0 -12
  334. package/dist/core/services/command-executor.service.js.map +0 -1
  335. package/dist/core/services/command-history.service.d.ts +0 -39
  336. package/dist/core/services/command-history.service.js +0 -150
  337. package/dist/core/services/command-history.service.js.map +0 -1
  338. package/dist/core/services/command-history.service.spec.d.ts +0 -1
  339. package/dist/core/services/command-history.service.spec.js +0 -257
  340. package/dist/core/services/command-history.service.spec.js.map +0 -1
  341. package/dist/core/services/command-providers.d.ts +0 -1
  342. package/dist/core/services/command-providers.js +0 -17
  343. package/dist/core/services/command-providers.js.map +0 -1
  344. package/dist/core/services/runtime-catalog.service.d.ts +0 -2
  345. package/dist/core/services/runtime-catalog.service.js +0 -7
  346. package/dist/core/services/runtime-catalog.service.js.map +0 -1
  347. package/dist/core/sync/sync.service.d.ts +0 -4
  348. package/dist/core/sync/sync.service.js +0 -81
  349. package/dist/core/sync/sync.service.js.map +0 -1
  350. package/dist/core/sync/sync.service.spec.d.ts +0 -1
  351. package/dist/core/sync/sync.service.spec.js +0 -63
  352. package/dist/core/sync/sync.service.spec.js.map +0 -1
  353. package/dist/core/upgrade/satellite-upgrade.service.d.ts +0 -48
  354. package/dist/core/upgrade/satellite-upgrade.service.js +0 -358
  355. package/dist/core/upgrade/satellite-upgrade.service.js.map +0 -1
  356. package/dist/core/upgrade/satellite-upgrade.service.spec.d.ts +0 -1
  357. package/dist/core/upgrade/satellite-upgrade.service.spec.js +0 -223
  358. package/dist/core/upgrade/satellite-upgrade.service.spec.js.map +0 -1
  359. package/dist/core/validators/architecture-drift.service.d.ts +0 -68
  360. package/dist/core/validators/architecture-drift.service.js +0 -266
  361. package/dist/core/validators/architecture-drift.service.js.map +0 -1
  362. package/dist/core/validators/architecture-drift.service.spec.d.ts +0 -1
  363. package/dist/core/validators/architecture-drift.service.spec.js +0 -315
  364. package/dist/core/validators/architecture-drift.service.spec.js.map +0 -1
  365. package/dist/core/validators/deep-architecture-analyzer.d.ts +0 -58
  366. package/dist/core/validators/deep-architecture-analyzer.js +0 -333
  367. package/dist/core/validators/deep-architecture-analyzer.js.map +0 -1
  368. package/dist/core/validators/deep-architecture-analyzer.spec.d.ts +0 -1
  369. package/dist/core/validators/deep-architecture-analyzer.spec.js +0 -186
  370. package/dist/core/validators/deep-architecture-analyzer.spec.js.map +0 -1
  371. package/dist/core/validators/evaluators/evaluator.interface.d.ts +0 -14
  372. package/dist/core/validators/evaluators/evaluator.interface.js +0 -3
  373. package/dist/core/validators/evaluators/evaluator.interface.js.map +0 -1
  374. package/dist/core/validators/evaluators/native-evaluator.d.ts +0 -31
  375. package/dist/core/validators/evaluators/native-evaluator.js +0 -461
  376. package/dist/core/validators/evaluators/native-evaluator.js.map +0 -1
  377. package/dist/core/validators/evaluators/opa-evaluator.d.ts +0 -20
  378. package/dist/core/validators/evaluators/opa-evaluator.js +0 -249
  379. package/dist/core/validators/evaluators/opa-evaluator.js.map +0 -1
  380. package/dist/core/validators/phase-gate-validator.service.d.ts +0 -75
  381. package/dist/core/validators/phase-gate-validator.service.js +0 -338
  382. package/dist/core/validators/phase-gate-validator.service.js.map +0 -1
  383. package/dist/core/validators/phase-gate-validator.service.spec.d.ts +0 -1
  384. package/dist/core/validators/phase-gate-validator.service.spec.js +0 -326
  385. package/dist/core/validators/phase-gate-validator.service.spec.js.map +0 -1
  386. package/dist/core/validators/rule-evaluation-engine.d.ts +0 -34
  387. package/dist/core/validators/rule-evaluation-engine.js +0 -187
  388. package/dist/core/validators/rule-evaluation-engine.js.map +0 -1
  389. package/dist/core/validators/rule-evaluation-engine.spec.d.ts +0 -1
  390. package/dist/core/validators/rule-evaluation-engine.spec.js +0 -243
  391. package/dist/core/validators/rule-evaluation-engine.spec.js.map +0 -1
  392. package/dist/core/validators/ruleset-validator-architecture.spec.d.ts +0 -1
  393. package/dist/core/validators/ruleset-validator-architecture.spec.js +0 -178
  394. package/dist/core/validators/ruleset-validator-architecture.spec.js.map +0 -1
  395. package/dist/core/validators/ruleset-validator.service.d.ts +0 -82
  396. package/dist/core/validators/ruleset-validator.service.js +0 -682
  397. package/dist/core/validators/ruleset-validator.service.js.map +0 -1
  398. package/dist/core/validators/ruleset-validator.service.spec.d.ts +0 -1
  399. package/dist/core/validators/ruleset-validator.service.spec.js +0 -469
  400. package/dist/core/validators/ruleset-validator.service.spec.js.map +0 -1
  401. package/dist/domain/entities/index.d.ts +0 -72
  402. package/dist/domain/entities/index.js +0 -119
  403. package/dist/domain/entities/index.js.map +0 -1
  404. package/dist/domain/gate-evidence.d.ts +0 -59
  405. package/dist/domain/gate-evidence.js +0 -38
  406. package/dist/domain/gate-evidence.js.map +0 -1
  407. package/dist/domain/interfaces.d.ts +0 -224
  408. package/dist/domain/interfaces.js +0 -3
  409. package/dist/domain/interfaces.js.map +0 -1
  410. package/dist/domain/services/adr.service.d.ts +0 -50
  411. package/dist/domain/services/adr.service.js +0 -129
  412. package/dist/domain/services/adr.service.js.map +0 -1
  413. package/dist/domain/services/adr.service.spec.d.ts +0 -1
  414. package/dist/domain/services/adr.service.spec.js +0 -141
  415. package/dist/domain/services/adr.service.spec.js.map +0 -1
  416. package/dist/domain/services/agent-registry.service.d.ts +0 -26
  417. package/dist/domain/services/agent-registry.service.js +0 -152
  418. package/dist/domain/services/agent-registry.service.js.map +0 -1
  419. package/dist/domain/services/agent-registry.service.spec.d.ts +0 -1
  420. package/dist/domain/services/agent-registry.service.spec.js +0 -162
  421. package/dist/domain/services/agent-registry.service.spec.js.map +0 -1
  422. package/dist/domain/services/index.d.ts +0 -34
  423. package/dist/domain/services/index.js +0 -128
  424. package/dist/domain/services/index.js.map +0 -1
  425. package/dist/domain/services/moscow-prioritization.service.d.ts +0 -44
  426. package/dist/domain/services/moscow-prioritization.service.js +0 -213
  427. package/dist/domain/services/moscow-prioritization.service.js.map +0 -1
  428. package/dist/domain/services/moscow-prioritization.service.spec.d.ts +0 -1
  429. package/dist/domain/services/moscow-prioritization.service.spec.js +0 -285
  430. package/dist/domain/services/moscow-prioritization.service.spec.js.map +0 -1
  431. package/dist/domain/services/services.test.d.ts +0 -1
  432. package/dist/domain/services/services.test.js +0 -236
  433. package/dist/domain/services/services.test.js.map +0 -1
  434. package/dist/domain/services/standards.service.d.ts +0 -47
  435. package/dist/domain/services/standards.service.js +0 -129
  436. package/dist/domain/services/standards.service.js.map +0 -1
  437. package/dist/domain/services/standards.service.spec.d.ts +0 -1
  438. package/dist/domain/services/standards.service.spec.js +0 -600
  439. package/dist/domain/services/standards.service.spec.js.map +0 -1
  440. package/dist/domain/services/tool-usage-telemetry.service.d.ts +0 -46
  441. package/dist/domain/services/tool-usage-telemetry.service.js +0 -181
  442. package/dist/domain/services/tool-usage-telemetry.service.js.map +0 -1
  443. package/dist/domain/services/tool-usage-telemetry.service.spec.d.ts +0 -1
  444. package/dist/domain/services/tool-usage-telemetry.service.spec.js +0 -180
  445. package/dist/domain/services/tool-usage-telemetry.service.spec.js.map +0 -1
  446. package/dist/infrastructure/adapters/webhook.adapter.d.ts +0 -5
  447. package/dist/infrastructure/adapters/webhook.adapter.js +0 -19
  448. package/dist/infrastructure/adapters/webhook.adapter.js.map +0 -1
  449. package/dist/infrastructure/catalog/catalog-loader.d.ts +0 -22
  450. package/dist/infrastructure/catalog/catalog-loader.js +0 -135
  451. package/dist/infrastructure/catalog/catalog-loader.js.map +0 -1
  452. package/dist/infrastructure/catalog/catalog-loader.test.d.ts +0 -1
  453. package/dist/infrastructure/catalog/catalog-loader.test.js +0 -184
  454. package/dist/infrastructure/catalog/catalog-loader.test.js.map +0 -1
  455. package/dist/infrastructure/cli/command-executor.d.ts +0 -20
  456. package/dist/infrastructure/cli/command-executor.js +0 -109
  457. package/dist/infrastructure/cli/command-executor.js.map +0 -1
  458. package/dist/infrastructure/cli/command-executor.spec.d.ts +0 -1
  459. package/dist/infrastructure/cli/command-executor.spec.js +0 -149
  460. package/dist/infrastructure/cli/command-executor.spec.js.map +0 -1
  461. package/dist/infrastructure/cli/command-executor.test.d.ts +0 -1
  462. package/dist/infrastructure/cli/command-executor.test.js +0 -98
  463. package/dist/infrastructure/cli/command-executor.test.js.map +0 -1
  464. package/dist/infrastructure/cli/providers/index.d.ts +0 -52
  465. package/dist/infrastructure/cli/providers/index.js +0 -175
  466. package/dist/infrastructure/cli/providers/index.js.map +0 -1
  467. package/dist/infrastructure/cli/providers/providers.spec.d.ts +0 -1
  468. package/dist/infrastructure/cli/providers/providers.spec.js +0 -251
  469. package/dist/infrastructure/cli/providers/providers.spec.js.map +0 -1
  470. package/dist/infrastructure/formatters/output-formatter.service.d.ts +0 -28
  471. package/dist/infrastructure/formatters/output-formatter.service.js +0 -198
  472. package/dist/infrastructure/formatters/output-formatter.service.js.map +0 -1
  473. package/dist/infrastructure/formatters/output-formatter.service.spec.d.ts +0 -1
  474. package/dist/infrastructure/formatters/output-formatter.service.spec.js +0 -164
  475. package/dist/infrastructure/formatters/output-formatter.service.spec.js.map +0 -1
  476. package/dist/main.d.ts +0 -2
  477. package/dist/main.js +0 -10
  478. package/dist/main.js.map +0 -1
  479. package/dist/test/mocks/index.d.ts +0 -44
  480. package/dist/test/mocks/index.js +0 -135
  481. package/dist/test/mocks/index.js.map +0 -1
@@ -1,302 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const gate_status_command_1 = require("./gate-status.command");
37
- const p = __importStar(require("@clack/prompts"));
38
- const container_1 = require("../../core/di/container");
39
- const git_log_reader_1 = require("../../core/metrics/git-log-reader");
40
- const dora_calculator_1 = require("../../core/metrics/dora-calculator");
41
- jest.mock('@clack/prompts');
42
- jest.mock('../../core/di/container');
43
- jest.mock('../../core/metrics/git-log-reader');
44
- jest.mock('../../core/metrics/dora-calculator');
45
- const mockGetGateStatus = jest.fn();
46
- jest.mock('../../application/services', () => ({
47
- PhaseTransitionUseCase: jest.fn().mockImplementation(() => ({
48
- getGateStatus: mockGetGateStatus,
49
- })),
50
- }));
51
- function makeGateResult(overrides = {}) {
52
- return {
53
- gateId: overrides.gateId ?? 'G1',
54
- phase: overrides.phase ?? 1,
55
- name: overrides.name ?? 'Phase 1 Gate',
56
- passed: overrides.passed ?? true,
57
- accountableRole: overrides.accountableRole ?? 'Tech Lead',
58
- waiverAuthority: overrides.waiverAuthority ?? 'VP Eng',
59
- waiverAvailable: overrides.waiverAvailable ?? false,
60
- evidenceResults: [
61
- { artifact: 'package.json', passed: true, found: true, validationMessage: 'OK', required: true },
62
- ],
63
- blockingChecks: [],
64
- };
65
- }
66
- function makeDoraMetrics(available = true) {
67
- const metric = (label, rating) => ({
68
- value: 1,
69
- label,
70
- rating,
71
- unit: '',
72
- });
73
- if (!available) {
74
- const none = { value: 0, label: 'n/a', rating: 'unknown', unit: '' };
75
- return {
76
- available: false,
77
- analyzedDays: 90,
78
- totalCommits: 0,
79
- deploymentFrequency: none,
80
- leadTimeForChanges: none,
81
- changeFailureRate: none,
82
- timeToRestore: none,
83
- };
84
- }
85
- return {
86
- available: true,
87
- analyzedDays: 90,
88
- totalCommits: 42,
89
- deploymentFrequency: metric('2.0/week', 'high'),
90
- leadTimeForChanges: metric('3.5 h', 'high'),
91
- changeFailureRate: metric('4.0%', 'elite'),
92
- timeToRestore: metric('1.2 h', 'high'),
93
- };
94
- }
95
- const mockSpinnerInstance = { start: jest.fn(), stop: jest.fn() };
96
- const mockFs = { exists: jest.fn(), readJson: jest.fn() };
97
- const mockContainer = { createFileSystem: jest.fn().mockReturnValue(mockFs) };
98
- const mockIsGitRepo = git_log_reader_1.isGitRepo;
99
- const mockReadGitLog = git_log_reader_1.readGitLog;
100
- const mockCalculateDora = dora_calculator_1.calculateDora;
101
- beforeEach(() => {
102
- jest.clearAllMocks();
103
- container_1.getContainer.mockReturnValue(mockContainer);
104
- p.spinner.mockReturnValue(mockSpinnerInstance);
105
- mockGetGateStatus.mockResolvedValue({
106
- currentPhase: 1,
107
- gatesPassed: 1,
108
- gatesFailed: 0,
109
- gatesPending: 0,
110
- results: [makeGateResult()],
111
- });
112
- mockIsGitRepo.mockResolvedValue(true);
113
- mockReadGitLog.mockResolvedValue([]);
114
- mockCalculateDora.mockReturnValue(makeDoraMetrics(true));
115
- });
116
- describe('GateStatusCommand', () => {
117
- let command;
118
- beforeEach(() => {
119
- command = new gate_status_command_1.GateStatusCommand();
120
- });
121
- describe('gate status section', () => {
122
- it('calls getGateStatus with the current working directory', async () => {
123
- await command.run([], {});
124
- expect(mockGetGateStatus).toHaveBeenCalledWith(process.cwd());
125
- });
126
- it('shows spinner while validating gates', async () => {
127
- await command.run([], {});
128
- expect(mockSpinnerInstance.start).toHaveBeenCalledWith('Validating phase gates…');
129
- expect(mockSpinnerInstance.stop).toHaveBeenCalled();
130
- });
131
- it('prints gate summary with phase number and counts', async () => {
132
- const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
133
- await command.run([], {});
134
- const output = consoleSpy.mock.calls.map(c => c.join(' ')).join('\n');
135
- expect(output).toContain('Phase 1');
136
- consoleSpy.mockRestore();
137
- });
138
- it('calls p.log.error and process.exit(1) when getGateStatus throws', async () => {
139
- mockGetGateStatus.mockRejectedValue(new Error('satellite missing'));
140
- const exitSpy = jest.spyOn(process, 'exit').mockImplementation(() => undefined);
141
- await command.run([], {});
142
- expect(p.log.error).toHaveBeenCalledWith(expect.stringContaining('satellite missing'));
143
- expect(exitSpy).toHaveBeenCalledWith(1);
144
- exitSpy.mockRestore();
145
- });
146
- it('prints failed gates with waiver authority', async () => {
147
- mockGetGateStatus.mockResolvedValue({
148
- currentPhase: 2,
149
- gatesPassed: 0,
150
- gatesFailed: 1,
151
- gatesPending: 0,
152
- results: [makeGateResult({ passed: false, waiverAuthority: 'CTO' })],
153
- });
154
- const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
155
- await command.run([], {});
156
- const output = consoleSpy.mock.calls.map(c => c.join(' ')).join('\n');
157
- expect(output).toContain('CTO');
158
- consoleSpy.mockRestore();
159
- });
160
- it('prints blocking checks when triggered', async () => {
161
- const gateWithBlock = makeGateResult({ passed: false });
162
- gateWithBlock.blockingChecks = [{
163
- criterion: 'No open CVEs',
164
- triggered: true,
165
- action: 'Fix before proceeding',
166
- }];
167
- mockGetGateStatus.mockResolvedValue({
168
- currentPhase: 1,
169
- gatesPassed: 0,
170
- gatesFailed: 1,
171
- gatesPending: 0,
172
- results: [gateWithBlock],
173
- });
174
- const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
175
- await command.run([], {});
176
- const output = consoleSpy.mock.calls.map(c => c.join(' ')).join('\n');
177
- expect(output).toContain('No open CVEs');
178
- consoleSpy.mockRestore();
179
- });
180
- it('prints failed evidence with validation message', async () => {
181
- const gateWithFailedEvidence = makeGateResult();
182
- gateWithFailedEvidence.evidenceResults = [{
183
- artifact: 'README.md',
184
- passed: false,
185
- found: false,
186
- validationMessage: 'File not found',
187
- required: true,
188
- }];
189
- mockGetGateStatus.mockResolvedValue({
190
- currentPhase: 1,
191
- gatesPassed: 0,
192
- gatesFailed: 1,
193
- gatesPending: 0,
194
- results: [gateWithFailedEvidence],
195
- });
196
- const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
197
- await command.run([], {});
198
- const output = consoleSpy.mock.calls.map(c => c.join(' ')).join('\n');
199
- expect(output).toContain('File not found');
200
- consoleSpy.mockRestore();
201
- });
202
- });
203
- describe('DORA metrics section', () => {
204
- it('calls isGitRepo with cwd', async () => {
205
- await command.run([], {});
206
- expect(mockIsGitRepo).toHaveBeenCalledWith(process.cwd());
207
- });
208
- it('calls readGitLog with default 90 days when --since not provided', async () => {
209
- await command.run([], {});
210
- expect(mockReadGitLog).toHaveBeenCalledWith(expect.objectContaining({ sinceDays: 90 }));
211
- });
212
- it('calls readGitLog with custom --since value', async () => {
213
- await command.run([], { since: 30 });
214
- expect(mockReadGitLog).toHaveBeenCalledWith(expect.objectContaining({ sinceDays: 30 }));
215
- });
216
- it('skips DORA and logs warning when not a git repo', async () => {
217
- mockIsGitRepo.mockResolvedValue(false);
218
- await command.run([], {});
219
- expect(p.log.warn).toHaveBeenCalledWith(expect.stringContaining('not a git repository'));
220
- expect(mockCalculateDora).not.toHaveBeenCalled();
221
- });
222
- it('shows DORA table when git history is available', async () => {
223
- mockReadGitLog.mockResolvedValue([{ hash: 'abc', date: new Date().toISOString(), subject: 'feat: x', parents: [], isMerge: false }]);
224
- const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
225
- await command.run([], {});
226
- const output = consoleSpy.mock.calls.map(c => c.join(' ')).join('\n');
227
- expect(output).toContain('DORA Metrics');
228
- consoleSpy.mockRestore();
229
- });
230
- it('shows "no commit history" message when DORA unavailable', async () => {
231
- mockCalculateDora.mockReturnValue(makeDoraMetrics(false));
232
- const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
233
- await command.run([], {});
234
- const output = consoleSpy.mock.calls.map(c => c.join(' ')).join('\n');
235
- expect(output).toContain('No commit history');
236
- consoleSpy.mockRestore();
237
- });
238
- it('shows all four DORA metric names', async () => {
239
- const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
240
- await command.run([], {});
241
- const output = consoleSpy.mock.calls.map(c => c.join(' ')).join('\n');
242
- expect(output).toContain('Deployment Frequency');
243
- expect(output).toContain('Lead Time for Changes');
244
- expect(output).toContain('Change Failure Rate');
245
- expect(output).toContain('Time to Restore');
246
- consoleSpy.mockRestore();
247
- });
248
- it('handles DORA read error gracefully with p.log.warn', async () => {
249
- mockReadGitLog.mockRejectedValue(new Error('git not found'));
250
- await command.run([], {});
251
- expect(p.log.warn).toHaveBeenCalledWith(expect.stringContaining('git not found'));
252
- });
253
- it('passes commits array to calculateDora', async () => {
254
- const commits = [
255
- { hash: 'h1', date: new Date().toISOString(), subject: 'feat: a', parents: [], isMerge: false },
256
- { hash: 'h2', date: new Date().toISOString(), subject: 'fix: b', parents: [], isMerge: false },
257
- ];
258
- mockReadGitLog.mockResolvedValue(commits);
259
- await command.run([], { since: 60 });
260
- expect(mockCalculateDora).toHaveBeenCalledWith(commits, 60);
261
- });
262
- });
263
- describe('rating badge rendering', () => {
264
- const ratingCases = [
265
- ['elite', '◆ elite'],
266
- ['high', '● high'],
267
- ['medium', '● medium'],
268
- ['low', '● low'],
269
- ['unknown', '○ unknown'],
270
- ];
271
- it.each(ratingCases)('renders %s rating badge', async (rating, badge) => {
272
- mockCalculateDora.mockReturnValue({
273
- ...makeDoraMetrics(true),
274
- deploymentFrequency: { value: 1, label: '1/week', rating, unit: '' },
275
- });
276
- const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
277
- await command.run([], {});
278
- const output = consoleSpy.mock.calls.map(c => String(c[0] ?? '')).join('\n');
279
- const stripped = output.replace(/\x1B\[[0-9;]*m/g, '');
280
- expect(stripped).toContain(badge);
281
- consoleSpy.mockRestore();
282
- });
283
- });
284
- describe('parseSince', () => {
285
- it('returns parsed integer', () => {
286
- expect(command.parseSince('30')).toBe(30);
287
- });
288
- it('defaults to 90 for non-numeric input', () => {
289
- expect(command.parseSince('abc')).toBe(90);
290
- });
291
- it('defaults to 90 for zero', () => {
292
- expect(command.parseSince('0')).toBe(90);
293
- });
294
- it('defaults to 90 for negative value', () => {
295
- expect(command.parseSince('-5')).toBe(90);
296
- });
297
- it('accepts large values', () => {
298
- expect(command.parseSince('365')).toBe(365);
299
- });
300
- });
301
- });
302
- //# sourceMappingURL=gate-status.command.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gate-status.command.spec.js","sourceRoot":"","sources":["../../../src/commands/sdlc/gate-status.command.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { CommandRunner } from 'nest-commander';
2
- export declare class GenerateDomainCommand extends CommandRunner {
3
- run(passedParam: string[], options?: Record<string, any>): Promise<void>;
4
- parseFrom(val: string): string;
5
- parseOutput(val: string): string;
6
- parseDryRun(): boolean;
7
- }
@@ -1,166 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __metadata = (this && this.__metadata) || function (k, v) {
42
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
- };
44
- var __importDefault = (this && this.__importDefault) || function (mod) {
45
- return (mod && mod.__esModule) ? mod : { "default": mod };
46
- };
47
- Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.GenerateDomainCommand = void 0;
49
- const nest_commander_1 = require("nest-commander");
50
- const chalk_1 = __importDefault(require("chalk"));
51
- const p = __importStar(require("@clack/prompts"));
52
- const path = __importStar(require("path"));
53
- const fs = __importStar(require("fs-extra"));
54
- const mermaid_class_parser_1 = require("../../core/generators/mermaid-class-parser");
55
- const hexagonal_scaffolder_1 = require("../../core/generators/hexagonal-scaffolder");
56
- let GenerateDomainCommand = class GenerateDomainCommand extends nest_commander_1.CommandRunner {
57
- async run(passedParam, options) {
58
- const target = passedParam[0];
59
- const fromFile = options?.from;
60
- if (!target || !fromFile) {
61
- p.log.error('Both a generation target and a source file must be specified.');
62
- p.log.info(chalk_1.default.yellow('Example: evolith sdlc generate domain --from ddd-model.md'));
63
- return;
64
- }
65
- p.intro(chalk_1.default.bgCyan.white.bold(' evolith sdlc generate '));
66
- const modelPath = path.resolve(process.cwd(), fromFile);
67
- if (!await fs.pathExists(modelPath)) {
68
- p.log.error(`Model file not found: ${chalk_1.default.cyan(modelPath)}`);
69
- process.exit(1);
70
- return;
71
- }
72
- const s = p.spinner();
73
- s.start('Parsing DDD model…');
74
- const markdown = await fs.readFile(modelPath, 'utf-8');
75
- const diagram = (0, mermaid_class_parser_1.parseDddModel)(markdown);
76
- if (!diagram) {
77
- s.stop('');
78
- p.log.error('No valid Mermaid classDiagram found in the model file.');
79
- p.log.info(chalk_1.default.dim('Make sure the file contains a ```mermaid block with a classDiagram directive.'));
80
- process.exit(1);
81
- return;
82
- }
83
- s.stop(`Found ${chalk_1.default.cyan(diagram.classes.length)} classes and ${chalk_1.default.cyan(diagram.relationships.length)} relationships`);
84
- p.log.info('');
85
- p.log.info(chalk_1.default.bold('Classes detected:'));
86
- for (const cls of diagram.classes) {
87
- const stereoLabel = cls.stereotype !== 'unknown'
88
- ? chalk_1.default.cyan(`[${cls.stereotype}]`)
89
- : chalk_1.default.gray('[unknown]');
90
- p.log.info(` ${stereoLabel} ${chalk_1.default.white(cls.name)}`);
91
- }
92
- const targetDir = path.resolve(process.cwd(), options?.output ?? '.');
93
- const dryRun = options?.dryRun === true;
94
- if (dryRun) {
95
- p.log.warn('Dry-run mode — no files will be written.');
96
- }
97
- p.log.info('');
98
- p.log.info(`Target directory: ${chalk_1.default.cyan(targetDir)}`);
99
- s.start(dryRun ? 'Calculating files to create…' : 'Scaffolding files…');
100
- const result = await (0, hexagonal_scaffolder_1.scaffoldHexagonal)(diagram, targetDir, dryRun);
101
- s.stop('Done');
102
- if (result.created.length > 0) {
103
- p.log.info('');
104
- p.log.success(`${dryRun ? 'Would create' : 'Created'} ${result.created.length} file(s):`);
105
- for (const f of result.created) {
106
- p.log.info(` ${chalk_1.default.green('+')} ${f}`);
107
- }
108
- }
109
- if (result.skipped.length > 0) {
110
- p.log.warn(`Skipped ${result.skipped.length} already-existing file(s):`);
111
- for (const f of result.skipped) {
112
- p.log.info(` ${chalk_1.default.yellow('·')} ${f}`);
113
- }
114
- }
115
- if (result.created.length === 0 && result.skipped.length === 0) {
116
- p.log.warn('Nothing to generate — no supported stereotypes found.');
117
- }
118
- p.outro(dryRun
119
- ? chalk_1.default.yellow('Dry-run complete. Run without --dry-run to write files.')
120
- : chalk_1.default.green(`✅ Scaffold complete — ${result.created.length} file(s) created.`));
121
- }
122
- parseFrom(val) {
123
- return val;
124
- }
125
- parseOutput(val) {
126
- return val;
127
- }
128
- parseDryRun() {
129
- return true;
130
- }
131
- };
132
- exports.GenerateDomainCommand = GenerateDomainCommand;
133
- __decorate([
134
- (0, nest_commander_1.Option)({
135
- flags: '-f, --from <path>',
136
- description: 'Path to the Markdown DDD model file containing a Mermaid classDiagram',
137
- }),
138
- __metadata("design:type", Function),
139
- __metadata("design:paramtypes", [String]),
140
- __metadata("design:returntype", String)
141
- ], GenerateDomainCommand.prototype, "parseFrom", null);
142
- __decorate([
143
- (0, nest_commander_1.Option)({
144
- flags: '-o, --output <dir>',
145
- description: 'Target directory for generated files (default: current working directory)',
146
- }),
147
- __metadata("design:type", Function),
148
- __metadata("design:paramtypes", [String]),
149
- __metadata("design:returntype", String)
150
- ], GenerateDomainCommand.prototype, "parseOutput", null);
151
- __decorate([
152
- (0, nest_commander_1.Option)({
153
- flags: '--dry-run',
154
- description: 'Print what would be generated without writing any files',
155
- }),
156
- __metadata("design:type", Function),
157
- __metadata("design:paramtypes", []),
158
- __metadata("design:returntype", Boolean)
159
- ], GenerateDomainCommand.prototype, "parseDryRun", null);
160
- exports.GenerateDomainCommand = GenerateDomainCommand = __decorate([
161
- (0, nest_commander_1.Command)({
162
- name: 'generate',
163
- description: 'Generates Hexagonal Architecture scaffold from a Mermaid classDiagram in a Markdown DDD model file',
164
- })
165
- ], GenerateDomainCommand);
166
- //# sourceMappingURL=generate-domain.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-domain.command.js","sourceRoot":"","sources":["../../../src/commands/sdlc/generate-domain.command.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,121 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const os = __importStar(require("os"));
37
- const path = __importStar(require("path"));
38
- const fs = __importStar(require("fs-extra"));
39
- const generate_domain_command_1 = require("./generate-domain.command");
40
- const p = __importStar(require("@clack/prompts"));
41
- const MINIMAL_MODEL = `
42
- # DDD Model
43
-
44
- \`\`\`mermaid
45
- classDiagram
46
- class User {
47
- <<Entity>>
48
- +String id
49
- +String name
50
- }
51
- \`\`\`
52
- `;
53
- describe('GenerateDomainCommand', () => {
54
- let command;
55
- let exitSpy;
56
- let tmpDir;
57
- let modelFile;
58
- beforeEach(async () => {
59
- command = new generate_domain_command_1.GenerateDomainCommand();
60
- jest.clearAllMocks();
61
- exitSpy = jest.spyOn(process, 'exit').mockImplementation(() => undefined);
62
- tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), 'evolith-gen-cmd-test-'));
63
- modelFile = path.join(tmpDir, 'model.md');
64
- await fs.writeFile(modelFile, MINIMAL_MODEL);
65
- });
66
- afterEach(async () => {
67
- exitSpy.mockRestore();
68
- await fs.remove(tmpDir);
69
- });
70
- describe('validation', () => {
71
- it('shows error when target is missing', async () => {
72
- await command.run([], { from: modelFile });
73
- expect(p.log.error).toHaveBeenCalledWith(expect.stringContaining('generation target'));
74
- });
75
- it('shows error when from is missing', async () => {
76
- await command.run(['domain'], {});
77
- expect(p.log.error).toHaveBeenCalledWith(expect.stringContaining('source file'));
78
- });
79
- it('exits when model file not found', async () => {
80
- await command.run(['domain'], { from: '/nonexistent/model.md' });
81
- expect(p.log.error).toHaveBeenCalledWith(expect.stringContaining('not found'));
82
- expect(exitSpy).toHaveBeenCalledWith(1);
83
- });
84
- });
85
- describe('successful generation', () => {
86
- it('scaffolds Entity file in dry-run mode', async () => {
87
- await command.run(['domain'], { from: modelFile, output: tmpDir, dryRun: true });
88
- const entityPath = path.join(tmpDir, 'src/domain/entities/User.ts');
89
- await expect(fs.pathExists(entityPath)).resolves.toBe(false);
90
- expect(p.log.success).toHaveBeenCalledWith(expect.stringContaining('Would create'));
91
- });
92
- it('scaffolds Entity file in real mode', async () => {
93
- await command.run(['domain'], { from: modelFile, output: tmpDir });
94
- const entityPath = path.join(tmpDir, 'src/domain/entities/User.ts');
95
- await expect(fs.pathExists(entityPath)).resolves.toBe(true);
96
- expect(p.log.success).toHaveBeenCalledWith(expect.stringContaining('Created'));
97
- });
98
- it('shows p.outro with success message', async () => {
99
- await command.run(['domain'], { from: modelFile, output: tmpDir });
100
- expect(p.outro).toHaveBeenCalledWith(expect.stringContaining('Scaffold complete'));
101
- });
102
- it('skips existing files on second run', async () => {
103
- await command.run(['domain'], { from: modelFile, output: tmpDir });
104
- jest.clearAllMocks();
105
- await command.run(['domain'], { from: modelFile, output: tmpDir });
106
- expect(p.log.warn).toHaveBeenCalledWith(expect.stringContaining('Skipped'));
107
- });
108
- });
109
- describe('parseFrom / parseOutput / parseDryRun', () => {
110
- it('parseFrom returns value', () => {
111
- expect(command.parseFrom('path/to/model.md')).toBe('path/to/model.md');
112
- });
113
- it('parseOutput returns value', () => {
114
- expect(command.parseOutput('./output')).toBe('./output');
115
- });
116
- it('parseDryRun returns true', () => {
117
- expect(command.parseDryRun()).toBe(true);
118
- });
119
- });
120
- });
121
- //# sourceMappingURL=generate-domain.command.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-domain.command.spec.js","sourceRoot":"","sources":["../../../src/commands/sdlc/generate-domain.command.spec.ts"],"names":[],"mappings":"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"}