@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
package/README.md CHANGED
@@ -1,191 +1,849 @@
1
- # Evolith CLI
1
+ # @evolith/smart-cli
2
2
 
3
- Command-line interface for Evolith governance, standards validation, and AI agent integration.
3
+ Command-line interface for Evolith governance, standards validation, architecture scaffolding, SDLC lifecycle management, and AI agent integration.
4
4
 
5
- ## Features
5
+ ## Overview
6
6
 
7
- - **Governance**: ADR management, standards tracking, agent installation
8
- - **Validation**: Repository compliance against Evolith standards
9
- - **AI Integration**: MCP server for AI agent tool calling
10
- - **Observability**: Structured logging, metrics, error reporting
7
+ SmartCLI is the primary entry point to the Evolith ecosystem. It connects three layers:
11
8
 
12
- ## Installation
9
+ ```
10
+ satellite repository
11
+
12
+
13
+ smart-cli ──────── evolith.yaml (configuration)
14
+
15
+ ├── Evolith Core (rulesets, ADRs, standards, gate evidence)
16
+
17
+ └── MCP Server ──── AI Agents (Cursor, Claude Desktop, custom)
18
+ ```
19
+
20
+ ## Supported Architectures
21
+
22
+ Evolith Core defines **8 architecture topologies** across complementary dimensions. Any command that accepts `--topology` references them by their canonical id:
23
+
24
+ | Topology (id) | Name | Dimension |
25
+ |---------------|------|-----------|
26
+ | `modular-monolith` | Modular Monolith | progressive-axis |
27
+ | `distributed-modules` | Distributed Modules | progressive-axis |
28
+ | `microservices` | Microservices | progressive-axis |
29
+ | `serverless` | Serverless | execution |
30
+ | `edge-computing` | Edge Computing | execution |
31
+ | `event-driven` | Event-Driven | integration |
32
+ | `data-mesh` | Data Mesh | data |
33
+ | `agentic-ai` | Agentic AI | ai |
13
34
 
14
- ### npm (Recommended)
35
+ The **progressive axis** (`modular-monolith → distributed-modules → microservices`) is a linear maturity progression managed by the `upgrade` command. The other dimensions (execution, integration, data, ai) are complementary and chosen per project needs.
36
+
37
+ > **Legacy `F1/F2/F3`:** earlier versions used `--arch F1|F2|F3` mapping to the progressive axis (`F1 = modular-monolith`, `F2 = distributed-modules`, `F3 = microservices`). These flags are **deprecated** — use `--topology <id>` with the canonical ids above. (The old "Microfrontend / Distributed Microfrontend" labels are obsolete and no longer reflect the corpus.)
38
+
39
+ ## Installation
15
40
 
16
41
  ```bash
17
42
  npm install -g @evolith/smart-cli
18
43
  ```
19
44
 
20
- ### Manual
45
+ ```bash
46
+ pnpm add -g @evolith/smart-cli
47
+ ```
21
48
 
