@girardelli/architect 2.2.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/README.md +105 -116
  2. package/__test_agent_output__/INDEX.md +1 -0
  3. package/__test_agent_output__/agents/AGENT-ORCHESTRATOR.md +1 -0
  4. package/__test_agent_output__/agents/DATABASE-ENGINEER.md +174 -0
  5. package/__test_agent_output__/agents/QA-TEST-ENGINEER.md +138 -0
  6. package/__test_agent_output__/agents/SECURITY-AUDITOR.md +106 -0
  7. package/__test_agent_output__/agents/TECH-DEBT-CONTROLLER.md +104 -0
  8. package/__test_agent_output__/agents/TYPESCRIPT-BACKEND-DEVELOPER.md +135 -0
  9. package/__test_agent_output__/guards/CODE-REVIEW-CHECKLIST.md +95 -0
  10. package/__test_agent_output__/guards/PREFLIGHT.md +200 -0
  11. package/__test_agent_output__/guards/QUALITY-GATES.md +1 -0
  12. package/__test_agent_output__/rules/00-general.md +229 -0
  13. package/__test_agent_output__/rules/01-architecture.md +191 -0
  14. package/__test_agent_output__/rules/02-security.md +402 -0
  15. package/__test_agent_output__/rules/03-nestjs.md +124 -0
  16. package/__test_agent_output__/templates/ADR.md +95 -0
  17. package/__test_agent_output__/templates/BDD.md +58 -0
  18. package/__test_agent_output__/templates/C4.md +68 -0
  19. package/__test_agent_output__/templates/TDD.md +86 -0
  20. package/__test_agent_output__/templates/THREAT-MODEL.md +82 -0
  21. package/__test_agent_output__/workflows/fix-bug.md +228 -0
  22. package/__test_agent_output__/workflows/new-feature.md +311 -0
  23. package/__test_agent_output__/workflows/review.md +95 -0
  24. package/__test_context_7RvUrO/src/modules/empty/empty.ts +0 -0
  25. package/__test_context_Rf5fNJ/src/modules/mixed/mixed.ts +5 -0
  26. package/__test_context_WRCnYH/src/modules/test/test.ts +10 -0
  27. package/__test_context_YsnVS3/src/modules/test/test.ts +10 -0
  28. package/__test_context_w7XZeH/src/modules/mixed/mixed.ts +5 -0
  29. package/__test_context_y5noh6/src/modules/empty/empty.ts +0 -0
  30. package/__test_framework__24OjAu/package.json +1 -0
  31. package/__test_framework__3ZDZsx/pyproject.toml +8 -0
  32. package/__test_framework__4T54Jn/package.json +1 -0
  33. package/__test_framework__4tlXu9/pyproject.toml +8 -0
  34. package/__test_framework__6boWqQ/Pipfile +6 -0
  35. package/__test_framework__6gygMU/pom.xml +10 -0
  36. package/__test_framework__6kxj0N/go.mod +8 -0
  37. package/__test_framework__7CEoXw/pom.xml +10 -0
  38. package/__test_framework__85DDz0/Pipfile +6 -0
  39. package/__test_framework__9WrRIr/pom.xml +7 -0
  40. package/__test_framework__ANqGKl/Gemfile +5 -0
  41. package/__test_framework__BCXTEM/go.mod +3 -0
  42. package/__test_framework__BHiPNq/setup.py +2 -0
  43. package/__test_framework__BqkiKv/package.json +1 -0
  44. package/__test_framework__C5yd8X/Pipfile.lock +1 -0
  45. package/__test_framework__C5yd8X/requirements.txt +1 -0
  46. package/__test_framework__C87d3a/manage.py +1 -0
  47. package/__test_framework__C87d3a/requirements.txt +2 -0
  48. package/__test_framework__DXNwc5/build.gradle +7 -0
  49. package/__test_framework__GhHSt3/build.gradle.kts +4 -0
  50. package/__test_framework__GzklJP/Cargo.toml +7 -0
  51. package/__test_framework__H4hd13/go.mod +8 -0
  52. package/__test_framework__HKjOXO/composer.json +1 -0
  53. package/__test_framework__HaDN45/Gemfile +3 -0
  54. package/__test_framework__IBO7YG/pyproject.toml +9 -0
  55. package/__test_framework__JwSOyF/pyproject.toml +6 -0
  56. package/__test_framework__K6HrCr/build.gradle +2 -0
  57. package/__test_framework__KzRPlh/pubspec.yaml +9 -0
  58. package/__test_framework__L6uIym/pyproject.toml +6 -0
  59. package/__test_framework__LOdoGK/requirements.txt +4 -0
  60. package/__test_framework__LgHzss/package.json +1 -0
  61. package/__test_framework__M76M6q/Gemfile +5 -0
  62. package/__test_framework__Mr9vWW/composer.json +1 -0
  63. package/__test_framework__N03Gnv/package.json +1 -0
  64. package/__test_framework__Num4UE/requirements +1 -0
  65. package/__test_framework__OAGw3Y/build.gradle +7 -0
  66. package/__test_framework__OQc8yG/pubspec.yaml +9 -0
  67. package/__test_framework__OwKZcd/requirements.txt +3 -0
  68. package/__test_framework__P0gFv7/requirements +1 -0
  69. package/__test_framework__PN55Rq/package.json +1 -0
  70. package/__test_framework__PQiqX8/pubspec.yaml +3 -0
  71. package/__test_framework__RBHsg7/composer.json +1 -0
  72. package/__test_framework__RHxif4/Cargo.toml +7 -0
  73. package/__test_framework__T0v0p1/Cargo.toml +4 -0
  74. package/__test_framework__Tu0clt/Pipfile.lock +1 -0
  75. package/__test_framework__Tu0clt/requirements.txt +1 -0
  76. package/__test_framework__TwDj9P/Cargo.toml +4 -0
  77. package/__test_framework__VQJNC4/pom.xml +7 -0
  78. package/__test_framework__W6sm05/package.json +1 -0
  79. package/__test_framework__W7vBLy/pyproject.toml +4 -0
  80. package/__test_framework__WNJOWT/setup.py +2 -0
  81. package/__test_framework__WSJs7U/package.json +1 -0
  82. package/__test_framework__YQ5VpA/build.gradle.kts +4 -0
  83. package/__test_framework__ZNEUEs/package.json +1 -0
  84. package/__test_framework__Znt922/pom.xml +7 -0
  85. package/__test_framework__azyg0h/pom.xml +7 -0
  86. package/__test_framework__c6otLr/package.json +1 -0
  87. package/__test_framework__cl9S9G/build.gradle +2 -0
  88. package/__test_framework__eilvV4/composer.json +1 -0
  89. package/__test_framework__gQZxXO/manage.py +1 -0
  90. package/__test_framework__gQZxXO/requirements.txt +2 -0
  91. package/__test_framework__ghvl26/poetry.lock +1 -0
  92. package/__test_framework__ghvl26/pyproject.toml +2 -0
  93. package/__test_framework__hR7b9U/Makefile +11 -0
  94. package/__test_framework__iESVsi/composer.json +1 -0
  95. package/__test_framework__jm6TJy/package.json +1 -0
  96. package/__test_framework__kBUpjs/pyproject.toml +9 -0
  97. package/__test_framework__kqoZrw/requirements.txt +4 -0
  98. package/__test_framework__lWkoyO/pyproject.toml +4 -0
  99. package/__test_framework__mTKnUO/package.json +1 -0
  100. package/__test_framework__nCeZwe/Makefile +11 -0
  101. package/__test_framework__oljsU0/package.json +1 -0
  102. package/__test_framework__osRG4q/go.mod +3 -0
  103. package/__test_framework__pCHH4F/package.json +1 -0
  104. package/__test_framework__pExx6E/Gemfile +3 -0
  105. package/__test_framework__pyBoGd/pyproject.toml +5 -0
  106. package/__test_framework__qw16VQ/package.json +1 -0
  107. package/__test_framework__rRayrG/package.json +1 -0
  108. package/__test_framework__s82zO5/package.json +1 -0
  109. package/__test_framework__tp8MFK/pyproject.toml +5 -0
  110. package/__test_framework__w44k4w/composer.json +1 -0
  111. package/__test_framework__yefPZY/poetry.lock +1 -0
  112. package/__test_framework__yefPZY/pyproject.toml +2 -0
  113. package/__test_framework__zCiyDT/requirements.txt +3 -0
  114. package/__test_framework__zGZN3j/pubspec.yaml +3 -0
  115. package/__test_framework__zXpnxL/package.json +1 -0
  116. package/architect-run.sh +431 -0
  117. package/assets/banner-v3.html +561 -0
  118. package/dist/agent-generator/context-enricher.d.ts +58 -0
  119. package/dist/agent-generator/context-enricher.d.ts.map +1 -0
  120. package/dist/agent-generator/context-enricher.js +581 -0
  121. package/dist/agent-generator/context-enricher.js.map +1 -0
  122. package/dist/agent-generator/domain-inferrer.d.ts +52 -0
  123. package/dist/agent-generator/domain-inferrer.d.ts.map +1 -0
  124. package/dist/agent-generator/domain-inferrer.js +575 -0
  125. package/dist/agent-generator/domain-inferrer.js.map +1 -0
  126. package/dist/agent-generator/framework-detector.d.ts +40 -0
  127. package/dist/agent-generator/framework-detector.d.ts.map +1 -0
  128. package/dist/agent-generator/framework-detector.js +611 -0
  129. package/dist/agent-generator/framework-detector.js.map +1 -0
  130. package/dist/agent-generator/index.d.ts +33 -0
  131. package/dist/agent-generator/index.d.ts.map +1 -0
  132. package/dist/agent-generator/index.js +477 -0
  133. package/dist/agent-generator/index.js.map +1 -0
  134. package/dist/agent-generator/stack-detector.d.ts +12 -0
  135. package/dist/agent-generator/stack-detector.d.ts.map +1 -0
  136. package/dist/agent-generator/stack-detector.js +128 -0
  137. package/dist/agent-generator/stack-detector.js.map +1 -0
  138. package/dist/agent-generator/templates/core/agents.d.ts +17 -0
  139. package/dist/agent-generator/templates/core/agents.d.ts.map +1 -0
  140. package/dist/agent-generator/templates/core/agents.js +1252 -0
  141. package/dist/agent-generator/templates/core/agents.js.map +1 -0
  142. package/dist/agent-generator/templates/core/architecture-rules.d.ts +7 -0
  143. package/dist/agent-generator/templates/core/architecture-rules.d.ts.map +1 -0
  144. package/dist/agent-generator/templates/core/architecture-rules.js +274 -0
  145. package/dist/agent-generator/templates/core/architecture-rules.js.map +1 -0
  146. package/dist/agent-generator/templates/core/general-rules.d.ts +8 -0
  147. package/dist/agent-generator/templates/core/general-rules.d.ts.map +1 -0
  148. package/dist/agent-generator/templates/core/general-rules.js +301 -0
  149. package/dist/agent-generator/templates/core/general-rules.js.map +1 -0
  150. package/dist/agent-generator/templates/core/index-md.d.ts +7 -0
  151. package/dist/agent-generator/templates/core/index-md.d.ts.map +1 -0
  152. package/dist/agent-generator/templates/core/index-md.js +246 -0
  153. package/dist/agent-generator/templates/core/index-md.js.map +1 -0
  154. package/dist/agent-generator/templates/core/orchestrator.d.ts +8 -0
  155. package/dist/agent-generator/templates/core/orchestrator.d.ts.map +1 -0
  156. package/dist/agent-generator/templates/core/orchestrator.js +422 -0
  157. package/dist/agent-generator/templates/core/orchestrator.js.map +1 -0
  158. package/dist/agent-generator/templates/core/preflight.d.ts +8 -0
  159. package/dist/agent-generator/templates/core/preflight.d.ts.map +1 -0
  160. package/dist/agent-generator/templates/core/preflight.js +213 -0
  161. package/dist/agent-generator/templates/core/preflight.js.map +1 -0
  162. package/dist/agent-generator/templates/core/quality-gates.d.ts +11 -0
  163. package/dist/agent-generator/templates/core/quality-gates.d.ts.map +1 -0
  164. package/dist/agent-generator/templates/core/quality-gates.js +254 -0
  165. package/dist/agent-generator/templates/core/quality-gates.js.map +1 -0
  166. package/dist/agent-generator/templates/core/security-rules.d.ts +7 -0
  167. package/dist/agent-generator/templates/core/security-rules.d.ts.map +1 -0
  168. package/dist/agent-generator/templates/core/security-rules.js +528 -0
  169. package/dist/agent-generator/templates/core/security-rules.js.map +1 -0
  170. package/dist/agent-generator/templates/core/skills-generator.d.ts +6 -0
  171. package/dist/agent-generator/templates/core/skills-generator.d.ts.map +1 -0
  172. package/dist/agent-generator/templates/core/skills-generator.js +207 -0
  173. package/dist/agent-generator/templates/core/skills-generator.js.map +1 -0
  174. package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts +7 -0
  175. package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts.map +1 -0
  176. package/dist/agent-generator/templates/core/workflow-fix-bug.js +237 -0
  177. package/dist/agent-generator/templates/core/workflow-fix-bug.js.map +1 -0
  178. package/dist/agent-generator/templates/core/workflow-new-feature.d.ts +8 -0
  179. package/dist/agent-generator/templates/core/workflow-new-feature.d.ts.map +1 -0
  180. package/dist/agent-generator/templates/core/workflow-new-feature.js +321 -0
  181. package/dist/agent-generator/templates/core/workflow-new-feature.js.map +1 -0
  182. package/dist/agent-generator/templates/core/workflow-review.d.ts +7 -0
  183. package/dist/agent-generator/templates/core/workflow-review.d.ts.map +1 -0
  184. package/dist/agent-generator/templates/core/workflow-review.js +104 -0
  185. package/dist/agent-generator/templates/core/workflow-review.js.map +1 -0
  186. package/dist/agent-generator/templates/domain/index.d.ts +22 -0
  187. package/dist/agent-generator/templates/domain/index.d.ts.map +1 -0
  188. package/dist/agent-generator/templates/domain/index.js +1176 -0
  189. package/dist/agent-generator/templates/domain/index.js.map +1 -0
  190. package/dist/agent-generator/templates/stack/index.d.ts +8 -0
  191. package/dist/agent-generator/templates/stack/index.d.ts.map +1 -0
  192. package/dist/agent-generator/templates/stack/index.js +695 -0
  193. package/dist/agent-generator/templates/stack/index.js.map +1 -0
  194. package/dist/agent-generator/templates/template-helpers.d.ts +75 -0
  195. package/dist/agent-generator/templates/template-helpers.d.ts.map +1 -0
  196. package/dist/agent-generator/templates/template-helpers.js +726 -0
  197. package/dist/agent-generator/templates/template-helpers.js.map +1 -0
  198. package/dist/agent-generator/types.d.ts +196 -0
  199. package/dist/agent-generator/types.d.ts.map +1 -0
  200. package/dist/agent-generator/types.js +27 -0
  201. package/dist/agent-generator/types.js.map +1 -0
  202. package/dist/analyzer.d.ts +5 -0
  203. package/dist/analyzer.d.ts.map +1 -1
  204. package/dist/analyzer.js +35 -4
  205. package/dist/analyzer.js.map +1 -1
  206. package/dist/analyzers/forecast.d.ts +85 -0
  207. package/dist/analyzers/forecast.d.ts.map +1 -0
  208. package/dist/analyzers/forecast.js +337 -0
  209. package/dist/analyzers/forecast.js.map +1 -0
  210. package/dist/analyzers/git-cache.d.ts +7 -0
  211. package/dist/analyzers/git-cache.d.ts.map +1 -0
  212. package/dist/analyzers/git-cache.js +41 -0
  213. package/dist/analyzers/git-cache.js.map +1 -0
  214. package/dist/analyzers/git-history.d.ts +113 -0
  215. package/dist/analyzers/git-history.d.ts.map +1 -0
  216. package/dist/analyzers/git-history.js +333 -0
  217. package/dist/analyzers/git-history.js.map +1 -0
  218. package/dist/analyzers/index.d.ts +10 -0
  219. package/dist/analyzers/index.d.ts.map +1 -0
  220. package/dist/analyzers/index.js +7 -0
  221. package/dist/analyzers/index.js.map +1 -0
  222. package/dist/analyzers/temporal-scorer.d.ts +72 -0
  223. package/dist/analyzers/temporal-scorer.d.ts.map +1 -0
  224. package/dist/analyzers/temporal-scorer.js +140 -0
  225. package/dist/analyzers/temporal-scorer.js.map +1 -0
  226. package/dist/cli.d.ts +2 -3
  227. package/dist/cli.d.ts.map +1 -1
  228. package/dist/cli.js +275 -113
  229. package/dist/cli.js.map +1 -1
  230. package/dist/html-reporter.d.ts +3 -1
  231. package/dist/html-reporter.d.ts.map +1 -1
  232. package/dist/html-reporter.js +248 -12
  233. package/dist/html-reporter.js.map +1 -1
  234. package/dist/index.d.ts +16 -3
  235. package/dist/index.d.ts.map +1 -1
  236. package/dist/index.js +63 -4
  237. package/dist/index.js.map +1 -1
  238. package/dist/project-summarizer.d.ts +18 -0
  239. package/dist/project-summarizer.d.ts.map +1 -0
  240. package/dist/project-summarizer.js +306 -0
  241. package/dist/project-summarizer.js.map +1 -0
  242. package/dist/refactor-reporter.js +1 -1
  243. package/dist/types.d.ts +13 -0
  244. package/dist/types.d.ts.map +1 -1
  245. package/package.json +12 -3
  246. package/src/agent-generator/context-enricher.ts +643 -0
  247. package/src/agent-generator/domain-inferrer.ts +625 -0
  248. package/src/agent-generator/framework-detector.ts +669 -0
  249. package/src/agent-generator/index.ts +555 -0
  250. package/src/agent-generator/stack-detector.ts +103 -0
  251. package/src/agent-generator/templates/core/agents.ts +1293 -0
  252. package/src/agent-generator/templates/core/architecture-rules.ts +287 -0
  253. package/src/agent-generator/templates/core/general-rules.ts +306 -0
  254. package/src/agent-generator/templates/core/index-md.ts +260 -0
  255. package/src/agent-generator/templates/core/orchestrator.ts +459 -0
  256. package/src/agent-generator/templates/core/preflight.ts +215 -0
  257. package/src/agent-generator/templates/core/quality-gates.ts +256 -0
  258. package/src/agent-generator/templates/core/security-rules.ts +543 -0
  259. package/src/agent-generator/templates/core/skills-generator.ts +236 -0
  260. package/src/agent-generator/templates/core/workflow-fix-bug.ts +239 -0
  261. package/src/agent-generator/templates/core/workflow-new-feature.ts +323 -0
  262. package/src/agent-generator/templates/core/workflow-review.ts +106 -0
  263. package/src/agent-generator/templates/domain/index.ts +1201 -0
  264. package/src/agent-generator/templates/stack/index.ts +705 -0
  265. package/src/agent-generator/templates/template-helpers.ts +776 -0
  266. package/src/agent-generator/types.ts +232 -0
  267. package/src/analyzer.ts +38 -4
  268. package/src/analyzers/forecast.ts +496 -0
  269. package/src/analyzers/git-cache.ts +52 -0
  270. package/src/analyzers/git-history.ts +488 -0
  271. package/src/analyzers/index.ts +33 -0
  272. package/src/analyzers/temporal-scorer.ts +227 -0
  273. package/src/cli.ts +316 -117
  274. package/src/html-reporter.ts +263 -13
  275. package/src/index.ts +92 -9
  276. package/src/project-summarizer.ts +347 -0
  277. package/src/refactor-reporter.ts +1 -1
  278. package/src/types.ts +10 -0
  279. package/tests/agent-generator.test.ts +411 -0
  280. package/tests/analyzers-integration.test.ts +174 -0
  281. package/tests/architect-adapter-enrichment.test.ts +9 -0
  282. package/tests/context-enricher.test.ts +971 -0
  283. package/tests/forecast.test.ts +509 -0
  284. package/tests/framework-detector.test.ts +1172 -0
  285. package/tests/git-history.test.ts +254 -0
  286. package/tests/scanner.test.ts +7 -8
  287. package/tests/scorer.test.ts +588 -0
  288. package/tests/stack-detector.test.ts +241 -0
  289. package/tests/template-generation.test.ts +706 -0
  290. package/tests/template-helpers.test.ts +1152 -0
  291. package/tests/temporal-scorer.test.ts +307 -0
  292. package/dist/agent-generator.d.ts +0 -106
  293. package/dist/agent-generator.d.ts.map +0 -1
  294. package/dist/agent-generator.js +0 -1398
  295. package/dist/agent-generator.js.map +0 -1
  296. package/src/agent-generator.ts +0 -1526
