@girardelli/architect-agents 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 (258) hide show
  1. package/dist/src/core/agent-generator/context-enricher.d.ts +17 -0
  2. package/dist/src/core/agent-generator/context-enricher.js +51 -0
  3. package/dist/src/core/agent-generator/context-enricher.js.map +1 -0
  4. package/dist/src/core/agent-generator/detectors/base-detector.d.ts +8 -0
  5. package/dist/src/core/agent-generator/detectors/base-detector.js +12 -0
  6. package/dist/src/core/agent-generator/detectors/base-detector.js.map +1 -0
  7. package/dist/src/core/agent-generator/detectors/dart-detector.d.ts +5 -0
  8. package/dist/src/core/agent-generator/detectors/dart-detector.js +16 -0
  9. package/dist/src/core/agent-generator/detectors/dart-detector.js.map +1 -0
  10. package/dist/src/core/agent-generator/detectors/framework-registry.d.ts +5 -0
  11. package/dist/src/core/agent-generator/detectors/framework-registry.js +81 -0
  12. package/dist/src/core/agent-generator/detectors/framework-registry.js.map +1 -0
  13. package/dist/src/core/agent-generator/detectors/go-detector.d.ts +5 -0
  14. package/dist/src/core/agent-generator/detectors/go-detector.js +25 -0
  15. package/dist/src/core/agent-generator/detectors/go-detector.js.map +1 -0
  16. package/dist/src/core/agent-generator/detectors/java-detector.d.ts +5 -0
  17. package/dist/src/core/agent-generator/detectors/java-detector.js +44 -0
  18. package/dist/src/core/agent-generator/detectors/java-detector.js.map +1 -0
  19. package/dist/src/core/agent-generator/detectors/node-detector.d.ts +5 -0
  20. package/dist/src/core/agent-generator/detectors/node-detector.js +28 -0
  21. package/dist/src/core/agent-generator/detectors/node-detector.js.map +1 -0
  22. package/dist/src/core/agent-generator/detectors/php-detector.d.ts +5 -0
  23. package/dist/src/core/agent-generator/detectors/php-detector.js +28 -0
  24. package/dist/src/core/agent-generator/detectors/php-detector.js.map +1 -0
  25. package/dist/src/core/agent-generator/detectors/python-detector.d.ts +7 -0
  26. package/dist/src/core/agent-generator/detectors/python-detector.js +116 -0
  27. package/dist/src/core/agent-generator/detectors/python-detector.js.map +1 -0
  28. package/dist/src/core/agent-generator/detectors/ruby-detector.d.ts +5 -0
  29. package/dist/src/core/agent-generator/detectors/ruby-detector.js +23 -0
  30. package/dist/src/core/agent-generator/detectors/ruby-detector.js.map +1 -0
  31. package/dist/src/core/agent-generator/detectors/rust-detector.d.ts +5 -0
  32. package/dist/src/core/agent-generator/detectors/rust-detector.js +18 -0
  33. package/dist/src/core/agent-generator/detectors/rust-detector.js.map +1 -0
  34. package/dist/src/core/agent-generator/detectors/structure-detector.d.ts +4 -0
  35. package/dist/src/core/agent-generator/detectors/structure-detector.js +35 -0
  36. package/dist/src/core/agent-generator/detectors/structure-detector.js.map +1 -0
  37. package/dist/src/core/agent-generator/detectors/toolchain-detector.d.ts +5 -0
  38. package/dist/src/core/agent-generator/detectors/toolchain-detector.js +164 -0
  39. package/dist/src/core/agent-generator/detectors/toolchain-detector.js.map +1 -0
  40. package/dist/src/core/agent-generator/domain-inferrer.d.ts +51 -0
  41. package/dist/src/core/agent-generator/domain-inferrer.js +585 -0
  42. package/dist/src/core/agent-generator/domain-inferrer.js.map +1 -0
  43. package/dist/src/core/agent-generator/engines/audit-engine.d.ts +8 -0
  44. package/dist/src/core/agent-generator/engines/audit-engine.js +84 -0
  45. package/dist/src/core/agent-generator/engines/audit-engine.js.map +1 -0
  46. package/dist/src/core/agent-generator/engines/context-builder.d.ts +12 -0
  47. package/dist/src/core/agent-generator/engines/context-builder.js +84 -0
  48. package/dist/src/core/agent-generator/engines/context-builder.js.map +1 -0
  49. package/dist/src/core/agent-generator/engines/generation-engine.d.ts +7 -0
  50. package/dist/src/core/agent-generator/engines/generation-engine.js +160 -0
  51. package/dist/src/core/agent-generator/engines/generation-engine.js.map +1 -0
  52. package/dist/src/core/agent-generator/engines/generation-engine_deps.d.ts +21 -0
  53. package/dist/src/core/agent-generator/engines/generation-engine_deps.js +17 -0
  54. package/dist/src/core/agent-generator/engines/generation-engine_deps.js.map +1 -0
  55. package/dist/src/core/agent-generator/engines/suggestion-engine.d.ts +13 -0
  56. package/dist/src/core/agent-generator/engines/suggestion-engine.js +171 -0
  57. package/dist/src/core/agent-generator/engines/suggestion-engine.js.map +1 -0
  58. package/dist/src/core/agent-generator/engines/suggestion-engine_deps.d.ts +8 -0
  59. package/dist/src/core/agent-generator/engines/suggestion-engine_deps.js +5 -0
  60. package/dist/src/core/agent-generator/engines/suggestion-engine_deps.js.map +1 -0
  61. package/dist/src/core/agent-generator/enrichers/analysis-helpers.d.ts +9 -0
  62. package/dist/src/core/agent-generator/enrichers/analysis-helpers.js +51 -0
  63. package/dist/src/core/agent-generator/enrichers/analysis-helpers.js.map +1 -0
  64. package/dist/src/core/agent-generator/enrichers/description-generator.d.ts +4 -0
  65. package/dist/src/core/agent-generator/enrichers/description-generator.js +82 -0
  66. package/dist/src/core/agent-generator/enrichers/description-generator.js.map +1 -0
  67. package/dist/src/core/agent-generator/enrichers/endpoint-extractor.d.ts +7 -0
  68. package/dist/src/core/agent-generator/enrichers/endpoint-extractor.js +90 -0
  69. package/dist/src/core/agent-generator/enrichers/endpoint-extractor.js.map +1 -0
  70. package/dist/src/core/agent-generator/enrichers/layer-classifier.d.ts +12 -0
  71. package/dist/src/core/agent-generator/enrichers/layer-classifier.js +152 -0
  72. package/dist/src/core/agent-generator/enrichers/layer-classifier.js.map +1 -0
  73. package/dist/src/core/agent-generator/enrichers/module-extractor.d.ts +10 -0
  74. package/dist/src/core/agent-generator/enrichers/module-extractor.js +173 -0
  75. package/dist/src/core/agent-generator/enrichers/module-extractor.js.map +1 -0
  76. package/dist/src/core/agent-generator/framework-detector.d.ts +17 -0
  77. package/dist/src/core/agent-generator/framework-detector.js +56 -0
  78. package/dist/src/core/agent-generator/framework-detector.js.map +1 -0
  79. package/dist/src/core/agent-generator/index.d.ts +25 -0
  80. package/dist/src/core/agent-generator/index.js +37 -0
  81. package/dist/src/core/agent-generator/index.js.map +1 -0
  82. package/dist/src/core/agent-generator/stack-detector.d.ts +13 -0
  83. package/dist/src/core/agent-generator/stack-detector.js +124 -0
  84. package/dist/src/core/agent-generator/stack-detector.js.map +1 -0
  85. package/dist/src/core/agent-generator/templates/core/agents.d.ts +9 -0
  86. package/dist/src/core/agent-generator/templates/core/agents.js +1127 -0
  87. package/dist/src/core/agent-generator/templates/core/agents.js.map +1 -0
  88. package/dist/src/core/agent-generator/templates/core/architecture-rules.d.ts +6 -0
  89. package/dist/src/core/agent-generator/templates/core/architecture-rules.js +275 -0
  90. package/dist/src/core/agent-generator/templates/core/architecture-rules.js.map +1 -0
  91. package/dist/src/core/agent-generator/templates/core/general-rules.d.ts +7 -0
  92. package/dist/src/core/agent-generator/templates/core/general-rules.js +301 -0
  93. package/dist/src/core/agent-generator/templates/core/general-rules.js.map +1 -0
  94. package/dist/src/core/agent-generator/templates/core/hooks-generator.d.ts +20 -0
  95. package/dist/src/core/agent-generator/templates/core/hooks-generator.js +235 -0
  96. package/dist/src/core/agent-generator/templates/core/hooks-generator.js.map +1 -0
  97. package/dist/src/core/agent-generator/templates/core/index-md.d.ts +6 -0
  98. package/dist/src/core/agent-generator/templates/core/index-md.js +247 -0
  99. package/dist/src/core/agent-generator/templates/core/index-md.js.map +1 -0
  100. package/dist/src/core/agent-generator/templates/core/orchestrator.d.ts +7 -0
  101. package/dist/src/core/agent-generator/templates/core/orchestrator.js +423 -0
  102. package/dist/src/core/agent-generator/templates/core/orchestrator.js.map +1 -0
  103. package/dist/src/core/agent-generator/templates/core/preflight.d.ts +7 -0
  104. package/dist/src/core/agent-generator/templates/core/preflight.js +213 -0
  105. package/dist/src/core/agent-generator/templates/core/preflight.js.map +1 -0
  106. package/dist/src/core/agent-generator/templates/core/quality-gates.d.ts +10 -0
  107. package/dist/src/core/agent-generator/templates/core/quality-gates.js +255 -0
  108. package/dist/src/core/agent-generator/templates/core/quality-gates.js.map +1 -0
  109. package/dist/src/core/agent-generator/templates/core/security-rules.d.ts +6 -0
  110. package/dist/src/core/agent-generator/templates/core/security-rules.js +529 -0
  111. package/dist/src/core/agent-generator/templates/core/security-rules.js.map +1 -0
  112. package/dist/src/core/agent-generator/templates/core/skills-generator.d.ts +18 -0
  113. package/dist/src/core/agent-generator/templates/core/skills-generator.js +547 -0
  114. package/dist/src/core/agent-generator/templates/core/skills-generator.js.map +1 -0
  115. package/dist/src/core/agent-generator/templates/core/workflow-fix-bug.d.ts +6 -0
  116. package/dist/src/core/agent-generator/templates/core/workflow-fix-bug.js +238 -0
  117. package/dist/src/core/agent-generator/templates/core/workflow-fix-bug.js.map +1 -0
  118. package/dist/src/core/agent-generator/templates/core/workflow-new-feature.d.ts +7 -0
  119. package/dist/src/core/agent-generator/templates/core/workflow-new-feature.js +321 -0
  120. package/dist/src/core/agent-generator/templates/core/workflow-new-feature.js.map +1 -0
  121. package/dist/src/core/agent-generator/templates/core/workflow-review.d.ts +6 -0
  122. package/dist/src/core/agent-generator/templates/core/workflow-review.js +105 -0
  123. package/dist/src/core/agent-generator/templates/core/workflow-review.js.map +1 -0
  124. package/dist/src/core/agent-generator/templates/domain/index.d.ts +21 -0
  125. package/dist/src/core/agent-generator/templates/domain/index.js +1179 -0
  126. package/dist/src/core/agent-generator/templates/domain/index.js.map +1 -0
  127. package/dist/src/core/agent-generator/templates/helpers/base-helpers.d.ts +10 -0
  128. package/dist/src/core/agent-generator/templates/helpers/base-helpers.js +20 -0
  129. package/dist/src/core/agent-generator/templates/helpers/base-helpers.js.map +1 -0
  130. package/dist/src/core/agent-generator/templates/helpers/cross-ref-helpers.d.ts +2 -0
  131. package/dist/src/core/agent-generator/templates/helpers/cross-ref-helpers.js +77 -0
  132. package/dist/src/core/agent-generator/templates/helpers/cross-ref-helpers.js.map +1 -0
  133. package/dist/src/core/agent-generator/templates/helpers/security-helpers.d.ts +2 -0
  134. package/dist/src/core/agent-generator/templates/helpers/security-helpers.js +182 -0
  135. package/dist/src/core/agent-generator/templates/helpers/security-helpers.js.map +1 -0
  136. package/dist/src/core/agent-generator/templates/helpers/stack-helpers.d.ts +4 -0
  137. package/dist/src/core/agent-generator/templates/helpers/stack-helpers.js +69 -0
  138. package/dist/src/core/agent-generator/templates/helpers/stack-helpers.js.map +1 -0
  139. package/dist/src/core/agent-generator/templates/helpers/structure-helpers.d.ts +2 -0
  140. package/dist/src/core/agent-generator/templates/helpers/structure-helpers.js +275 -0
  141. package/dist/src/core/agent-generator/templates/helpers/structure-helpers.js.map +1 -0
  142. package/dist/src/core/agent-generator/templates/helpers/summary-helpers.d.ts +6 -0
  143. package/dist/src/core/agent-generator/templates/helpers/summary-helpers.js +56 -0
  144. package/dist/src/core/agent-generator/templates/helpers/summary-helpers.js.map +1 -0
  145. package/dist/src/core/agent-generator/templates/stack/index.d.ts +7 -0
  146. package/dist/src/core/agent-generator/templates/stack/index.js +695 -0
  147. package/dist/src/core/agent-generator/templates/stack/index.js.map +1 -0
  148. package/dist/src/core/agent-generator/templates/template-helpers.d.ts +11 -0
  149. package/dist/src/core/agent-generator/templates/template-helpers.js +12 -0
  150. package/dist/src/core/agent-generator/templates/template-helpers.js.map +1 -0
  151. package/dist/src/core/agent-generator/types/agent.d.ts +39 -0
  152. package/dist/src/core/agent-generator/types/agent.js +27 -0
  153. package/dist/src/core/agent-generator/types/agent.js.map +1 -0
  154. package/dist/src/core/agent-generator/types/domain.d.ts +58 -0
  155. package/dist/src/core/agent-generator/types/domain.js +2 -0
  156. package/dist/src/core/agent-generator/types/domain.js.map +1 -0
  157. package/dist/src/core/agent-generator/types/stack.d.ts +36 -0
  158. package/dist/src/core/agent-generator/types/stack.js +2 -0
  159. package/dist/src/core/agent-generator/types/stack.js.map +1 -0
  160. package/dist/src/core/agent-generator/types/template.d.ts +29 -0
  161. package/dist/src/core/agent-generator/types/template.js +2 -0
  162. package/dist/src/core/agent-generator/types/template.js.map +1 -0
  163. package/dist/src/core/agent-runtime/ai-provider.d.ts +33 -0
  164. package/dist/src/core/agent-runtime/ai-provider.js +146 -0
  165. package/dist/src/core/agent-runtime/ai-provider.js.map +1 -0
  166. package/dist/src/core/agent-runtime/executor.d.ts +13 -0
  167. package/dist/src/core/agent-runtime/executor.js +138 -0
  168. package/dist/src/core/agent-runtime/executor.js.map +1 -0
  169. package/dist/src/core/agent-runtime/human-gate.d.ts +16 -0
  170. package/dist/src/core/agent-runtime/human-gate.js +70 -0
  171. package/dist/src/core/agent-runtime/human-gate.js.map +1 -0
  172. package/dist/tests/agent-generator.test.d.ts +1 -0
  173. package/dist/tests/agent-generator.test.js +349 -0
  174. package/dist/tests/agent-generator.test.js.map +1 -0
  175. package/dist/tests/agent-runtime.test.d.ts +1 -0
  176. package/dist/tests/agent-runtime.test.js +107 -0
  177. package/dist/tests/agent-runtime.test.js.map +1 -0
  178. package/dist/tests/context-enricher.test.d.ts +1 -0
  179. package/dist/tests/context-enricher.test.js +875 -0
  180. package/dist/tests/context-enricher.test.js.map +1 -0
  181. package/dist/tests/framework-detector.test.d.ts +1 -0
  182. package/dist/tests/framework-detector.test.js +882 -0
  183. package/dist/tests/framework-detector.test.js.map +1 -0
  184. package/dist/tests/stack-detector.test.d.ts +1 -0
  185. package/dist/tests/stack-detector.test.js +183 -0
  186. package/dist/tests/stack-detector.test.js.map +1 -0
  187. package/dist/tests/template-generation.test.d.ts +1 -0
  188. package/dist/tests/template-generation.test.js +571 -0
  189. package/dist/tests/template-generation.test.js.map +1 -0
  190. package/dist/tests/template-helpers.test.d.ts +1 -0
  191. package/dist/tests/template-helpers.test.js +967 -0
  192. package/dist/tests/template-helpers.test.js.map +1 -0
  193. package/package.json +24 -0
  194. package/src/core/agent-generator/context-enricher.ts +67 -0
  195. package/src/core/agent-generator/detectors/base-detector.ts +18 -0
  196. package/src/core/agent-generator/detectors/dart-detector.ts +17 -0
  197. package/src/core/agent-generator/detectors/framework-registry.ts +82 -0
  198. package/src/core/agent-generator/detectors/go-detector.ts +26 -0
  199. package/src/core/agent-generator/detectors/java-detector.ts +46 -0
  200. package/src/core/agent-generator/detectors/node-detector.ts +28 -0
  201. package/src/core/agent-generator/detectors/php-detector.ts +28 -0
  202. package/src/core/agent-generator/detectors/python-detector.ts +125 -0
  203. package/src/core/agent-generator/detectors/ruby-detector.ts +24 -0
  204. package/src/core/agent-generator/detectors/rust-detector.ts +19 -0
  205. package/src/core/agent-generator/detectors/structure-detector.ts +38 -0
  206. package/src/core/agent-generator/detectors/toolchain-detector.ts +181 -0
  207. package/src/core/agent-generator/domain-inferrer.ts +630 -0
  208. package/src/core/agent-generator/engines/audit-engine.ts +98 -0
  209. package/src/core/agent-generator/engines/context-builder.ts +96 -0
  210. package/src/core/agent-generator/engines/generation-engine.ts +184 -0
  211. package/src/core/agent-generator/engines/generation-engine_deps.ts +21 -0
  212. package/src/core/agent-generator/engines/suggestion-engine.ts +202 -0
  213. package/src/core/agent-generator/engines/suggestion-engine_deps.ts +8 -0
  214. package/src/core/agent-generator/enrichers/analysis-helpers.ts +58 -0
  215. package/src/core/agent-generator/enrichers/description-generator.ts +91 -0
  216. package/src/core/agent-generator/enrichers/endpoint-extractor.ts +114 -0
  217. package/src/core/agent-generator/enrichers/layer-classifier.ts +156 -0
  218. package/src/core/agent-generator/enrichers/module-extractor.ts +203 -0
  219. package/src/core/agent-generator/framework-detector.ts +66 -0
  220. package/src/core/agent-generator/index.ts +55 -0
  221. package/src/core/agent-generator/stack-detector.ts +115 -0
  222. package/src/core/agent-generator/templates/core/agents.ts +1168 -0
  223. package/src/core/agent-generator/templates/core/architecture-rules.ts +288 -0
  224. package/src/core/agent-generator/templates/core/general-rules.ts +306 -0
  225. package/src/core/agent-generator/templates/core/hooks-generator.ts +244 -0
  226. package/src/core/agent-generator/templates/core/index-md.ts +261 -0
  227. package/src/core/agent-generator/templates/core/orchestrator.ts +462 -0
  228. package/src/core/agent-generator/templates/core/preflight.ts +216 -0
  229. package/src/core/agent-generator/templates/core/quality-gates.ts +257 -0
  230. package/src/core/agent-generator/templates/core/security-rules.ts +544 -0
  231. package/src/core/agent-generator/templates/core/skills-generator.ts +586 -0
  232. package/src/core/agent-generator/templates/core/workflow-fix-bug.ts +240 -0
  233. package/src/core/agent-generator/templates/core/workflow-new-feature.ts +323 -0
  234. package/src/core/agent-generator/templates/core/workflow-review.ts +107 -0
  235. package/src/core/agent-generator/templates/domain/index.ts +1204 -0
  236. package/src/core/agent-generator/templates/helpers/base-helpers.ts +33 -0
  237. package/src/core/agent-generator/templates/helpers/cross-ref-helpers.ts +79 -0
  238. package/src/core/agent-generator/templates/helpers/security-helpers.ts +198 -0
  239. package/src/core/agent-generator/templates/helpers/stack-helpers.ts +80 -0
  240. package/src/core/agent-generator/templates/helpers/structure-helpers.ts +293 -0
  241. package/src/core/agent-generator/templates/helpers/summary-helpers.ts +67 -0
  242. package/src/core/agent-generator/templates/stack/index.ts +705 -0
  243. package/src/core/agent-generator/templates/template-helpers.ts +12 -0
  244. package/src/core/agent-generator/types/agent.ts +65 -0
  245. package/src/core/agent-generator/types/domain.ts +63 -0
  246. package/src/core/agent-generator/types/stack.ts +38 -0
  247. package/src/core/agent-generator/types/template.ts +31 -0
  248. package/src/core/agent-runtime/ai-provider.ts +178 -0
  249. package/src/core/agent-runtime/executor.ts +148 -0
  250. package/src/core/agent-runtime/human-gate.ts +69 -0
  251. package/tests/agent-generator.test.ts +428 -0
  252. package/tests/agent-runtime.test.ts +125 -0
  253. package/tests/context-enricher.test.ts +972 -0
  254. package/tests/framework-detector.test.ts +1172 -0
  255. package/tests/stack-detector.test.ts +241 -0
  256. package/tests/template-generation.test.ts +709 -0
  257. package/tests/template-helpers.test.ts +1130 -0
  258. package/tsconfig.json +14 -0
