@girardelli/architect 6.0.0 → 8.1.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 (983) hide show
  1. package/dist/{adapters → src/adapters}/cli.d.ts +1 -2
  2. package/dist/{adapters → src/adapters}/cli.js +182 -207
  3. package/dist/src/adapters/cli.js.map +1 -0
  4. package/dist/src/adapters/github-action.d.ts +9 -0
  5. package/dist/src/adapters/github-action.js +94 -0
  6. package/dist/src/adapters/github-action.js.map +1 -0
  7. package/dist/{html-reporter → src/adapters/html-reporter}/scripts.d.ts +1 -2
  8. package/dist/{adapters → src/adapters}/html-reporter/scripts.js.map +1 -1
  9. package/dist/src/adapters/html-reporter/sections/agents.d.ts +2 -0
  10. package/dist/{html-reporter → src/adapters/html-reporter}/sections/agents.js +8 -7
  11. package/dist/src/adapters/html-reporter/sections/agents.js.map +1 -0
  12. package/dist/{html-reporter → src/adapters/html-reporter}/sections/anti-patterns.d.ts +1 -2
  13. package/dist/src/adapters/html-reporter/sections/anti-patterns.js.map +1 -0
  14. package/dist/{html-reporter → src/adapters/html-reporter}/sections/header.d.ts +1 -2
  15. package/dist/{adapters → src/adapters}/html-reporter/sections/header.js +1 -1
  16. package/dist/src/adapters/html-reporter/sections/header.js.map +1 -0
  17. package/dist/{html-reporter → src/adapters/html-reporter}/sections/layers.d.ts +1 -2
  18. package/dist/src/adapters/html-reporter/sections/layers.js.map +1 -0
  19. package/dist/src/adapters/html-reporter/sections/overview.d.ts +2 -0
  20. package/dist/src/adapters/html-reporter/sections/overview.js.map +1 -0
  21. package/dist/{html-reporter → src/adapters/html-reporter}/sections/refactoring-plan.d.ts +1 -2
  22. package/dist/src/adapters/html-reporter/sections/refactoring-plan.js.map +1 -0
  23. package/dist/{html-reporter → src/adapters/html-reporter}/sections/score.d.ts +1 -2
  24. package/dist/{adapters → src/adapters}/html-reporter/sections/score.js +1 -0
  25. package/dist/src/adapters/html-reporter/sections/score.js.map +1 -0
  26. package/dist/{adapters → src/adapters}/html-reporter/sections/suggestions.d.ts +0 -1
  27. package/dist/src/adapters/html-reporter/sections/suggestions.js.map +1 -0
  28. package/dist/{adapters → src/adapters}/html-reporter/styles.d.ts +0 -1
  29. package/dist/{adapters → src/adapters}/html-reporter/styles.js.map +1 -1
  30. package/dist/{adapters → src/adapters}/html-reporter/utils_adapters.d.ts +1 -2
  31. package/dist/src/adapters/html-reporter/utils_adapters.js.map +1 -0
  32. package/dist/{adapters → src/adapters}/html-reporter/utils_sections.d.ts +0 -1
  33. package/dist/src/adapters/html-reporter/utils_sections.js.map +1 -0
  34. package/dist/{html-reporter.d.ts → src/adapters/html-reporter.d.ts} +3 -3
  35. package/dist/{html-reporter.js → src/adapters/html-reporter.js} +11 -11
  36. package/dist/src/adapters/html-reporter.js.map +1 -0
  37. package/dist/src/adapters/progress-logger.d.ts +55 -0
  38. package/dist/src/adapters/progress-logger.js +200 -0
  39. package/dist/src/adapters/progress-logger.js.map +1 -0
  40. package/dist/{refactor-reporter.d.ts → src/adapters/refactor-reporter.d.ts} +1 -2
  41. package/dist/{refactor-reporter.js → src/adapters/refactor-reporter.js} +1 -1
  42. package/dist/src/adapters/refactor-reporter.js.map +1 -0
  43. package/dist/{reporter.d.ts → src/adapters/reporter.d.ts} +1 -2
  44. package/dist/src/adapters/reporter.js.map +1 -0
  45. package/dist/src/core/GenesisTerminal.d.ts +8 -0
  46. package/dist/src/core/GenesisTerminal.js +105 -0
  47. package/dist/src/core/GenesisTerminal.js.map +1 -0
  48. package/dist/{core → src/core}/architect.d.ts +3 -2
  49. package/dist/{core → src/core}/architect.js +20 -5
  50. package/dist/src/core/architect.js.map +1 -0
  51. package/dist/tests/architect-adapter-enrichment.test.d.ts +1 -0
  52. package/dist/tests/architect-adapter-enrichment.test.js +11 -0
  53. package/dist/tests/architect-adapter-enrichment.test.js.map +1 -0
  54. package/dist/tests/github-action.test.d.ts +1 -0
  55. package/dist/tests/github-action.test.js +92 -0
  56. package/dist/tests/github-action.test.js.map +1 -0
  57. package/package.json +15 -65
  58. package/src/adapters/cli.ts +216 -245
  59. package/src/adapters/github-action.ts +109 -0
  60. package/src/adapters/html-reporter/scripts.ts +1 -1
  61. package/src/adapters/html-reporter/sections/agents.ts +9 -9
  62. package/src/adapters/html-reporter/sections/anti-patterns.ts +1 -1
  63. package/src/adapters/html-reporter/sections/header.ts +2 -2
  64. package/src/adapters/html-reporter/sections/layers.ts +1 -1
  65. package/src/adapters/html-reporter/sections/overview.ts +1 -1
  66. package/src/adapters/html-reporter/sections/refactoring-plan.ts +1 -1
  67. package/src/adapters/html-reporter/sections/score.ts +2 -1
  68. package/src/adapters/html-reporter/utils_adapters.ts +1 -1
  69. package/src/adapters/html-reporter.ts +14 -1
  70. package/src/adapters/progress-logger.ts +236 -0
  71. package/src/adapters/refactor-reporter.ts +2 -2
  72. package/src/adapters/reporter.ts +1 -1
  73. package/src/core/GenesisTerminal.ts +127 -0
  74. package/src/core/architect.ts +25 -5
  75. package/tests/github-action.test.ts +109 -0
  76. package/tsconfig.json +12 -19
  77. package/.agent/INDEX.md +0 -197
  78. package/.agent/agents/AGENT-ORCHESTRATOR.md +0 -408
  79. package/.agent/agents/QA-TEST-ENGINEER.md +0 -152
  80. package/.agent/agents/SECURITY-AUDITOR.md +0 -87
  81. package/.agent/agents/TECH-DEBT-CONTROLLER.md +0 -154
  82. package/.agent/agents/TYPESCRIPT-BACKEND-DEVELOPER.md +0 -484
  83. package/.agent/guards/CODE-REVIEW-CHECKLIST.md +0 -94
  84. package/.agent/guards/PREFLIGHT.md +0 -200
  85. package/.agent/guards/QUALITY-GATES.md +0 -212
  86. package/.agent/hooks/post-analysis.sh +0 -64
  87. package/.agent/hooks/pre-commit.sh +0 -68
  88. package/.agent/hooks/pre-push.sh +0 -59
  89. package/.agent/rules/00-general.md +0 -229
  90. package/.agent/rules/01-architecture.md +0 -182
  91. package/.agent/rules/02-security.md +0 -388
  92. package/.agent/skills/ARCHITECT-INTEGRATION.md +0 -103
  93. package/.agent/skills/CI-PIPELINE.md +0 -113
  94. package/.agent/skills/PROJECT-PATTERNS.md +0 -62
  95. package/.agent/templates/ADR.md +0 -95
  96. package/.agent/templates/BDD.md +0 -57
  97. package/.agent/templates/C4.md +0 -67
  98. package/.agent/templates/TDD.md +0 -86
  99. package/.agent/templates/THREAT-MODEL.md +0 -63
  100. package/.agent/workflows/fix-bug.md +0 -228
  101. package/.agent/workflows/new-feature.md +0 -311
  102. package/.agent/workflows/review.md +0 -95
  103. package/.github/workflows/ci.yml +0 -43
  104. package/.github/workflows/publish.yml +0 -40
  105. package/CONTRIBUTING.md +0 -140
  106. package/LICENSE +0 -21
  107. package/PROJECT_STRUCTURE.txt +0 -168
  108. package/README.md +0 -261
  109. package/architect-report--girardelli-architect.json +0 -5332
  110. package/architect-run.sh +0 -427
  111. package/assets/banner-v3.html +0 -561
  112. package/debug.js +0 -6
  113. package/dist/adapters/cli.d.ts.map +0 -1
  114. package/dist/adapters/cli.js.map +0 -1
  115. package/dist/adapters/html-reporter/scripts.d.ts +0 -6
  116. package/dist/adapters/html-reporter/scripts.d.ts.map +0 -1
  117. package/dist/adapters/html-reporter/sections/agents.d.ts +0 -3
  118. package/dist/adapters/html-reporter/sections/agents.d.ts.map +0 -1
  119. package/dist/adapters/html-reporter/sections/agents.js +0 -259
  120. package/dist/adapters/html-reporter/sections/agents.js.map +0 -1
  121. package/dist/adapters/html-reporter/sections/anti-patterns.d.ts +0 -14
  122. package/dist/adapters/html-reporter/sections/anti-patterns.d.ts.map +0 -1
  123. package/dist/adapters/html-reporter/sections/anti-patterns.js.map +0 -1
  124. package/dist/adapters/html-reporter/sections/header.d.ts +0 -4
  125. package/dist/adapters/html-reporter/sections/header.d.ts.map +0 -1
  126. package/dist/adapters/html-reporter/sections/header.js.map +0 -1
  127. package/dist/adapters/html-reporter/sections/layers.d.ts +0 -10
  128. package/dist/adapters/html-reporter/sections/layers.d.ts.map +0 -1
  129. package/dist/adapters/html-reporter/sections/layers.js.map +0 -1
  130. package/dist/adapters/html-reporter/sections/overview.d.ts +0 -3
  131. package/dist/adapters/html-reporter/sections/overview.d.ts.map +0 -1
  132. package/dist/adapters/html-reporter/sections/overview.js.map +0 -1
  133. package/dist/adapters/html-reporter/sections/refactoring-plan.d.ts +0 -4
  134. package/dist/adapters/html-reporter/sections/refactoring-plan.d.ts.map +0 -1
  135. package/dist/adapters/html-reporter/sections/refactoring-plan.js.map +0 -1
  136. package/dist/adapters/html-reporter/sections/score.d.ts +0 -8
  137. package/dist/adapters/html-reporter/sections/score.d.ts.map +0 -1
  138. package/dist/adapters/html-reporter/sections/score.js.map +0 -1
  139. package/dist/adapters/html-reporter/sections/suggestions.d.ts.map +0 -1
  140. package/dist/adapters/html-reporter/sections/suggestions.js.map +0 -1
  141. package/dist/adapters/html-reporter/styles.d.ts.map +0 -1
  142. package/dist/adapters/html-reporter/utils.d.ts +0 -27
  143. package/dist/adapters/html-reporter/utils.d.ts.map +0 -1
  144. package/dist/adapters/html-reporter/utils.js +0 -82
  145. package/dist/adapters/html-reporter/utils.js.map +0 -1
  146. package/dist/adapters/html-reporter/utils_adapters.d.ts.map +0 -1
  147. package/dist/adapters/html-reporter/utils_adapters.js.map +0 -1
  148. package/dist/adapters/html-reporter/utils_sections.d.ts.map +0 -1
  149. package/dist/adapters/html-reporter/utils_sections.js.map +0 -1
  150. package/dist/adapters/html-reporter.d.ts +0 -9
  151. package/dist/adapters/html-reporter.d.ts.map +0 -1
  152. package/dist/adapters/html-reporter.js +0 -87
  153. package/dist/adapters/html-reporter.js.map +0 -1
  154. package/dist/adapters/html-reporter_deps.d.ts +0 -15
  155. package/dist/adapters/html-reporter_deps.d.ts.map +0 -1
  156. package/dist/adapters/html-reporter_deps.js +0 -12
  157. package/dist/adapters/html-reporter_deps.js.map +0 -1
  158. package/dist/adapters/refactor-reporter.d.ts +0 -20
  159. package/dist/adapters/refactor-reporter.d.ts.map +0 -1
  160. package/dist/adapters/refactor-reporter.js +0 -389
  161. package/dist/adapters/refactor-reporter.js.map +0 -1
  162. package/dist/adapters/reporter.d.ts +0 -13
  163. package/dist/adapters/reporter.d.ts.map +0 -1
  164. package/dist/adapters/reporter.js.map +0 -1
  165. package/dist/agent-generator/context-enricher.d.ts +0 -15
  166. package/dist/agent-generator/context-enricher.d.ts.map +0 -1
  167. package/dist/agent-generator/context-enricher.js +0 -53
  168. package/dist/agent-generator/context-enricher.js.map +0 -1
  169. package/dist/agent-generator/detectors/base-detector.d.ts +0 -9
  170. package/dist/agent-generator/detectors/base-detector.d.ts.map +0 -1
  171. package/dist/agent-generator/detectors/base-detector.js +0 -12
  172. package/dist/agent-generator/detectors/base-detector.js.map +0 -1
  173. package/dist/agent-generator/detectors/dart-detector.d.ts +0 -6
  174. package/dist/agent-generator/detectors/dart-detector.d.ts.map +0 -1
  175. package/dist/agent-generator/detectors/dart-detector.js +0 -15
  176. package/dist/agent-generator/detectors/dart-detector.js.map +0 -1
  177. package/dist/agent-generator/detectors/framework-registry.d.ts +0 -6
  178. package/dist/agent-generator/detectors/framework-registry.d.ts.map +0 -1
  179. package/dist/agent-generator/detectors/framework-registry.js +0 -81
  180. package/dist/agent-generator/detectors/framework-registry.js.map +0 -1
  181. package/dist/agent-generator/detectors/go-detector.d.ts +0 -6
  182. package/dist/agent-generator/detectors/go-detector.d.ts.map +0 -1
  183. package/dist/agent-generator/detectors/go-detector.js +0 -25
  184. package/dist/agent-generator/detectors/go-detector.js.map +0 -1
  185. package/dist/agent-generator/detectors/java-detector.d.ts +0 -6
  186. package/dist/agent-generator/detectors/java-detector.d.ts.map +0 -1
  187. package/dist/agent-generator/detectors/java-detector.js +0 -44
  188. package/dist/agent-generator/detectors/java-detector.js.map +0 -1
  189. package/dist/agent-generator/detectors/node-detector.d.ts +0 -6
  190. package/dist/agent-generator/detectors/node-detector.d.ts.map +0 -1
  191. package/dist/agent-generator/detectors/node-detector.js +0 -28
  192. package/dist/agent-generator/detectors/node-detector.js.map +0 -1
  193. package/dist/agent-generator/detectors/php-detector.d.ts +0 -6
  194. package/dist/agent-generator/detectors/php-detector.d.ts.map +0 -1
  195. package/dist/agent-generator/detectors/php-detector.js +0 -28
  196. package/dist/agent-generator/detectors/php-detector.js.map +0 -1
  197. package/dist/agent-generator/detectors/python-detector.d.ts +0 -8
  198. package/dist/agent-generator/detectors/python-detector.d.ts.map +0 -1
  199. package/dist/agent-generator/detectors/python-detector.js +0 -116
  200. package/dist/agent-generator/detectors/python-detector.js.map +0 -1
  201. package/dist/agent-generator/detectors/ruby-detector.d.ts +0 -6
  202. package/dist/agent-generator/detectors/ruby-detector.d.ts.map +0 -1
  203. package/dist/agent-generator/detectors/ruby-detector.js +0 -22
  204. package/dist/agent-generator/detectors/ruby-detector.js.map +0 -1
  205. package/dist/agent-generator/detectors/rust-detector.d.ts +0 -6
  206. package/dist/agent-generator/detectors/rust-detector.d.ts.map +0 -1
  207. package/dist/agent-generator/detectors/rust-detector.js +0 -18
  208. package/dist/agent-generator/detectors/rust-detector.js.map +0 -1
  209. package/dist/agent-generator/detectors/structure-detector.d.ts +0 -5
  210. package/dist/agent-generator/detectors/structure-detector.d.ts.map +0 -1
  211. package/dist/agent-generator/detectors/structure-detector.js +0 -35
  212. package/dist/agent-generator/detectors/structure-detector.js.map +0 -1
  213. package/dist/agent-generator/detectors/toolchain-detector.d.ts +0 -6
  214. package/dist/agent-generator/detectors/toolchain-detector.d.ts.map +0 -1
  215. package/dist/agent-generator/detectors/toolchain-detector.js +0 -163
  216. package/dist/agent-generator/detectors/toolchain-detector.js.map +0 -1
  217. package/dist/agent-generator/domain-inferrer.d.ts +0 -52
  218. package/dist/agent-generator/domain-inferrer.d.ts.map +0 -1
  219. package/dist/agent-generator/domain-inferrer.js +0 -585
  220. package/dist/agent-generator/domain-inferrer.js.map +0 -1
  221. package/dist/agent-generator/engines/audit-engine.d.ts +0 -7
  222. package/dist/agent-generator/engines/audit-engine.d.ts.map +0 -1
  223. package/dist/agent-generator/engines/audit-engine.js +0 -84
  224. package/dist/agent-generator/engines/audit-engine.js.map +0 -1
  225. package/dist/agent-generator/engines/context-builder.d.ts +0 -11
  226. package/dist/agent-generator/engines/context-builder.d.ts.map +0 -1
  227. package/dist/agent-generator/engines/context-builder.js +0 -86
  228. package/dist/agent-generator/engines/context-builder.js.map +0 -1
  229. package/dist/agent-generator/engines/generation-engine.d.ts +0 -9
  230. package/dist/agent-generator/engines/generation-engine.d.ts.map +0 -1
  231. package/dist/agent-generator/engines/generation-engine.js +0 -177
  232. package/dist/agent-generator/engines/generation-engine.js.map +0 -1
  233. package/dist/agent-generator/engines/suggestion-engine.d.ts +0 -15
  234. package/dist/agent-generator/engines/suggestion-engine.d.ts.map +0 -1
  235. package/dist/agent-generator/engines/suggestion-engine.js +0 -176
  236. package/dist/agent-generator/engines/suggestion-engine.js.map +0 -1
  237. package/dist/agent-generator/enrichers/analysis-helpers.d.ts +0 -9
  238. package/dist/agent-generator/enrichers/analysis-helpers.d.ts.map +0 -1
  239. package/dist/agent-generator/enrichers/analysis-helpers.js +0 -51
  240. package/dist/agent-generator/enrichers/analysis-helpers.js.map +0 -1
  241. package/dist/agent-generator/enrichers/description-generator.d.ts +0 -5
  242. package/dist/agent-generator/enrichers/description-generator.d.ts.map +0 -1
  243. package/dist/agent-generator/enrichers/description-generator.js +0 -81
  244. package/dist/agent-generator/enrichers/description-generator.js.map +0 -1
  245. package/dist/agent-generator/enrichers/endpoint-extractor.d.ts +0 -8
  246. package/dist/agent-generator/enrichers/endpoint-extractor.d.ts.map +0 -1
  247. package/dist/agent-generator/enrichers/endpoint-extractor.js +0 -91
  248. package/dist/agent-generator/enrichers/endpoint-extractor.js.map +0 -1
  249. package/dist/agent-generator/enrichers/layer-classifier.d.ts +0 -13
  250. package/dist/agent-generator/enrichers/layer-classifier.d.ts.map +0 -1
  251. package/dist/agent-generator/enrichers/layer-classifier.js +0 -150
  252. package/dist/agent-generator/enrichers/layer-classifier.js.map +0 -1
  253. package/dist/agent-generator/enrichers/module-extractor.d.ts +0 -11
  254. package/dist/agent-generator/enrichers/module-extractor.d.ts.map +0 -1
  255. package/dist/agent-generator/enrichers/module-extractor.js +0 -174
  256. package/dist/agent-generator/enrichers/module-extractor.js.map +0 -1
  257. package/dist/agent-generator/framework-detector.d.ts +0 -18
  258. package/dist/agent-generator/framework-detector.d.ts.map +0 -1
  259. package/dist/agent-generator/framework-detector.js +0 -58
  260. package/dist/agent-generator/framework-detector.js.map +0 -1
  261. package/dist/agent-generator/index.d.ts +0 -22
  262. package/dist/agent-generator/index.d.ts.map +0 -1
  263. package/dist/agent-generator/index.js +0 -39
  264. package/dist/agent-generator/index.js.map +0 -1
  265. package/dist/agent-generator/stack-detector.d.ts +0 -14
  266. package/dist/agent-generator/stack-detector.d.ts.map +0 -1
  267. package/dist/agent-generator/stack-detector.js +0 -124
  268. package/dist/agent-generator/stack-detector.js.map +0 -1
  269. package/dist/agent-generator/templates/core/agents.d.ts +0 -17
  270. package/dist/agent-generator/templates/core/agents.d.ts.map +0 -1
  271. package/dist/agent-generator/templates/core/agents.js +0 -1256
  272. package/dist/agent-generator/templates/core/agents.js.map +0 -1
  273. package/dist/agent-generator/templates/core/architecture-rules.d.ts +0 -7
  274. package/dist/agent-generator/templates/core/architecture-rules.d.ts.map +0 -1
  275. package/dist/agent-generator/templates/core/architecture-rules.js +0 -274
  276. package/dist/agent-generator/templates/core/architecture-rules.js.map +0 -1
  277. package/dist/agent-generator/templates/core/general-rules.d.ts +0 -8
  278. package/dist/agent-generator/templates/core/general-rules.d.ts.map +0 -1
  279. package/dist/agent-generator/templates/core/general-rules.js +0 -301
  280. package/dist/agent-generator/templates/core/general-rules.js.map +0 -1
  281. package/dist/agent-generator/templates/core/hooks-generator.d.ts +0 -21
  282. package/dist/agent-generator/templates/core/hooks-generator.d.ts.map +0 -1
  283. package/dist/agent-generator/templates/core/hooks-generator.js +0 -233
  284. package/dist/agent-generator/templates/core/hooks-generator.js.map +0 -1
  285. package/dist/agent-generator/templates/core/index-md.d.ts +0 -7
  286. package/dist/agent-generator/templates/core/index-md.d.ts.map +0 -1
  287. package/dist/agent-generator/templates/core/index-md.js +0 -246
  288. package/dist/agent-generator/templates/core/index-md.js.map +0 -1
  289. package/dist/agent-generator/templates/core/orchestrator.d.ts +0 -8
  290. package/dist/agent-generator/templates/core/orchestrator.d.ts.map +0 -1
  291. package/dist/agent-generator/templates/core/orchestrator.js +0 -422
  292. package/dist/agent-generator/templates/core/orchestrator.js.map +0 -1
  293. package/dist/agent-generator/templates/core/preflight.d.ts +0 -8
  294. package/dist/agent-generator/templates/core/preflight.d.ts.map +0 -1
  295. package/dist/agent-generator/templates/core/preflight.js +0 -213
  296. package/dist/agent-generator/templates/core/preflight.js.map +0 -1
  297. package/dist/agent-generator/templates/core/quality-gates.d.ts +0 -11
  298. package/dist/agent-generator/templates/core/quality-gates.d.ts.map +0 -1
  299. package/dist/agent-generator/templates/core/quality-gates.js +0 -254
  300. package/dist/agent-generator/templates/core/quality-gates.js.map +0 -1
  301. package/dist/agent-generator/templates/core/security-rules.d.ts +0 -7
  302. package/dist/agent-generator/templates/core/security-rules.d.ts.map +0 -1
  303. package/dist/agent-generator/templates/core/security-rules.js +0 -528
  304. package/dist/agent-generator/templates/core/security-rules.js.map +0 -1
  305. package/dist/agent-generator/templates/core/skills-generator.d.ts +0 -19
  306. package/dist/agent-generator/templates/core/skills-generator.d.ts.map +0 -1
  307. package/dist/agent-generator/templates/core/skills-generator.js +0 -546
  308. package/dist/agent-generator/templates/core/skills-generator.js.map +0 -1
  309. package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts +0 -7
  310. package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts.map +0 -1
  311. package/dist/agent-generator/templates/core/workflow-fix-bug.js +0 -237
  312. package/dist/agent-generator/templates/core/workflow-fix-bug.js.map +0 -1
  313. package/dist/agent-generator/templates/core/workflow-new-feature.d.ts +0 -8
  314. package/dist/agent-generator/templates/core/workflow-new-feature.d.ts.map +0 -1
  315. package/dist/agent-generator/templates/core/workflow-new-feature.js +0 -321
  316. package/dist/agent-generator/templates/core/workflow-new-feature.js.map +0 -1
  317. package/dist/agent-generator/templates/core/workflow-review.d.ts +0 -7
  318. package/dist/agent-generator/templates/core/workflow-review.d.ts.map +0 -1
  319. package/dist/agent-generator/templates/core/workflow-review.js +0 -104
  320. package/dist/agent-generator/templates/core/workflow-review.js.map +0 -1
  321. package/dist/agent-generator/templates/domain/index.d.ts +0 -22
  322. package/dist/agent-generator/templates/domain/index.d.ts.map +0 -1
  323. package/dist/agent-generator/templates/domain/index.js +0 -1176
  324. package/dist/agent-generator/templates/domain/index.js.map +0 -1
  325. package/dist/agent-generator/templates/helpers/base-helpers.d.ts +0 -11
  326. package/dist/agent-generator/templates/helpers/base-helpers.d.ts.map +0 -1
  327. package/dist/agent-generator/templates/helpers/base-helpers.js +0 -20
  328. package/dist/agent-generator/templates/helpers/base-helpers.js.map +0 -1
  329. package/dist/agent-generator/templates/helpers/cross-ref-helpers.d.ts +0 -3
  330. package/dist/agent-generator/templates/helpers/cross-ref-helpers.d.ts.map +0 -1
  331. package/dist/agent-generator/templates/helpers/cross-ref-helpers.js +0 -77
  332. package/dist/agent-generator/templates/helpers/cross-ref-helpers.js.map +0 -1
  333. package/dist/agent-generator/templates/helpers/security-helpers.d.ts +0 -3
  334. package/dist/agent-generator/templates/helpers/security-helpers.d.ts.map +0 -1
  335. package/dist/agent-generator/templates/helpers/security-helpers.js +0 -182
  336. package/dist/agent-generator/templates/helpers/security-helpers.js.map +0 -1
  337. package/dist/agent-generator/templates/helpers/stack-helpers.d.ts +0 -5
  338. package/dist/agent-generator/templates/helpers/stack-helpers.d.ts.map +0 -1
  339. package/dist/agent-generator/templates/helpers/stack-helpers.js +0 -69
  340. package/dist/agent-generator/templates/helpers/stack-helpers.js.map +0 -1
  341. package/dist/agent-generator/templates/helpers/structure-helpers.d.ts +0 -3
  342. package/dist/agent-generator/templates/helpers/structure-helpers.d.ts.map +0 -1
  343. package/dist/agent-generator/templates/helpers/structure-helpers.js +0 -275
  344. package/dist/agent-generator/templates/helpers/structure-helpers.js.map +0 -1
  345. package/dist/agent-generator/templates/helpers/summary-helpers.d.ts +0 -7
  346. package/dist/agent-generator/templates/helpers/summary-helpers.d.ts.map +0 -1
  347. package/dist/agent-generator/templates/helpers/summary-helpers.js +0 -56
  348. package/dist/agent-generator/templates/helpers/summary-helpers.js.map +0 -1
  349. package/dist/agent-generator/templates/stack/index.d.ts +0 -8
  350. package/dist/agent-generator/templates/stack/index.d.ts.map +0 -1
  351. package/dist/agent-generator/templates/stack/index.js +0 -695
  352. package/dist/agent-generator/templates/stack/index.js.map +0 -1
  353. package/dist/agent-generator/templates/template-helpers.d.ts +0 -12
  354. package/dist/agent-generator/templates/template-helpers.d.ts.map +0 -1
  355. package/dist/agent-generator/templates/template-helpers.js +0 -12
  356. package/dist/agent-generator/templates/template-helpers.js.map +0 -1
  357. package/dist/agent-generator/types.d.ts +0 -196
  358. package/dist/agent-generator/types.d.ts.map +0 -1
  359. package/dist/agent-generator/types.js +0 -27
  360. package/dist/agent-generator/types.js.map +0 -1
  361. package/dist/analyzer.d.ts +0 -38
  362. package/dist/analyzer.d.ts.map +0 -1
  363. package/dist/analyzer.js +0 -383
  364. package/dist/analyzer.js.map +0 -1
  365. package/dist/analyzers/forecast.d.ts +0 -85
  366. package/dist/analyzers/forecast.d.ts.map +0 -1
  367. package/dist/analyzers/forecast.js +0 -337
  368. package/dist/analyzers/forecast.js.map +0 -1
  369. package/dist/analyzers/git-cache.d.ts +0 -7
  370. package/dist/analyzers/git-cache.d.ts.map +0 -1
  371. package/dist/analyzers/git-cache.js +0 -41
  372. package/dist/analyzers/git-cache.js.map +0 -1
  373. package/dist/analyzers/git-history.d.ts +0 -113
  374. package/dist/analyzers/git-history.d.ts.map +0 -1
  375. package/dist/analyzers/git-history.js +0 -339
  376. package/dist/analyzers/git-history.js.map +0 -1
  377. package/dist/analyzers/index.d.ts +0 -10
  378. package/dist/analyzers/index.d.ts.map +0 -1
  379. package/dist/analyzers/index.js +0 -7
  380. package/dist/analyzers/index.js.map +0 -1
  381. package/dist/analyzers/temporal-scorer.d.ts +0 -72
  382. package/dist/analyzers/temporal-scorer.d.ts.map +0 -1
  383. package/dist/analyzers/temporal-scorer.js +0 -140
  384. package/dist/analyzers/temporal-scorer.js.map +0 -1
  385. package/dist/anti-patterns.d.ts +0 -24
  386. package/dist/anti-patterns.d.ts.map +0 -1
  387. package/dist/anti-patterns.js +0 -230
  388. package/dist/anti-patterns.js.map +0 -1
  389. package/dist/cli.d.ts +0 -14
  390. package/dist/cli.d.ts.map +0 -1
  391. package/dist/cli.js.map +0 -1
  392. package/dist/config.d.ts +0 -12
  393. package/dist/config.d.ts.map +0 -1
  394. package/dist/config.js +0 -110
  395. package/dist/config.js.map +0 -1
  396. package/dist/core/agent-generator/context-enricher.d.ts +0 -18
  397. package/dist/core/agent-generator/context-enricher.d.ts.map +0 -1
  398. package/dist/core/agent-generator/context-enricher.js +0 -53
  399. package/dist/core/agent-generator/context-enricher.js.map +0 -1
  400. package/dist/core/agent-generator/detectors/base-detector.d.ts +0 -9
  401. package/dist/core/agent-generator/detectors/base-detector.d.ts.map +0 -1
  402. package/dist/core/agent-generator/detectors/base-detector.js +0 -12
  403. package/dist/core/agent-generator/detectors/base-detector.js.map +0 -1
  404. package/dist/core/agent-generator/detectors/dart-detector.d.ts +0 -6
  405. package/dist/core/agent-generator/detectors/dart-detector.d.ts.map +0 -1
  406. package/dist/core/agent-generator/detectors/dart-detector.js +0 -15
  407. package/dist/core/agent-generator/detectors/dart-detector.js.map +0 -1
  408. package/dist/core/agent-generator/detectors/framework-registry.d.ts +0 -6
  409. package/dist/core/agent-generator/detectors/framework-registry.d.ts.map +0 -1
  410. package/dist/core/agent-generator/detectors/framework-registry.js +0 -81
  411. package/dist/core/agent-generator/detectors/framework-registry.js.map +0 -1
  412. package/dist/core/agent-generator/detectors/go-detector.d.ts +0 -6
  413. package/dist/core/agent-generator/detectors/go-detector.d.ts.map +0 -1
  414. package/dist/core/agent-generator/detectors/go-detector.js +0 -25
  415. package/dist/core/agent-generator/detectors/go-detector.js.map +0 -1
  416. package/dist/core/agent-generator/detectors/java-detector.d.ts +0 -6
  417. package/dist/core/agent-generator/detectors/java-detector.d.ts.map +0 -1
  418. package/dist/core/agent-generator/detectors/java-detector.js +0 -44
  419. package/dist/core/agent-generator/detectors/java-detector.js.map +0 -1
  420. package/dist/core/agent-generator/detectors/node-detector.d.ts +0 -6
  421. package/dist/core/agent-generator/detectors/node-detector.d.ts.map +0 -1
  422. package/dist/core/agent-generator/detectors/node-detector.js +0 -28
  423. package/dist/core/agent-generator/detectors/node-detector.js.map +0 -1
  424. package/dist/core/agent-generator/detectors/php-detector.d.ts +0 -6
  425. package/dist/core/agent-generator/detectors/php-detector.d.ts.map +0 -1
  426. package/dist/core/agent-generator/detectors/php-detector.js +0 -28
  427. package/dist/core/agent-generator/detectors/php-detector.js.map +0 -1
  428. package/dist/core/agent-generator/detectors/python-detector.d.ts +0 -8
  429. package/dist/core/agent-generator/detectors/python-detector.d.ts.map +0 -1
  430. package/dist/core/agent-generator/detectors/python-detector.js +0 -116
  431. package/dist/core/agent-generator/detectors/python-detector.js.map +0 -1
  432. package/dist/core/agent-generator/detectors/ruby-detector.d.ts +0 -6
  433. package/dist/core/agent-generator/detectors/ruby-detector.d.ts.map +0 -1
  434. package/dist/core/agent-generator/detectors/ruby-detector.js +0 -22
  435. package/dist/core/agent-generator/detectors/ruby-detector.js.map +0 -1
  436. package/dist/core/agent-generator/detectors/rust-detector.d.ts +0 -6
  437. package/dist/core/agent-generator/detectors/rust-detector.d.ts.map +0 -1
  438. package/dist/core/agent-generator/detectors/rust-detector.js +0 -18
  439. package/dist/core/agent-generator/detectors/rust-detector.js.map +0 -1
  440. package/dist/core/agent-generator/detectors/structure-detector.d.ts +0 -5
  441. package/dist/core/agent-generator/detectors/structure-detector.d.ts.map +0 -1
  442. package/dist/core/agent-generator/detectors/structure-detector.js +0 -35
  443. package/dist/core/agent-generator/detectors/structure-detector.js.map +0 -1
  444. package/dist/core/agent-generator/detectors/toolchain-detector.d.ts +0 -6
  445. package/dist/core/agent-generator/detectors/toolchain-detector.d.ts.map +0 -1
  446. package/dist/core/agent-generator/detectors/toolchain-detector.js +0 -163
  447. package/dist/core/agent-generator/detectors/toolchain-detector.js.map +0 -1
  448. package/dist/core/agent-generator/domain-inferrer.d.ts +0 -52
  449. package/dist/core/agent-generator/domain-inferrer.d.ts.map +0 -1
  450. package/dist/core/agent-generator/domain-inferrer.js +0 -585
  451. package/dist/core/agent-generator/domain-inferrer.js.map +0 -1
  452. package/dist/core/agent-generator/engines/audit-engine.d.ts +0 -9
  453. package/dist/core/agent-generator/engines/audit-engine.d.ts.map +0 -1
  454. package/dist/core/agent-generator/engines/audit-engine.js +0 -84
  455. package/dist/core/agent-generator/engines/audit-engine.js.map +0 -1
  456. package/dist/core/agent-generator/engines/context-builder.d.ts +0 -13
  457. package/dist/core/agent-generator/engines/context-builder.d.ts.map +0 -1
  458. package/dist/core/agent-generator/engines/context-builder.js +0 -86
  459. package/dist/core/agent-generator/engines/context-builder.js.map +0 -1
  460. package/dist/core/agent-generator/engines/generation-engine.d.ts +0 -8
  461. package/dist/core/agent-generator/engines/generation-engine.d.ts.map +0 -1
  462. package/dist/core/agent-generator/engines/generation-engine.js +0 -162
  463. package/dist/core/agent-generator/engines/generation-engine.js.map +0 -1
  464. package/dist/core/agent-generator/engines/generation-engine_deps.d.ts +0 -22
  465. package/dist/core/agent-generator/engines/generation-engine_deps.d.ts.map +0 -1
  466. package/dist/core/agent-generator/engines/generation-engine_deps.js +0 -17
  467. package/dist/core/agent-generator/engines/generation-engine_deps.js.map +0 -1
  468. package/dist/core/agent-generator/engines/suggestion-engine.d.ts +0 -14
  469. package/dist/core/agent-generator/engines/suggestion-engine.d.ts.map +0 -1
  470. package/dist/core/agent-generator/engines/suggestion-engine.js +0 -173
  471. package/dist/core/agent-generator/engines/suggestion-engine.js.map +0 -1
  472. package/dist/core/agent-generator/engines/suggestion-engine_deps.d.ts +0 -9
  473. package/dist/core/agent-generator/engines/suggestion-engine_deps.d.ts.map +0 -1
  474. package/dist/core/agent-generator/engines/suggestion-engine_deps.js +0 -5
  475. package/dist/core/agent-generator/engines/suggestion-engine_deps.js.map +0 -1
  476. package/dist/core/agent-generator/enrichers/analysis-helpers.d.ts +0 -10
  477. package/dist/core/agent-generator/enrichers/analysis-helpers.d.ts.map +0 -1
  478. package/dist/core/agent-generator/enrichers/analysis-helpers.js +0 -51
  479. package/dist/core/agent-generator/enrichers/analysis-helpers.js.map +0 -1
  480. package/dist/core/agent-generator/enrichers/description-generator.d.ts +0 -5
  481. package/dist/core/agent-generator/enrichers/description-generator.d.ts.map +0 -1
  482. package/dist/core/agent-generator/enrichers/description-generator.js +0 -81
  483. package/dist/core/agent-generator/enrichers/description-generator.js.map +0 -1
  484. package/dist/core/agent-generator/enrichers/endpoint-extractor.d.ts +0 -8
  485. package/dist/core/agent-generator/enrichers/endpoint-extractor.d.ts.map +0 -1
  486. package/dist/core/agent-generator/enrichers/endpoint-extractor.js +0 -91
  487. package/dist/core/agent-generator/enrichers/endpoint-extractor.js.map +0 -1
  488. package/dist/core/agent-generator/enrichers/layer-classifier.d.ts +0 -13
  489. package/dist/core/agent-generator/enrichers/layer-classifier.d.ts.map +0 -1
  490. package/dist/core/agent-generator/enrichers/layer-classifier.js +0 -150
  491. package/dist/core/agent-generator/enrichers/layer-classifier.js.map +0 -1
  492. package/dist/core/agent-generator/enrichers/module-extractor.d.ts +0 -11
  493. package/dist/core/agent-generator/enrichers/module-extractor.d.ts.map +0 -1
  494. package/dist/core/agent-generator/enrichers/module-extractor.js +0 -174
  495. package/dist/core/agent-generator/enrichers/module-extractor.js.map +0 -1
  496. package/dist/core/agent-generator/framework-detector.d.ts +0 -18
  497. package/dist/core/agent-generator/framework-detector.d.ts.map +0 -1
  498. package/dist/core/agent-generator/framework-detector.js +0 -58
  499. package/dist/core/agent-generator/framework-detector.js.map +0 -1
  500. package/dist/core/agent-generator/index.d.ts +0 -26
  501. package/dist/core/agent-generator/index.d.ts.map +0 -1
  502. package/dist/core/agent-generator/index.js +0 -39
  503. package/dist/core/agent-generator/index.js.map +0 -1
  504. package/dist/core/agent-generator/stack-detector.d.ts +0 -14
  505. package/dist/core/agent-generator/stack-detector.d.ts.map +0 -1
  506. package/dist/core/agent-generator/stack-detector.js +0 -124
  507. package/dist/core/agent-generator/stack-detector.js.map +0 -1
  508. package/dist/core/agent-generator/templates/core/agents.d.ts +0 -17
  509. package/dist/core/agent-generator/templates/core/agents.d.ts.map +0 -1
  510. package/dist/core/agent-generator/templates/core/agents.js +0 -1256
  511. package/dist/core/agent-generator/templates/core/agents.js.map +0 -1
  512. package/dist/core/agent-generator/templates/core/architecture-rules.d.ts +0 -7
  513. package/dist/core/agent-generator/templates/core/architecture-rules.d.ts.map +0 -1
  514. package/dist/core/agent-generator/templates/core/architecture-rules.js +0 -274
  515. package/dist/core/agent-generator/templates/core/architecture-rules.js.map +0 -1
  516. package/dist/core/agent-generator/templates/core/general-rules.d.ts +0 -8
  517. package/dist/core/agent-generator/templates/core/general-rules.d.ts.map +0 -1
  518. package/dist/core/agent-generator/templates/core/general-rules.js +0 -301
  519. package/dist/core/agent-generator/templates/core/general-rules.js.map +0 -1
  520. package/dist/core/agent-generator/templates/core/hooks-generator.d.ts +0 -21
  521. package/dist/core/agent-generator/templates/core/hooks-generator.d.ts.map +0 -1
  522. package/dist/core/agent-generator/templates/core/hooks-generator.js +0 -233
  523. package/dist/core/agent-generator/templates/core/hooks-generator.js.map +0 -1
  524. package/dist/core/agent-generator/templates/core/index-md.d.ts +0 -7
  525. package/dist/core/agent-generator/templates/core/index-md.d.ts.map +0 -1
  526. package/dist/core/agent-generator/templates/core/index-md.js +0 -246
  527. package/dist/core/agent-generator/templates/core/index-md.js.map +0 -1
  528. package/dist/core/agent-generator/templates/core/orchestrator.d.ts +0 -8
  529. package/dist/core/agent-generator/templates/core/orchestrator.d.ts.map +0 -1
  530. package/dist/core/agent-generator/templates/core/orchestrator.js +0 -422
  531. package/dist/core/agent-generator/templates/core/orchestrator.js.map +0 -1
  532. package/dist/core/agent-generator/templates/core/preflight.d.ts +0 -8
  533. package/dist/core/agent-generator/templates/core/preflight.d.ts.map +0 -1
  534. package/dist/core/agent-generator/templates/core/preflight.js +0 -213
  535. package/dist/core/agent-generator/templates/core/preflight.js.map +0 -1
  536. package/dist/core/agent-generator/templates/core/quality-gates.d.ts +0 -11
  537. package/dist/core/agent-generator/templates/core/quality-gates.d.ts.map +0 -1
  538. package/dist/core/agent-generator/templates/core/quality-gates.js +0 -254
  539. package/dist/core/agent-generator/templates/core/quality-gates.js.map +0 -1
  540. package/dist/core/agent-generator/templates/core/security-rules.d.ts +0 -7
  541. package/dist/core/agent-generator/templates/core/security-rules.d.ts.map +0 -1
  542. package/dist/core/agent-generator/templates/core/security-rules.js +0 -528
  543. package/dist/core/agent-generator/templates/core/security-rules.js.map +0 -1
  544. package/dist/core/agent-generator/templates/core/skills-generator.d.ts +0 -19
  545. package/dist/core/agent-generator/templates/core/skills-generator.d.ts.map +0 -1
  546. package/dist/core/agent-generator/templates/core/skills-generator.js +0 -546
  547. package/dist/core/agent-generator/templates/core/skills-generator.js.map +0 -1
  548. package/dist/core/agent-generator/templates/core/workflow-fix-bug.d.ts +0 -7
  549. package/dist/core/agent-generator/templates/core/workflow-fix-bug.d.ts.map +0 -1
  550. package/dist/core/agent-generator/templates/core/workflow-fix-bug.js +0 -237
  551. package/dist/core/agent-generator/templates/core/workflow-fix-bug.js.map +0 -1
  552. package/dist/core/agent-generator/templates/core/workflow-new-feature.d.ts +0 -8
  553. package/dist/core/agent-generator/templates/core/workflow-new-feature.d.ts.map +0 -1
  554. package/dist/core/agent-generator/templates/core/workflow-new-feature.js +0 -321
  555. package/dist/core/agent-generator/templates/core/workflow-new-feature.js.map +0 -1
  556. package/dist/core/agent-generator/templates/core/workflow-review.d.ts +0 -7
  557. package/dist/core/agent-generator/templates/core/workflow-review.d.ts.map +0 -1
  558. package/dist/core/agent-generator/templates/core/workflow-review.js +0 -104
  559. package/dist/core/agent-generator/templates/core/workflow-review.js.map +0 -1
  560. package/dist/core/agent-generator/templates/domain/index.d.ts +0 -22
  561. package/dist/core/agent-generator/templates/domain/index.d.ts.map +0 -1
  562. package/dist/core/agent-generator/templates/domain/index.js +0 -1176
  563. package/dist/core/agent-generator/templates/domain/index.js.map +0 -1
  564. package/dist/core/agent-generator/templates/helpers/base-helpers.d.ts +0 -11
  565. package/dist/core/agent-generator/templates/helpers/base-helpers.d.ts.map +0 -1
  566. package/dist/core/agent-generator/templates/helpers/base-helpers.js +0 -20
  567. package/dist/core/agent-generator/templates/helpers/base-helpers.js.map +0 -1
  568. package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.d.ts +0 -3
  569. package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.d.ts.map +0 -1
  570. package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.js +0 -77
  571. package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.js.map +0 -1
  572. package/dist/core/agent-generator/templates/helpers/security-helpers.d.ts +0 -3
  573. package/dist/core/agent-generator/templates/helpers/security-helpers.d.ts.map +0 -1
  574. package/dist/core/agent-generator/templates/helpers/security-helpers.js +0 -182
  575. package/dist/core/agent-generator/templates/helpers/security-helpers.js.map +0 -1
  576. package/dist/core/agent-generator/templates/helpers/stack-helpers.d.ts +0 -5
  577. package/dist/core/agent-generator/templates/helpers/stack-helpers.d.ts.map +0 -1
  578. package/dist/core/agent-generator/templates/helpers/stack-helpers.js +0 -69
  579. package/dist/core/agent-generator/templates/helpers/stack-helpers.js.map +0 -1
  580. package/dist/core/agent-generator/templates/helpers/structure-helpers.d.ts +0 -3
  581. package/dist/core/agent-generator/templates/helpers/structure-helpers.d.ts.map +0 -1
  582. package/dist/core/agent-generator/templates/helpers/structure-helpers.js +0 -275
  583. package/dist/core/agent-generator/templates/helpers/structure-helpers.js.map +0 -1
  584. package/dist/core/agent-generator/templates/helpers/summary-helpers.d.ts +0 -7
  585. package/dist/core/agent-generator/templates/helpers/summary-helpers.d.ts.map +0 -1
  586. package/dist/core/agent-generator/templates/helpers/summary-helpers.js +0 -56
  587. package/dist/core/agent-generator/templates/helpers/summary-helpers.js.map +0 -1
  588. package/dist/core/agent-generator/templates/stack/index.d.ts +0 -8
  589. package/dist/core/agent-generator/templates/stack/index.d.ts.map +0 -1
  590. package/dist/core/agent-generator/templates/stack/index.js +0 -695
  591. package/dist/core/agent-generator/templates/stack/index.js.map +0 -1
  592. package/dist/core/agent-generator/templates/template-helpers.d.ts +0 -12
  593. package/dist/core/agent-generator/templates/template-helpers.d.ts.map +0 -1
  594. package/dist/core/agent-generator/templates/template-helpers.js +0 -12
  595. package/dist/core/agent-generator/templates/template-helpers.js.map +0 -1
  596. package/dist/core/agent-generator/types/agent.d.ts +0 -40
  597. package/dist/core/agent-generator/types/agent.d.ts.map +0 -1
  598. package/dist/core/agent-generator/types/agent.js +0 -27
  599. package/dist/core/agent-generator/types/agent.js.map +0 -1
  600. package/dist/core/agent-generator/types/domain.d.ts +0 -59
  601. package/dist/core/agent-generator/types/domain.d.ts.map +0 -1
  602. package/dist/core/agent-generator/types/domain.js +0 -2
  603. package/dist/core/agent-generator/types/domain.js.map +0 -1
  604. package/dist/core/agent-generator/types/stack.d.ts +0 -37
  605. package/dist/core/agent-generator/types/stack.d.ts.map +0 -1
  606. package/dist/core/agent-generator/types/stack.js +0 -2
  607. package/dist/core/agent-generator/types/stack.js.map +0 -1
  608. package/dist/core/agent-generator/types/template.d.ts +0 -30
  609. package/dist/core/agent-generator/types/template.d.ts.map +0 -1
  610. package/dist/core/agent-generator/types/template.js +0 -2
  611. package/dist/core/agent-generator/types/template.js.map +0 -1
  612. package/dist/core/agent-generator/types.d.ts +0 -197
  613. package/dist/core/agent-generator/types.d.ts.map +0 -1
  614. package/dist/core/agent-generator/types.js +0 -27
  615. package/dist/core/agent-generator/types.js.map +0 -1
  616. package/dist/core/analyzer.d.ts +0 -39
  617. package/dist/core/analyzer.d.ts.map +0 -1
  618. package/dist/core/analyzer.js +0 -383
  619. package/dist/core/analyzer.js.map +0 -1
  620. package/dist/core/analyzers/forecast.d.ts +0 -85
  621. package/dist/core/analyzers/forecast.d.ts.map +0 -1
  622. package/dist/core/analyzers/forecast.js +0 -337
  623. package/dist/core/analyzers/forecast.js.map +0 -1
  624. package/dist/core/analyzers/index.d.ts +0 -10
  625. package/dist/core/analyzers/index.d.ts.map +0 -1
  626. package/dist/core/analyzers/index.js +0 -7
  627. package/dist/core/analyzers/index.js.map +0 -1
  628. package/dist/core/analyzers/temporal-scorer.d.ts +0 -72
  629. package/dist/core/analyzers/temporal-scorer.d.ts.map +0 -1
  630. package/dist/core/analyzers/temporal-scorer.js +0 -140
  631. package/dist/core/analyzers/temporal-scorer.js.map +0 -1
  632. package/dist/core/anti-patterns.d.ts +0 -25
  633. package/dist/core/anti-patterns.d.ts.map +0 -1
  634. package/dist/core/anti-patterns.js +0 -239
  635. package/dist/core/anti-patterns.js.map +0 -1
  636. package/dist/core/architect.d.ts.map +0 -1
  637. package/dist/core/architect.js.map +0 -1
  638. package/dist/core/architect_deps.d.ts +0 -14
  639. package/dist/core/architect_deps.d.ts.map +0 -1
  640. package/dist/core/architect_deps.js +0 -12
  641. package/dist/core/architect_deps.js.map +0 -1
  642. package/dist/core/config.d.ts +0 -12
  643. package/dist/core/config.d.ts.map +0 -1
  644. package/dist/core/config.js +0 -110
  645. package/dist/core/config.js.map +0 -1
  646. package/dist/core/diagram.d.ts +0 -10
  647. package/dist/core/diagram.d.ts.map +0 -1
  648. package/dist/core/diagram.js +0 -101
  649. package/dist/core/diagram.js.map +0 -1
  650. package/dist/core/project-summarizer.d.ts +0 -17
  651. package/dist/core/project-summarizer.d.ts.map +0 -1
  652. package/dist/core/project-summarizer.js +0 -39
  653. package/dist/core/project-summarizer.js.map +0 -1
  654. package/dist/core/refactor-engine.d.ts +0 -19
  655. package/dist/core/refactor-engine.d.ts.map +0 -1
  656. package/dist/core/refactor-engine.js +0 -86
  657. package/dist/core/refactor-engine.js.map +0 -1
  658. package/dist/core/rules/barrel-optimizer.d.ts +0 -14
  659. package/dist/core/rules/barrel-optimizer.d.ts.map +0 -1
  660. package/dist/core/rules/barrel-optimizer.js +0 -78
  661. package/dist/core/rules/barrel-optimizer.js.map +0 -1
  662. package/dist/core/rules/dead-code-detector.d.ts +0 -22
  663. package/dist/core/rules/dead-code-detector.d.ts.map +0 -1
  664. package/dist/core/rules/dead-code-detector.js +0 -118
  665. package/dist/core/rules/dead-code-detector.js.map +0 -1
  666. package/dist/core/rules/hub-splitter.d.ts +0 -14
  667. package/dist/core/rules/hub-splitter.d.ts.map +0 -1
  668. package/dist/core/rules/hub-splitter.js +0 -119
  669. package/dist/core/rules/hub-splitter.js.map +0 -1
  670. package/dist/core/rules/import-organizer.d.ts +0 -14
  671. package/dist/core/rules/import-organizer.d.ts.map +0 -1
  672. package/dist/core/rules/import-organizer.js +0 -86
  673. package/dist/core/rules/import-organizer.js.map +0 -1
  674. package/dist/core/rules/module-grouper.d.ts +0 -14
  675. package/dist/core/rules/module-grouper.d.ts.map +0 -1
  676. package/dist/core/rules/module-grouper.js +0 -118
  677. package/dist/core/rules/module-grouper.js.map +0 -1
  678. package/dist/core/scorer.d.ts +0 -27
  679. package/dist/core/scorer.d.ts.map +0 -1
  680. package/dist/core/scorer.js +0 -229
  681. package/dist/core/scorer.js.map +0 -1
  682. package/dist/core/summarizer/keyword-extractor.d.ts +0 -7
  683. package/dist/core/summarizer/keyword-extractor.d.ts.map +0 -1
  684. package/dist/core/summarizer/keyword-extractor.js +0 -37
  685. package/dist/core/summarizer/keyword-extractor.js.map +0 -1
  686. package/dist/core/summarizer/module-inferrer.d.ts +0 -12
  687. package/dist/core/summarizer/module-inferrer.d.ts.map +0 -1
  688. package/dist/core/summarizer/module-inferrer.js +0 -171
  689. package/dist/core/summarizer/module-inferrer.js.map +0 -1
  690. package/dist/core/summarizer/package-reader.d.ts +0 -4
  691. package/dist/core/summarizer/package-reader.d.ts.map +0 -1
  692. package/dist/core/summarizer/package-reader.js +0 -30
  693. package/dist/core/summarizer/package-reader.js.map +0 -1
  694. package/dist/core/summarizer/purpose-inferrer.d.ts +0 -9
  695. package/dist/core/summarizer/purpose-inferrer.d.ts.map +0 -1
  696. package/dist/core/summarizer/purpose-inferrer.js +0 -178
  697. package/dist/core/summarizer/purpose-inferrer.js.map +0 -1
  698. package/dist/core/summarizer/readme-reader.d.ts +0 -4
  699. package/dist/core/summarizer/readme-reader.d.ts.map +0 -1
  700. package/dist/core/summarizer/readme-reader.js +0 -21
  701. package/dist/core/summarizer/readme-reader.js.map +0 -1
  702. package/dist/core/types/core.d.ts +0 -87
  703. package/dist/core/types/core.d.ts.map +0 -1
  704. package/dist/core/types/core.js +0 -2
  705. package/dist/core/types/core.js.map +0 -1
  706. package/dist/core/types/infrastructure.d.ts +0 -39
  707. package/dist/core/types/infrastructure.d.ts.map +0 -1
  708. package/dist/core/types/infrastructure.js +0 -2
  709. package/dist/core/types/infrastructure.js.map +0 -1
  710. package/dist/core/types/rules.d.ts +0 -54
  711. package/dist/core/types/rules.d.ts.map +0 -1
  712. package/dist/core/types/rules.js +0 -2
  713. package/dist/core/types/rules.js.map +0 -1
  714. package/dist/core/types/summarizer.d.ts +0 -13
  715. package/dist/core/types/summarizer.d.ts.map +0 -1
  716. package/dist/core/types/summarizer.js +0 -2
  717. package/dist/core/types/summarizer.js.map +0 -1
  718. package/dist/core/types.d.ts +0 -187
  719. package/dist/core/types.d.ts.map +0 -1
  720. package/dist/core/types.js +0 -2
  721. package/dist/core/types.js.map +0 -1
  722. package/dist/diagram.d.ts +0 -10
  723. package/dist/diagram.d.ts.map +0 -1
  724. package/dist/diagram.js +0 -101
  725. package/dist/diagram.js.map +0 -1
  726. package/dist/html-reporter/scripts.d.ts.map +0 -1
  727. package/dist/html-reporter/scripts.js +0 -316
  728. package/dist/html-reporter/scripts.js.map +0 -1
  729. package/dist/html-reporter/sections/agents.d.ts +0 -3
  730. package/dist/html-reporter/sections/agents.d.ts.map +0 -1
  731. package/dist/html-reporter/sections/agents.js.map +0 -1
  732. package/dist/html-reporter/sections/anti-patterns.d.ts.map +0 -1
  733. package/dist/html-reporter/sections/anti-patterns.js +0 -64
  734. package/dist/html-reporter/sections/anti-patterns.js.map +0 -1
  735. package/dist/html-reporter/sections/header.d.ts.map +0 -1
  736. package/dist/html-reporter/sections/header.js +0 -30
  737. package/dist/html-reporter/sections/header.js.map +0 -1
  738. package/dist/html-reporter/sections/layers.d.ts.map +0 -1
  739. package/dist/html-reporter/sections/layers.js +0 -143
  740. package/dist/html-reporter/sections/layers.js.map +0 -1
  741. package/dist/html-reporter/sections/overview.d.ts +0 -3
  742. package/dist/html-reporter/sections/overview.d.ts.map +0 -1
  743. package/dist/html-reporter/sections/overview.js +0 -58
  744. package/dist/html-reporter/sections/overview.js.map +0 -1
  745. package/dist/html-reporter/sections/refactoring-plan.d.ts.map +0 -1
  746. package/dist/html-reporter/sections/refactoring-plan.js +0 -120
  747. package/dist/html-reporter/sections/refactoring-plan.js.map +0 -1
  748. package/dist/html-reporter/sections/score.d.ts.map +0 -1
  749. package/dist/html-reporter/sections/score.js +0 -69
  750. package/dist/html-reporter/sections/score.js.map +0 -1
  751. package/dist/html-reporter/sections/suggestions.d.ts +0 -8
  752. package/dist/html-reporter/sections/suggestions.d.ts.map +0 -1
  753. package/dist/html-reporter/sections/suggestions.js +0 -34
  754. package/dist/html-reporter/sections/suggestions.js.map +0 -1
  755. package/dist/html-reporter/styles.d.ts +0 -2
  756. package/dist/html-reporter/styles.d.ts.map +0 -1
  757. package/dist/html-reporter/styles.js +0 -504
  758. package/dist/html-reporter/styles.js.map +0 -1
  759. package/dist/html-reporter/utils.d.ts +0 -27
  760. package/dist/html-reporter/utils.d.ts.map +0 -1
  761. package/dist/html-reporter/utils.js +0 -82
  762. package/dist/html-reporter/utils.js.map +0 -1
  763. package/dist/html-reporter.d.ts.map +0 -1
  764. package/dist/html-reporter.js.map +0 -1
  765. package/dist/index.d.ts +0 -17
  766. package/dist/index.d.ts.map +0 -1
  767. package/dist/index.js +0 -14
  768. package/dist/index.js.map +0 -1
  769. package/dist/infrastructure/git-cache.d.ts +0 -7
  770. package/dist/infrastructure/git-cache.d.ts.map +0 -1
  771. package/dist/infrastructure/git-cache.js +0 -41
  772. package/dist/infrastructure/git-cache.js.map +0 -1
  773. package/dist/infrastructure/git-history.d.ts +0 -113
  774. package/dist/infrastructure/git-history.d.ts.map +0 -1
  775. package/dist/infrastructure/git-history.js +0 -339
  776. package/dist/infrastructure/git-history.js.map +0 -1
  777. package/dist/infrastructure/logger.d.ts +0 -21
  778. package/dist/infrastructure/logger.d.ts.map +0 -1
  779. package/dist/infrastructure/logger.js +0 -59
  780. package/dist/infrastructure/logger.js.map +0 -1
  781. package/dist/infrastructure/scanner.d.ts +0 -32
  782. package/dist/infrastructure/scanner.d.ts.map +0 -1
  783. package/dist/infrastructure/scanner.js +0 -330
  784. package/dist/infrastructure/scanner.js.map +0 -1
  785. package/dist/logger.d.ts +0 -21
  786. package/dist/logger.d.ts.map +0 -1
  787. package/dist/logger.js +0 -59
  788. package/dist/logger.js.map +0 -1
  789. package/dist/project-summarizer.d.ts +0 -16
  790. package/dist/project-summarizer.d.ts.map +0 -1
  791. package/dist/project-summarizer.js +0 -39
  792. package/dist/project-summarizer.js.map +0 -1
  793. package/dist/refactor-engine.d.ts +0 -18
  794. package/dist/refactor-engine.d.ts.map +0 -1
  795. package/dist/refactor-engine.js +0 -86
  796. package/dist/refactor-engine.js.map +0 -1
  797. package/dist/refactor-reporter.d.ts.map +0 -1
  798. package/dist/refactor-reporter.js.map +0 -1
  799. package/dist/reporter.d.ts.map +0 -1
  800. package/dist/reporter.js +0 -135
  801. package/dist/reporter.js.map +0 -1
  802. package/dist/rules/barrel-optimizer.d.ts +0 -13
  803. package/dist/rules/barrel-optimizer.d.ts.map +0 -1
  804. package/dist/rules/barrel-optimizer.js +0 -77
  805. package/dist/rules/barrel-optimizer.js.map +0 -1
  806. package/dist/rules/dead-code-detector.d.ts +0 -21
  807. package/dist/rules/dead-code-detector.d.ts.map +0 -1
  808. package/dist/rules/dead-code-detector.js +0 -117
  809. package/dist/rules/dead-code-detector.js.map +0 -1
  810. package/dist/rules/hub-splitter.d.ts +0 -13
  811. package/dist/rules/hub-splitter.d.ts.map +0 -1
  812. package/dist/rules/hub-splitter.js +0 -110
  813. package/dist/rules/hub-splitter.js.map +0 -1
  814. package/dist/rules/import-organizer.d.ts +0 -13
  815. package/dist/rules/import-organizer.d.ts.map +0 -1
  816. package/dist/rules/import-organizer.js +0 -85
  817. package/dist/rules/import-organizer.js.map +0 -1
  818. package/dist/rules/module-grouper.d.ts +0 -13
  819. package/dist/rules/module-grouper.d.ts.map +0 -1
  820. package/dist/rules/module-grouper.js +0 -110
  821. package/dist/rules/module-grouper.js.map +0 -1
  822. package/dist/scanner.d.ts +0 -31
  823. package/dist/scanner.d.ts.map +0 -1
  824. package/dist/scanner.js +0 -330
  825. package/dist/scanner.js.map +0 -1
  826. package/dist/scorer.d.ts +0 -27
  827. package/dist/scorer.d.ts.map +0 -1
  828. package/dist/scorer.js +0 -229
  829. package/dist/scorer.js.map +0 -1
  830. package/dist/summarizer/keyword-extractor.d.ts +0 -6
  831. package/dist/summarizer/keyword-extractor.d.ts.map +0 -1
  832. package/dist/summarizer/keyword-extractor.js +0 -37
  833. package/dist/summarizer/keyword-extractor.js.map +0 -1
  834. package/dist/summarizer/module-inferrer.d.ts +0 -10
  835. package/dist/summarizer/module-inferrer.d.ts.map +0 -1
  836. package/dist/summarizer/module-inferrer.js +0 -171
  837. package/dist/summarizer/module-inferrer.js.map +0 -1
  838. package/dist/summarizer/package-reader.d.ts +0 -4
  839. package/dist/summarizer/package-reader.d.ts.map +0 -1
  840. package/dist/summarizer/package-reader.js +0 -30
  841. package/dist/summarizer/package-reader.js.map +0 -1
  842. package/dist/summarizer/purpose-inferrer.d.ts +0 -8
  843. package/dist/summarizer/purpose-inferrer.d.ts.map +0 -1
  844. package/dist/summarizer/purpose-inferrer.js +0 -178
  845. package/dist/summarizer/purpose-inferrer.js.map +0 -1
  846. package/dist/summarizer/readme-reader.d.ts +0 -4
  847. package/dist/summarizer/readme-reader.d.ts.map +0 -1
  848. package/dist/summarizer/readme-reader.js +0 -21
  849. package/dist/summarizer/readme-reader.js.map +0 -1
  850. package/dist/types.d.ts +0 -186
  851. package/dist/types.d.ts.map +0 -1
  852. package/dist/types.js +0 -2
  853. package/dist/types.js.map +0 -1
  854. package/examples/sample-report.md +0 -207
  855. package/fix-scorer.js +0 -18
  856. package/fix-tests.js +0 -73
  857. package/jest.config.js +0 -18
  858. package/scripts/decompose-detectors.ts +0 -183
  859. package/scripts/decompose-detectors_deps.ts +0 -16
  860. package/scripts/decompose-enrichers.ts +0 -191
  861. package/scripts/decompose-enrichers_deps.ts +0 -10
  862. package/scripts/decompose-helpers.ts +0 -92
  863. package/scripts/decompose-summarizer.ts +0 -127
  864. package/setup-refactor.sh +0 -21
  865. package/src/adapters/html-reporter_deps.ts +0 -14
  866. package/src/core/agent-generator/context-enricher.ts +0 -67
  867. package/src/core/agent-generator/detectors/base-detector.ts +0 -18
  868. package/src/core/agent-generator/detectors/dart-detector.ts +0 -17
  869. package/src/core/agent-generator/detectors/framework-registry.ts +0 -82
  870. package/src/core/agent-generator/detectors/go-detector.ts +0 -26
  871. package/src/core/agent-generator/detectors/java-detector.ts +0 -46
  872. package/src/core/agent-generator/detectors/node-detector.ts +0 -28
  873. package/src/core/agent-generator/detectors/php-detector.ts +0 -28
  874. package/src/core/agent-generator/detectors/python-detector.ts +0 -125
  875. package/src/core/agent-generator/detectors/ruby-detector.ts +0 -24
  876. package/src/core/agent-generator/detectors/rust-detector.ts +0 -19
  877. package/src/core/agent-generator/detectors/structure-detector.ts +0 -38
  878. package/src/core/agent-generator/detectors/toolchain-detector.ts +0 -180
  879. package/src/core/agent-generator/domain-inferrer.ts +0 -630
  880. package/src/core/agent-generator/engines/audit-engine.ts +0 -98
  881. package/src/core/agent-generator/engines/context-builder.ts +0 -96
  882. package/src/core/agent-generator/engines/generation-engine.ts +0 -184
  883. package/src/core/agent-generator/engines/generation-engine_deps.ts +0 -21
  884. package/src/core/agent-generator/engines/suggestion-engine.ts +0 -202
  885. package/src/core/agent-generator/engines/suggestion-engine_deps.ts +0 -8
  886. package/src/core/agent-generator/enrichers/analysis-helpers.ts +0 -58
  887. package/src/core/agent-generator/enrichers/description-generator.ts +0 -91
  888. package/src/core/agent-generator/enrichers/endpoint-extractor.ts +0 -114
  889. package/src/core/agent-generator/enrichers/layer-classifier.ts +0 -156
  890. package/src/core/agent-generator/enrichers/module-extractor.ts +0 -203
  891. package/src/core/agent-generator/framework-detector.ts +0 -66
  892. package/src/core/agent-generator/index.ts +0 -55
  893. package/src/core/agent-generator/stack-detector.ts +0 -115
  894. package/src/core/agent-generator/templates/core/agents.ts +0 -1296
  895. package/src/core/agent-generator/templates/core/architecture-rules.ts +0 -287
  896. package/src/core/agent-generator/templates/core/general-rules.ts +0 -306
  897. package/src/core/agent-generator/templates/core/hooks-generator.ts +0 -242
  898. package/src/core/agent-generator/templates/core/index-md.ts +0 -260
  899. package/src/core/agent-generator/templates/core/orchestrator.ts +0 -459
  900. package/src/core/agent-generator/templates/core/preflight.ts +0 -215
  901. package/src/core/agent-generator/templates/core/quality-gates.ts +0 -256
  902. package/src/core/agent-generator/templates/core/security-rules.ts +0 -543
  903. package/src/core/agent-generator/templates/core/skills-generator.ts +0 -585
  904. package/src/core/agent-generator/templates/core/workflow-fix-bug.ts +0 -239
  905. package/src/core/agent-generator/templates/core/workflow-new-feature.ts +0 -323
  906. package/src/core/agent-generator/templates/core/workflow-review.ts +0 -106
  907. package/src/core/agent-generator/templates/domain/index.ts +0 -1201
  908. package/src/core/agent-generator/templates/helpers/base-helpers.ts +0 -32
  909. package/src/core/agent-generator/templates/helpers/cross-ref-helpers.ts +0 -79
  910. package/src/core/agent-generator/templates/helpers/security-helpers.ts +0 -196
  911. package/src/core/agent-generator/templates/helpers/stack-helpers.ts +0 -78
  912. package/src/core/agent-generator/templates/helpers/structure-helpers.ts +0 -291
  913. package/src/core/agent-generator/templates/helpers/summary-helpers.ts +0 -65
  914. package/src/core/agent-generator/templates/stack/index.ts +0 -705
  915. package/src/core/agent-generator/templates/template-helpers.ts +0 -12
  916. package/src/core/agent-generator/types/agent.ts +0 -65
  917. package/src/core/agent-generator/types/domain.ts +0 -63
  918. package/src/core/agent-generator/types/stack.ts +0 -38
  919. package/src/core/agent-generator/types/template.ts +0 -31
  920. package/src/core/analyzer.ts +0 -448
  921. package/src/core/analyzers/forecast.ts +0 -496
  922. package/src/core/analyzers/index.ts +0 -33
  923. package/src/core/analyzers/temporal-scorer.ts +0 -227
  924. package/src/core/anti-patterns.ts +0 -297
  925. package/src/core/architect_deps.ts +0 -13
  926. package/src/core/config.ts +0 -123
  927. package/src/core/diagram.ts +0 -129
  928. package/src/core/project-summarizer.ts +0 -42
  929. package/src/core/refactor-engine.ts +0 -112
  930. package/src/core/rules/barrel-optimizer.ts +0 -99
  931. package/src/core/rules/dead-code-detector.ts +0 -134
  932. package/src/core/rules/hub-splitter.ts +0 -135
  933. package/src/core/rules/import-organizer.ts +0 -100
  934. package/src/core/rules/module-grouper.ts +0 -133
  935. package/src/core/scorer.ts +0 -254
  936. package/src/core/summarizer/keyword-extractor.ts +0 -53
  937. package/src/core/summarizer/module-inferrer.ts +0 -194
  938. package/src/core/summarizer/package-reader.ts +0 -34
  939. package/src/core/summarizer/purpose-inferrer.ts +0 -197
  940. package/src/core/summarizer/readme-reader.ts +0 -24
  941. package/src/core/types/core.ts +0 -93
  942. package/src/core/types/infrastructure.ts +0 -41
  943. package/src/core/types/rules.ts +0 -51
  944. package/src/core/types/summarizer.ts +0 -8
  945. package/src/index.ts +0 -27
  946. package/src/infrastructure/git-cache.ts +0 -52
  947. package/src/infrastructure/git-history.ts +0 -497
  948. package/src/infrastructure/logger.ts +0 -68
  949. package/src/infrastructure/scanner.ts +0 -347
  950. package/src/scripts/bundle-deps.js +0 -123
  951. package/src/scripts/fix-imports.mjs +0 -106
  952. package/src/scripts/refactor-imports.js +0 -74
  953. package/src/scripts/refactor-utils.js +0 -23
  954. package/test-shotgun.js +0 -7
  955. package/tests/agent-generator.test.ts +0 -428
  956. package/tests/analyzers-integration.test.ts +0 -174
  957. package/tests/anti-patterns.test.ts +0 -95
  958. package/tests/context-enricher.test.ts +0 -972
  959. package/tests/fixtures/monorepo/package.json +0 -6
  960. package/tests/fixtures/monorepo/packages/app/package.json +0 -12
  961. package/tests/fixtures/monorepo/packages/app/src/index.ts +0 -6
  962. package/tests/fixtures/monorepo/packages/core/package.json +0 -7
  963. package/tests/fixtures/monorepo/packages/core/src/index.ts +0 -7
  964. package/tests/forecast.test.ts +0 -509
  965. package/tests/framework-detector.test.ts +0 -1172
  966. package/tests/git-history.test.ts +0 -254
  967. package/tests/monorepo-scan.test.ts +0 -170
  968. package/tests/scanner.test.ts +0 -54
  969. package/tests/scorer.test.ts +0 -674
  970. package/tests/stack-detector.test.ts +0 -241
  971. package/tests/template-generation.test.ts +0 -707
  972. package/tests/template-helpers.test.ts +0 -1130
  973. package/tests/temporal-scorer.test.ts +0 -307
  974. /package/dist/{adapters → src/adapters}/html-reporter/scripts.js +0 -0
  975. /package/dist/{adapters → src/adapters}/html-reporter/sections/anti-patterns.js +0 -0
  976. /package/dist/{adapters → src/adapters}/html-reporter/sections/layers.js +0 -0
  977. /package/dist/{adapters → src/adapters}/html-reporter/sections/overview.js +0 -0
  978. /package/dist/{adapters → src/adapters}/html-reporter/sections/refactoring-plan.js +0 -0
  979. /package/dist/{adapters → src/adapters}/html-reporter/sections/suggestions.js +0 -0
  980. /package/dist/{adapters → src/adapters}/html-reporter/styles.js +0 -0
  981. /package/dist/{adapters → src/adapters}/html-reporter/utils_adapters.js +0 -0
  982. /package/dist/{adapters → src/adapters}/html-reporter/utils_sections.js +0 -0
  983. /package/dist/{adapters → src/adapters}/reporter.js +0 -0
