@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 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/core/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { TemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ /**
3
+ * Generates 01-architecture.md — layer rules, dependency direction,
4
+ * module patterns, and anti-pattern prevention.
5
+ */
6
+ export declare function generateArchitectureRules(ctx: TemplateContext): string;
@@ -0,0 +1,275 @@
1
+ /**
2
+ * Generates 01-architecture.md — layer rules, dependency direction,
3
+ * module patterns, and anti-pattern prevention.
4
+ */
5
+ export function generateArchitectureRules(ctx) {
6
+ // @ts-ignore - Audit cleanup unused variable
7
+ const { stack, projectName, report, config } = ctx;
8
+ const layerRules = buildLayerRules(ctx);
9
+ const modulePattern = buildModulePattern(ctx);
10
+ return `---
11
+ antigravity:
12
+ trigger: 'always_on'
13
+ globs: ['**/*']
14
+ description: 'Regras de arquitetura para ${projectName}'
15
+ priority: HIGH
16
+ ---
17
+
18
+ # 🏗️ Regras de Arquitetura — ${projectName}
19
+
20
+ > **Separação de camadas, direção de dependências, e padrões de módulo.**
21
+
22
+ ---
23
+
24
+ ## 📐 Camadas Arquiteturais
25
+
26
+ ${layerRules}
27
+
28
+ ### Direção de Dependência (OBRIGATÓRIA)
29
+
30
+ \`\`\`
31
+ UI / Controllers → Services → Repositories / Data → Entities
32
+ ↓ ↓ ↓
33
+ (pode usar) (pode usar) (pode usar)
34
+ Services Repositories Entities
35
+ DTOs Entities Value Objects
36
+ DTOs
37
+
38
+ ⚠️ NUNCA:
39
+ Entity → Controller
40
+ Repository → Controller
41
+ Service → Controller
42
+ Data Layer → UI Layer
43
+ \`\`\`
44
+
45
+ ### Regra de Ouro das Camadas
46
+
47
+ \`\`\`
48
+ ╔══════════════════════════════════════════════════════╗
49
+ ║ Uma camada SÓ pode depender de camadas ABAIXO. ║
50
+ ║ NUNCA de camadas acima ou da mesma camada lateral. ║
51
+ ╚══════════════════════════════════════════════════════╝
52
+ \`\`\`
53
+
54
+ ---
55
+
56
+ ## 📦 Padrão de Módulo
57
+
58
+ ${modulePattern}
59
+
60
+ ---
61
+
62
+ ## 🚫 Anti-Patterns a Prevenir
63
+
64
+ ### God Class (> 500 linhas ou > 10 métodos)
65
+ \`\`\`
66
+ ❌ PROIBIDO: Classe com múltiplas responsabilidades
67
+ ✅ CORRETO: Extrair em classes menores com responsabilidade única
68
+
69
+ Se um arquivo ultrapassar 500 linhas:
70
+ 1. PARAR
71
+ 2. Identificar responsabilidades distintas
72
+ 3. Extrair em módulos separados
73
+ 4. Atualizar imports
74
+ \`\`\`
75
+
76
+ ### Circular Dependencies
77
+ \`\`\`
78
+ ❌ PROIBIDO: A importa B, B importa A
79
+ ✅ CORRETO: Extrair interface comum ou usar event/mediator
80
+
81
+ Detecção:
82
+ $ npx madge --circular src/
83
+ $ architect anti-patterns .
84
+ \`\`\`
85
+
86
+ ### Leaky Abstractions
87
+ \`\`\`
88
+ ❌ PROIBIDO: Service expondo detalhes de implementação
89
+ ✅ CORRETO: Interface define contrato, implementação é encapsulada
90
+
91
+ Exemplos:
92
+ - Service retornando QueryBuilder → ERRADO (vaza ORM)
93
+ - Service retornando DTO → CORRETO (abstrai)
94
+ - Controller acessando Entity → ERRADO (vaza modelo)
95
+ - Controller acessando DTO → CORRETO (contrato)
96
+ \`\`\`
97
+
98
+ ### Feature Envy
99
+ \`\`\`
100
+ ❌ PROIBIDO: Método que usa mais atributos de outra classe que da própria
101
+ ✅ CORRETO: Mover método para a classe que possui os dados
102
+ \`\`\`
103
+
104
+ ### Shotgun Surgery
105
+ \`\`\`
106
+ ❌ PROIBIDO: Mudança em 1 feature exige alterar 10+ arquivos
107
+ ✅ CORRETO: Agrupar código relacionado no mesmo módulo
108
+
109
+ Se uma mudança toca > 5 arquivos:
110
+ 1. PARAR
111
+ 2. Reavaliar se o código está no lugar certo
112
+ 3. Considerar refatoração preventiva
113
+ \`\`\`
114
+
115
+ ---
116
+
117
+ ## 🏛️ Princípios Arquiteturais
118
+
119
+ ### DDD (Domain-Driven Design) — Quando Aplicável
120
+ \`\`\`
121
+ Entities: Objetos com identidade (ID único)
122
+ Value Objects: Objetos sem identidade (imutáveis)
123
+ Aggregates: Cluster de entidades com root
124
+ Repositories: Acesso a dados de Aggregates
125
+ Services: Lógica que não pertence a nenhuma entidade
126
+ \`\`\`
127
+
128
+ ### Clean Architecture
129
+ \`\`\`
130
+ Camada mais interna: Entities (regras de negócio)
131
+ Camada média: Use Cases / Services (lógica de aplicação)
132
+ Camada externa: Controllers, Gateways, Presenters (I/O)
133
+
134
+ Dependência: SEMPRE de fora para dentro, NUNCA o contrário.
135
+ \`\`\`
136
+
137
+ ### Event-Driven — Quando Aplicável
138
+ \`\`\`
139
+ Usar eventos quando:
140
+ - Desacoplamento entre módulos é necessário
141
+ - Processamento assíncrono é aceitável
142
+ - Múltiplos handlers para um mesmo trigger
143
+
144
+ NÃO usar eventos quando:
145
+ - Resposta síncrona é necessária
146
+ - Transação atômica é obrigatória
147
+ - Ordem de execução importa
148
+ \`\`\`
149
+
150
+ ---
151
+
152
+ ## 📊 Anti-Patterns Atuais do Projeto
153
+
154
+ ${report.antiPatterns.length > 0
155
+ ? report.antiPatterns.map(a => `- **${a.name}** (${a.severity}) em \`${a.location}\` — ${a.suggestion}`).join('\n')
156
+ : '✅ Nenhum anti-pattern detectado. Manter assim.'}
157
+
158
+ Score atual: **${report.score.overall}/100** | Meta: **${Math.min(100, report.score.overall + 10)}/100**
159
+
160
+ ---
161
+
162
+ ## ✅ Checklist de Arquitetura
163
+
164
+ Antes de criar qualquer módulo novo:
165
+
166
+ \`\`\`
167
+ □ Camada correta? (Controller vs Service vs Repository vs Entity)
168
+ □ Direção de dependência respeitada? (nunca de baixo para cima)
169
+ □ Módulo coeso? (tudo relacionado junto)
170
+ □ Sem circular dependency?
171
+ □ Sem God Class? (< 500 linhas, < 10 métodos)
172
+ □ Interface/abstração antes de implementação?
173
+ □ DTOs para comunicação entre camadas?
174
+ □ Testes por camada? (unit para service, integration para controller)
175
+ \`\`\`
176
+
177
+ ---
178
+
179
+ **Gerado por Architect v8.1 · Score: ${report.score.overall}/100**
180
+ `;
181
+ }
182
+ function buildLayerRules(ctx) {
183
+ const { stack } = ctx;
184
+ if (stack.frameworks.includes('NestJS')) {
185
+ return `| Camada | Responsabilidade | Padrão NestJS |
186
+ |--------|-----------------|---------------|
187
+ | **API** (Controllers) | Routing, validação de request, response shaping | \`*.controller.ts\` + \`@Controller()\` |
188
+ | **Service** | Lógica de negócio, orquestração | \`*.service.ts\` + \`@Injectable()\` |
189
+ | **Data** (Repository) | Acesso a dados, queries | \`*.repository.ts\` ou TypeORM Repository |
190
+ | **Entity** | Modelo de domínio | \`*.entity.ts\` + \`@Entity()\` |
191
+ | **DTO** | Contratos de request/response | \`*.dto.ts\` + class-validator |
192
+ | **Guard** | Autenticação/Autorização | \`*.guard.ts\` + \`@UseGuards()\` |
193
+ | **Pipe** | Validação/transformação | \`*.pipe.ts\` + \`@UsePipes()\` |`;
194
+ }
195
+ if (stack.frameworks.includes('Django') || stack.frameworks.includes('Flask') || stack.frameworks.includes('FastAPI')) {
196
+ return `| Camada | Responsabilidade | Padrão Python |
197
+ |--------|-----------------|---------------|
198
+ | **API** (Views/Routes) | Routing, serialização | views.py / routes.py |
199
+ | **Service** | Lógica de negócio | services.py |
200
+ | **Data** (Repository/ORM) | Acesso a dados | models.py + managers |
201
+ | **Schema** | Validação I/O | serializers.py / schemas.py |
202
+ | **Tasks** | Processamento assíncrono | tasks.py (Celery) |`;
203
+ }
204
+ if (stack.frameworks.includes('Angular')) {
205
+ return `| Camada | Responsabilidade | Padrão Angular |
206
+ |--------|-----------------|----------------|
207
+ | **Component** | UI rendering, user events | \`*.component.ts\` |
208
+ | **Service** | Lógica, API calls, state | \`*.service.ts\` + \`@Injectable()\` |
209
+ | **Model** | Interfaces/types | \`*.model.ts\` / \`*.interface.ts\` |
210
+ | **Guard** | Route protection | \`*.guard.ts\` + \`canActivate\` |
211
+ | **Interceptor** | HTTP middleware | \`*.interceptor.ts\` |
212
+ | **Pipe** | Data transformation | \`*.pipe.ts\` |`;
213
+ }
214
+ // Generic
215
+ return `| Camada | Responsabilidade | Padrão |
216
+ |--------|-----------------|--------|
217
+ | **API / Controllers** | Routing, validação HTTP | controllers/ |
218
+ | **Service** | Lógica de negócio | services/ |
219
+ | **Data / Repository** | Acesso a dados | repositories/ |
220
+ | **Entity / Model** | Modelo de domínio | entities/ ou models/ |
221
+ | **DTO / Schema** | Contratos I/O | dto/ ou schemas/ |`;
222
+ }
223
+ function buildModulePattern(ctx) {
224
+ const { stack } = ctx;
225
+ const ext = stack.primary === 'Python' ? 'py' : stack.primary === 'Dart' ? 'dart' : 'ts';
226
+ if (stack.frameworks.includes('NestJS')) {
227
+ return `\`\`\`
228
+ src/modules/[nome-do-modulo]/
229
+ ├── [nome].module.ts → NestJS Module (imports, providers, exports)
230
+ ├── [nome].controller.ts → HTTP endpoints
231
+ ├── [nome].controller.spec.ts → Testes do controller
232
+ ├── [nome].service.ts → Lógica de negócio
233
+ ├── [nome].service.spec.ts → Testes do service
234
+ ├── dto/
235
+ │ ├── create-[nome].dto.ts → Request de criação
236
+ │ ├── update-[nome].dto.ts → Request de atualização
237
+ │ └── [nome]-response.dto.ts → Response shape
238
+ ├── entities/
239
+ │ └── [nome].entity.ts → TypeORM entity
240
+ ├── guards/ → Guards específicos (se houver)
241
+ └── interfaces/ → Interfaces/types do módulo
242
+ \`\`\``;
243
+ }
244
+ if (stack.frameworks.includes('Angular')) {
245
+ return `\`\`\`
246
+ src/app/modules/[nome-do-modulo]/
247
+ ├── [nome].module.ts → Angular Module
248
+ ├── [nome]-routing.module.ts → Routes
249
+ ├── components/
250
+ │ ├── [nome]-list/
251
+ │ │ ├── [nome]-list.component.ts
252
+ │ │ ├── [nome]-list.component.html
253
+ │ │ ├── [nome]-list.component.scss
254
+ │ │ └── [nome]-list.component.spec.ts
255
+ │ └── [nome]-form/
256
+ │ └── ...
257
+ ├── services/
258
+ │ ├── [nome].service.ts
259
+ │ └── [nome].service.spec.ts
260
+ ├── models/
261
+ │ └── [nome].model.ts
262
+ └── guards/
263
+ \`\`\``;
264
+ }
265
+ return `\`\`\`
266
+ src/modules/[nome-do-modulo]/
267
+ ├── [nome].module.${ext}
268
+ ├── [nome].controller.${ext} → Endpoints / API
269
+ ├── [nome].service.${ext} → Lógica de negócio
270
+ ├── dto/ → Request/Response shapes
271
+ ├── entities/ → Modelos de domínio
272
+ └── __tests__/ → Testes do módulo
273
+ \`\`\``;
274
+ }
275
+ //# sourceMappingURL=architecture-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-rules.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/core/architecture-rules.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAoB;IAC1D,6CAA6C;IAC/C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACnD,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE9C,OAAO;;;;6CAIoC,WAAW;;;;gCAIxB,WAAW;;;;;;;;EAQzC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCV,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgGb,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAC5B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC5B,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,UAAU,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,UAAU,EAAE,CACzE,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,CAAC,CAAC,gDAAgD;;iBAErC,MAAM,CAAC,KAAK,CAAC,OAAO,oBAAoB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;uCAqB1D,MAAM,CAAC,KAAK,CAAC,OAAO;CAC1D,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,GAAoB;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAEtB,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO;;;;;;;;yEAQ8D,CAAC;IACxE,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACtH,OAAO;;;;;;6DAMkD,CAAC;IAC5D,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,OAAO;;;;;;;mDAOwC,CAAC;IAClD,CAAC;IAED,UAAU;IACV,OAAO;;;;;;wDAM+C,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAoB;IAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzF,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO;;;;;;;;;;;;;;;OAeJ,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,OAAO;;;;;;;;;;;;;;;;;;OAkBJ,CAAC;IACN,CAAC;IAED,OAAO;;oBAEW,GAAG;wBACC,GAAG;qBACN,GAAG;;;;OAIjB,CAAC;AACR,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { TemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ /**
3
+ * Generates enterprise-grade 00-general.md rules.
4
+ * Golden rules, git flow, project identity, naming conventions,
5
+ * diagnostic requirements, forbidden actions, compliance checklist.
6
+ */
7
+ export declare function generateGeneralRules(ctx: TemplateContext): string;
@@ -0,0 +1,301 @@
1
+ import { getEnriched } from '../template-helpers.js';
2
+ /**
3
+ * Generates enterprise-grade 00-general.md rules.
4
+ * Golden rules, git flow, project identity, naming conventions,
5
+ * diagnostic requirements, forbidden actions, compliance checklist.
6
+ */
7
+ export function generateGeneralRules(ctx) {
8
+ const { stack, projectName, stackLabel, config, report } = ctx;
9
+ const enriched = getEnriched(ctx);
10
+ const namingConventions = buildNamingConventions(ctx);
11
+ // Stack-aware forbidden type actions
12
+ const langs = stack.languages.map((l) => l.toLowerCase());
13
+ let typeProhibitions = `❌ any (TypeScript) sem justificativa em comentário
14
+ ❌ @ts-ignore / type: ignore sem justificativa`;
15
+ if (langs.includes('python')) {
16
+ typeProhibitions = `❌ type: ignore sem justificativa em comentário
17
+ ❌ # noqa sem justificativa
18
+ ❌ Any (typing) sem justificativa em comentário`;
19
+ }
20
+ else if (langs.includes('dart')) {
21
+ typeProhibitions = `❌ dynamic sem justificativa em comentário
22
+ ❌ // ignore: sem justificativa
23
+ ❌ as dynamic sem type-check`;
24
+ }
25
+ else if (langs.includes('java') || langs.includes('kotlin')) {
26
+ typeProhibitions = `❌ @SuppressWarnings sem justificativa em comentário
27
+ ❌ Object onde tipo específico é possível
28
+ ❌ Raw types sem justificativa`;
29
+ }
30
+ else if (langs.includes('go')) {
31
+ typeProhibitions = `❌ interface{}/any sem justificativa em comentário
32
+ ❌ //nolint sem justificativa
33
+ ❌ _ (blank identifier) para erros sem tratamento`;
34
+ }
35
+ else if (langs.includes('rust')) {
36
+ typeProhibitions = `❌ unwrap() em código de produção sem justificativa
37
+ ❌ #[allow(...)] sem justificativa em comentário
38
+ ❌ unsafe sem revisão e justificativa`;
39
+ }
40
+ return `---
41
+ antigravity:
42
+ trigger: 'always_on'
43
+ globs: ['**/*']
44
+ description: 'Regras gerais invioláveis para ${projectName}'
45
+ priority: CRITICAL
46
+ ---
47
+
48
+ # 📜 Regras Gerais — ${projectName}
49
+
50
+ > **Estas regras são INVIOLÁVEIS. Não há exceção.**
51
+
52
+ ---
53
+
54
+ ## 🏆 Regras de Ouro
55
+
56
+ \`\`\`
57
+ ╔══════════════════════════════════════════════════════════════╗
58
+ ║ 9 REGRAS DE OURO ║
59
+ ║ ║
60
+ ${config.goldenRules.map((r, i) => `║ ${i + 1}. ${r.padEnd(55)}║`).join('\n')}
61
+ ║ ║
62
+ ║ ⚠️ Violar qualquer regra = PARAR e RECOMEÇAR ║
63
+ ╚══════════════════════════════════════════════════════════════╝
64
+ \`\`\`
65
+
66
+ ---
67
+
68
+ ## 🏢 Identidade do Projeto
69
+
70
+ | Item | Valor |
71
+ |------|-------|
72
+ | **Nome** | ${projectName} |
73
+ | **Stack** | ${stackLabel} |
74
+ | **Score** | ${report.score.overall}/100 |
75
+ | **Linguagens** | ${stack.languages.join(', ')} |
76
+ | **Frameworks** | ${enriched.detectedFrameworks?.filter((f) => f.category === 'web' || f.category === 'orm').map((f) => `${f.name}${f.version ? ` v${f.version}` : ''}`).join(', ') || stack.frameworks.join(', ') || 'Nenhum detectado'} |
77
+ | **Cobertura Mínima** | ${config.coverageMinimum}% |
78
+ | **Score Mínimo** | ${config.scoreThreshold}/100 |
79
+
80
+ ---
81
+
82
+ ## 🔄 Fluxo Completo (Qualquer Ação)
83
+
84
+ \`\`\`
85
+ REQUISIÇÃO
86
+
87
+
88
+ LEITURA OBRIGATÓRIA (INDEX.md → 00-general → PREFLIGHT)
89
+
90
+
91
+ DIAGNÓSTICO (entender ANTES de agir)
92
+
93
+
94
+ ARTEFATOS (mockup → user story → arch → tasks → BDD → TDD)
95
+
96
+
97
+ APROVAÇÃO HUMANA (/approved)
98
+
99
+
100
+ IMPLEMENTAÇÃO (Backend → Integration Doc → Frontend/App)
101
+
102
+
103
+ QUALITY GATES (build + test + coverage + score)
104
+
105
+
106
+ CODE REVIEW
107
+
108
+
109
+ MERGE (via PR, nunca direto)
110
+ \`\`\`
111
+
112
+ ---
113
+
114
+ ## 🌿 Git Flow
115
+
116
+ ### Branch Naming
117
+
118
+ | Tipo | Padrão | Exemplo |
119
+ |------|--------|---------|
120
+ | Feature | \`feature/[ticket]-[descricao]\` | \`feature/PROJ-123-cancelled-tab\` |
121
+ | Bug fix | \`fix/[ticket]-[descricao]\` | \`fix/PROJ-456-null-balance\` |
122
+ | Hotfix | \`hotfix/[descricao]\` | \`hotfix/payment-crash\` |
123
+ | Refactor | \`refactor/[descricao]\` | \`refactor/extract-auth-service\` |
124
+
125
+ ### Commit Messages (Conventional Commits)
126
+
127
+ \`\`\`
128
+ feat: add cancelled refuelings tab
129
+ fix: prevent null balance on payment
130
+ refactor: extract auth service from user module
131
+ docs: update API documentation for v2
132
+ test: add integration tests for payment flow
133
+ chore: upgrade dependencies
134
+ \`\`\`
135
+
136
+ ### Cenários de Git Flow
137
+
138
+ **Cenário A: Feature nova**
139
+ \`\`\`
140
+ git checkout develop
141
+ git pull origin develop
142
+ git checkout -b feature/PROJ-XXX-nome
143
+ # ... implementar ...
144
+ git add [arquivos específicos]
145
+ git commit -m "feat: [descrição]"
146
+ git push -u origin feature/PROJ-XXX-nome
147
+ # Criar PR para develop
148
+ \`\`\`
149
+
150
+ **Cenário B: Bug fix**
151
+ \`\`\`
152
+ git checkout develop
153
+ git pull origin develop
154
+ git checkout -b fix/PROJ-XXX-descricao
155
+ # ... corrigir ...
156
+ git add [arquivos específicos]
157
+ git commit -m "fix: [descrição]"
158
+ git push -u origin fix/PROJ-XXX-descricao
159
+ # Criar PR para develop
160
+ \`\`\`
161
+
162
+ **Cenário C: Hotfix em produção**
163
+ \`\`\`
164
+ git checkout main
165
+ git pull origin main
166
+ git checkout -b hotfix/descricao
167
+ # ... corrigir ...
168
+ git add [arquivos específicos]
169
+ git commit -m "fix: [descrição] (hotfix)"
170
+ git push -u origin hotfix/descricao
171
+ # Criar PR para main E develop
172
+ \`\`\`
173
+
174
+ ---
175
+
176
+ ## 📝 Naming Conventions
177
+
178
+ ${namingConventions}
179
+
180
+ ---
181
+
182
+ ## 🔍 Diagnóstico Obrigatório
183
+
184
+ > **Antes de QUALQUER implementação, execute este diagnóstico.**
185
+
186
+ \`\`\`bash
187
+ # 1. Entender a estrutura
188
+ ls -la src/
189
+ find src/ -name "*.${stack.primary === 'Python' ? 'py' : stack.primary === 'Dart' ? 'dart' : 'ts'}" | head -30
190
+
191
+ # 2. Entender as dependências do módulo
192
+ grep -rn "import" --include="*.${stack.primary === 'Python' ? 'py' : 'ts'}" src/[modulo]/ | head -20
193
+
194
+ # 3. Testes existentes
195
+ find . -name "*.test.*" -o -name "*.spec.*" -o -name "*_test.*" | wc -l
196
+
197
+ # 4. Score atual
198
+ npx @girardelli/architect score .
199
+
200
+ # 5. Anti-patterns
201
+ npx @girardelli/architect anti-patterns .
202
+ \`\`\`
203
+
204
+ ---
205
+
206
+ ## ❌ Ações PROIBIDAS
207
+
208
+ \`\`\`
209
+ ❌ Commitar direto em main ou develop
210
+ ❌ Push --force sem aprovação explícita
211
+ ❌ Merge sem code review
212
+ ❌ Código sem testes
213
+ ❌ Ignorar falhas de build/test
214
+ ❌ Hardcodar secrets, tokens, senhas
215
+ ❌ console.log / print() em produção
216
+ ${typeProhibitions}
217
+ ❌ Testes com .skip() permanente
218
+ ❌ Copiar/colar código (extrair abstração)
219
+ ❌ Alterar mais de 10 arquivos sem reavaliar escopo
220
+ ❌ Implementar sem artefatos aprovados (mockup, US, BDD, TDD)
221
+ ❌ Decidir arquitetura sem consultar o humano
222
+ ❌ Refatorar código alheio ao escopo da task
223
+ \`\`\`
224
+
225
+ ---
226
+
227
+ ## ✅ Checklist de Compliance (Regras de Ouro)
228
+
229
+ Antes de marcar QUALQUER tarefa como "done":
230
+
231
+ \`\`\`
232
+ □ Regra 1: Git Flow completo (branch + PR + review)?
233
+ □ Regra 2: Arquitetura documentada (C4 se nova feature)?
234
+ □ Regra 3: BDD escrito antes do código?
235
+ □ Regra 4: TDD aplicado (RED → GREEN → REFACTOR)?
236
+ □ Regra 5: Diagnóstico feito antes de codar?
237
+ □ Regra 6: Mockup aprovado (se tem UI)?
238
+ □ Regra 7: Decisões validadas com humano?
239
+ □ Regra 8: Qualidade > Velocidade (sem atalhos)?
240
+ □ Regra 9: Apenas código (sem abrir browser, sem screenshots)?
241
+ \`\`\`
242
+
243
+ ---
244
+
245
+ **Gerado por Architect v8.1 · Score: ${report.score.overall}/100 · ${new Date().toISOString().split('T')[0]}**
246
+ `;
247
+ }
248
+ function buildNamingConventions(ctx) {
249
+ const { stack } = ctx;
250
+ const lang = stack.primary;
251
+ if (lang === 'Python') {
252
+ return `| Item | Padrão | Exemplo |
253
+ |------|--------|---------|
254
+ | Classes | PascalCase | \`UserService\` |
255
+ | Funções | snake_case | \`get_active_users\` |
256
+ | Variáveis | snake_case | \`user_count\` |
257
+ | Constantes | UPPER_SNAKE | \`MAX_RETRIES\` |
258
+ | Arquivos | snake_case | \`user_service.py\` |
259
+ | Módulos | snake_case | \`auth_module/\` |
260
+ | Testes | snake_case + \_test | \`user_service_test.py\` |`;
261
+ }
262
+ if (lang === 'Dart') {
263
+ return `| Item | Padrão | Exemplo |
264
+ |------|--------|---------|
265
+ | Classes | PascalCase | \`UserService\` |
266
+ | Funções | camelCase | \`getActiveUsers\` |
267
+ | Variáveis | camelCase | \`userCount\` |
268
+ | Constantes | camelCase (com const) | \`const maxRetries = 3\` |
269
+ | Arquivos | snake_case | \`user_service.dart\` |
270
+ | Widgets | PascalCase | \`UserProfileCard\` |
271
+ | Testes | snake_case + \_test | \`user_service_test.dart\` |`;
272
+ }
273
+ if (lang === 'Go') {
274
+ return `| Item | Padrão | Exemplo |
275
+ |------|--------|---------|
276
+ | Types/Structs | PascalCase (exported) | \`UserService\` |
277
+ | Functions (public) | PascalCase | \`GetActiveUsers\` |
278
+ | Functions (private) | camelCase | \`parseInput\` |
279
+ | Variables | camelCase | \`userCount\` |
280
+ | Constants | PascalCase | \`MaxRetries\` |
281
+ | Files | snake_case | \`user_service.go\` |
282
+ | Tests | snake_case + \_test | \`user_service_test.go\` |`;
283
+ }
284
+ // Default: TypeScript/JavaScript
285
+ return `| Item | Padrão | Exemplo |
286
+ |------|--------|---------|
287
+ | Classes | PascalCase | \`UserService\` |
288
+ | Interfaces | PascalCase (sem I prefix) | \`UserPayload\` |
289
+ | Funções | camelCase | \`getActiveUsers\` |
290
+ | Variáveis | camelCase | \`userCount\` |
291
+ | Constantes | UPPER_SNAKE | \`MAX_RETRIES\` |
292
+ | Enums | PascalCase | \`UserStatus\` |
293
+ | Arquivos | kebab-case | \`user-service.ts\` |
294
+ | Módulos (diretório) | kebab-case | \`user-management/\` |
295
+ | Testes | kebab-case + .spec/.test | \`user-service.spec.ts\` |
296
+ | Entities | PascalCase + .entity | \`User.entity.ts\` |
297
+ | DTOs | PascalCase + .dto | \`CreateUserDto\` |
298
+ | Controllers | PascalCase + .controller | \`user.controller.ts\` |
299
+ | Services | PascalCase + .service | \`user.service.ts\` |`;
300
+ }
301
+ //# sourceMappingURL=general-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general-rules.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/core/general-rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { TemplateContext, EnrichedTemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ /**
3
+ * Generates executable hook scripts (.sh) for the .agent/hooks/ directory.
4
+ * These are real, runnable shell scripts tied to git lifecycle events.
5
+ *
6
+ * v5.1: Uses project-specific toolchain commands, score thresholds,
7
+ * and coverage targets from the enriched context.
8
+ */
9
+ /**
10
+ * Pre-commit hook: lint + build check
11
+ */
12
+ export declare function generatePreCommitHook(ctx: TemplateContext | EnrichedTemplateContext): string;
13
+ /**
14
+ * Pre-push hook: test + score gate
15
+ */
16
+ export declare function generatePrePushHook(ctx: TemplateContext | EnrichedTemplateContext): string;
17
+ /**
18
+ * Post-analysis hook: remediation actions
19
+ */
20
+ export declare function generatePostAnalysisHook(ctx: TemplateContext | EnrichedTemplateContext): string;