@@ -1,5 +1,5 @@
1
1
  import { AnalysisReport, RefactoringPlan } from './types.js';
2
- import { AgentSuggestion } from './agent-generator.js';
2
+ import { AgentSuggestion } from './agent-generator/index.js';
3
3
  /**
4
4
  * Generates premium visual HTML reports from AnalysisReport.
5
5
  * Features: D3.js force graph, bubble charts, radar chart, animated counters.
@@ -13,6 +13,8 @@ export declare class HtmlReportGenerator {
13
13
  private groupAntiPatterns;
14
14
  private groupSuggestions;
15
15
  private renderHeader;
16
+ private renderProjectOverview;
17
+ private esc;
16
18
  private renderScoreHero;
17
19
  /**
18
20
  * Radar chart for the 4 score components
@@ -1 +1 @@
1
- {"version":3,"file":"html-reporter.d.ts","sourceRoot":"","sources":["../src/html-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,eAAe,EAAgB,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,MAAM;IA8EvG,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,eAAe;IAwCvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4E7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoChC,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,qBAAqB;IAoF7B,OAAO,CAAC,kBAAkB;IA6C1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAwTlB,OAAO,CAAC,sBAAsB;IAwQ9B,OAAO,CAAC,SAAS;CAyXlB"}
1
+ {"version":3,"file":"html-reporter.d.ts","sourceRoot":"","sources":["../src/html-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,eAAe,EAAgB,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,MAAM;IAiFvG,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,qBAAqB;IA6D7B,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,eAAe;IAwCvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8H7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoChC,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,qBAAqB;IAoF7B,OAAO,CAAC,kBAAkB;IA6C1B;;OAEG;IACH,OAAO,CAAC,UAAU;IA0TlB,OAAO,CAAC,sBAAsB;IAwQ9B,OAAO,CAAC,SAAS;CAuflB"}
@@ -21,6 +21,7 @@ ${this.renderHeader(report)}
21
21
  <nav class="sidebar" id="reportSidebar">
22
22
  <div class="sidebar-title">Navigation</div>
23
23
  <a href="#score" class="sidebar-link active" data-section="score">📊 Score</a>
24
+ ${report.projectSummary ? `<a href="#overview" class="sidebar-link" data-section="overview">📋 Overview</a>` : ''}
24
25
  <a href="#layers" class="sidebar-link" data-section="layers">📐 Layers & Graph</a>
25
26
  <a href="#anti-patterns" class="sidebar-link" data-section="anti-patterns">⚠️ Anti-Patterns (${report.antiPatterns.length})</a>
26
27
  <a href="#suggestions" class="sidebar-link" data-section="suggestions">💡 Suggestions (${report.suggestions.length})</a>
@@ -36,6 +37,8 @@ ${this.renderHeader(report)}
36
37
  ${this.renderStats(report)}
37
38
  </div>
38
39
 
40
+ ${this.renderProjectOverview(report)}
41
+
39
42
  <details class="section-accordion" id="layers" open>
40
43
  <summary class="section-accordion-header">📐 Layer Analysis & Dependencies</summary>
41
44
  <div class="section-accordion-body">
@@ -155,6 +158,69 @@ ${this.getScripts(report)}
155
158
  </div>
156
159
  </div>`;
157
160
  }
161
+ renderProjectOverview(report) {
162
+ const summary = report.projectSummary;
163
+ if (!summary)
164
+ return '';
165
+ const modulesHtml = summary.modules.length > 0
166
+ ? summary.modules.map(m => `
167
+ <div class="overview-module">
168
+ <div class="overview-module-name">${this.esc(m.name)}</div>
169
+ <div class="overview-module-desc">${this.esc(m.description)}</div>
170
+ <div class="overview-module-files">${m.files} file${m.files > 1 ? 's' : ''}</div>
171
+ </div>`).join('')
172
+ : '<div class="overview-empty">Nenhum módulo detectado</div>';
173
+ const techHtml = summary.techStack
174
+ .map(t => `<span class="overview-tag tech-tag">${this.esc(t)}</span>`)
175
+ .join('');
176
+ const keywordsHtml = summary.keywords
177
+ .map(k => `<span class="overview-tag keyword-tag">${this.esc(k)}</span>`)
178
+ .join('');
179
+ const entryHtml = summary.entryPoints.length > 0
180
+ ? summary.entryPoints.map(e => `<code class="overview-entry">${this.esc(e)}</code>`).join(' ')
181
+ : '<span class="overview-empty">—</span>';
182
+ return `
183
+ <details class="section-accordion" id="overview" open>
184
+ <summary class="section-accordion-header">📋 Project Overview</summary>
185
+ <div class="section-accordion-body">
186
+ <div class="overview-grid">
187
+ <div class="overview-card overview-main">
188
+ <div class="overview-label">O que é</div>
189
+ <div class="overview-description">${this.esc(summary.description)}</div>
190
+ <div class="overview-purpose-row">
191
+ <span class="overview-purpose-label">Tipo:</span>
192
+ <span class="overview-purpose-value">${this.esc(summary.purpose)}</span>
193
+ </div>
194
+ </div>
195
+ <div class="overview-card">
196
+ <div class="overview-label">Tech Stack</div>
197
+ <div class="overview-tags">${techHtml || '<span class="overview-empty">—</span>'}</div>
198
+ </div>
199
+ <div class="overview-card">
200
+ <div class="overview-label">Keywords</div>
201
+ <div class="overview-tags">${keywordsHtml || '<span class="overview-empty">—</span>'}</div>
202
+ </div>
203
+ <div class="overview-card">
204
+ <div class="overview-label">Entry Points</div>
205
+ <div class="overview-entries">${entryHtml}</div>
206
+ </div>
207
+ </div>
208
+ <div class="overview-modules-section">
209
+ <div class="overview-label">Módulos Detectados (${summary.modules.length})</div>
210
+ <div class="overview-modules-grid">
211
+ ${modulesHtml}
212
+ </div>
213
+ </div>
214
+ </div>
215
+ </details>`;
216
+ }
217
+ esc(text) {
218
+ return text
219
+ .replace(/&/g, '&amp;')
220
+ .replace(/</g, '&lt;')
221
+ .replace(/>/g, '&gt;')
222
+ .replace(/"/g, '&quot;');
223
+ }
158
224
  renderScoreHero(report) {
159
225
  const overall = report.score.overall;
160
226
  const circumference = 2 * Math.PI * 85;
@@ -279,6 +345,38 @@ ${this.getScripts(report)}
279
345
  connections: connectionCount[n] || 0,
280
346
  layer: layerMap[n] || 'Other',
281
347
  }));
348
+ // ── Fallback: color by module/directory when layer detection is weak ──
349
+ const otherCount = allNodes.filter(n => n.layer === 'Other').length;
350
+ const useModuleColoring = allNodes.length > 0 && (otherCount / allNodes.length) > 0.7;
351
+ // Palette for module-based coloring (10 distinct, vibrant colors)
352
+ const modulePalette = [
353
+ '#3b82f6', '#ec4899', '#10b981', '#f59e0b', '#8b5cf6',
354
+ '#06b6d4', '#ef4444', '#84cc16', '#f97316', '#6366f1',
355
+ ];
356
+ let moduleColorMap = {};
357
+ if (useModuleColoring) {
358
+ // Extract module (first meaningful directory) from each node path
359
+ const getModule = (filePath) => {
360
+ const parts = filePath.split('/');
361
+ if (parts.length < 2)
362
+ return 'root';
363
+ const first = parts[0];
364
+ // If first dir is common source dir, use second level
365
+ if (['src', 'lib', 'app', 'packages', 'modules', 'features', 'apps'].includes(first)) {
366
+ return parts.length > 2 ? parts[1] : first;
367
+ }
368
+ return first;
369
+ };
370
+ // Assign colors to modules
371
+ const moduleNames = [...new Set(allNodes.map(n => getModule(n.id)))];
372
+ moduleNames.forEach((mod, i) => {
373
+ moduleColorMap[mod] = modulePalette[i % modulePalette.length];
374
+ });
375
+ // Reassign layer field to module name for coloring
376
+ for (const node of allNodes) {
377
+ node.layer = getModule(node.id);
378
+ }
379
+ }
282
380
  // Build links only between real files
283
381
  const allLinks = report.dependencyGraph.edges
284
382
  .filter(e => realFiles.has(e.from) && realFiles.has(e.to))
@@ -290,24 +388,33 @@ ${this.getScripts(report)}
290
388
  const limitedNodeIds = new Set(limitedNodes.map(n => n.id));
291
389
  const limitedLinks = allLinks.filter(l => limitedNodeIds.has(l.source) && limitedNodeIds.has(l.target));
292
390
  const isLimited = allNodes.length > maxNodes;
293
- // Collect unique layers from limited nodes
391
+ // Collect unique layers/modules from limited nodes
294
392
  const uniqueLayers = [...new Set(limitedNodes.map(n => n.layer))];
393
+ // Build dynamic color map for legend and D3
394
+ const colorMap = useModuleColoring
395
+ ? moduleColorMap
396
+ : { API: '#ec4899', Service: '#3b82f6', Data: '#10b981', UI: '#f59e0b', Infrastructure: '#8b5cf6', Other: '#64748b' };
397
+ const legendLabel = useModuleColoring ? 'Colored by module' : 'Colored by layer';
398
+ const legendHtml = uniqueLayers.map(l => {
399
+ const color = colorMap[l] || '#64748b';
400
+ return `<span class="legend-item"><span class="legend-dot" style="background: ${color}"></span> ${l}</span>`;
401
+ }).join('');
402
+ const filterHtml = uniqueLayers.map(l => {
403
+ const color = colorMap[l] || '#64748b';
404
+ return `<label class="graph-filter-check"><input type="checkbox" checked data-layer="${l}" onchange="toggleGraphLayer('${l}', this.checked)"><span class="legend-dot" style="background: ${color}"></span> ${l}</label>`;
405
+ }).join('');
295
406
  return `
296
407
  <h2 class="section-title">🔗 Dependency Graph</h2>
297
408
  <div class="card graph-card">
298
409
  <div class="graph-controls">
299
410
  <div class="graph-legend">
300
- <span class="legend-item"><span class="legend-dot" style="background: #ec4899"></span> API</span>
301
- <span class="legend-item"><span class="legend-dot" style="background: #3b82f6"></span> Service</span>
302
- <span class="legend-item"><span class="legend-dot" style="background: #10b981"></span> Data</span>
303
- <span class="legend-item"><span class="legend-dot" style="background: #f59e0b"></span> UI</span>
304
- <span class="legend-item"><span class="legend-dot" style="background: #8b5cf6"></span> Infra</span>
305
- <span class="legend-item"><span class="legend-dot" style="background: #64748b"></span> Other</span>
411
+ <span class="legend-label" style="color:#94a3b8;font-size:11px;margin-right:8px;">${legendLabel}:</span>
412
+ ${legendHtml}
306
413
  </div>
307
414
  <div class="graph-filters">
308
415
  <input type="text" id="graphSearch" class="graph-search" placeholder="🔍 Search node..." oninput="filterGraphNodes(this.value)">
309
416
  <div class="graph-layer-filters">
310
- ${uniqueLayers.map(l => `<label class="graph-filter-check"><input type="checkbox" checked data-layer="${l}" onchange="toggleGraphLayer('${l}', this.checked)"><span class="legend-dot" style="background: ${{ 'API': '#ec4899', 'Service': '#3b82f6', 'Data': '#10b981', 'UI': '#f59e0b', 'Infrastructure': '#8b5cf6' }[l] || '#64748b'}"></span> ${l}</label>`).join('')}
417
+ ${filterHtml}
311
418
  </div>
312
419
  </div>
313
420
  ${isLimited ? `<div class="graph-limit-notice">Showing top ${maxNodes} of ${allNodes.length} source files (most connected) · ${limitedLinks.length} links</div>` : ''}
@@ -315,8 +422,9 @@ ${this.getScripts(report)}
315
422
  <div id="dep-graph" style="width:100%; min-height:500px;"></div>
316
423
  <div class="graph-hint">🖱️ Drag nodes • Scroll to zoom • Double-click to reset • Node size = connections</div>
317
424
  </div>
318
- <script type="application/json" id="graph-nodes">${JSON.stringify(limitedNodes)}<\\/script>
319
- <script type="application/json" id="graph-links">${JSON.stringify(limitedLinks)}<\\/script>`;
425
+ <script type="application/json" id="graph-nodes">${JSON.stringify(limitedNodes)}${'</' + 'script>'}
426
+ <script type="application/json" id="graph-links">${JSON.stringify(limitedLinks)}${'</' + 'script>'}
427
+ <script type="application/json" id="graph-colors">${JSON.stringify(colorMap)}${'</' + 'script>'}`;
320
428
  }
321
429
  /**
322
430
  * Bubble chart for anti-patterns — bigger = more severe
@@ -418,7 +526,7 @@ ${this.getScripts(report)}
418
526
  renderFooter() {
419
527
  return `
420
528
  <div class="footer">
421
- <p>Generated by <a href="https://github.com/camilooscargbaptista/architect">🏗️ Architect v2.0</a> — AI-powered architecture analysis + refactoring engine</p>
529
+ <p>Generated by <a href="https://github.com/camilooscargbaptista/architect">⚡ Architect v3.1</a> — Enterprise Architecture Intelligence</p>
422
530
  <p>By <strong>Camilo Girardelli</strong> · <a href="https://www.girardellitecnologia.com">Girardelli Tecnologia</a></p>
423
531
  </div>`;
424
532
  }
@@ -702,7 +810,9 @@ function animateCounter(el, target) {
702
810
  const height = 500;
703
811
  container.style.height = height + 'px';
704
812
 
705
- const layerColors = {
813
+ // Dynamic color map — loaded from JSON (supports both layer and module coloring)
814
+ const colorsEl = document.getElementById('graph-colors');
815
+ const layerColors = colorsEl ? JSON.parse(colorsEl.textContent || '{}') : {
706
816
  API: '#ec4899', Service: '#3b82f6', Data: '#10b981',
707
817
  UI: '#f59e0b', Infrastructure: '#8b5cf6', Other: '#64748b',
708
818
  };
@@ -1287,6 +1397,132 @@ function animateCounter(el, target) {
1287
1397
  .section-accordion-header::-webkit-details-marker { display: none; }
1288
1398
  .section-accordion-body { padding: 0.5rem 0; }
1289
1399
 
1400
+ /* ── Project Overview ── */
1401
+ .overview-grid {
1402
+ display: grid;
1403
+ grid-template-columns: 1fr 1fr;
1404
+ gap: 1rem;
1405
+ margin-bottom: 1.5rem;
1406
+ }
1407
+ .overview-card {
1408
+ background: rgba(255,255,255,0.03);
1409
+ border: 1px solid #334155;
1410
+ border-radius: 12px;
1411
+ padding: 1.25rem;
1412
+ }
1413
+ .overview-main {
1414
+ grid-column: 1 / -1;
1415
+ background: linear-gradient(135deg, rgba(59,130,246,0.08), rgba(139,92,246,0.08));
1416
+ border-color: #3b82f6;
1417
+ }
1418
+ .overview-label {
1419
+ font-size: 0.75rem;
1420
+ font-weight: 600;
1421
+ text-transform: uppercase;
1422
+ letter-spacing: 0.05em;
1423
+ color: #94a3b8;
1424
+ margin-bottom: 0.75rem;
1425
+ }
1426
+ .overview-description {
1427
+ font-size: 1.1rem;
1428
+ color: #e2e8f0;
1429
+ line-height: 1.6;
1430
+ margin-bottom: 0.75rem;
1431
+ }
1432
+ .overview-purpose-row {
1433
+ display: flex;
1434
+ align-items: center;
1435
+ gap: 0.5rem;
1436
+ }
1437
+ .overview-purpose-label {
1438
+ font-size: 0.8rem;
1439
+ color: #64748b;
1440
+ }
1441
+ .overview-purpose-value {
1442
+ font-size: 0.85rem;
1443
+ color: #a78bfa;
1444
+ font-weight: 600;
1445
+ background: rgba(139,92,246,0.1);
1446
+ padding: 0.2rem 0.6rem;
1447
+ border-radius: 6px;
1448
+ }
1449
+ .overview-tags {
1450
+ display: flex;
1451
+ flex-wrap: wrap;
1452
+ gap: 0.4rem;
1453
+ }
1454
+ .overview-tag {
1455
+ font-size: 0.75rem;
1456
+ padding: 0.25rem 0.6rem;
1457
+ border-radius: 6px;
1458
+ font-weight: 500;
1459
+ }
1460
+ .tech-tag {
1461
+ background: rgba(59,130,246,0.15);
1462
+ color: #60a5fa;
1463
+ border: 1px solid rgba(59,130,246,0.3);
1464
+ }
1465
+ .keyword-tag {
1466
+ background: rgba(16,185,129,0.1);
1467
+ color: #34d399;
1468
+ border: 1px solid rgba(16,185,129,0.2);
1469
+ }
1470
+ .overview-entry {
1471
+ font-size: 0.8rem;
1472
+ background: rgba(255,255,255,0.05);
1473
+ padding: 0.25rem 0.5rem;
1474
+ border-radius: 4px;
1475
+ color: #e2e8f0;
1476
+ font-family: 'SF Mono', monospace;
1477
+ }
1478
+ .overview-entries {
1479
+ display: flex;
1480
+ flex-wrap: wrap;
1481
+ gap: 0.4rem;
1482
+ }
1483
+ .overview-modules-section {
1484
+ margin-top: 0.5rem;
1485
+ }
1486
+ .overview-modules-grid {
1487
+ display: grid;
1488
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
1489
+ gap: 0.75rem;
1490
+ margin-top: 0.5rem;
1491
+ }
1492
+ .overview-module {
1493
+ background: rgba(255,255,255,0.03);
1494
+ border: 1px solid #1e293b;
1495
+ border-radius: 8px;
1496
+ padding: 0.75rem 1rem;
1497
+ transition: border-color 0.2s;
1498
+ }
1499
+ .overview-module:hover {
1500
+ border-color: #3b82f6;
1501
+ }
1502
+ .overview-module-name {
1503
+ font-weight: 600;
1504
+ color: #e2e8f0;
1505
+ font-size: 0.9rem;
1506
+ margin-bottom: 0.25rem;
1507
+ }
1508
+ .overview-module-desc {
1509
+ color: #94a3b8;
1510
+ font-size: 0.75rem;
1511
+ margin-bottom: 0.25rem;
1512
+ }
1513
+ .overview-module-files {
1514
+ color: #64748b;
1515
+ font-size: 0.7rem;
1516
+ }
1517
+ .overview-empty {
1518
+ color: #475569;
1519
+ font-size: 0.85rem;
1520
+ font-style: italic;
1521
+ }
1522
+ @media (max-width: 768px) {
1523
+ .overview-grid { grid-template-columns: 1fr; }
1524
+ }
1525
+
1290
1526
  /* ── Operations Accordion (inside refactoring steps) ── */
