@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,630 +0,0 @@
1
- import { existsSync, readFileSync } from 'fs';
2
- import { join } from 'path';
3
- import { AnalysisReport } from '../types/core.js';
4
- import { DomainInsights, BusinessEntity, ComplianceRequirement, ExternalIntegration } from './types/domain.js';
5
-
6
- /**
7
- * DomainInferrer — Analyzes project metadata, file names, module structure,
8
- * README content, and keywords to infer the business domain and context.
9
- *
10
- * This enables context-aware agent generation that understands WHAT the
11
- * project does, not just HOW it's built.
12
- */
13
- export class DomainInferrer {
14
- // Domain keyword mappings - patterns that indicate specific domains
15
- private static readonly DOMAIN_PATTERNS: Record<string, { keywords: string[]; subDomains: Record<string, string[]> }> = {
16
- fintech: {
17
- keywords: ['payment', 'transaction', 'invoice', 'billing', 'ledger', 'account', 'transfer', 'wallet', 'bank', 'loan', 'credit', 'debit', 'finance', 'fiscal', 'tax', 'irpf', 'imposto', 'receita', 'declaracao', 'contribuinte', 'pix', 'boleto', 'nfe', 'nota-fiscal'],
18
- subDomains: {
19
- 'tax-processing': ['irpf', 'tax', 'imposto', 'fiscal', 'receita', 'declaracao', 'contribuinte', 'deducao', 'rendimento'],
20
- 'payment-gateway': ['payment', 'pix', 'boleto', 'stripe', 'checkout', 'charge'],
21
- 'banking': ['bank', 'account', 'transfer', 'balance', 'statement', 'ledger'],
22
- 'invoicing': ['invoice', 'billing', 'nfe', 'nota-fiscal', 'fatura'],
23
- 'lending': ['loan', 'credit', 'installment', 'interest', 'amortization'],
24
- },
25
- },
26
- healthtech: {
27
- keywords: ['patient', 'medical', 'health', 'diagnosis', 'prescription', 'clinical', 'hospital', 'doctor', 'appointment', 'ehr', 'fhir', 'dicom', 'sus', 'prontuario', 'consulta', 'exame'],
28
- subDomains: {
29
- 'ehr': ['patient', 'record', 'prontuario', 'clinical', 'ehr'],
30
- 'telemedicine': ['appointment', 'consulta', 'video', 'teleconsulta'],
31
- 'diagnostics': ['diagnosis', 'exame', 'lab', 'result'],
32
- },
33
- },
34
- 'e-commerce': {
35
- keywords: ['product', 'cart', 'order', 'catalog', 'shipping', 'checkout', 'inventory', 'price', 'discount', 'coupon', 'store', 'shop', 'marketplace', 'seller', 'buyer', 'carrinho', 'pedido', 'estoque', 'frete'],
36
- subDomains: {
37
- 'marketplace': ['seller', 'buyer', 'marketplace', 'commission'],
38
- 'retail': ['product', 'catalog', 'inventory', 'store', 'shop'],
39
- 'logistics': ['shipping', 'delivery', 'frete', 'tracking', 'warehouse'],
40
- },
41
- },
42
- edtech: {
43
- keywords: ['student', 'course', 'lesson', 'quiz', 'grade', 'enrollment', 'teacher', 'classroom', 'curriculum', 'lms', 'aluno', 'aula', 'nota', 'matricula', 'professor'],
44
- subDomains: {
45
- 'lms': ['course', 'lesson', 'enrollment', 'lms', 'aula'],
46
- 'assessment': ['quiz', 'grade', 'exam', 'prova', 'nota'],
47
- },
48
- },
49
- devtools: {
50
- keywords: ['analyzer', 'analysis', 'architect', 'lint', 'linter', 'ast', 'parser', 'scanner', 'refactor', 'mcp', 'cli', 'plugin', 'extension', 'sdk', 'compiler', 'transpiler', 'bundler', 'formatter', 'debugger', 'profiler', 'intelligence', 'code-review', 'anti-pattern', 'score', 'metric', 'dependency-graph'],
51
- subDomains: {
52
- 'code-intelligence': ['analyzer', 'analysis', 'architect', 'anti-pattern', 'score', 'metric', 'intelligence', 'refactor'],
53
- 'mcp-server': ['mcp', 'perception', 'reasoning', 'validation', 'tool-calling'],
54
- 'cli-tool': ['cli', 'command', 'terminal', 'argv', 'yargs', 'commander'],
55
- 'ide-extension': ['extension', 'plugin', 'language-server', 'lsp', 'vscode'],
56
- 'build-tool': ['bundler', 'compiler', 'transpiler', 'webpack', 'esbuild', 'vite'],
57
- },
58
- },
59
- saas: {
60
- keywords: ['tenant', 'subscription', 'plan', 'workspace', 'organization', 'team', 'member', 'role', 'permission', 'billing', 'api-key', 'webhook', 'dashboard'],
61
- subDomains: {
62
- 'multi-tenant': ['tenant', 'workspace', 'organization'],
63
- 'subscription': ['subscription', 'plan', 'billing', 'trial'],
64
- },
65
- },
66
- iot: {
67
- keywords: ['device', 'sensor', 'telemetry', 'mqtt', 'gateway', 'firmware', 'signal', 'measurement', 'monitoring', 'alert', 'threshold'],
68
- subDomains: {
69
- 'monitoring': ['sensor', 'telemetry', 'monitoring', 'measurement'],
70
- 'device-management': ['device', 'firmware', 'gateway', 'provision'],
71
- },
72
- },
73
- 'content-management': {
74
- keywords: ['article', 'post', 'blog', 'page', 'cms', 'content', 'media', 'publish', 'author', 'category', 'tag', 'comment'],
75
- subDomains: {
76
- 'cms': ['article', 'post', 'publish', 'cms', 'content'],
77
- 'media': ['media', 'image', 'video', 'upload', 'gallery'],
78
- },
79
- },
80
- 'real-estate': {
81
- keywords: ['property', 'listing', 'tenant', 'landlord', 'rent', 'lease', 'imovel', 'aluguel', 'inquilino', 'condominio'],
82
- subDomains: {
83
- 'property-management': ['property', 'tenant', 'rent', 'lease', 'condominio'],
84
- 'listings': ['listing', 'search', 'filter', 'imovel'],
85
- },
86
- },
87
- logistics: {
88
- keywords: ['shipment', 'route', 'delivery', 'warehouse', 'fleet', 'driver', 'tracking', 'dispatch', 'load', 'cargo', 'entrega', 'rastreamento', 'frota', 'motorista'],
89
- subDomains: {
90
- 'fleet-management': ['fleet', 'driver', 'vehicle', 'frota', 'motorista'],
91
- 'delivery': ['delivery', 'shipment', 'tracking', 'entrega', 'rastreamento'],
92
- 'warehouse': ['warehouse', 'inventory', 'stock', 'storage'],
93
- },
94
- },
95
- 'hr-management': {
96
- keywords: ['employee', 'payroll', 'leave', 'attendance', 'hiring', 'candidate', 'department', 'salary', 'benefit', 'funcionario', 'folha', 'ferias', 'ponto', 'contratacao'],
97
- subDomains: {
98
- 'payroll': ['payroll', 'salary', 'folha', 'benefit', 'compensation'],
99
- 'recruitment': ['hiring', 'candidate', 'interview', 'contratacao'],
100
- 'time-tracking': ['attendance', 'leave', 'ponto', 'ferias'],
101
- },
102
- },
103
- };
104
-
105
- // Compliance mappings based on domain and geography
106
- private static readonly COMPLIANCE_MAP: Record<string, ComplianceRequirement[]> = {
107
- fintech: [
108
- {
109
- name: 'PCI-DSS',
110
- reason: 'Handles financial/payment data',
111
- mandatoryChecks: [
112
- 'Credit card data never stored in plaintext',
113
- 'Payment tokens used instead of raw card numbers',
114
- 'Audit trail for all financial transactions',
115
- 'Encryption at rest for financial data',
116
- 'Access controls with principle of least privilege',
117
- ],
118
- },
119
- ],
120
- 'tax-processing': [
121
- {
122
- name: 'LGPD',
123
- reason: 'Processes Brazilian taxpayer personal data (CPF, income, assets)',
124
- mandatoryChecks: [
125
- 'CPF/CNPJ data encrypted at rest and in transit',
126
- 'Consent management for data processing',
127
- 'Right to deletion (direito ao esquecimento)',
128
- 'Data minimization — only collect necessary fields',
129
- 'Data breach notification procedures',
130
- 'DPO (Data Protection Officer) contact documented',
131
- 'Cross-border data transfer restrictions',
132
- ],
133
- },
134
- {
135
- name: 'RFB-Compliance',
136
- reason: 'Integrates with Receita Federal do Brasil systems',
137
- mandatoryChecks: [
138
- 'Digital certificate (e-CPF/e-CNPJ) handling',
139
- 'XML schema validation against RFB specifications',
140
- 'Audit log for all tax calculation modifications',
141
- 'Retention period compliance (5 years minimum)',
142
- 'Hash validation for submitted declarations',
143
- ],
144
- },
145
- ],
146
- healthtech: [
147
- {
148
- name: 'HIPAA',
149
- reason: 'Handles protected health information (PHI)',
150
- mandatoryChecks: [
151
- 'PHI encryption at rest and in transit',
152
- 'Access audit logging for all PHI access',
153
- 'Minimum necessary access principle',
154
- 'Business Associate Agreements (BAA) tracking',
155
- 'Breach notification within 60 days',
156
- ],
157
- },
158
- {
159
- name: 'LGPD-Health',
160
- reason: 'Processes sensitive health data under Brazilian law',
161
- mandatoryChecks: [
162
- 'Explicit consent for health data processing',
163
- 'Data anonymization where possible',
164
- 'Restricted access to health records',
165
- 'CFM/CRM compliance for medical data',
166
- ],
167
- },
168
- ],
169
- 'e-commerce': [
170
- {
171
- name: 'CDC',
172
- reason: 'Consumer Defense Code (Código de Defesa do Consumidor)',
173
- mandatoryChecks: [
174
- 'Clear pricing display (no hidden fees)',
175
- 'Right of withdrawal (7 days for online purchases)',
176
- 'Order tracking transparency',
177
- 'Invoice generation for all transactions',
178
- ],
179
- },
180
- ],
181
- 'hr-management': [
182
- {
183
- name: 'LGPD-Employment',
184
- reason: 'Processes employee personal and financial data',
185
- mandatoryChecks: [
186
- 'Employee data encrypted at rest',
187
- 'Salary data access restricted to HR and payroll',
188
- 'Data retention aligned with labor law (5 years after termination)',
189
- 'Consent for data processing beyond employment',
190
- ],
191
- },
192
- ],
193
- };
194
-
195
- /**
196
- * Infer domain insights from the analysis report.
197
- */
198
- infer(report: AnalysisReport, projectPath: string): DomainInsights {
199
- const allKeywords = this.extractAllKeywords(report);
200
-
201
- // Boost keywords from project files (pyproject.toml, README, package.json)
202
- const fileKeywords = this.extractKeywordsFromProjectFiles(projectPath);
203
- for (const kw of fileKeywords) {
204
- if (!allKeywords.includes(kw)) allKeywords.push(kw);
205
- }
206
-
207
- const { domain, subDomain, confidence } = this.classifyDomain(allKeywords);
208
- const businessEntities = this.extractBusinessEntities(report);
209
- const compliance = this.inferCompliance(domain, subDomain, allKeywords);
210
- const integrations = this.detectIntegrations(report, allKeywords);
211
- const description = this.buildDescription(report, domain, subDomain);
212
-
213
- return {
214
- domain,
215
- subDomain,
216
- description,
217
- businessEntities,
218
- compliance,
219
- integrations,
220
- keywords: allKeywords,
221
- confidence,
222
- };
223
- }
224
-
225
- /**
226
- * Extract all relevant keywords from the project.
227
- */
228
- private extractAllKeywords(report: AnalysisReport): string[] {
229
- const keywords = new Set<string>();
230
-
231
- // From ProjectSummary keywords
232
- if (report.projectSummary?.keywords) {
233
- for (const kw of report.projectSummary.keywords) {
234
- keywords.add(kw.toLowerCase());
235
- }
236
- }
237
-
238
- // From module names
239
- if (report.projectSummary?.modules) {
240
- for (const mod of report.projectSummary.modules) {
241
- keywords.add(mod.name.toLowerCase());
242
- // Split camelCase/snake_case module names
243
- for (const part of this.splitIdentifier(mod.name)) {
244
- keywords.add(part.toLowerCase());
245
- }
246
- }
247
- }
248
-
249
- // From file paths — extract meaningful segments
250
- for (const node of report.dependencyGraph.nodes) {
251
- const segments = node.split('/').filter(s =>
252
- !['src', 'lib', 'app', 'core', 'common', 'shared', 'utils', 'helpers',
253
- 'index', 'main', '__init__', 'test', 'tests', 'spec', '__tests__',
254
- 'node_modules', 'dist', 'build', '.git'].includes(s.toLowerCase())
255
- );
256
- for (const seg of segments) {
257
- const name = seg.replace(/\.[^.]+$/, ''); // remove extension
258
- for (const part of this.splitIdentifier(name)) {
259
- if (part.length > 2) {
260
- keywords.add(part.toLowerCase());
261
- }
262
- }
263
- }
264
- }
265
-
266
- // From project name
267
- if (report.projectInfo.name) {
268
- for (const part of this.splitIdentifier(report.projectInfo.name)) {
269
- keywords.add(part.toLowerCase());
270
- }
271
- }
272
-
273
- // From description/purpose
274
- if (report.projectSummary?.description) {
275
- const words = report.projectSummary.description.toLowerCase().split(/\s+/);
276
- for (const w of words) {
277
- if (w.length > 3) keywords.add(w.replace(/[^a-z0-9]/g, ''));
278
- }
279
- }
280
-
281
- return [...keywords].filter(k => k.length > 0);
282
- }
283
-
284
- /**
285
- * Classify project domain based on keyword matching.
286
- */
287
- private classifyDomain(keywords: string[]): { domain: string; subDomain: string; confidence: number } {
288
- let bestDomain = 'general';
289
- let bestSubDomain = 'general';
290
- let bestScore = 0;
291
- let bestMaxPossible = 1;
292
-
293
- for (const [domain, config] of Object.entries(DomainInferrer.DOMAIN_PATTERNS)) {
294
- const matchedKeywords = config.keywords.filter(kw =>
295
- keywords.some(k => k.includes(kw) || kw.includes(k))
296
- );
297
- const score = matchedKeywords.length;
298
-
299
- if (score > bestScore) {
300
- bestScore = score;
301
- bestDomain = domain;
302
- bestMaxPossible = config.keywords.length;
303
-
304
- // Find best sub-domain
305
- let bestSubScore = 0;
306
- for (const [subDomain, subKeywords] of Object.entries(config.subDomains)) {
307
- const subMatched = subKeywords.filter(kw =>
308
- keywords.some(k => k.includes(kw) || kw.includes(k))
309
- ).length;
310
- if (subMatched > bestSubScore) {
311
- bestSubScore = subMatched;
312
- bestSubDomain = subDomain;
313
- }
314
- }
315
- }
316
- }
317
-
318
- // Confidence formula:
319
- // - Base: matched keywords / min(total possible, 8) (lower denominator = easier to reach high confidence)
320
- // - Boost: +0.1 if sub-domain also matched (cross-validation)
321
- // - Boost: +0.1 if multiple entities or integrations hint at the same domain
322
- // - Cap at 0.95 (never 100% without manual confirmation)
323
- let confidence = bestScore > 0 ? Math.min(1, bestScore / Math.min(bestMaxPossible, 8)) : 0;
324
-
325
- // Sub-domain match boost
326
- if (bestSubDomain !== 'general' && bestSubDomain !== bestDomain) {
327
- confidence = Math.min(1, confidence + 0.1);
328
- }
329
-
330
- // Second-best domain gap boost (high gap = more certain)
331
- let secondBestScore = 0;
332
- for (const [domain, config] of Object.entries(DomainInferrer.DOMAIN_PATTERNS)) {
333
- if (domain === bestDomain) continue;
334
- const matchedKeywords = config.keywords.filter(kw =>
335
- keywords.some(k => k.includes(kw) || kw.includes(k))
336
- );
337
- if (matchedKeywords.length > secondBestScore) {
338
- secondBestScore = matchedKeywords.length;
339
- }
340
- }
341
- if (bestScore > 0 && bestScore >= secondBestScore * 2) {
342
- confidence = Math.min(1, confidence + 0.1);
343
- }
344
-
345
- // Cap at 0.95
346
- confidence = Math.min(0.95, confidence);
347
-
348
- return { domain: bestDomain, subDomain: bestSubDomain, confidence };
349
- }
350
-
351
- /**
352
- * Extract business entities from model/entity/schema file names.
353
- */
354
- private extractBusinessEntities(report: AnalysisReport): BusinessEntity[] {
355
- const entities: BusinessEntity[] = [];
356
- const entityPatterns = [
357
- /(?:models?|entities|entity|schemas?)\/([^/]+)\./i,
358
- /([^/]+)\.(model|entity|schema)\./i,
359
- /([^/]+)\.models?\./i,
360
- ];
361
-
362
- for (const filePath of report.dependencyGraph.nodes) {
363
- for (const pattern of entityPatterns) {
364
- const match = filePath.match(pattern);
365
- if (match) {
366
- const name = match[1].replace(/[-_]/g, ' ').replace(/\b\w/g, l => l.toUpperCase()).trim();
367
- if (name && name !== 'Index' && name !== 'Base' && name !== 'Init') {
368
- const layer = this.inferEntityLayer(filePath);
369
- entities.push({
370
- name,
371
- source: filePath,
372
- fields: [], // Would need AST parsing for fields
373
- relationships: [],
374
- layer,
375
- });
376
- }
377
- }
378
- }
379
- }
380
-
381
- // Deduplicate by name
382
- const seen = new Set<string>();
383
- return entities.filter(e => {
384
- const key = e.name.toLowerCase();
385
- if (seen.has(key)) return false;
386
- seen.add(key);
387
- return true;
388
- });
389
- }
390
-
391
- private inferEntityLayer(filePath: string): BusinessEntity['layer'] {
392
- const lower = filePath.toLowerCase();
393
- if (lower.includes('/model')) return 'model';
394
- if (lower.includes('/entity') || lower.includes('/entities')) return 'entity';
395
- if (lower.includes('/schema')) return 'schema';
396
- if (lower.includes('/dto')) return 'dto';
397
- return 'unknown';
398
- }
399
-
400
- /**
401
- * Infer compliance requirements from domain and keywords.
402
- */
403
- private inferCompliance(domain: string, subDomain: string, keywords: string[]): ComplianceRequirement[] {
404
- const requirements: ComplianceRequirement[] = [];
405
-
406
- // Domain-level compliance
407
- const domainCompliance = DomainInferrer.COMPLIANCE_MAP[domain];
408
- if (domainCompliance) {
409
- requirements.push(...domainCompliance);
410
- }
411
-
412
- // Sub-domain specific compliance
413
- const subCompliance = DomainInferrer.COMPLIANCE_MAP[subDomain];
414
- if (subCompliance) {
415
- requirements.push(...subCompliance);
416
- }
417
-
418
- // Generic LGPD if Brazilian indicators found
419
- const brIndicators = ['cpf', 'cnpj', 'cep', 'lgpd', 'brasil', 'brazil', 'pt-br', 'ptbr', 'receita'];
420
- const hasBrazilianContext = keywords.some(k => brIndicators.some(br => k.includes(br)));
421
- if (hasBrazilianContext && !requirements.some(r => r.name.includes('LGPD'))) {
422
- requirements.push({
423
- name: 'LGPD',
424
- reason: 'Brazilian context detected — personal data processing requires LGPD compliance',
425
- mandatoryChecks: [
426
- 'Personal data encrypted at rest and in transit',
427
- 'Consent management for data processing',
428
- 'Right to deletion implementation',
429
- 'Data breach notification procedures',
430
- ],
431
- });
432
- }
433
-
434
- // PII detection regardless of domain
435
- const piiIndicators = ['email', 'password', 'phone', 'address', 'ssn', 'cpf', 'passport', 'birth'];
436
- const hasPII = keywords.some(k => piiIndicators.some(p => k.includes(p)));
437
- if (hasPII && !requirements.some(r => r.name === 'LGPD' || r.name === 'GDPR')) {
438
- requirements.push({
439
- name: 'PII-Protection',
440
- reason: 'Personal Identifiable Information (PII) detected in project entities',
441
- mandatoryChecks: [
442
- 'PII fields encrypted at rest',
443
- 'Access logging for PII data',
444
- 'Data masking in logs and error messages',
445
- 'Secure deletion procedures',
446
- ],
447
- });
448
- }
449
-
450
- return requirements;
451
- }
452
-
453
- /**
454
- * Detect external integrations from file names, imports, and keywords.
455
- */
456
- private detectIntegrations(report: AnalysisReport, keywords: string[]): ExternalIntegration[] {
457
- const integrations: ExternalIntegration[] = [];
458
- const allFiles = report.dependencyGraph.nodes.join(' ').toLowerCase();
459
-
460
- const integrationPatterns: { name: string; type: ExternalIntegration['type']; signals: string[] }[] = [
461
- // Payment
462
- { name: 'Stripe', type: 'payment', signals: ['stripe'] },
463
- { name: 'PagSeguro', type: 'payment', signals: ['pagseguro'] },
464
- { name: 'Mercado Pago', type: 'payment', signals: ['mercadopago', 'mercado-pago'] },
465
- { name: 'PIX', type: 'payment', signals: ['pix'] },
466
- // Auth
467
- { name: 'OAuth2/OIDC', type: 'auth', signals: ['oauth', 'oidc', 'openid'] },
468
- { name: 'JWT', type: 'auth', signals: ['jwt', 'jsonwebtoken'] },
469
- { name: 'Keycloak', type: 'auth', signals: ['keycloak'] },
470
- { name: 'Auth0', type: 'auth', signals: ['auth0'] },
471
- // Database
472
- { name: 'PostgreSQL', type: 'database', signals: ['postgres', 'postgresql', 'pg'] },
473
- { name: 'MongoDB', type: 'database', signals: ['mongo', 'mongodb', 'mongoose'] },
474
- { name: 'Redis', type: 'database', signals: ['redis', 'ioredis'] },
475
- { name: 'MySQL', type: 'database', signals: ['mysql', 'mysql2'] },
476
- { name: 'SQLite', type: 'database', signals: ['sqlite'] },
477
- // Queue/Messaging
478
- { name: 'RabbitMQ', type: 'queue', signals: ['rabbitmq', 'amqp'] },
479
- { name: 'Kafka', type: 'queue', signals: ['kafka'] },
480
- { name: 'AWS SQS', type: 'queue', signals: ['sqs'] },
481
- { name: 'BullMQ', type: 'queue', signals: ['bull', 'bullmq'] },
482
- // Storage
483
- { name: 'AWS S3', type: 'storage', signals: ['s3', 'aws-sdk'] },
484
- { name: 'MinIO', type: 'storage', signals: ['minio'] },
485
- // Government APIs
486
- { name: 'Receita Federal', type: 'government', signals: ['receita', 'rfb', 'ecac', 'sefaz'] },
487
- { name: 'SERPRO', type: 'government', signals: ['serpro'] },
488
- { name: 'eSocial', type: 'government', signals: ['esocial'] },
489
- // Other
490
- { name: 'Email (SMTP)', type: 'other', signals: ['smtp', 'nodemailer', 'sendgrid', 'ses'] },
491
- { name: 'ElasticSearch', type: 'other', signals: ['elastic', 'elasticsearch'] },
492
- { name: 'Sentry', type: 'other', signals: ['sentry'] },
493
- ];
494
-
495
- for (const pattern of integrationPatterns) {
496
- const matched = pattern.signals.find(s =>
497
- allFiles.includes(s) || keywords.some(k => k.includes(s))
498
- );
499
- if (matched) {
500
- integrations.push({
501
- name: pattern.name,
502
- type: pattern.type,
503
- detectedFrom: matched,
504
- });
505
- }
506
- }
507
-
508
- return integrations;
509
- }
510
-
511
- /**
512
- * Build a human-readable description of the project.
513
- */
514
- private buildDescription(report: AnalysisReport, domain: string, subDomain: string): string {
515
- const summary = report.projectSummary;
516
- if (summary?.description && summary.description.length > 20) {
517
- return summary.description;
518
- }
519
-
520
- const name = report.projectInfo.name || 'Project';
521
- const langs = report.projectInfo.primaryLanguages.join('/');
522
- const files = report.projectInfo.totalFiles;
523
- const lines = report.projectInfo.totalLines.toLocaleString();
524
-
525
- if (domain !== 'general') {
526
- return `${name} — ${domain}/${subDomain} application built with ${langs}. ${files} files, ${lines} lines.`;
527
- }
528
-
529
- return `${name} — ${langs} application with ${files} files and ${lines} lines.`;
530
- }
531
-
532
- /**
533
- * Split camelCase, PascalCase, snake_case, kebab-case identifiers into parts.
534
- */
535
- /**
536
- * Extract keywords from project files on disk (pyproject.toml, README.md, package.json).
537
- * These provide high-value domain signals that the scanner may miss.
538
- */
539
- private extractKeywordsFromProjectFiles(projectPath: string): string[] {
540
- const keywords: string[] = [];
541
-
542
- // pyproject.toml — description, classifiers, project name
543
- const pyprojectPath = join(projectPath, 'pyproject.toml');
544
- if (existsSync(pyprojectPath)) {
545
- try {
546
- const content = readFileSync(pyprojectPath, 'utf-8');
547
-
548
- // Extract description
549
- const descMatch = content.match(/description\s*=\s*"([^"]+)"/);
550
- if (descMatch) {
551
- const words = descMatch[1].toLowerCase().split(/\s+/);
552
- for (const w of words) {
553
- if (w.length > 3) keywords.push(w.replace(/[^a-z0-9]/g, ''));
554
- }
555
- }
556
-
557
- // Extract classifiers (e.g., "Topic :: Office/Business :: Financial")
558
- const classifiers = content.match(/classifiers\s*=\s*\[([\s\S]*?)\]/);
559
- if (classifiers) {
560
- const topics = classifiers[1].match(/"Topic\s*::\s*([^"]+)"/g);
561
- if (topics) {
562
- for (const topic of topics) {
563
- const parts = topic.replace(/"/g, '').split('::').map(p => p.trim().toLowerCase());
564
- for (const p of parts) {
565
- if (p.length > 3 && p !== 'topic') keywords.push(p.replace(/[^a-z0-9]/g, ''));
566
- }
567
- }
568
- }
569
- }
570
-
571
- // Extract project name
572
- const nameMatch = content.match(/\[project\]\s*\n(?:[\s\S]*?)name\s*=\s*"([^"]+)"/);
573
- if (nameMatch) {
574
- for (const part of this.splitIdentifier(nameMatch[1])) {
575
- keywords.push(part.toLowerCase());
576
- }
577
- }
578
- } catch { /* ignore read errors */ }
579
- }
580
-
581
- // README.md — first 500 chars for domain keywords
582
- const readmePaths = ['README.md', 'readme.md', 'README.rst'];
583
- for (const readmeName of readmePaths) {
584
- const readmePath = join(projectPath, readmeName);
585
- if (existsSync(readmePath)) {
586
- try {
587
- const content = readFileSync(readmePath, 'utf-8').slice(0, 1500);
588
- // Extract heading and first paragraph
589
- const lines = content.split('\n').filter(l => l.trim().length > 0).slice(0, 10);
590
- for (const line of lines) {
591
- const words = line.replace(/[#*_`\[\]()]/g, '').toLowerCase().split(/\s+/);
592
- for (const w of words) {
593
- if (w.length > 3) keywords.push(w.replace(/[^a-z0-9]/g, ''));
594
- }
595
- }
596
- } catch { /* ignore */ }
597
- break;
598
- }
599
- }
600
-
601
- // package.json — description and keywords
602
- const pkgPath = join(projectPath, 'package.json');
603
- if (existsSync(pkgPath)) {
604
- try {
605
- const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
606
- if (pkg.description) {
607
- const words = pkg.description.toLowerCase().split(/\s+/);
608
- for (const w of words) {
609
- if (w.length > 3) keywords.push(w.replace(/[^a-z0-9]/g, ''));
610
- }
611
- }
612
- if (Array.isArray(pkg.keywords)) {
613
- for (const kw of pkg.keywords) {
614
- keywords.push(kw.toLowerCase());
615
- }
616
- }
617
- } catch { /* ignore */ }
618
- }
619
-
620
- return keywords.filter(k => k.length > 0);
621
- }
622
-
623
- private splitIdentifier(name: string): string[] {
624
- return name
625
- .replace(/([a-z])([A-Z])/g, '$1 $2')
626
- .replace(/[-_./\\]/g, ' ')
627
- .split(/\s+/)
628
- .filter(p => p.length > 0);
629
- }
630
- }