@@ -0,0 +1,275 @@
1
+ import { getEnriched } from './base-helpers.js';
2
+ export function frameworkModuleStructure(ctx) {
3
+ const enriched = getEnriched(ctx);
4
+ const fw = enriched.primaryFramework?.name || '';
5
+ const structure = enriched.projectStructure || 'unknown';
6
+ const lang = ctx.stack.primary;
7
+ // Clean Architecture (Python, any framework)
8
+ if (structure === 'clean-architecture') {
9
+ if (lang === 'Python') {
10
+ return `
11
+ \`\`\`
12
+ src/[projeto]/
13
+ ├── domain/ → Regras de negócio puras
14
+ │ ├── entities/ → Entidades com identidade
15
+ │ ├── value_objects/ → Objetos de valor (imutáveis)
16
+ │ ├── services/ → Serviços de domínio
17
+ │ ├── events/ → Eventos de domínio
18
+ │ ├── enums/ → Enumerações
19
+ │ └── exceptions/ → Exceções customizadas
20
+ ├── application/ → Casos de uso
21
+ │ ├── services/ → Application services
22
+ │ └── interfaces/ → Contratos (ports)
23
+ ├── infrastructure/ → Implementações externas
24
+ │ ├── persistence/ → Repositórios concretos
25
+ │ ├── storage/ → MinIO, S3, filesystem
26
+ │ ├── extraction/ → Extração de dados
27
+ │ │ ├── extractors/ → Extractors por tipo
28
+ │ │ ├── ocr/ → OCR engine
29
+ │ │ └── guards/ → Validadores
30
+ │ └── agents/ → Agentes de automação
31
+ ├── presentation/ → Interface com o mundo
32
+ │ ├── api/ → REST API
33
+ │ │ ├── routes/ → Endpoints${fw === 'FastAPI' ? ' (FastAPI routers)' : ''}
34
+ │ │ └── dependencies/ → ${fw === 'FastAPI' ? 'FastAPI Depends()' : 'Injeção de deps'}
35
+ │ └── workers/ → Background workers
36
+ └── tests/
37
+ ├── unit/ → Testes unitários
38
+ ├── integration/ → Testes de integração
39
+ └── fixtures/ → Dados de teste
40
+ \`\`\``;
41
+ }
42
+ // TypeScript Clean Architecture
43
+ return `
44
+ \`\`\`
45
+ src/
46
+ ├── domain/ → Regras de negócio puras
47
+ │ ├── entities/ → Entidades com identidade
48
+ │ ├── value-objects/ → Objetos de valor
49
+ │ ├── services/ → Serviços de domínio
50
+ │ └── events/ → Eventos de domínio
51
+ ├── application/ → Casos de uso
52
+ │ ├── use-cases/ → Casos de uso
53
+ │ └── ports/ → Interfaces (contratos)
54
+ ├── infrastructure/ → Implementações externas
55
+ │ ├── repositories/ → Repositórios concretos
56
+ │ ├── adapters/ → Adaptadores externos
57
+ │ └── config/ → Configuração
58
+ ├── presentation/ → Interface com o mundo
59
+ │ ├── controllers/ → Endpoints da API
60
+ │ ├── dto/ → Data Transfer Objects
61
+ │ └── middleware/ → Middleware
62
+ └── tests/
63
+ \`\`\``;
64
+ }
65
+ // FastAPI (non-clean-arch)
66
+ if (fw === 'FastAPI') {
67
+ return `
68
+ \`\`\`
69
+ app/
70
+ ├── main.py → Entrypoint (FastAPI app)
71
+ ├── api/
72
+ │ ├── routes/ → APIRouter por recurso
73
+ │ │ ├── __init__.py
74
+ │ │ ├── users.py → @router.get("/users")
75
+ │ │ └── items.py → @router.get("/items")
76
+ │ └── dependencies.py → Depends() compartilhados
77
+ ├── core/
78
+ │ ├── config.py → Settings (pydantic BaseSettings)
79
+ │ └── security.py → JWT, OAuth2
80
+ ├── models/ → SQLAlchemy / Pydantic models
81
+ ├── schemas/ → Pydantic schemas (request/response)
82
+ ├── services/ → Lógica de negócio
83
+ ├── db/ → Database session, migrations
84
+ └── tests/
85
+ ├── conftest.py → Fixtures (TestClient, db session)
86
+ ├── test_users.py
87
+ └── test_items.py
88
+ \`\`\``;
89
+ }
90
+ // Django
91
+ if (fw === 'Django' || fw === 'DRF') {
92
+ return `
93
+ \`\`\`
94
+ project/
95
+ ├── manage.py
96
+ ├── config/ → Settings, URLs, WSGI
97
+ │ ├── settings/
98
+ │ │ ├── base.py
99
+ │ │ ├── local.py
100
+ │ │ └── production.py
101
+ │ └── urls.py → Root URL config
102
+ ├── apps/
103
+ │ └── [app_name]/ → Django app
104
+ │ ├── models.py → Django ORM models
105
+ │ ├── views.py → ViewSets / APIViews
106
+ │ ├── serializers.py → DRF serializers
107
+ │ ├── urls.py → App URLs
108
+ │ ├── admin.py → Django admin
109
+ │ ├── forms.py → Forms
110
+ │ ├── signals.py → Django signals
111
+ │ └── tests/
112
+ │ ├── test_models.py
113
+ │ └── test_views.py
114
+ └── requirements/
115
+ \`\`\``;
116
+ }
117
+ // Flask
118
+ if (fw === 'Flask') {
119
+ return `
120
+ \`\`\`
121
+ app/
122
+ ├── __init__.py → create_app() factory
123
+ ├── blueprints/ → Flask Blueprints
124
+ │ ├── auth/
125
+ │ │ ├── __init__.py → Blueprint registration
126
+ │ │ ├── routes.py → @bp.route()
127
+ │ │ └── models.py
128
+ │ └── api/
129
+ ├── models/ → SQLAlchemy models
130
+ ├── services/ → Lógica de negócio
131
+ ├── extensions.py → db, migrate, login_manager
132
+ ├── config.py → Configuração
133
+ └── tests/
134
+ \`\`\``;
135
+ }
136
+ // NestJS
137
+ if (fw === 'NestJS') {
138
+ return `
139
+ \`\`\`
140
+ src/
141
+ ├── main.ts → Bootstrap (NestFactory)
142
+ ├── app.module.ts → Root module
143
+ ├── modules/
144
+ │ └── [module-name]/
145
+ │ ├── [name].module.ts → @Module()
146
+ │ ├── [name].controller.ts → @Controller() endpoints
147
+ │ ├── [name].service.ts → @Injectable() lógica
148
+ │ ├── dto/
149
+ │ │ ├── create-[name].dto.ts → class-validator DTOs
150
+ │ │ └── update-[name].dto.ts
151
+ │ ├── entities/
152
+ │ │ └── [name].entity.ts → TypeORM/Prisma entity
153
+ │ └── __tests__/
154
+ │ ├── [name].service.spec.ts
155
+ │ └── [name].controller.spec.ts
156
+ ├── common/ → Guards, pipes, interceptors
157
+ └── config/ → ConfigModule
158
+ \`\`\``;
159
+ }
160
+ // Express
161
+ if (fw === 'Express' || fw === 'Fastify') {
162
+ return `
163
+ \`\`\`
164
+ src/
165
+ ├── index.ts → Entrypoint
166
+ ├── routes/ → Route handlers
167
+ │ ├── users.router.ts
168
+ │ └── items.router.ts
169
+ ├── controllers/ → Request handlers
170
+ ├── services/ → Business logic
171
+ ├── models/ → Data models
172
+ ├── middleware/ → Auth, validation, error handler
173
+ ├── config/ → Environment config
174
+ └── tests/
175
+ \`\`\``;
176
+ }
177
+ // Spring Boot
178
+ if (fw === 'Spring Boot') {
179
+ return `
180
+ \`\`\`
181
+ src/main/java/com/company/project/
182
+ ├── Application.java → @SpringBootApplication
183
+ ├── controller/ → @RestController
184
+ │ └── UserController.java
185
+ ├── service/ → @Service
186
+ │ └── UserService.java
187
+ ├── repository/ → @Repository (Spring Data JPA)
188
+ │ └── UserRepository.java
189
+ ├── model/ → @Entity
190
+ │ └── User.java
191
+ ├── dto/ → Request/Response DTOs
192
+ ├── config/ → @Configuration
193
+ ├── exception/ → @ControllerAdvice
194
+ └── security/ → Spring Security config
195
+ \`\`\``;
196
+ }
197
+ // Laravel
198
+ if (fw === 'Laravel') {
199
+ return `
200
+ \`\`\`
201
+ app/
202
+ ├── Http/
203
+ │ ├── Controllers/ → Controllers
204
+ │ ├── Middleware/ → Middleware
205
+ │ └── Requests/ → Form Requests (validation)
206
+ ├── Models/ → Eloquent Models
207
+ ├── Services/ → Business Logic
208
+ ├── Repositories/ → Data Access
209
+ ├── Providers/ → Service Providers
210
+ ├── Events/ → Event classes
211
+ ├── Listeners/ → Event listeners
212
+ ├── Policies/ → Authorization policies
213
+ database/
214
+ ├── migrations/ → Database migrations
215
+ ├── seeders/ → Database seeders
216
+ └── factories/ → Model factories
217
+ \`\`\``;
218
+ }
219
+ // Go
220
+ if (fw === 'Gin' || fw === 'Echo' || fw === 'Fiber' || fw === 'Chi') {
221
+ return `
222
+ \`\`\`
223
+ .
224
+ ├── cmd/
225
+ │ └── server/
226
+ │ └── main.go → Entrypoint
227
+ ├── internal/
228
+ │ ├── handler/ → HTTP handlers
229
+ │ ├── service/ → Business logic
230
+ │ ├── repository/ → Data access
231
+ │ ├── model/ → Domain models
232
+ │ ├── middleware/ → HTTP middleware
233
+ │ └── config/ → Configuration
234
+ ├── pkg/ → Public packages
235
+ ├── go.mod
236
+ └── go.sum
237
+ \`\`\``;
238
+ }
239
+ // Ruby on Rails
240
+ if (fw === 'Ruby on Rails') {
241
+ return `
242
+ \`\`\`
243
+ app/
244
+ ├── controllers/ → ActionController
245
+ ├── models/ → ActiveRecord models
246
+ ├── views/ → ERB/HAML templates
247
+ ├── services/ → Service objects
248
+ ├── jobs/ → ActiveJob
249
+ ├── mailers/ → ActionMailer
250
+ ├── serializers/ → JSON serializers
251
+ config/
252
+ ├── routes.rb → Route definitions
253
+ ├── database.yml → Database config
254
+ db/
255
+ ├── migrate/ → Migrations
256
+ ├── seeds.rb → Seed data
257
+ spec/ (ou test/)
258
+ \`\`\``;
259
+ }
260
+ // Generic fallback
261
+ const ext = lang === 'Python' ? 'py' : lang === 'Go' ? 'go' : lang === 'PHP' ? 'php' : lang === 'Ruby' ? 'rb' : 'ts';
262
+ return `
263
+ \`\`\`
264
+ src/
265
+ ├── controllers/ → Endpoints / HTTP handlers
266
+ ├── services/ → Lógica de negócio
267
+ ├── models/ → Modelos de dados
268
+ ├── repositories/ → Acesso a dados
269
+ ├── dto/ → Data Transfer Objects
270
+ ├── middleware/ → Middleware
271
+ ├── config/ → Configuração
272
+ └── tests/ → Testes (.${ext})
273
+ \`\`\``;
274
+ }
275
+ //# sourceMappingURL=structure-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure-helpers.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/helpers/structure-helpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,wBAAwB,CAAC,GAAoB;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,IAAI,SAAS,CAAC;IACzD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAE/B,6CAA6C;IAC7C,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO;;;;;;;;;;;;;;;;;;;;;;;kDAuBqC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;yCACrD,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB;;;;;;OAM5F,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,OAAO;;;;;;;;;;;;;;;;;;;;OAoBJ,CAAC;IACN,CAAC;IAED,2BAA2B;IAC3B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO;;;;;;;;;;;;;;;;;;;;;OAqBJ,CAAC;IACN,CAAC;IAED,SAAS;IACT,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QACpC,OAAO;;;;;;;;;;;;;;;;;;;;;;;OAuBJ,CAAC;IACN,CAAC;IAED,QAAQ;IACR,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO;;;;;;;;;;;;;;;OAeJ,CAAC;IACN,CAAC;IAED,SAAS;IACT,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,OAAO;;;;;;;;;;;;;;;;;;;;OAoBJ,CAAC;IACN,CAAC;IAED,UAAU;IACV,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO;;;;;;;;;;;;;OAaJ,CAAC;IACN,CAAC;IAED,cAAc;IACd,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;QACzB,OAAO;;;;;;;;;;;;;;;;OAgBJ,CAAC;IACN,CAAC;IAED,UAAU;IACV,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO;;;;;;;;;;;;;;;;;;OAkBJ,CAAC;IACN,CAAC;IAED,KAAK;IACL,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QACpE,OAAO;;;;;;;;;;;;;;;;OAgBJ,CAAC;IACN,CAAC;IAED,gBAAgB;IAChB,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;QAC3B,OAAO;;;;;;;;;;;;;;;;;OAiBJ,CAAC;IACN,CAAC;IAED,mBAAmB;IACnB,MAAM,GAAG,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACrH,OAAO;;;;;;;;;;kDAUyC,GAAG;OAC9C,CAAC;AACR,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { TemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ export declare function domainBadge(ctx: TemplateContext): string;
3
+ export declare function complianceBadges(ctx: TemplateContext): string;
4
+ export declare function depthIndicator(ctx: TemplateContext): string;
5
+ export declare function modulesSummaryTable(ctx: TemplateContext): string;
6
+ export declare function integrationsSummary(ctx: TemplateContext): string;
@@ -0,0 +1,56 @@
1
+ import { getEnriched, depthScale } from './base-helpers.js';
2
+ export function domainBadge(ctx) {
3
+ const enriched = getEnriched(ctx);
4
+ if (!enriched.domain)
5
+ return '';
6
+ const { domain } = enriched;
7
+ return `
8
+ > 📌 **Domínio:** ${domain.domain} · **Sub-domínio:** ${domain.subDomain} · **Confiança:** ${Math.round(domain.confidence * 100)}%
9
+ `;
10
+ }
11
+ export function complianceBadges(ctx) {
12
+ const enriched = getEnriched(ctx);
13
+ if (!enriched.domain?.compliance?.length)
14
+ return '';
15
+ return `
16
+ ### ⚖️ Compliance Obrigatório
17
+
18
+ ${enriched.domain.compliance.map((c) => `- **${c.name}** — ${c.reason}
19
+ - Checks: ${c.mandatoryChecks.join(', ')}`).join('\n')}
20
+ `;
21
+ }
22
+ export function depthIndicator(ctx) {
23
+ const enriched = getEnriched(ctx);
24
+ const depth = enriched.projectDepth || 'medium';
25
+ const labels = {
26
+ small: '🟢 Projeto Pequeno (< 50 arquivos)',
27
+ medium: '🟡 Projeto Médio (50-200 arquivos)',
28
+ large: '🟠 Projeto Grande (200-500 arquivos)',
29
+ enterprise: '🔴 Enterprise (500+ arquivos)',
30
+ };
31
+ return labels[depth];
32
+ }
33
+ export function modulesSummaryTable(ctx) {
34
+ const enriched = getEnriched(ctx);
35
+ if (!enriched.modules?.length)
36
+ return '';
37
+ const maxModules = depthScale(ctx, { small: 5, medium: 10, large: 20, enterprise: 50 });
38
+ const modules = enriched.modules.slice(0, maxModules);
39
+ return `
40
+ | Módulo | Arquivos | Linhas | Testes | Camada |
41
+ |--------|----------|--------|--------|--------|
42
+ ${modules.map((m) => `| ${m.name} | ${m.fileCount} | ${m.lineCount > 0 ? m.lineCount.toLocaleString() : '—'} | ${m.hasTests ? '✅' : '❌'} | ${m.layer} |`).join('\n')}
43
+ ${enriched.modules.length > maxModules ? `\n> ... e mais ${enriched.modules.length - maxModules} módulos.` : ''}
44
+ `;
45
+ }
46
+ export function integrationsSummary(ctx) {
47
+ const enriched = getEnriched(ctx);
48
+ if (!enriched.domain?.integrations?.length)
49
+ return '';
50
+ return `
51
+ ### Integrações Externas Detectadas
52
+
53
+ ${enriched.domain.integrations.map((i) => `- **${i.name}** (${i.type}) — detectado em \`${i.detectedFrom}\``).join('\n')}
54
+ `;
55
+ }
56
+ //# sourceMappingURL=summary-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary-helpers.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/helpers/summary-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { TemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ /**
3
+ * Stack-specific rule generators.
4
+ * Each generates a 03-[framework].md rule file tailored to the detected stack.
5
+ */
6
+ export declare function generateStackRules(ctx: TemplateContext): string | null;
7
+ export declare function getStackRuleFileName(ctx: TemplateContext): string | null;