1291
1527
  .rstep-ops-accordion {
1292
1528
  margin: 0.75rem 0; border: 1px solid #1e293b; border-radius: 10px; overflow: hidden;
@@ -1 +1 @@
1
- {"version":3,"file":"html-reporter.js","sourceRoot":"","sources":["../src/html-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-reporter.js","sourceRoot":"","sources":["../src/html-reporter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,11 +5,19 @@ import { ArchitectureScorer } from './scorer.js';
5
5
  import { DiagramGenerator } from './diagram.js';
6
6
  import { ReportGenerator } from './reporter.js';
7
7
  import { HtmlReportGenerator } from './html-reporter.js';
8
- import { AgentGenerator, AgentSuggestion } from './agent-generator.js';
8
+ import { AgentGenerator, AgentSuggestion } from './agent-generator/index.js';
9
9
  import { ConfigLoader } from './config.js';
10
10
  import { AnalysisReport, RefactoringPlan } from './types.js';
11
+ export type ProgressPhase = 'scan' | 'dependencies' | 'layers' | 'antipatterns' | 'scoring' | 'summarize' | 'normalize';
12
+ export interface ProgressEvent {
13
+ phase: ProgressPhase;
14
+ status: 'start' | 'complete';
15
+ detail?: string;
16
+ metrics?: Record<string, number | string>;
17
+ }
18
+ export type ProgressCallback = (event: ProgressEvent) => void;
11
19
  export interface ArchitectCommand {
12
- analyze: (path: string) => Promise<AnalysisReport>;
20
+ analyze: (path: string, onProgress?: ProgressCallback) => Promise<AnalysisReport>;
13
21
  refactor: (report: AnalysisReport, projectPath: string) => RefactoringPlan;
14
22
  diagram: (path: string) => Promise<string>;
15
23
  score: (path: string) => Promise<{
@@ -27,7 +35,7 @@ export interface ArchitectCommand {
27
35
  }>>;
28
36
  }
29
37
  declare class Architect implements ArchitectCommand {
30
- analyze(projectPath: string): Promise<AnalysisReport>;
38
+ analyze(projectPath: string, onProgress?: ProgressCallback): Promise<AnalysisReport>;
31
39
  /**
32
40
  * Generate a refactoring plan from an analysis report.
33
41
  * Uses Tier 1 (rule engine) and Tier 2 (AST) transforms.
@@ -69,4 +77,9 @@ declare class Architect implements ArchitectCommand {
69
77
  }
70
78
  export declare const architect: Architect;
71
79
  export { ProjectScanner, ArchitectureAnalyzer, AntiPatternDetector, ArchitectureScorer, DiagramGenerator, ReportGenerator, HtmlReportGenerator, AgentGenerator, ConfigLoader, };
80
+ export { GitHistoryAnalyzer, TemporalScorer, ForecastEngine } from './analyzers/index.js';
81
+ export { saveToCache, loadFromCache } from './analyzers/git-cache.js';
82
+ export type { GitHistoryReport, FileHistory, ModuleHistory, VelocityVector, ChangeCoupling, GitAnalyzerConfig, } from './analyzers/git-history.js';
83
+ export type { Trend, TemporalScore, TemporalReport, TemporalScorerConfig, } from './analyzers/temporal-scorer.js';
84
+ export type { PreAntiPatternType, PreAntiPattern, ModuleForecast, WeatherForecast, ForecastConfig, } from './analyzers/forecast.js';
72
85
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,17 +6,27 @@ import { DiagramGenerator } from './diagram.js';
6
6
  import { ReportGenerator } from './reporter.js';
7
7
  import { HtmlReportGenerator } from './html-reporter.js';
8
8
  import { RefactorEngine } from './refactor-engine.js';
9
- import { AgentGenerator } from './agent-generator.js';
9
+ import { AgentGenerator } from './agent-generator/index.js';
10
+ import { ProjectSummarizer } from './project-summarizer.js';
10
11
  import { ConfigLoader } from './config.js';
11
12
  import { relative } from 'path';
12
13
  class Architect {
13
- async analyze(projectPath) {
14
+ async analyze(projectPath, onProgress) {
15
+ const emit = onProgress || (() => { });
14
16
  const config = ConfigLoader.loadConfig(projectPath);
17
+ // ── Phase 1: File Scanning ──
18
+ emit({ phase: 'scan', status: 'start' });
15
19
  const scanner = new ProjectScanner(projectPath, config);
16
20
  const projectInfo = scanner.scan();
17
21
  if (!projectInfo.fileTree) {
18
22
  throw new Error('Failed to scan project');
19
23
  }
24
+ emit({
25
+ phase: 'scan', status: 'complete',
26
+ metrics: { files: projectInfo.totalFiles, lines: projectInfo.totalLines, languages: projectInfo.primaryLanguages.length },
27
+ });
28
+ // ── Phase 2: Dependency Analysis ──
29
+ emit({ phase: 'dependencies', status: 'start' });
20
30
  const analyzer = new ArchitectureAnalyzer(projectPath);
21
31
  const dependencies = new Map();
22
32
  for (const [file, imports] of analyzer
@@ -32,11 +42,43 @@ class Architect {
32
42
  dependencies.set(file, imports);
33
43
  }
34
44
  const edges = analyzer.analyzeDependencies(projectInfo.fileTree);
45
+ emit({
46
+ phase: 'dependencies', status: 'complete',
47
+ metrics: { edges: edges.length, modules: dependencies.size },
48
+ });
49
+ // ── Phase 3: Layer Detection ──
50
+ emit({ phase: 'layers', status: 'start' });
35
51
  const layers = analyzer.detectLayers(projectInfo.fileTree);
52
+ emit({
53
+ phase: 'layers', status: 'complete',
54
+ metrics: { layers: layers.length, classified: layers.reduce((s, l) => s + l.files.length, 0) },
55
+ });
56
+ // ── Phase 4: Anti-Pattern Detection ──
57
+ emit({ phase: 'antipatterns', status: 'start' });
36
58
  const detector = new AntiPatternDetector(config);
37
59
  const antiPatterns = detector.detect(projectInfo.fileTree, dependencies);
60
+ emit({
61
+ phase: 'antipatterns', status: 'complete',
62
+ metrics: {
63
+ total: antiPatterns.length,
64
+ critical: antiPatterns.filter(p => p.severity === 'CRITICAL').length,
65
+ high: antiPatterns.filter(p => p.severity === 'HIGH').length,
66
+ },
67
+ });
68
+ // ── Phase 5: Architecture Scoring ──
69
+ emit({ phase: 'scoring', status: 'start' });
38
70
  const scorer = new ArchitectureScorer();
39
71
  const score = scorer.score(edges, antiPatterns, projectInfo.totalFiles);
72
+ emit({
73
+ phase: 'scoring', status: 'complete',
74
+ metrics: {
75
+ overall: score.overall,
76
+ modularity: score.breakdown.modularity,
77
+ coupling: score.breakdown.coupling,
78
+ cohesion: score.breakdown.cohesion,
79
+ layering: score.breakdown.layering,
80
+ },
81
+ });
40
82
  const diagramGenerator = new DiagramGenerator();
41
83
  const layerDiagram = diagramGenerator.generateLayerDiagram(layers);
42
84
  const suggestions = this.generateSuggestions(antiPatterns, score, edges);
@@ -56,8 +98,22 @@ class Architect {
56
98
  type: 'layer',
57
99
  },
58
100
  };
59
- // Normalize paths to be relative to project root
60
- return this.relativizePaths(report, projectPath);
101
+ // ── Phase 6: Normalize Paths ──
102
+ emit({ phase: 'normalize', status: 'start' });
103
+ const normalized = this.relativizePaths(report, projectPath);
104
+ emit({ phase: 'normalize', status: 'complete' });
105
+ // ── Phase 7: Project Summary ──
106
+ emit({ phase: 'summarize', status: 'start' });
107
+ const summarizer = new ProjectSummarizer();
108
+ normalized.projectSummary = summarizer.summarize(projectPath, normalized);
109
+ emit({
110
+ phase: 'summarize', status: 'complete',
111
+ metrics: {
112
+ modules: normalized.projectSummary?.modules?.length || 0,
113
+ techStack: normalized.projectSummary?.techStack?.length || 0,
114
+ },
115
+ });
116
+ return normalized;
61
117
  }
62
118
  /**
63
119
  * Generate a refactoring plan from an analysis report.
@@ -225,4 +281,7 @@ class Architect {
225
281
  }
226
282
  export const architect = new Architect();
227
283
  export { ProjectScanner, ArchitectureAnalyzer, AntiPatternDetector, ArchitectureScorer, DiagramGenerator, ReportGenerator, HtmlReportGenerator, AgentGenerator, ConfigLoader, };
284
+ // ── v4.0: Temporal & Predictive Analyzers ──
285
+ export { GitHistoryAnalyzer, TemporalScorer, ForecastEngine } from './analyzers/index.js';
286
+ export { saveToCache, loadFromCache } from './analyzers/git-cache.js';
228
287
  //# sourceMappingURL=index.js.map