22
- Download the latest binary from [GitHub Releases](https://github.com/beyondnetcode/evolith_arch32/releases) and add to your PATH.
49
+ ```bash
50
+ yarn global add @evolith/smart-cli
51
+ ```
52
+
53
+ Or download the binary from [GitHub Releases](https://github.com/beyondnetcode/evolith_arch32/releases) and add it to your PATH.
23
54
 
24
- ### Verify Installation
55
+ ### Verify
25
56
 
26
57
  ```bash
27
58
  smart-cli --version
28
- # smart-cli version 0.0.3-beta
59
+ # smart-cli version 1.1.0
29
60
  ```
30
61
 
31
- ## Quickstart
62
+ ### Troubleshooting
32
63
 
33
- ### 1. Initialize a Repository
64
+ **EACCES on macOS/Linux:**
65
+ ```bash
66
+ sudo npm install -g @evolith/smart-cli --unsafe-perm
67
+ ```
34
68
 
69
+ **nvm — binary not found after install:**
35
70
  ```bash
36
- cd your-project
71
+ export PATH=$(npm config get prefix)/bin:$PATH
72
+ ```
73
+
74
+ ## Quickstart
75
+
76
+ ```bash
77
+ # 1. Seed a demo project to explore the CLI
78
+ smart-cli fixtures --type demo
79
+
80
+ # 2. Initialize a real repository
37
81
  smart-cli init
82
+
83
+ # 3. Scaffold base documentation
84
+ smart-cli docs
85
+
86
+ # 4. Validate compliance
87
+ smart-cli validate
88
+
89
+ # 5. Scaffold architecture (F1)
90
+ smart-cli scaffold --phase 1
91
+
92
+ # 6. Connect an AI agent
93
+ smart-cli mcp serve
38
94
  ```
39
95
 
40
- This creates an `evolith.yaml` file with default configuration.
96
+ ---
41
97
 
42
- ### 2. Run First Validation
98
+ ## Commands
99
+
100
+ ### init
101
+
102
+ Initializes a satellite repository with interactive tool selection. Creates `evolith.yaml` and the project structure.
43
103
 
44
104
  ```bash
45
- smart-cli validate
105
+ smart-cli init [options]
106
+
107
+ Options:
108
+ -d, --dry-run Run without writing files
109
+ -c, --config <path> Path to evolith.setup.json for batch mode
110
+ -r, --runtime <id> Runtime: nodejs, dotnet, python
111
+ -m, --monorepo <id> Monorepo strategy: none, nx, npm-workspaces, rush
112
+ -a, --arch <id> Architecture pattern: clean, hexagonal, ddd
113
+ --db <id> Database: postgresql, mongodb, sqlserver
46
114
  ```
47
115
 
48
- Output:
116
+ **Examples:**
117
+
118
+ ```bash
119
+ # Interactive wizard
120
+ smart-cli init
121
+
122
+ # Batch mode (non-interactive)
123
+ smart-cli init --config evolith.setup.json
124
+
125
+ # Preview without writing
126
+ smart-cli init --dry-run
49
127
  ```
50
- ✓ Validating repository...
51
- Repository is compliant with Evolith standards
128
+
129
+ After `init` completes, the CLI prints suggested next steps including `validate`, `agents --install`, and `sdlc handoff`.
130
+
131
+ ---
132
+
133
+ ### docs
134
+
135
+ Scaffolds the base documentation files required by Evolith in the current directory.
136
+
137
+ Files created by default:
138
+ - `README.md` — project overview template
139
+ - `AGENTS.md` — AI agent configuration and rules
140
+ - `MASTER_INDEX.md` — documentation index
141
+ - `.evolith/evolith.yaml` — Evolith configuration
142
+
143
+ ```bash
144
+ smart-cli docs [options]
145
+
146
+ Options:
147
+ -d, --dry-run Preview files without writing
148
+ -f, --force Overwrite existing files
149
+ -t, --template <type> Template type: default (all 4 files), minimal (README + AGENTS only)
150
+ --format <format> Output format: json (ADR-0073 envelope) or human (default)
52
151
  ```
53
152
 
54
- ### 3. Install an Agent
153
+ **Examples:**
55
154
 
56
155
  ```bash
57
- smart-cli agents install
58
- # Select "standard" template when prompted
156
+ # Scaffold all documentation
157
+ smart-cli docs
158
+
159
+ # Preview what would be created
160
+ smart-cli docs --dry-run
161
+
162
+ # Minimal scaffold
163
+ smart-cli docs --template minimal
164
+
165
+ # Force overwrite and emit JSON envelope
166
+ smart-cli docs --force --format json
59
167
  ```
60
168
 
61
- ## Commands
169
+ ---
62
170
 
63
171
  ### validate
64
172
 
65
- Validate repository compliance against Evolith standards.
173
+ Validates repository compliance against Evolith standards. Supports multiple engines, rulesets, topologies, and SDLC phases.
66
174
 
67
175
  ```bash
68
176
  smart-cli validate [options]
69
177
 
70
178
  Options:
71
- --satellite <path> Path to satellite repository (default: cwd)
72
- --core <path> Path to Evolith Core
73
- --format <format> Output format: json, table, yaml, markdown
74
- --output <file> Write output to file
75
- --ruleset <id> Validate specific ruleset (acl, open-core, inheritance)
76
- --engine <engine> Policy evaluation engine: native or opa (default: native)
179
+ -s, --satellite <path> Satellite repository path (default: cwd)
180
+ -c, --core <path> Evolith Core path (default: auto-detect)
181
+ -f, --format <format> Output format: json, table, yaml, markdown (default: markdown)
182
+ -o, --output <file> Write output to file
183
+ -r, --ruleset <id> Validate a specific ruleset (see table below)
184
+ -e, --engine <engine> Validation engine: native (default) or opa
185
+ -t, --topology <id> Topology to validate by canonical id, e.g. modular-monolith,
186
+ microservices, serverless, event-driven, agentic-ai (repeatable).
187
+ Legacy F1/F2/F3 aliases still map to the progressive axis.
188
+ -m, --manifest <path> SatelliteManifest JSON for end-to-end evaluation (GT-281 pipeline)
189
+ -p, --phase <phase> SDLC phase to evaluate: f1, f2, f3, f4, f5 (activates GT-281 pipeline)
190
+ --adr <id> Validate against a specific ADR rule set
191
+ --file <path> Validate a single file (ad-hoc mode)
192
+ --composable Use the composable GT-312 engine with intelligent mode resolution
77
193
  ```
78
194
 
79
- **Dual-Engine Policy Evaluation:**
80
- The CLI supports evaluating policies using either the built-in TypeScript engine (`native`) or Open Policy Agent WebAssembly modules (`opa`). See [Core ADR-0041](../../reference/architecture/adrs/core/0041-dual-engine-policy-evaluation.md) for details.
195
+ **Available rulesets (`--ruleset`):**
196
+
197
+ | ID | Validates |
198
+ |----|-----------|
199
+ | `acl` | Access control layer rules |
200
+ | `open-core` | Open-core module boundaries |
201
+ | `inheritance` | Inheritance and extension contracts |
202
+ | `cli-release` | CLI release readiness |
203
+ | `cli-parity` | CLI command parity between versions |
204
+ | `evidence` | Gate evidence artifact completeness |
205
+ | `mcp` | MCP server contract compliance |
206
+ | `observability` | Logging, metrics, and tracing coverage |
207
+ | `adr-0002` | ADR-0002 specific rules |
208
+
209
+ **Available ADR rules (`--adr`):** `adr-0002`, `adr-0005`, `adr-0010`, `adr-0018`, `adr-0032`, `adr-0040`, `adr-0050`
210
+
211
+ **Validation engines:**
212
+ - `native` — built-in TypeScript engine (default, no external dependencies)
213
+ - `opa` — Open Policy Agent WebAssembly modules
214
+
215
+ **Composable engine (GT-312):**
216
+ When `--composable` is set, the CLI auto-resolves which validation modes to activate based on the provided context:
217
+ - `SdlcValidationMode` — activated when `--phase` is present
218
+ - `ArchitectureValidationMode` — activated when `--topology` is present
219
+ - `RulesetValidationMode` — activated when `--ruleset` is present
220
+ - `AdrValidationMode` — activated when `--adr` is present
221
+ - `AdhocValidationMode` — activated when `--file` is present
81
222
 
82
223
  **Examples:**
83
224
 
84
225
  ```bash
85
- # Basic validation
226
+ # Basic compliance check
86
227
  smart-cli validate
87
228
 
88
- # JSON output for automation
89
- smart-cli validate --format json
229
+ # JSON output for CI
230
+ smart-cli validate --format json --output report.json
90
231
 
91
- # Table output for humans
92
- smart-cli validate --format table
232
+ # Validate a single topology
233
+ smart-cli validate --topology microservices
234
+
235
+ # Validate multiple topologies
236
+ smart-cli validate --topology modular-monolith --topology event-driven
93
237
 
94
- # Validate specific ruleset
95
- smart-cli validate --ruleset acl
238
+ # Validate a specific ruleset
239
+ smart-cli validate --ruleset evidence
240
+
241
+ # Full SDLC phase evaluation (GT-281 pipeline)
242
+ smart-cli validate --phase f1
243
+
244
+ # Validate with a SatelliteManifest
245
+ smart-cli validate --manifest ./satellite-manifest.json --phase f2
246
+
247
+ # Ad-hoc file validation
248
+ smart-cli validate --file src/domain/user.entity.ts --composable
249
+
250
+ # OPA engine
251
+ smart-cli validate --engine opa --ruleset acl
96
252
  ```
97
253
 
254
+ ---
255
+
98
256
  ### adr
99
257
 
100
- Manage Architecture Decision Records.
258
+ Manages Architecture Decision Records.
101
259
 
102
260
  ```bash
103
- smart-cli adr <command>
261
+ smart-cli adr [options]
104
262
 
105
- Commands:
106
- create Create new ADR
107
- list List all ADRs
108
- get Show ADR details
109
- update Update existing ADR
110
- matrix Show ADR matrix
263
+ Options:
264
+ -c, --create Create a new ADR (interactive)
265
+ -l, --list List all ADRs
266
+ -g, --get <id> Show a specific ADR
267
+ -u, --update <id> Update ADR status
268
+ -s, --status <status> New status: Accepted, Deprecated, Superseded, Amended
269
+ -r, --reason <text> Reason for status change
270
+ -m, --matrix Show ADR matrix summary
271
+ -d, --dry-run Preview without writing files
111
272
  ```
112
273
 
113
274
  **Examples:**
114
275
 
115
276
  ```bash
116
- # Create new ADR
117
- smart-cli adr create
277
+ # Interactive creation
278
+ smart-cli adr --create
118
279
 
119
- # List all ADRs
120
- smart-cli adr list
280
+ # List all
281
+ smart-cli adr --list
121
282
 
122
- # Get specific ADR
123
- smart-cli adr get ADR-0002
283
+ # Show specific ADR
284
+ smart-cli adr --get ADR-0002
285
+
286
+ # Update status
287
+ smart-cli adr --update ADR-0005 --status Accepted --reason "Approved in design review"
288
+
289
+ # Show matrix
290
+ smart-cli adr --matrix
124
291
  ```
125
292
 
293
+ ---
294
+
126
295
  ### standards
127
296
 
128
- Manage governance standards.
297
+ Manages Evolith governance standards (architecture, governance, operations).
129
298
 
130
299
  ```bash
131
- smart-cli standards <command>
300
+ smart-cli standards [options]
132
301
 
133
- Commands:
134
- init Initialize standards directory
135
- list List all standards
136
- get Show standard details
137
- validate Validate against standards
138
- export Export standard to markdown/json
302
+ Options:
303
+ --init Initialize standards directory structure
304
+ -l, --list List all standards
305
+ -g, --get <id> Show a specific standard
306
+ -v, --validate <code> Validate code against standards
307
+ -e, --export <id> Export a standard
308
+ -f, --format <format> Export format: markdown, json
309
+ -c, --category <id> Filter by category
139
310
  ```
140
311
 
141
312
  **Examples:**
142
313
 
143
314
  ```bash
144
- # Initialize standards
145
- smart-cli standards init
315
+ # Initialize
316
+ smart-cli standards --init
317
+
318
+ # List all standards
319
+ smart-cli standards --list
146
320
 
147
- # List standards
148
- smart-cli standards list
321
+ # Filter by category
322
+ smart-cli standards --list --category governance
323
+
324
+ # Export as markdown
325
+ smart-cli standards --export STD-001 --format markdown
149
326
  ```
150
327
 
328
+ ---
329
+
151
330
  ### agents
152
331
 
153
- Install and manage Evolith agents.
332
+ Manages Evolith BMAD agents — installs, lists, and removes governance agents in the satellite repository.
154
333
 
155
334
  ```bash
156
- smart-cli agents <command>
335
+ smart-cli agents [options]
157
336
 
158
- Commands:
159
- install Install new agent
160
- list List installed agents
161
- remove Remove agent
162
- validate Validate agent ruleset
163
- upgrade Upgrade agent
337
+ Options:
338
+ -l, --list List installed agents
339
+ -i, --install [name] Install a named agent (interactive if name omitted)
340
+ -r, --remove [name] Remove an installed agent
341
+ -d, --dry-run Preview without making changes
164
342
  ```
165
343
 
344
+ **Available agent templates:**
345
+
346
+ | Template | Description |
347
+ |---|---|
348
+ | `standard` | Default agent with basic governance rules (ACL-01 through ACL-06) |
349
+ | `minimal` | Lightweight agent with essential rules only |
350
+ | `full-compliance` | Full compliance agent with audit trail and approval chains |
351
+
166
352
  **Examples:**
167
353
 
168
354
  ```bash
355
+ # List installed agents
356
+ smart-cli agents --list
357
+
169
358
  # Interactive install
170
- smart-cli agents install
359
+ smart-cli agents --install
360
+
361
+ # Install a specific template
362
+ smart-cli agents --install standard
363
+ smart-cli agents --install full-compliance
364
+
365
+ # Preview install without writing
366
+ smart-cli agents --install standard --dry-run
367
+
368
+ # Remove an agent
369
+ smart-cli agents --remove minimal
370
+ ```
371
+
372
+ ---
171
373
 
172
- # List agents
173
- smart-cli agents list
374
+ ### scaffold
375
+
376
+ Scaffolds the Evolith architecture in the current workspace **along the progressive axis** — phase 1 (`modular-monolith`), phase 2 (`distributed-modules`) and phase 3 (`microservices`). Phases 2–3 are generated as a Module Federation host + remotes (microfrontends), with configurable frontend frameworks, ORMs, and domain names. (`F1/F2/F3` remain accepted as legacy aliases for phases 1/2/3.)
377
+
378
+ ```bash
379
+ smart-cli scaffold [options]
380
+
381
+ Options:
382
+ --frontend <framework> Frontend framework: react, angular
383
+ --orm <orm> ORM: prisma, typeorm
384
+ -d, --dry-run Preview without writing files
385
+ -f, --format <format> Output format: json (ADR-0073 envelope) or human (default)
386
+ --phase <phase> Architecture phase: 1 (F1), 2 (F2), 3 (F3) — required with --format json
387
+ --api-name <name> Backend API app name (default: tracker-api)
388
+ --web-app-name <name> Web app name for phase 1 (default: tracker-web)
389
+ --host-name <name> Host app name for phase 2/3 (default: tracker-host)
390
+ --remotes <names> Comma-separated remote names for phase 2/3
391
+ --domains <names> Comma-separated domain names to generate
174
392
  ```
175
393
 
394
+ **Examples:**
395
+
396
+ ```bash
397
+ # Scaffold F1 (Monolithic Modular) interactively
398
+ smart-cli scaffold
399
+
400
+ # Scaffold F1 with React + Prisma, dry run
401
+ smart-cli scaffold --phase 1 --frontend react --orm prisma --dry-run
402
+
403
+ # Scaffold F2 (Microfrontend) with custom names
404
+ smart-cli scaffold --phase 2 --host-name shell-app --remotes catalog,checkout
405
+
406
+ # Scaffold F3 with custom domains and JSON output
407
+ smart-cli scaffold --phase 3 --domains orders,payments,users --format json
408
+
409
+ # Generate specific domains only
410
+ smart-cli scaffold --domains auth,notifications
411
+ ```
412
+
413
+ ---
414
+
415
+ ### drift
416
+
417
+ Detects architecture drift between the declared topology level and the actual codebase structure. Stores history for trend analysis.
418
+
419
+ ```bash
420
+ smart-cli drift [options]
421
+
422
+ Options:
423
+ -p, --path <path> Project path to analyze (default: cwd)
424
+ -l, --level <level> Declared architecture level: F1, F2, F3
425
+ --json Output as raw JSON
426
+ --history Show drift scan history (last 10 scans)
427
+ --trend Show drift trend analysis (improving / stable / degrading)
428
+ -f, --format <fmt> Output format: json (ADR-0073 envelope) or human (default)
429
+ ```
430
+
431
+ The drift report includes:
432
+ - **Declared level** vs **detected level**
433
+ - **Overall score** (0–100%)
434
+ - **Drift severity**: critical, high, medium, low, none
435
+ - **New violations** — introduced since last scan
436
+ - **Persistent violations** — unresolved across multiple scans
437
+ - **Resolved violations** — fixed since last scan
438
+
439
+ **Examples:**
440
+
441
+ ```bash
442
+ # Detect drift (auto-detects declared level from evolith.yaml)
443
+ smart-cli drift
444
+
445
+ # Specify declared level explicitly
446
+ smart-cli drift --level F2
447
+
448
+ # Analyze a different project path
449
+ smart-cli drift --path ../my-satellite
450
+
451
+ # Show historical scans
452
+ smart-cli drift --history
453
+
454
+ # Show trend (requires at least 2 prior scans)
455
+ smart-cli drift --trend
456
+
457
+ # JSON output for CI
458
+ smart-cli drift --format json
459
+ ```
460
+
461
+ ---
462
+
463
+ ### gate
464
+
465
+ Evaluates SDLC phase gates and emits ADR-0073 `GateEvidence` artifacts. Supports webhook delivery and multi-actor contexts.
466
+
467
+ ```bash
468
+ smart-cli gate <action> [options]
469
+
470
+ Actions:
471
+ evaluate Evaluate gates for the specified phase
472
+
473
+ Options:
474
+ -p, --phase <phase> SDLC phase: discovery, design, construction, qa, release
475
+ --project <path> Satellite project path (default: cwd)
476
+ -c, --core <path> Evolith Core path (default: auto-detect)
477
+ -f, --format <format> Output format: json (ADR-0073 envelope) or human (default)
478
+ --evaluated-by <actor> Actor class: human (default), agent, ci
479
+ --initiative <id> Initiative context — echoed in meta.context
480
+ --tenant <id> Tenant context — echoed in meta.context
481
+ --webhook-url <url> POST gate evidence to this URL upon completion
482
+ ```
483
+
484
+ **Examples:**
485
+
486
+ ```bash
487
+ # Evaluate design phase gates
488
+ smart-cli gate evaluate --phase design
489
+
490
+ # CI evaluation with JSON output
491
+ smart-cli gate evaluate --phase construction --evaluated-by ci --format json
492
+
493
+ # Agent-driven evaluation with webhook delivery
494
+ smart-cli gate evaluate --phase qa --evaluated-by agent --webhook-url https://ci.example.com/hooks/evolith
495
+
496
+ # Multi-tenant context
497
+ smart-cli gate evaluate --phase release --tenant acme --initiative Q3-launch
498
+ ```
499
+
500
+ ---
501
+
502
+ ### phase
503
+
504
+ Proposes a phase transition between SDLC phases. Emits a transition proposal artifact.
505
+
506
+ ```bash
507
+ smart-cli phase advance [options]
508
+
509
+ Options:
510
+ --from <phase> Current SDLC phase
511
+ --to <phase> Target SDLC phase
512
+ --project <path> Satellite project path (default: cwd)
513
+ -c, --core <path> Evolith Core path (default: auto-detect)
514
+ -f, --format <format> Output format: json (ADR-0073 envelope) or human (default)
515
+ --evaluated-by <actor> Actor class: human, agent (default), ci
516
+ --initiative <id> Initiative context — echoed in meta.context
517
+ --tenant <id> Tenant context — echoed in meta.context
518
+ --webhook-url <url> POST the transition proposal to this URL
519
+ ```
520
+
521
+ **Examples:**
522
+
523
+ ```bash
524
+ # Propose advancing from design to construction
525
+ smart-cli phase advance --from design --to construction
526
+
527
+ # Agent-driven with JSON output
528
+ smart-cli phase advance --from construction --to qa --evaluated-by agent --format json
529
+
530
+ # With webhook and tenant context
531
+ smart-cli phase advance --from qa --to release --webhook-url https://ci.example.com/hooks/evolith --tenant acme
532
+ ```
533
+
534
+ ---
535
+
536
+ ### sdlc
537
+
538
+ Parent command that orchestrates SDLC artifacts and lifecycle transitions. Run without a subcommand to see available subcommands.
539
+
540
+ ```bash
541
+ smart-cli sdlc <subcommand>
542
+
543
+ Subcommands:
544
+ handoff Transition artifacts between phases with interactive guided flow
545
+ generate Generate Hexagonal Architecture scaffold from a DDD model file
546
+ gate-status Display phase gate validation status and DORA metrics
547
+ ```
548
+
549
+ #### sdlc handoff
550
+
551
+ Guides an interactive phase transition, validates gates, and generates evidence artifacts.
552
+
553
+ ```bash
554
+ smart-cli sdlc handoff [options]
555
+
556
+ Options:
557
+ -f, --from <phase> Source phase (phase-0, phase-1, etc.)
558
+ -t, --to <phase> Target phase (phase-0, phase-1, etc.)
559
+ -a, --artifacts Generate evidence artifacts
560
+ --validate Validate phase gates before handoff
561
+ --force Force handoff even if gates fail
562
+ ```
563
+
564
+ **Examples:**
565
+
566
+ ```bash
567
+ # Interactive handoff wizard
568
+ smart-cli sdlc handoff
569
+
570
+ # Handoff from phase-0 to phase-1 with gate validation
571
+ smart-cli sdlc handoff --from phase-0 --to phase-1 --validate
572
+
573
+ # Generate artifacts and force even if gates fail
574
+ smart-cli sdlc handoff --from phase-1 --to phase-2 --artifacts --force
575
+ ```
576
+
577
+ #### sdlc generate
578
+
579
+ Generates a complete Hexagonal Architecture scaffold by reading a Mermaid `classDiagram` from a Markdown DDD model file.
580
+
581
+ ```bash
582
+ smart-cli sdlc generate [options]
583
+
584
+ Options:
585
+ -f, --from <path> Path to the Markdown file containing the Mermaid classDiagram
586
+ -o, --output <dir> Target directory for generated files (default: cwd)
587
+ --dry-run Print what would be generated without writing files
588
+ ```
589
+
590
+ **Examples:**
591
+
592
+ ```bash
593
+ # Generate from a DDD model file
594
+ smart-cli sdlc generate --from docs/domain-model.md
595
+
596
+ # Preview without writing
597
+ smart-cli sdlc generate --from docs/domain-model.md --dry-run
598
+
599
+ # Output to a specific directory
600
+ smart-cli sdlc generate --from docs/domain-model.md --output src/domain
601
+ ```
602
+
603
+ The input file must contain a fenced Mermaid block with a `classDiagram`. The generator creates entities, value objects, repositories, use cases, and ports following hexagonal architecture conventions.
604
+
605
+ #### sdlc gate-status
606
+
607
+ Displays the current SDLC phase gate validation status along with DORA metrics calculated from git history.
608
+
609
+ ```bash
610
+ smart-cli sdlc gate-status [options]
611
+
612
+ Options:
613
+ --since <days> Days of git history to analyze for DORA metrics (default: 90)
614
+ ```
615
+
616
+ DORA metrics reported:
617
+ - **Deployment Frequency** — how often the team deploys to production
618
+ - **Lead Time for Changes** — time from commit to production
619
+ - **Change Failure Rate** — percentage of deployments causing failures
620
+ - **Time to Restore** — time to recover from a production failure
621
+
622
+ **Examples:**
623
+
624
+ ```bash
625
+ # Current gate status with 90-day DORA window
626
+ smart-cli sdlc gate-status
627
+
628
+ # Analyze last 30 days only
629
+ smart-cli sdlc gate-status --since 30
630
+ ```
631
+
632
+ ---
633
+
634
+ ### profile
635
+
636
+ Manages named CLI profiles. Each profile stores a set of defaults (satellite path, core path, tenant, initiative) that are applied automatically to subsequent commands.
637
+
638
+ ```bash
639
+ smart-cli profile <action> [options]
640
+
641
+ Actions:
642
+ current Show the active profile
643
+ list List all profiles
644
+ create Create a new profile
645
+ switch Switch to a named profile
646
+ delete Delete a profile
647
+
648
+ Options:
649
+ -n, --name <name> Profile name (used with create and switch)
650
+ ```
651
+
652
+ **Examples:**
653
+
654
+ ```bash
655
+ # Show current profile
656
+ smart-cli profile current
657
+
658
+ # List all profiles
659
+ smart-cli profile list
660
+
661
+ # Create a profile interactively
662
+ smart-cli profile create
663
+
664
+ # Create with a name
665
+ smart-cli profile create --name staging
666
+
667
+ # Switch profile
668
+ smart-cli profile switch --name staging
669
+
670
+ # Delete a profile
671
+ smart-cli profile delete --name staging
672
+ ```
673
+
674
+ ---
675
+
676
+ ### fixtures
677
+
678
+ Seeds reproducible fixture files for demos, tests, and onboarding. The first step recommended in any new environment.
679
+
680
+ ```bash
681
+ smart-cli fixtures [type] [options]
682
+
683
+ Arguments:
684
+ type Fixture type (default: demo)
685
+
686
+ Options:
687
+ -d, --dir <directory> Target directory (default: cwd)
688
+ -n, --dry-run Preview files without writing
689
+ -t, --type <type> Fixture type: demo, adr, ruleset, evolith, full
690
+ ```
691
+
692
+ **Fixture types:**
693
+
694
+ | Type | Contents |
695
+ |------|----------|
696
+ | `demo` | Sample project with evolith.yaml and demo structure |
697
+ | `adr` | Pre-populated ADR entries |
698
+ | `ruleset` | Example rulesets (domain, naming, file conventions) |
699
+ | `evolith` | Full Evolith configuration files |
700
+ | `full` | All of the above combined |
701
+
702
+ **Examples:**
703
+
704
+ ```bash
705
+ # Seed a demo project (fastest way to explore the CLI)
706
+ smart-cli fixtures --type demo
707
+
708
+ # Preview what would be created
709
+ smart-cli fixtures --type full --dry-run
710
+
711
+ # Seed ADR fixtures into a specific directory
712
+ smart-cli fixtures --type adr --dir ./reference/architecture/adrs
713
+ ```
714
+
715
+ ---
716
+
717
+ ### api
718
+
719
+ Browses and inspects the Evolith API surface: MCP tools, resources, schemas, and CLI commands.
720
+
721
+ ```bash
722
+ smart-cli api [options]
723
+
724
+ Options:
725
+ -l, --list List all available API operations
726
+ -i, --inspect <name> Inspect a specific operation, resource, or command
727
+ -c, --category <category> Filter by category: tools, resources, schemas, commands
728
+ ```
729
+
730
+ **Examples:**
731
+
732
+ ```bash
733
+ # List everything
734
+ smart-cli api --list
735
+
736
+ # Filter MCP tools only
737
+ smart-cli api --list --category tools
738
+
739
+ # Inspect a specific tool
740
+ smart-cli api --inspect evolith-validate
741
+
742
+ # Inspect a CLI command schema
743
+ smart-cli api --inspect validate --category commands
744
+ ```
745
+
746
+ ---
747
+
748
+ ### update
749
+
750
+ Checks for and applies CLI updates.
751
+
752
+ ```bash
753
+ smart-cli update [options]
754
+
755
+ Options:
756
+ -c, --current Show the current installed CLI version
757
+ --check Check for available updates without installing
758
+ -i, --install Install the latest available version
759
+ ```
760
+
761
+ **Examples:**
762
+
763
+ ```bash
764
+ # Show current version
765
+ smart-cli update --current
766
+
767
+ # Check for updates
768
+ smart-cli update --check
769
+
770
+ # Install latest
771
+ smart-cli update --install
772
+ ```
773
+
774
+ ---
775
+
776
+ ### upgrade
777
+
778
+ Upgrades a satellite repository to the next progressive-axis topology or governance version.
779
+
780
+ ```bash
781
+ smart-cli upgrade [options]
782
+
783
+ Options:
784
+ --dry-run Simulate the upgrade without making changes
785
+ --target <target> Target governance version or topology (e.g., F2, 1.1.0)
786
+ --force Skip eligibility checks
787
+ ```
788
+
789
+ **Examples:**
790
+
791
+ ```bash
792
+ # Preview upgrade to the next topology
793
+ smart-cli upgrade --dry-run
794
+
795
+ # Upgrade to F2
796
+ smart-cli upgrade --target F2
797
+
798
+ # Force upgrade ignoring eligibility checks
799
+ smart-cli upgrade --target F3 --force
800
+ ```
801
+
802
+ ---
803
+
804
+ ### alias
805
+
806
+ Manages shorthand aliases for CLI commands.
807
+
808
+ ```bash
809
+ smart-cli alias [options]
810
+
811
+ Options:
812
+ --add <alias=command> Add a new alias (format: name=command)
813
+ --remove <alias> Remove an alias
814
+ --list List all aliases
815
+ ```
816
+
817
+ **Examples:**
818
+
819
+ ```bash
820
+ # Add an alias
821
+ smart-cli alias --add "v=validate --format table"
822
+
823
+ # List aliases
824
+ smart-cli alias --list
825
+
826
+ # Remove an alias
827
+ smart-cli alias --remove v
828
+ ```
829
+
830
+ ---
831
+
176
832
  ### history
177
833
 
178
- View and manage command history.
834
+ Views and manages CLI command execution history.
179
835
 
180
836
  ```bash
181
837
  smart-cli history [options]
182
838
 
183
839
  Options:
184
- --list List recent commands
185
- --get <id> Show command details
186
- --search <query> Search commands
187
- --stats Show statistics
188
- --clear Clear history
840
+ -l, --list List recent commands
841
+ -g, --get <id> Show command details by ID
842
+ -s, --search <query> Search history
843
+ --stats Show history statistics
844
+ --clear Clear all history
845
+ -n, --limit <number> Number of entries to show (default: 20)
846
+ --replay <id> Show the command string for a given history entry
189
847
  ```
190
848
 
191
849
  **Examples:**
@@ -194,61 +852,103 @@ Options:
194
852
  # Show last 20 commands
195
853
  smart-cli history
196
854
 
855
+ # Show last 50
856
+ smart-cli history --limit 50
857
+
858
+ # Search for validate runs
859
+ smart-cli history --search validate
860
+
197
861
  # Show statistics
198
862
  smart-cli history --stats
199
863
 
200
- # Search commands
201
- smart-cli history --search validate
864
+ # Clear history
865
+ smart-cli history --clear
202
866
  ```
203
867
 
868
+ ---
869
+
204
870
  ### completion
205
871
 
206
- Generate shell completion scripts.
872
+ Generates and installs shell completion scripts. Also provides shell hook functions for context and status display.
207
873
 
208
874
  ```bash
209
- smart-cli completion --install <shell>
875
+ smart-cli completion [options]
210
876
 
211
- Supported shells: bash, zsh, fish
877
+ Options:
878
+ --install <shell> Install completion for specified shell: bash, zsh, fish
879
+ --shell <shell> Generate completion script for specified shell (prints to stdout)
880
+ --hooks Generate shell hook functions for context/status display
212
881
  ```
213
882
 
214
883
  **Examples:**
215
884
 
216
885
  ```bash
886
+ # Install zsh completion
887
+ smart-cli completion --install zsh
888
+
217
889
  # Install bash completion
218
890
  smart-cli completion --install bash
219
891
 
220
- # Install zsh completion
221
- smart-cli completion --install zsh
892
+ # Install fish completion
893
+ smart-cli completion --install fish
894
+
895
+ # Print completion script to stdout (for manual setup)
896
+ smart-cli completion --shell zsh
897
+
898
+ # Generate hook functions
899
+ smart-cli completion --hooks
222
900
  ```
223
901
 
224
- ## MCP Server (AI Agent Integration)
902
+ Pre-built scripts are also included in the package under `shell/`:
903
+ - `shell/completion.bash`
904
+ - `shell/completion.zsh`
905
+ - `shell/completion.fish`
906
+ - `shell/hooks.bash`
907
+ - `shell/hooks.zsh`
908
+
909
+ ---
225
910
 
226
- The Evolith CLI includes an MCP server for AI agent integration.
911
+ ## MCP Server
227
912
 
228
- ### Starting the MCP Server
913
+ The Evolith CLI includes a production-ready MCP server for AI agent integration.
914
+
915
+ ### Starting the Server
229
916
 
230
917
  ```bash
918
+ # stdio transport (default — for Cursor, Claude Desktop)
231
919
  smart-cli mcp serve
920
+
921
+ # HTTP transport (for remote or containerized deployments)
922
+ smart-cli mcp serve --transport http --port 3000
923
+
924
+ # HTTP with API key authentication
925
+ smart-cli mcp serve --transport http --port 3000 --api-key <secret>
232
926
  ```
233
927
 
234
- The server communicates via stdio JSON-RPC.
928
+ ```bash
929
+ smart-cli mcp serve [options]
235
930
 
236
- ### MCP Smoke Test
931
+ Options:
932
+ -t, --transport <type> Transport: stdio (default) or http
933
+ -p, --port <number> HTTP server port (default: 3000)
934
+ --api-key <key> API key for HTTP transport authentication
935
+ --no-confirm Skip confirmation prompts
936
+ ```
237
937
 
238
- Use the smoke test before releases or MCP protocol changes:
938
+ ### Smoke Test
239
939
 
240
940
  ```bash
241
941
  npm run mcp:smoke
242
942
  ```
243
943
 
244
- The smoke verifies `initialize`, `tools/list`, `resources/list`, `prompts/list`, and a real `tools/call` through the built CLI.
944
+ Verifies `initialize`, `tools/list`, `resources/list`, `prompts/list`, and a real `tools/call` end-to-end through the built CLI.
245
945
 
246
946
  ### Available MCP Tools
247
947
 
248
948
  | Tool | Description |
249
949
  |------|-------------|
250
950
  | `evolith-validate` | Validate repository compliance |
251
- | `evolith-agent-install` | Install new agent |
951
+ | `evolith-agent-install` | Install a new BMAD agent |
252
952
  | `evolith-agent-list` | List installed agents |
253
953
  | `evolith-agent-validate` | Validate agent ruleset |
254
954
  | `evolith-agent-upgrade` | Upgrade an existing agent |
@@ -256,8 +956,8 @@ The smoke verifies `initialize`, `tools/list`, `resources/list`, `prompts/list`,
256
956
  | `evolith-architecture-validate` | Validate architecture (F1/F2/F3) with optional deep analysis |
257
957
  | `evolith-sdlc-handoff` | Generate phase handoff artifact manifest |
258
958
  | `evolith-sdlc-status` | Show SDLC phase gate status |
259
- | `evolith-config-get` | Get configuration value from `evolith.yaml` |
260
- | `evolith-config-set` | Set configuration value in `evolith.yaml` |
959
+ | `evolith-config-get` | Get a configuration value from `evolith.yaml` |
960
+ | `evolith-config-set` | Set a configuration value in `evolith.yaml` |
261
961
  | `evolith-metrics` | Get MCP server metrics |
262
962
  | `evolith-moscow-create` | Create a new MoSCoW prioritization analysis |
263
963
  | `evolith-moscow-load` | Load an existing MoSCoW analysis |
@@ -297,37 +997,63 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
297
997
  }
298
998
  ```
299
999
 
300
- ## AI Agent Workflow Example
301
-
302
- When integrated with an AI agent, you can have conversations like:
1000
+ ### HTTP Transport (remote deployment)
303
1001
 
1002
+ ```json
1003
+ {
1004
+ "mcpServers": {
1005
+ "evolith": {
1006
+ "url": "http://localhost:3000",
1007
+ "headers": { "x-api-key": "<secret>" }
1008
+ }
1009
+ }
1010
+ }
304
1011
  ```
305
- You: Validate my repository
306
- Agent: Let me run the validation...
307
1012
 
308
- await mcp.callTool('evolith-validate', {
309
- path: '/user/project',
310
- format: 'summary'
311
- })
1013
+ ---
312
1014
 
313
- Result: Repository is compliant with Evolith standards
314
- Rules checked: 12
315
- All gates passed
1015
+ ## CI/CD Integration
316
1016
 
317
- You: Show me the SDLC status
318
- Agent: Let me check the phase gate status...
1017
+ ### SDLC Phase Validation (GT-281 Pipeline)
319
1018
 
320
- await mcp.callTool('evolith-sdlc-status', {
321
- path: '/user/project'
322
- })
1019
+ ```bash
1020
+ # Validate a specific SDLC phase with full gate evaluation
1021
+ smart-cli validate --phase f2 --format json --output gate-evidence.json
1022
+
1023
+ # With explicit SatelliteManifest
1024
+ smart-cli validate --manifest ./satellite-manifest.json --phase f3 --format json
1025
+ ```
323
1026
 
324
- Result: Phase 1 3 gates passed, 0 failed
325
- All evidence artifacts present
1027
+ ### Gate Evaluation in CI
1028
+
1029
+ ```bash
1030
+ # Evaluate construction gates from CI
1031
+ smart-cli gate evaluate \
1032
+ --phase construction \
1033
+ --evaluated-by ci \
1034
+ --format json \
1035
+ --webhook-url $WEBHOOK_URL
326
1036
  ```
327
1037
 
1038
+ ### GitHub Actions Example
1039
+
1040
+ ```yaml
1041
+ - name: Evolith Gate Evaluation
1042
+ run: |
1043
+ smart-cli gate evaluate \
1044
+ --phase ${{ env.SDLC_PHASE }} \
1045
+ --evaluated-by ci \
1046
+ --format json \
1047
+ --output gate-evidence.json
1048
+ env:
1049
+ SDLC_PHASE: construction
1050
+ ```
1051
+
1052
+ ---
1053
+
328
1054
  ## Configuration
329
1055
 
330
- Evolith uses an `evolith.yaml` file in the repository root:
1056
+ Evolith uses `evolith.yaml` in `.evolith/` or the repository root:
331
1057
 
332
1058
  ```yaml
333
1059
  coreRef:
@@ -346,96 +1072,113 @@ product:
346
1072
  runtime: "typescript"
347
1073
  ```
348
1074
 
1075
+ ### Multi-Environment Profiles
1076
+
1077
+ ```bash
1078
+ # Create a profile per environment
1079
+ smart-cli profile create --name local
1080
+ smart-cli profile create --name staging
1081
+ smart-cli profile create --name ci
1082
+
1083
+ # Switch before running commands
1084
+ smart-cli profile switch --name staging
1085
+ smart-cli validate
1086
+ ```
1087
+
1088
+ ---
1089
+
349
1090
  ## Output Formats
350
1091
 
351
- All commands support multiple output formats:
1092
+ Most commands accept `--format`:
352
1093
 
353
1094
  ```bash
354
- # JSON (default for automation)
355
- smart-cli validate --format json
1095
+ # Human-readable (default for most commands)
1096
+ smart-cli validate
1097
+
1098
+ # Markdown
1099
+ smart-cli validate --format markdown
356
1100
 
357
- # Table (human-readable)
1101
+ # Table
358
1102
  smart-cli validate --format table
359
1103
 
360
- # YAML (pipeline integration)
1104
+ # YAML
361
1105
  smart-cli validate --format yaml
362
1106
 
363
- # Markdown (documentation)
364
- smart-cli validate --format markdown
1107
+ # JSON (ADR-0073 envelope — for automation and CI)
1108
+ smart-cli validate --format json
365
1109
  ```
366
1110
 
367
- ## Troubleshooting
368
-
369
- ### Command not found
1111
+ ---
370
1112
 
371
- If `evolith` is not found after installation, ensure npm's global bin is in your PATH:
1113
+ ## Troubleshooting
372
1114
 
1115
+ **Command not found after install:**
373
1116
  ```bash
374
- # Add to ~/.bashrc or ~/.zshrc
375
1117
  export PATH="$(npm config get prefix)/bin:$PATH"
376
1118
  ```
377
1119
 
378
- ### MCP server not responding
379
-
380
- Ensure the MCP server is running:
381
-
1120
+ **Validation fails with no evolith.yaml:**
382
1121
  ```bash
383
- smart-cli mcp serve &
1122
+ smart-cli docs # scaffold evolith.yaml and base docs
1123
+ smart-cli validate
384
1124
  ```
385
1125
 
386
- ### Validation fails
387
-
388
- Check your `evolith.yaml` exists and is valid:
389
-
1126
+ **MCP server not responding:**
390
1127
  ```bash
391
- cat evolith.yaml
392
- smart-cli validate --verbose
1128
+ smart-cli mcp serve --no-confirm
393
1129
  ```
394
1130
 
1131
+ **Unknown topology in scaffold or drift:**
1132
+ Ensure your `evolith.yaml` has a valid `product.topology` field using a canonical topology id — `modular-monolith`, `distributed-modules`, `microservices`, `serverless`, `edge-computing`, `event-driven`, `data-mesh` or `agentic-ai` (per `reference/config/evolith.config.schema.json`). Legacy `F1/F2/F3` are accepted only as deprecated CLI flags, not as manifest values.
1133
+
1134
+ ---
1135
+
395
1136
  ## Development
396
1137
 
397
- ### Building from Source
1138
+ ### Build from Source
398
1139
 
399
1140
  ```bash
400
1141
  cd sdk/cli
401
1142
  npm install
402
1143
  npm run build
403
- npm link # Link globally for testing
1144
+ npm link
404
1145
  ```
405
1146
 
406
- ### Running Tests
1147
+ ### Tests
407
1148
 
408
1149
  ```bash
409
- # Run all tests
410
- npm test
411
-
412
- # Run with coverage report
413
- npm run test:cov
1150
+ npm test # unit + e2e
1151
+ npm run test:unit # unit only
1152
+ npm run test:e2e # e2e only
1153
+ npm run test:cov # coverage report
1154
+ npm run mcp:smoke # MCP protocol smoke test
414
1155
  ```
415
1156
 
416
- **Coverage (as of v0.0.3-beta):** 88.7% statements · 89.8% lines · 77.0% branches · 83.6% functions · 1 369 tests
417
-
418
1157
  ### Project Structure
419
1158
 
420
1159
  ```
421
1160
  sdk/cli/
422
1161
  ├── src/
423
- │ ├── commands/ # CLI commands (adr, validate, agents, etc.)
424
- │ ├── application/ # Use cases
425
- │ ├── domain/ # Business logic (services, entities)
426
- │ ├── infrastructure/# External integrations (catalog, CLI)
427
- │ └── core/ # Shared (DI, observability, errors, MCP)
428
- ├── shell/ # Shell completion scripts
429
- ├── templates/ # Configuration templates
430
- └── docs/ # Documentation
1162
+ │ ├── commands/ # CLI commands (one directory per command)
1163
+ │ ├── config/ # Runtimes catalog, CLI commands matrix, aliases
1164
+ │ ├── contributions/ # Contribution validation
1165
+ │ ├── infrastructure/ # Config, filesystem, formatters, prompts, plugins
1166
+ │ └── plugins/ # Plugin registry and module
1167
+ ├── shell/ # Bash, Zsh, Fish completion and hooks
1168
+ ├── templates/ # Configuration templates
1169
+ ├── test/ # E2E test suite
1170
+ └── docs/ # Extended documentation
431
1171
  ```
432
1172
 
433
- ## Documentation
1173
+ ### Extended Documentation
1174
+
1175
+ - [Demo Guide](docs/SMART-CLI-DEMO.md) — end-to-end walkthrough of all commands and SDLC flows
1176
+ - [Vision](docs/VISION.md) — CLI vision and roadmap
1177
+ - [Data Models](docs/data-models.md) — domain data model reference
1178
+ - [MCP Integration](docs/MCP-INTEGRATION.md) — MCP server protocol details
1179
+ - [Handoff Protocol](docs/HANDOFF-PROTOCOL.md) — SDLC handoff artifact specification
434
1180
 
435
- - [SMART CLI Demo Guide](docs/SMART-CLI-DEMO.md) - Comprehensive guide covering all commands, SDLC flow, product types, MCP integration, and architecture validation
436
- - [Vision](docs/VISION.md) - CLI vision and roadmap
437
- - [Data Models](docs/data-models.md) - Domain data models
438
- - [MCP Integration](docs/MCP-INTEGRATION.md) - MCP server integration details
1181
+ ---
439
1182
 
440
1183
  ## Contributing
441
1184
 
@@ -444,12 +1187,14 @@ sdk/cli/
444
1187
  3. Make changes with tests
445
1188
  4. Submit a pull request
446
1189
 
1190
+ ---
1191
+
447
1192
  ## License
448
1193
 
449
- ISC
1194
+ MIT
450
1195
 
451
1196
  ## Support
452
1197
 
453
- - [Documentation](https://github.com/beyondnetcode/evolith_arch32#readme)
454
1198
  - [Issue Tracker](https://github.com/beyondnetcode/evolith_arch32/issues)
455
1199
  - [Discussions](https://github.com/beyondnetcode/evolith_arch32/discussions)
1200
+ - [Documentation](https://github.com/beyondnetcode/evolith_arch32#readme)