@@ -1,129 +0,0 @@
1
- import { DependencyEdge, Layer } from './types/core.js';
2
-
3
- const LAYER_THEME: Record<string, { color: string; style: string }> = {
4
- API: { color: '#FFB6C1', style: 'apiStyle' },
5
- Service: { color: '#87CEEB', style: 'serviceStyle' },
6
- Data: { color: '#90EE90', style: 'dataStyle' },
7
- UI: { color: '#FFD700', style: 'uiStyle' },
8
- Infrastructure: { color: '#D3D3D3', style: 'infraStyle' },
9
- };
10
-
11
- export class DiagramGenerator {
12
- generateComponentDiagram(
13
- edges: DependencyEdge[],
14
- layers: Layer[]
15
- ): string {
16
- const nodes = new Set<string>();
17
- edges.forEach((e) => {
18
- nodes.add(e.from);
19
- nodes.add(e.to);
20
- });
21
-
22
- const nodeColors: Record<string, string> = {};
23
- for (const layer of layers) {
24
- for (const file of layer.files) {
25
- const moduleName = file.split('/').pop() || file;
26
- nodeColors[moduleName] = LAYER_THEME[layer.name]?.color || '#FFFFFF';
27
- }
28
- }
29
-
30
- let mermaid = 'graph TB\n';
31
-
32
- for (const node of Array.from(nodes).slice(0, 20)) {
33
- const moduleName = node.split('/').pop() || node;
34
- const color = nodeColors[moduleName] || '#FFFFFF';
35
- mermaid += ` ${this.sanitizeNodeName(node)}["${moduleName}"]:::${this.getStyleClass(color)}\n`;
36
- }
37
-
38
- mermaid += '\n';
39
-
40
- for (const edge of edges.slice(0, 30)) {
41
- mermaid += ` ${this.sanitizeNodeName(edge.from)} --> ${this.sanitizeNodeName(edge.to)}\n`;
42
- }
43
-
44
- return this.appendCommonClassDefs(mermaid);
45
- }
46
-
47
- generateLayerDiagram(layers: Layer[]): string {
48
- let mermaid = 'graph LR\n';
49
-
50
- const layerOrder = ['UI', 'API', 'Service', 'Data', 'Infrastructure'];
51
-
52
- for (const layerName of layerOrder) {
53
- const layer = layers.find((l) => l.name === layerName);
54
- if (layer && layer.files.length > 0) {
55
- const nodeId = layerName.replace(/\s+/g, '_');
56
- const fileCount = layer.files.length;
57
- const style = LAYER_THEME[layerName]?.style || 'defaultStyle';
58
- mermaid += ` ${nodeId}["${layerName}<br/>(${fileCount} files)"]:::${style}\n`;
59
- }
60
- }
61
-
62
- for (let i = 0; i < layerOrder.length - 1; i++) {
63
- const from = layerOrder[i].replace(/\s+/g, '_');
64
- const to = layerOrder[i + 1].replace(/\s+/g, '_');
65
- mermaid += ` ${from} --> ${to}\n`;
66
- }
67
-
68
- return this.appendCommonClassDefs(mermaid);
69
- }
70
-
71
- generateDependencyFlowDiagram(edges: DependencyEdge[]): string {
72
- const flowMap: Record<string, number> = {};
73
-
74
- for (const edge of edges) {
75
- const flowKey = `${edge.from} -> ${edge.to}`;
76
- flowMap[flowKey] = (flowMap[flowKey] || 0) + edge.weight;
77
- }
78
-
79
- const topFlows = Object.entries(flowMap)
80
- .sort((a, b) => b[1] - a[1])
81
- .slice(0, 15);
82
-
83
- let mermaid = 'graph LR\n';
84
-
85
- const nodes = new Set<string>();
86
- for (const [flow] of topFlows) {
87
- const [from, _, to] = flow.split(' ');
88
- nodes.add(from);
89
- nodes.add(to);
90
- }
91
-
92
- for (const node of nodes) {
93
- const moduleName = node.split('/').pop() || node;
94
- mermaid += ` ${this.sanitizeNodeName(node)}["${moduleName}"]\n`;
95
- }
96
-
97
- mermaid += '\n';
98
-
99
- for (const [flow, weight] of topFlows) {
100
- const [from, _, to] = flow.split(' ');
101
- const label = weight > 1 ? ` | ${weight}` : '';
102
- mermaid += ` ${this.sanitizeNodeName(from)} -->|${label}| ${this.sanitizeNodeName(to)}\n`;
103
- }
104
-
105
- return mermaid; // specific diagram that doesn't use standard classDefs
106
- }
107
-
108
- private sanitizeNodeName(path: string): string {
109
- return path
110
- .replace(/[^a-zA-Z0-9]/g, '_')
111
- .replace(/_+/g, '_')
112
- .toLowerCase();
113
- }
114
-
115
- private getStyleClass(color: string): string {
116
- const match = Object.values(LAYER_THEME).find(t => t.color === color);
117
- return match ? match.style : 'defaultStyle';
118
- }
119
-
120
- private appendCommonClassDefs(mermaid: string): string {
121
- let result = mermaid + '\n';
122
- result += ' classDef apiStyle fill:#FFB6C1,stroke:#333,color:#000\n';
123
- result += ' classDef serviceStyle fill:#87CEEB,stroke:#333,color:#000\n';
124
- result += ' classDef dataStyle fill:#90EE90,stroke:#333,color:#000\n';
125
- result += ' classDef uiStyle fill:#FFD700,stroke:#333,color:#000\n';
126
- result += ' classDef infraStyle fill:#D3D3D3,stroke:#333,color:#000\n';
127
- return result;
128
- }
129
- }
@@ -1,42 +0,0 @@
1
- import { AnalysisReport } from './types/core.js';
2
- import { ProjectSummary } from './types/summarizer.js';
3
-
4
- import { PackageReader } from './summarizer/package-reader.js';
5
- import { ReadmeReader } from './summarizer/readme-reader.js';
6
- import { KeywordExtractor } from './summarizer/keyword-extractor.js';
7
- import { PurposeInferrer } from './summarizer/purpose-inferrer.js';
8
- import { ModuleInferrer } from './summarizer/module-inferrer.js';
9
-
10
- /**
11
- * ProjectSummarizer — infers what a project does from its metadata,
12
- * structure, README, package.json, and file naming conventions.
13
- *
14
- * Refactored via Facade pattern in v5.0.0
15
- */
16
- export class ProjectSummarizer {
17
- private packageReader = new PackageReader();
18
- private readmeReader = new ReadmeReader();
19
- private keywordExtractor = new KeywordExtractor();
20
- private purposeInferrer = new PurposeInferrer();
21
- private moduleInferrer = new ModuleInferrer();
22
-
23
- summarize(projectPath: string, report: AnalysisReport): ProjectSummary {
24
- const packageInfo = this.packageReader.readPackageJson(projectPath);
25
- const readmeContent = this.readmeReader.readReadme(projectPath);
26
- const modules = this.moduleInferrer.inferModules(report, projectPath);
27
- const entryPoints = this.purposeInferrer.findEntryPoints(report, projectPath);
28
- const keywords = this.keywordExtractor.extractKeywords(packageInfo, readmeContent, modules, report);
29
- const techStack = this.purposeInferrer.buildTechStack(report, packageInfo);
30
- const description = this.purposeInferrer.buildDescription(packageInfo, readmeContent, report);
31
- const purpose = this.purposeInferrer.inferPurpose(keywords, modules, report);
32
-
33
- return {
34
- description,
35
- purpose,
36
- modules,
37
- techStack,
38
- entryPoints,
39
- keywords,
40
- };
41
- }
42
- }
@@ -1,112 +0,0 @@
1
- import { readFileSync } from 'fs';
2
- import { basename, dirname, join, relative } from 'path';
3
- import { AnalysisReport } from './types/core.js';
4
- import { RefactoringPlan, RefactorStep, RefactorRule, FileOperation } from './types/rules.js';
5
-
6
- // ── Tier 1 Rules ──
7
- import { HubSplitterRule } from './rules/hub-splitter.js';
8
- import { BarrelOptimizerRule } from './rules/barrel-optimizer.js';
9
- import { ImportOrganizerRule } from './rules/import-organizer.js';
10
- import { ModuleGrouperRule } from './rules/module-grouper.js';
11
- import { DeadCodeDetectorRule } from './rules/dead-code-detector.js';
12
-
13
- /**
14
- * Refactoring Engine v2.0
15
- * Orchestrates Tier 1 (rule-based) and Tier 2 (AST) refactoring rules.
16
- */
17
- export class RefactorEngine {
18
- private rules: RefactorRule[];
19
-
20
- constructor() {
21
- this.rules = [
22
- // Tier 1: Rule Engine (pattern matching)
23
- new HubSplitterRule(),
24
- new BarrelOptimizerRule(),
25
- new ImportOrganizerRule(),
26
- new ModuleGrouperRule(),
27
- new DeadCodeDetectorRule(),
28
- ];
29
- }
30
-
31
- /**
32
- * Analyze a project and generate a refactoring plan.
33
- */
34
- analyze(report: AnalysisReport, projectPath: string): RefactoringPlan {
35
- const allSteps: RefactorStep[] = [];
36
- let stepId = 1;
37
-
38
- // Run each rule
39
- for (const rule of this.rules) {
40
- const steps = rule.analyze(report, projectPath);
41
- for (const step of steps) {
42
- step.id = stepId++;
43
- allSteps.push(step);
44
- }
45
- }
46
-
47
- // Sort by priority
48
- const priorityOrder: Record<string, number> = {
49
- CRITICAL: 0,
50
- HIGH: 1,
51
- MEDIUM: 2,
52
- LOW: 3,
53
- };
54
- allSteps.sort((a, b) => priorityOrder[a.priority] - priorityOrder[b.priority]);
55
-
56
- // Re-number after sorting
57
- allSteps.forEach((s, i) => (s.id = i + 1));
58
-
59
- // Calculate total operations
60
- const totalOperations = allSteps.reduce(
61
- (sum, s) => sum + s.operations.length,
62
- 0
63
- );
64
-
65
- // Estimate score after refactoring
66
- const estimatedScoreAfter = this.estimateScoreAfter(report, allSteps);
67
-
68
- return {
69
- timestamp: new Date().toISOString(),
70
- projectPath,
71
- currentScore: report.score,
72
- estimatedScoreAfter,
73
- steps: allSteps,
74
- totalOperations,
75
- tier1Steps: allSteps.filter((s) => s.tier === 1).length,
76
- tier2Steps: allSteps.filter((s) => s.tier === 2).length,
77
- };
78
- }
79
-
80
- /**
81
- * Estimates the architecture score after applying all refactoring steps.
82
- */
83
- private estimateScoreAfter(
84
- report: AnalysisReport,
85
- steps: RefactorStep[]
86
- ): { overall: number; breakdown: Record<string, number> } {
87
- const breakdown = { ...report.score.breakdown };
88
-
89
- for (const step of steps) {
90
- for (const impact of step.scoreImpact) {
91
- if (impact.metric in breakdown) {
92
- // Use estimated after value, capped at 95
93
- const key = impact.metric as keyof typeof breakdown;
94
- breakdown[key] = Math.min(95, Math.max(breakdown[key], impact.after));
95
- }
96
- }
97
- }
98
-
99
- // Recalculate overall with same weights
100
- const overall = Math.round(
101
- breakdown.modularity * 0.4 +
102
- breakdown.coupling * 0.25 +
103
- breakdown.cohesion * 0.2 +
104
- breakdown.layering * 0.15
105
- );
106
-
107
- return {
108
- overall: Math.min(100, overall),
109
- breakdown,
110
- };
111
- }
112
- }
@@ -1,99 +0,0 @@
1
- import { basename, dirname } from 'path';
2
- import { AnalysisReport } from '../types/core.js';
3
- import { RefactorRule, RefactorStep, FileOperation } from '../types/rules.js';
4
-
5
- /**
6
- * Barrel Optimizer Rule (Tier 1)
7
- * Analyzes barrel files (__init__.py, index.ts) and suggests optimization.
8
- * Barrel files that re-export everything create unnecessary coupling.
9
- */
10
- export class BarrelOptimizerRule implements RefactorRule {
11
- name = 'barrel-optimizer';
12
- tier = 1 as const;
13
-
14
- private static readonly BARREL_FILES = new Set([
15
- '__init__.py', 'index.ts', 'index.js', 'index.tsx', 'index.jsx',
16
- ]);
17
-
18
- analyze(report: AnalysisReport, projectPath: string): RefactorStep[] {
19
- const steps: RefactorStep[] = [];
20
-
21
- // Find barrel files in the dependency graph
22
- const barrelNodes = report.dependencyGraph.nodes.filter((n) =>
23
- BarrelOptimizerRule.BARREL_FILES.has(basename(n))
24
- );
25
-
26
- for (const barrel of barrelNodes) {
27
- // Count how many things this barrel re-exports (outgoing edges)
28
- const outgoing = report.dependencyGraph.edges.filter(
29
- (e) => e.from === barrel
30
- );
31
- const incoming = report.dependencyGraph.edges.filter(
32
- (e) => e.to === barrel
33
- );
34
-
35
- if (outgoing.length < 3) continue;
36
-
37
- // Check for "pass-through" pattern: files import from barrel
38
- // but barrel just re-exports from siblings
39
- const siblingDir = dirname(barrel);
40
- const siblingExports = outgoing.filter(
41
- (e) => dirname(e.to) === siblingDir
42
- );
43
-
44
- const operations: FileOperation[] = [];
45
-
46
- // Suggest direct imports instead of barrel
47
- for (const consumer of incoming) {
48
- const consumedModules = outgoing
49
- .filter((e) => {
50
- // Check if consumer actually needs this module
51
- return report.dependencyGraph.edges.some(
52
- (edge) => edge.from === consumer.from && edge.to === e.to
53
- );
54
- })
55
- .map((e) => e.to);
56
-
57
- if (consumedModules.length > 0) {
58
- operations.push({
59
- type: 'MODIFY',
60
- path: consumer.from,
61
- description: `Replace barrel import from \`${basename(barrel)}\` with direct imports: ${consumedModules.map((m) => basename(m)).join(', ')}`,
62
- });
63
- }
64
- }
65
-
66
- // Suggest simplifying the barrel
67
- if (siblingExports.length > 5) {
68
- operations.push({
69
- type: 'MODIFY',
70
- path: barrel,
71
- description: `Simplify ${basename(barrel)}: only re-export public API (${siblingExports.length} re-exports detected, consider reducing)`,
72
- });
73
- }
74
-
75
- if (operations.length > 0) {
76
- steps.push({
77
- id: 0,
78
- tier: 1,
79
- rule: this.name,
80
- priority: outgoing.length >= 8 ? 'HIGH' : 'MEDIUM',
81
- title: `Optimize barrel: ${barrel}`,
82
- description: `\`${barrel}\` re-exports ${outgoing.length} modules. ` +
83
- `This creates a "Shotgun Surgery" risk — any change propagates widely.`,
84
- rationale: `Barrel files that re-export everything make it hard to tree-shake unused code ` +
85
- `and create implicit dependencies. Direct imports make dependency relationships explicit ` +
86
- `and reduce the blast radius of changes.`,
87
- operations,
88
- scoreImpact: [
89
- { metric: 'coupling', before: report.score.breakdown.coupling, after: Math.min(95, report.score.breakdown.coupling + 10) },
90
- { metric: 'layering', before: report.score.breakdown.layering, after: Math.min(95, report.score.breakdown.layering + 5) },
91
- ],
92
- aiPrompt: `Analyze the barrel file \`${barrel}\` which re-exports ${outgoing.length} modules. This is creating a "Shotgun Surgery" risk.\nPlease optimize it by:\n1. Removing wildcard exports (e.g., \`export *\`) if any.\n2. Only re-exporting the public API interfaces/classes meant for consumers outside this module.\n3. Updating consumers (${incoming.map(i => basename(i.from)).join(', ')}) to import from the specific files directly instead of passing through this barrel file where appropriate.`,
93
- });
94
- }
95
- }
96
-
97
- return steps;
98
- }
99
- }
@@ -1,134 +0,0 @@
1
- import { basename } from 'path';
2
- import { AnalysisReport } from '../types/core.js';
3
- import { RefactorRule, RefactorStep, FileOperation } from '../types/rules.js';
4
-
5
- /**
6
- * Dead Code Detector Rule (Tier 1)
7
- * Finds files with no incoming edges (nobody imports them)
8
- * and exports that are never used.
9
- *
10
- * Handles both path-style (deepguard/report.py) and
11
- * dot-notation (deepguard.report) references.
12
- */
13
- export class DeadCodeDetectorRule implements RefactorRule {
14
- name = 'dead-code-detector';
15
- tier = 1 as const;
16
-
17
- private static readonly ENTRY_POINTS = new Set([
18
- 'main.py', 'cli.py', 'app.py', 'manage.py', 'wsgi.py', 'asgi.py',
19
- 'main.ts', 'main.js', 'app.ts', 'app.js', 'server.ts', 'server.js',
20
- 'index.html', 'setup.py', 'setup.cfg', 'pyproject.toml',
21
- ]);
22
-
23
- analyze(report: AnalysisReport, projectPath: string): RefactorStep[] {
24
- const steps: RefactorStep[] = [];
25
- const edges = report.dependencyGraph.edges;
26
-
27
- // Build a set of ALL referenced targets (both path and dot-notation)
28
- const allTargets = new Set<string>();
29
- const allSources = new Set<string>();
30
- for (const edge of edges) {
31
- allTargets.add(edge.to);
32
- allSources.add(edge.from);
33
- }
34
-
35
- // Only consider actual files (with path separators) as candidates
36
- const fileNodes = report.dependencyGraph.nodes.filter(
37
- (n) => n.includes('/') || n.includes('\\')
38
- );
39
-
40
- // Build incoming edge count considering dot-notation matches
41
- const incomingCount: Record<string, number> = {};
42
-
43
- for (const file of fileNodes) {
44
- incomingCount[file] = 0;
45
-
46
- // Direct incoming edges
47
- for (const edge of edges) {
48
- if (edge.to === file) {
49
- incomingCount[file]++;
50
- }
51
- }
52
-
53
- // Check dot-notation references:
54
- // deepguard/report.py might be referenced as deepguard.report or .report
55
- const dotVariants = this.getDotVariants(file);
56
- for (const variant of dotVariants) {
57
- if (allTargets.has(variant)) {
58
- incomingCount[file]++;
59
- }
60
- }
61
- }
62
-
63
- // Find orphan files
64
- const orphans: string[] = [];
65
-
66
- for (const [file, count] of Object.entries(incomingCount)) {
67
- const fileName = basename(file);
68
-
69
- // Skip entry points and config files
70
- if (DeadCodeDetectorRule.ENTRY_POINTS.has(fileName)) continue;
71
- if (fileName.startsWith('__')) continue;
72
- if (fileName.startsWith('.')) continue;
73
- if (fileName.endsWith('.test.ts') || fileName.endsWith('.spec.ts')) continue;
74
- if (fileName.endsWith('_test.py') || fileName.endsWith('.test.py')) continue;
75
-
76
- // Also skip if the file has outgoing edges (it's active code)
77
- if (allSources.has(file)) continue;
78
-
79
- if (count === 0) {
80
- orphans.push(file);
81
- }
82
- }
83
-
84
- if (orphans.length > 0) {
85
- const operations: FileOperation[] = orphans.map((file) => ({
86
- type: 'DELETE' as const,
87
- path: file,
88
- description: `\`${basename(file)}\` has no incoming dependencies — verify if still needed`,
89
- }));
90
-
91
- steps.push({
92
- id: 0,
93
- tier: 1,
94
- rule: this.name,
95
- priority: orphans.length >= 3 ? 'MEDIUM' : 'LOW',
96
- title: `Review ${orphans.length} potentially unused file(s)`,
97
- description: `Found ${orphans.length} file(s) with no incoming dependencies: ` +
98
- `${orphans.map((f) => `\`${basename(f)}\``).join(', ')}. ` +
99
- `These may be dead code or missing from the module's public API.`,
100
- rationale: `Files with zero incoming edges are either entry points (already excluded), ` +
101
- `or potentially dead code. Removing dead code reduces maintenance burden ` +
102
- `and improves modularity scores.`,
103
- operations,
104
- scoreImpact: [
105
- { metric: 'modularity', before: report.score.breakdown.modularity, after: Math.min(95, report.score.breakdown.modularity + 5) },
106
- ],
107
- aiPrompt: `Analyze the following files: ${orphans.map(f => `\`${f}\``).join(', ')}.\nThese files currently have zero incoming dependencies across the architecture, meaning they might be dead code.\nPlease review them:\n1. If they are unused, explicitly delete them to shrink the blast radius.\n2. If they are entry points that the Architect missed, add them to the ignore list or document their usage.\n3. Make sure to remove any vestigial exports or imports pointing to them from the rest of the codebase.`,
108
- });
109
- }
110
-
111
- return steps;
112
- }
113
-
114
- /**
115
- * Generate dot-notation variants for a file path.
116
- * "deepguard/report.py" → ["deepguard.report", ".report"]
117
- */
118
- private getDotVariants(filePath: string): string[] {
119
- const variants: string[] = [];
120
- const withoutExt = filePath.replace(/\.[^.]+$/, '');
121
- const dotPath = withoutExt.replace(/[/\\]/g, '.');
122
-
123
- variants.push(dotPath);
124
-
125
- // Relative dot-notation: .report
126
- const parts = filePath.split('/');
127
- if (parts.length >= 2) {
128
- const lastPart = parts[parts.length - 1].replace(/\.[^.]+$/, '');
129
- variants.push(`.${lastPart}`);
130
- }
131
-
132
- return variants;
133
- }
134
- }
@@ -1,135 +0,0 @@
1
- import { basename, dirname, join } from 'path';
2
- import { AnalysisReport } from '../types/core.js';
3
- import { RefactorRule, RefactorStep, FileOperation } from '../types/rules.js';
4
-
5
- /**
6
- * Hub Splitter Rule (Tier 1)
7
- * Detects files with many connections and generates split plans.
8
- * A "hub" is a file that many other files depend on, creating tight coupling.
9
- */
10
- export class HubSplitterRule implements RefactorRule {
11
- name = 'hub-splitter';
12
- tier = 1 as const;
13
-
14
- analyze(report: AnalysisReport, projectPath: string): RefactorStep[] {
15
- const steps: RefactorStep[] = [];
16
-
17
- // Count connections per node
18
- const connectionCount: Record<string, { incoming: string[]; outgoing: string[] }> = {};
19
-
20
- for (const edge of report.dependencyGraph.edges) {
21
- if (!connectionCount[edge.from]) connectionCount[edge.from] = { incoming: [], outgoing: [] };
22
- if (!connectionCount[edge.to]) connectionCount[edge.to] = { incoming: [], outgoing: [] };
23
- connectionCount[edge.from].outgoing.push(edge.to);
24
- connectionCount[edge.to].incoming.push(edge.from);
25
- }
26
-
27
- // Find hubs (5+ incoming connections, not barrel files)
28
- const barrelFiles = new Set(['__init__.py', 'index.ts', 'index.js', 'index.tsx', 'mod.rs']);
29
-
30
- for (const [file, connections] of Object.entries(connectionCount)) {
31
- const fileName = basename(file);
32
- if (barrelFiles.has(fileName)) continue;
33
-
34
- // Ignora Tipos base/DTOs - Alto acoplamento em tipos é sinal de maturidade, não gargalo
35
- const lowerFile = file.toLowerCase();
36
- if (lowerFile.includes('types') || lowerFile.includes('interface') || lowerFile.includes('/types/')) {
37
- continue;
38
- }
39
-
40
- // Tolerância Arquitetural: Eleva de 5 pra 8 dependentes pra engatilhar quebra (Módulos Coesos maduros)
41
- if (connections.incoming.length < 8) continue;
42
-
43
- const operations: FileOperation[] = [];
44
-
45
- // Determine if this is a dot-notation module or a real file
46
- const isDotNotation = !file.includes('/') && !file.includes('\\');
47
- const moduleName = isDotNotation
48
- ? file.split('.').pop() || file
49
- : fileName.replace(/\.[^.]+$/, '');
50
- const moduleDir = isDotNotation
51
- ? file.split('.').slice(0, -1).join('/')
52
- : dirname(file);
53
- const ext = isDotNotation ? 'py' : (fileName.split('.').pop() || 'py');
54
-
55
- // Analyze what dependents import to suggest groupings
56
- const dependentGroups = this.groupDependents(connections.incoming);
57
-
58
- // Suggest splitting into domain modules
59
- if (dependentGroups.length >= 2) {
60
- for (const group of dependentGroups) {
61
- const newFileName = `${moduleName}_${group.name}.${ext}`;
62
- const newPath = moduleDir ? `${moduleDir}/${newFileName}` : newFileName;
63
-
64
- operations.push({
65
- type: 'CREATE',
66
- path: newPath,
67
- description: `Create \`${newFileName}\` with functionality used by: ${group.dependents.join(', ')}`,
68
- content: ext === 'py'
69
- ? `"""${moduleName}_${group.name} — extracted from ${moduleName}."""\n# Used by: ${group.dependents.join(', ')}\n`
70
- : `// ${moduleName}_${group.name} — extracted from ${moduleName}\n// Used by: ${group.dependents.join(', ')}\n`,
71
- });
72
- }
73
-
74
- // Update imports in all dependents
75
- for (const dependent of connections.incoming) {
76
- operations.push({
77
- type: 'MODIFY',
78
- path: dependent,
79
- description: `Update imports in \`${basename(dependent)}\` to use new split modules`,
80
- });
81
- }
82
-
83
- // Mark original for refactoring
84
- operations.push({
85
- type: 'MODIFY',
86
- path: isDotNotation ? `${moduleDir}/${moduleName}.${ext}` : file,
87
- description: `Refactor \`${moduleName}.${ext}\` — extract grouped functionality to new modules`,
88
- });
89
- }
90
-
91
- if (operations.length > 0) {
92
- steps.push({
93
- id: 0,
94
- tier: 1,
95
- rule: this.name,
96
- priority: connections.incoming.length >= 8 ? 'CRITICAL' : 'HIGH',
97
- title: `Split hub file: ${moduleName}.${ext}`,
98
- description: `\`${file}\` has ${connections.incoming.length} incoming connections. ` +
99
- `Split into ${dependentGroups.length} focused modules to reduce coupling.`,
100
- rationale: `High fan-in (${connections.incoming.length} files depend on this) creates a bottleneck. ` +
101
- `Changes to this file ripple to ${connections.incoming.length} other files. ` +
102
- `Splitting by usage pattern reduces blast radius.`,
103
- operations,
104
- scoreImpact: [
105
- { metric: 'coupling', before: report.score.breakdown.coupling, after: Math.min(95, report.score.breakdown.coupling + 15) },
106
- ],
107
- aiPrompt: `Analyze the file \`${file}\`. Based on its incoming connections, it acts as a coupling bottleneck. Please split this file into the following smaller modules:\n` +
108
- dependentGroups.map(g => `- \`${moduleName}_${g.name}.${ext}\`: Extract functionality specific to these dependents: ${g.dependents.join(', ')}`).join('\n') +
109
- `\n\nAfter splitting, securely and automatically update all ${connections.incoming.length} dependent files to import from the new specific modules instead of the monolithic \`${moduleName}.${ext}\`. DO NOT remove any functionality, only move it.`,
110
- });
111
- }
112
- }
113
-
114
- return steps;
115
- }
116
-
117
- private groupDependents(
118
- dependents: string[]
119
- ): Array<{ name: string; dependents: string[] }> {
120
- // Group by top-level directory
121
- const groups: Record<string, string[]> = {};
122
-
123
- for (const dep of dependents) {
124
- const parts = dep.includes('/') ? dep.split('/') : dep.split('.');
125
- const groupName = parts.length >= 2 ? parts[parts.length - 2] : 'core';
126
- if (!groups[groupName]) groups[groupName] = [];
127
- groups[groupName].push(basename(dep));
128
- }
129
-
130
- return Object.entries(groups).map(([name, deps]) => ({
131
- name,
132
- dependents: deps,
133
- }));
134
- }
135
- }