@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,423 @@
1
+ import { isEnriched, depthAtLeast, domainBadge, complianceBadges, depthIndicator, modulesSummaryTable, integrationsSummary, frameworkBadge, toolchainCommands, projectStructureBadge, } from '../template-helpers.js';
2
+ /**
3
+ * Generates enterprise-grade AGENT-ORCHESTRATOR.md
4
+ * ~800+ lines: 5-phase protocol, mandatory artifact gates, business interrogation,
5
+ * parallel dispatch, C4/BDD/TDD inline templates, risk matrix, implementation order.
6
+ */
7
+ export function generateOrchestrator(ctx) {
8
+ // @ts-ignore - Audit cleanup unused variable
9
+ const { report, stack, projectName, stackLabel, plan, config } = ctx;
10
+ const layers = report.layers.map(l => l.name).join(', ') || 'Not detected';
11
+ const antiPatterns = report.antiPatterns.map(a => `${a.name} (${a.severity})`).join(', ') || 'None';
12
+ const agentDispatch = buildAgentDispatch(ctx);
13
+ const businessQuestions = buildBusinessQuestions(ctx);
14
+ // Extract toolchain commands for Quality Gates (dynamic per-stack)
15
+ const enrichedCtx = isEnriched(ctx) ? ctx : null;
16
+ const buildCmd = enrichedCtx?.toolchain?.buildCmd || 'npm run build';
17
+ const testCmd = enrichedCtx?.toolchain?.testCmd || 'npm run test';
18
+ return `---
19
+ antigravity:
20
+ trigger: 'always_on'
21
+ globs: ['**/*']
22
+ description: 'META-AGENT ORQUESTRADOR — Centro de comando para ${projectName}'
23
+ priority: CRITICAL
24
+ agent_card:
25
+ id: 'orchestrator'
26
+ name: 'Agent Orchestrator'
27
+ role: 'coordination'
28
+ capabilities: [request-decomposition, agent-dispatch, plan-consolidation, quality-verification, artifact-gating]
29
+ inputs: [user-story, feature-request, bug-report, refactoring-request]
30
+ outputs: [consolidated-plan, implementation-blocks, effort-estimate, architecture-docs]
31
+ depends_on: []
32
+ version: 3.1.0
33
+ ---
34
+
35
+ # 🎭 AGENT-ORCHESTRATOR: ${projectName}
36
+
37
+ > **Centro de comando.** Toda requisição passa por aqui.
38
+ > **Nenhuma linha de código é escrita sem os artefatos obrigatórios.**
39
+
40
+ ---
41
+
42
+ ## ⛔ REGRA ABSOLUTA: ARTEFATOS ANTES DE CÓDIGO
43
+
44
+ \`\`\`
45
+ ╔══════════════════════════════════════════════════════════════╗
46
+ ║ ║
47
+ ║ ANTES de escrever QUALQUER linha de código, os seguintes ║
48
+ ║ artefatos DEVEM existir e ser APROVADOS pelo humano: ║
49
+ ║ ║
50
+ ║ 1. 🎨 MOCKUP (se tem UI) ║
51
+ ║ → Todas as telas, estados, erros, modais, mensagens ║
52
+ ║ → Seguir padrão visual do sistema ║
53
+ ║ ║
54
+ ║ 2. 📖 USER STORIES ║
55
+ ║ → Como [ator], quero [ação], para [benefício] ║
56
+ ║ → Critérios de aceite mensuráveis ║
57
+ ║ ║
58
+ ║ 3. 🏗️ ARQUITETURA (C4) ║
59
+ ║ → Contexto, Container, Componente, Código ║
60
+ ║ → Decisões arquiteturais (ADR) ║
61
+ ║ ║
62
+ ║ 4. 📋 TAREFAS ║
63
+ ║ → Breakdown com TASK-XXX ║
64
+ ║ → Estimativa T-shirt (XS/S/M/L/XL) ║
65
+ ║ ║
66
+ ║ 5. 🧪 BDD (cenários) ║
67
+ ║ → Given/When/Then para cada critério de aceite ║
68
+ ║ ║
69
+ ║ 6. 🔬 TDD (casos de teste) ║
70
+ ║ → RED → GREEN → REFACTOR ║
71
+ ║ → Cobertura mínima: ${config.coverageMinimum}% ║
72
+ ║ ║
73
+ ║ ⚠️ PRODUZIR APENAS UM IMPLEMENTATION PLAN SEM ESTES ║
74
+ ║ ARTEFATOS É VIOLAÇÃO DO PROTOCOLO. ║
75
+ ║ ║
76
+ ║ ORDEM DE IMPLEMENTAÇÃO: ║
77
+ ║ 1° Backend → 2° Doc. Integração → 3° Frontend/App ║
78
+ ║ ║
79
+ ╚══════════════════════════════════════════════════════════════╝
80
+ \`\`\`
81
+
82
+ ---
83
+
84
+ ## 📊 Contexto do Projeto
85
+
86
+ | Métrica | Valor |
87
+ |---------|-------|
88
+ | **Projeto** | ${projectName} |
89
+ | **Stack** | ${stackLabel} |
90
+ | **Score Atual** | ${report.score.overall}/100 |
91
+ | **Meta de Score** | ${Math.min(100, report.score.overall + 10)}/100 |
92
+ | **Camadas** | ${layers} |
93
+ | **Anti-Patterns** | ${antiPatterns} |
94
+ | **Arquivos** | ${report.projectInfo.totalFiles} |
95
+ | **Linhas** | ${report.projectInfo.totalLines.toLocaleString()} |
96
+ | **Cobertura Mínima** | ${config.coverageMinimum}% |
97
+ | **Refatorações Pendentes** | ${plan.steps.length} steps |
98
+
99
+ ${depthAtLeast(ctx, 'medium') ? `\n---\n\n## 📍 Contexto Enriquecido\n\n${depthIndicator(ctx)} · ${projectStructureBadge(ctx)}\n\n${frameworkBadge(ctx)}\n${domainBadge(ctx)}${modulesSummaryTable(ctx) ? `\n### 📦 Resumo de Módulos\n\n${modulesSummaryTable(ctx)}` : ''}${integrationsSummary(ctx)}${complianceBadges(ctx)}${toolchainCommands(ctx)}` : ''}
100
+
101
+ ---
102
+
103
+ ## 🔄 Protocolo de Orquestração (5 Fases)
104
+
105
+ ### FASE 0: Parsing da Requisição
106
+
107
+ Ao receber qualquer requisição, CLASSIFICAR imediatamente:
108
+
109
+ \`\`\`
110
+ ✓ Nome da feature/fix: _______________
111
+ ✓ Tipo: [ ] Feature [ ] Bug Fix [ ] Refactoring [ ] Documentation
112
+ ✓ Camadas tocadas: [ ] Backend [ ] Frontend [ ] Mobile [ ] Database
113
+ ✓ Tem UI: [ ] Sim [ ] Não
114
+ ✓ Complexidade: [ ] XS (<2h) [ ] S (2-4h) [ ] M (4-8h) [ ] L (1-3d) [ ] XL (3d+)
115
+ ✓ Assunções (listar): _______________
116
+ ✓ Riscos identificados: _______________
117
+ \`\`\`
118
+
119
+ Se houver QUALQUER dúvida na classificação → **PERGUNTAR ao humano**.
120
+
121
+ ### FASE 1: Interrogação de Negócio
122
+
123
+ Antes de qualquer design, RESPONDER estas perguntas:
124
+
125
+ ${businessQuestions}
126
+
127
+ > **Se não conseguir responder ≥ 70% das perguntas relevantes → PERGUNTAR ao humano.**
128
+
129
+ ### FASE 2: Disparo de Agentes (Paralelo)
130
+
131
+ \`\`\`
132
+ ORQUESTRADOR decompõe a requisição
133
+
134
+ ${agentDispatch} │
135
+ └──→ CONSOLIDAÇÃO
136
+ \`\`\`
137
+
138
+ Cada agente recebe:
139
+ - Contexto do projeto (score, stack, anti-patterns)
140
+ - Requisição decomposta (sua parte)
141
+ - Constraints (regras, patterns proibidos)
142
+ - Output esperado (formato e escopo)
143
+
144
+ ### FASE 3: Consolidação
145
+
146
+ O orquestrador consolida as respostas dos agentes em:
147
+
148
+ 1. **Plano Unificado** com:
149
+ - Diagrama de arquitetura (C4)
150
+ - Cenários BDD
151
+ - Casos de teste TDD
152
+ - Estimativa de esforço (T-shirt)
153
+ - Riscos e mitigações
154
+ - Decisões arquiteturais (ADR)
155
+
156
+ 2. **6 Gates para Aprovação** (apresentar um de cada vez):
157
+ - Gate 1: MOCKUP → \`/approved\`
158
+ - Gate 2: User Stories → \`/approved\`
159
+ - Gate 3: Arquitetura → \`/approved\`
160
+ - Gate 4: Tasks → \`/approved\`
161
+ - Gate 5: BDD → \`/approved\`
162
+ - Gate 6: TDD → \`/approved\`
163
+
164
+ ### FASE 4: Implementação (Após Todas Aprovações)
165
+
166
+ \`\`\`
167
+ ╔════════════════════════════════════════════════╗
168
+ ║ ORDEM OBRIGATÓRIA DE IMPLEMENTAÇÃO: ║
169
+ ║ ║
170
+ ║ 1° BACKEND ║
171
+ ║ └─→ Controllers, Services, Entities, DTOs ║
172
+ ║ └─→ Testes unitários + integração ║
173
+ ║ └─→ Migrations (se houver) ║
174
+ ║ ║
175
+ ║ 2° DOCUMENTO DE INTEGRAÇÃO ║
176
+ ║ └─→ Endpoints, payloads, erros ║
177
+ ║ └─→ Exemplos de request/response ║
178
+ ║ └─→ Contrato para frontend/app ║
179
+ ║ ║
180
+ ║ 3° FRONTEND / APP ║
181
+ ║ └─→ Baseado no documento de integração ║
182
+ ║ └─→ Componentes, pages, state ║
183
+ ║ └─→ Testes e2e ║
184
+ ╚════════════════════════════════════════════════╝
185
+ \`\`\`
186
+
187
+ ### FASE 5: Verificação e Entrega
188
+
189
+ \`\`\`
190
+ □ Build compila sem erros
191
+ □ Todos os testes passam
192
+ □ Cobertura ≥ ${config.coverageMinimum}%
193
+ □ Score ≥ ${config.scoreThreshold}/100
194
+ □ Zero anti-patterns CRITICAL novos
195
+ □ Sem regressão de score
196
+ □ Lint sem warnings
197
+ □ Documentação atualizada
198
+ \`\`\`
199
+
200
+ ---
201
+
202
+ ## 📐 Templates Inline
203
+
204
+ ### Template: User Story
205
+
206
+ \`\`\`markdown
207
+ ## US-XXX: [Título]
208
+
209
+ **Como** [ator],
210
+ **Quero** [ação],
211
+ **Para** [benefício].
212
+
213
+ ### Critérios de Aceite
214
+
215
+ - CA1: [critério mensurável]
216
+ - CA2: [critério mensurável]
217
+ - CA3: [critério mensurável]
218
+
219
+ ### Regras de Negócio
220
+
221
+ - RN1: [regra]
222
+ - RN2: [regra]
223
+
224
+ ### Notas Técnicas
225
+
226
+ - [observação relevante]
227
+ \`\`\`
228
+
229
+ ### Template: Task Breakdown
230
+
231
+ \`\`\`markdown
232
+ ## TASK-XXX: [Título]
233
+
234
+ **User Story:** US-XXX
235
+ **Estimativa:** [XS|S|M|L|XL]
236
+ **Camada:** [Backend|Frontend|App|Database]
237
+ **Agente:** [nome do agente]
238
+
239
+ ### Descrição
240
+ [o que precisa ser feito]
241
+
242
+ ### Critério de Done
243
+ - [ ] Implementado
244
+ - [ ] Testado (cobertura ≥ ${config.coverageMinimum}%)
245
+ - [ ] Code review
246
+ - [ ] Documentação
247
+ \`\`\`
248
+
249
+ ### Template: ADR (Architecture Decision Record)
250
+
251
+ \`\`\`markdown
252
+ ## ADR-XXX: [Título da Decisão]
253
+
254
+ **Status:** [proposed | accepted | deprecated | superseded]
255
+ **Data:** [YYYY-MM-DD]
256
+
257
+ ### Contexto
258
+ [Por que essa decisão é necessária?]
259
+
260
+ ### Decisão
261
+ [O que foi decidido?]
262
+
263
+ ### Consequências
264
+ [Positivas e negativas]
265
+
266
+ ### Alternativas Consideradas
267
+ 1. [alternativa 1] — descartada porque...
268
+ 2. [alternativa 2] — descartada porque...
269
+ \`\`\`
270
+
271
+ ---
272
+
273
+ ## ⚖️ Matriz de Risco
274
+
275
+ | Risco | Probabilidade | Impacto | Mitigação |
276
+ |-------|-------------|---------|-----------|
277
+ | Regressão de testes | Média | Alto | CI/CD com gate obrigatório |
278
+ | Degradação de score | Média | Médio | architect score antes de PR |
279
+ | Breaking changes em API | Alta | Crítico | Versionamento + integration doc |
280
+ | Security vulnerability | Baixa | Crítico | SECURITY-AUDITOR em toda feature |
281
+ | Performance degradation | Média | Alto | Benchmark antes/depois |
282
+
283
+ ---
284
+
285
+ ## 🏷️ T-Shirt Sizing
286
+
287
+ | Size | Duração | Scope | Gates |
288
+ |------|---------|-------|-------|
289
+ | **XS** | < 2h | Fix pontual, 1 arquivo | Simplificado (skip mockup se sem UI) |
290
+ | **S** | 2-4h | Fix + teste, 2-3 arquivos | Gates 2, 5, 6 obrigatórios |
291
+ | **M** | 4-8h | Feature pequena, 1 camada | Todos os 6 gates |
292
+ | **L** | 1-3 dias | Feature multi-camada | Todos + ADR |
293
+ | **XL** | 3+ dias | Feature épica | Todos + ADR + Threat Model |
294
+
295
+ ---
296
+
297
+ ## 🔀 Protocolo de Conflitos
298
+
299
+ Quando dois agentes discordam:
300
+
301
+ 1. **Identificar** o ponto de conflito
302
+ 2. **Documentar** ambas as posições com prós/contras
303
+ 3. **Escalar** ao humano com recomendação
304
+ 4. **Registrar** a decisão como ADR
305
+
306
+ > **NUNCA resolver conflitos automaticamente.** O humano decide.
307
+
308
+ ---
309
+
310
+ ## 🔧 Quality Gates (Enforcement)
311
+
312
+ \`\`\`
313
+ ╔══════════════════════════════════════════╗
314
+ ║ BUILD GATE ║
315
+ ║ $ ${buildCmd}
316
+ ║ Resultado: PASS ou BLOCK ║
317
+ ╠══════════════════════════════════════════╣
318
+ ║ TEST GATE ║
319
+ ║ $ ${testCmd}
320
+
321
+ ║ Resultado: PASS ou BLOCK ║
322
+ ╠══════════════════════════════════════════╣
323
+ ║ COVERAGE GATE ║
324
+ ║ Mínimo: ${config.coverageMinimum}% ║
325
+ ║ Resultado: PASS ou BLOCK ║
326
+ ║ ⚠️ INEGOCIÁVEL ║
327
+ ╠══════════════════════════════════════════╣
328
+ ║ SCORE GATE ║
329
+ ║ $ architect score ./src ║
330
+ ║ Mínimo: ${config.scoreThreshold}/100 ║
331
+ ║ Regressão: NÃO PERMITIDA ║
332
+ ╚══════════════════════════════════════════╝
333
+ \`\`\`
334
+
335
+ ---
336
+
337
+ **Gerado por Architect v8.1 · Score: ${report.score.overall}/100 · ${new Date().toISOString().split('T')[0]}**
338
+ `;
339
+ }
340
+ function buildAgentDispatch(ctx) {
341
+ const { stack } = ctx;
342
+ let dispatch = '';
343
+ // Add module context if enriched
344
+ const enriched = isEnriched(ctx) ? ctx : null;
345
+ const moduleContext = enriched?.modules?.length
346
+ ? ` (${enriched.modules.slice(0, 3).map((m) => m.name).join(', ')})`
347
+ : '';
348
+ if (stack.hasBackend) {
349
+ dispatch += ` ├──→ [${stack.primary.toUpperCase()}-BACKEND-DEVELOPER]${moduleContext}\n`;
350
+ dispatch += ` │ • Arquitetura de serviços e APIs\n`;
351
+ dispatch += ` │ • Lógica de negócio e validações\n`;
352
+ dispatch += ` │ • Entities, DTOs, migrations\n`;
353
+ dispatch += ` │\n`;
354
+ }
355
+ if (stack.hasFrontend) {
356
+ const fw = stack.frameworks.find(f => ['Angular', 'Vue', 'Next.js', 'React'].includes(f)) || 'FRONTEND';
357
+ dispatch += ` ├──→ [${fw.toUpperCase().replace('.', '')}-FRONTEND-DEVELOPER]\n`;
358
+ dispatch += ` │ • Componentes e páginas\n`;
359
+ dispatch += ` │ • State management e formulários\n`;
360
+ dispatch += ` │ • UX responsiva\n`;
361
+ dispatch += ` │\n`;
362
+ }
363
+ if (stack.hasMobile) {
364
+ dispatch += ` ├──→ [FLUTTER-UI-DEVELOPER]\n`;
365
+ dispatch += ` │ • Screens e widgets\n`;
366
+ dispatch += ` │ • Navegação e integração API\n`;
367
+ dispatch += ` │\n`;
368
+ }
369
+ if (stack.hasDatabase) {
370
+ dispatch += ` ├──→ [DATABASE-ENGINEER]\n`;
371
+ dispatch += ` │ • Schema design e migrations\n`;
372
+ dispatch += ` │ • Índices e performance de queries\n`;
373
+ dispatch += ` │\n`;
374
+ }
375
+ dispatch += ` ├──→ [SECURITY-AUDITOR]\n`;
376
+ dispatch += ` │ • Análise de ameaças (STRIDE)\n`;
377
+ dispatch += ` │ • Compliance check\n`;
378
+ dispatch += ` │\n`;
379
+ dispatch += ` ├──→ [QA-TEST-ENGINEER]\n`;
380
+ dispatch += ` │ • Plano de testes\n`;
381
+ dispatch += ` │ • Cobertura mínima: ${ctx.config.coverageMinimum}%\n`;
382
+ dispatch += ` │\n`;
383
+ dispatch += ` └──→ [TECH-DEBT-CONTROLLER]\n`;
384
+ dispatch += ` • Débito técnico existente\n`;
385
+ dispatch += ` • Refatorações pré-requisito\n`;
386
+ return dispatch;
387
+ }
388
+ function buildBusinessQuestions(ctx) {
389
+ const questions = [
390
+ 'Q1: Quem são os atores envolvidos? (personas)',
391
+ 'Q2: Qual o impacto em receita/negócio?',
392
+ 'Q3: Existem regras de negócio específicas?',
393
+ 'Q4: Quais métricas de sucesso?',
394
+ 'Q5: Há requisitos de compliance (LGPD, PCI, etc)?',
395
+ 'Q6: Quais módulos/serviços são afetados?',
396
+ 'Q7: Quais entidades de banco são tocadas?',
397
+ 'Q8: Existe fluxo de dados entre sistemas?',
398
+ 'Q9: Precisa de versionamento de API?',
399
+ 'Q10: Há integrações externas envolvidas?',
400
+ ];
401
+ // Add domain-specific questions if enriched context available
402
+ const enriched = isEnriched(ctx) ? ctx : null;
403
+ if (enriched?.domain) {
404
+ const { domain } = enriched;
405
+ questions.push(`Q11: Como isso se alinha com o domínio ${domain.domain}?`);
406
+ if (domain.compliance?.length) {
407
+ const complianceNames = domain.compliance.map((c) => c.name).join(', ');
408
+ questions.push(`Q12: Como garantir conformidade com ${complianceNames}?`);
409
+ }
410
+ if (domain.integrations?.length) {
411
+ const integrationNames = domain.integrations.slice(0, 3).map((i) => i.name).join(', ');
412
+ questions.push(`Q13: Como essa mudança afeta as integrações com ${integrationNames}?`);
413
+ }
414
+ }
415
+ if (ctx.stack.hasDatabase) {
416
+ const startIdx = enriched?.domain ? 14 : 11;
417
+ questions.push(`Q${startIdx}: Volume estimado de dados?`, `Q${startIdx + 1}: Há picos de uso previsíveis?`, `Q${startIdx + 2}: Processamento síncrono ou assíncrono?`);
418
+ }
419
+ let nextQ = questions.length + 1;
420
+ questions.push(`Q${nextQ++}: Quem precisa de autenticação?`, `Q${nextQ++}: Quais permissões são necessárias?`, `Q${nextQ++}: Há dados sensíveis envolvidos?`, `Q${nextQ++}: Quais ameaças são relevantes?`);
421
+ return questions.map(q => `- **${q}**`).join('\n');
422
+ }
423
+ //# sourceMappingURL=orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/core/orchestrator.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
+ * Generates enterprise-grade PREFLIGHT.md
4
+ * 6-phase checklist: mental prep → mandatory reads → environment → business rules →
5
+ * before-code by layer → before-done. Red flags, diagnostic template, delivery checklist.
6
+ */
7
+ export declare function generatePreflight(ctx: TemplateContext): string;
@@ -0,0 +1,213 @@
1
+ import { getEnriched } from '../template-helpers.js';
2
+ /**
3
+ * Generates enterprise-grade PREFLIGHT.md
4
+ * 6-phase checklist: mental prep → mandatory reads → environment → business rules →
5
+ * before-code by layer → before-done. Red flags, diagnostic template, delivery checklist.
6
+ */
7
+ export function generatePreflight(ctx) {
8
+ const { stack, projectName, config, report } = ctx;
9
+ const enriched = getEnriched(ctx);
10
+ const tc = enriched.toolchain;
11
+ return `---
12
+ antigravity:
13
+ trigger: 'always_on'
14
+ globs: ['**/*']
15
+ description: 'PREFLIGHT — Checklist obrigatório pré-ação para ${projectName}'
16
+ priority: CRITICAL
17
+ ---
18
+
19
+ # ✈️ PREFLIGHT — Checklist Pré-Ação
20
+
21
+ > **NENHUMA ação de código é permitida antes de completar este checklist.**
22
+ > Pular qualquer fase é violação do protocolo.
23
+
24
+ ---
25
+
26
+ ## FASE 0: Preparação Mental
27
+
28
+ Antes de abrir qualquer arquivo:
29
+
30
+ \`\`\`
31
+ □ Li e entendi a requisição COMPLETAMENTE
32
+ □ Sei qual WORKFLOW estou seguindo (new-feature / fix-bug / review)
33
+ □ Identifiquei as CAMADAS envolvidas (Backend / Frontend / App / Database)
34
+ □ Tenho CLAREZA sobre o que é esperado como entrega
35
+ □ Se algo não está claro → PAREI e PERGUNTEI ao humano
36
+ \`\`\`
37
+
38
+ ---
39
+
40
+ ## FASE 1: Leitura Obrigatória
41
+
42
+ \`\`\`
43
+ □ [00-general.md](../rules/00-general.md) → Regras de Ouro do projeto
44
+ □ [QUALITY-GATES.md](./QUALITY-GATES.md) → Métricas e blockers
45
+ □ LESSONS-LEARNED.md (se existir) → Erros passados
46
+ □ ERROR-PATTERNS.md (se existir) → Padrões de erro conhecidos
47
+ □ BUSINESS-RULES.md (se existir) → Regras de negócio do domínio
48
+ \`\`\`
49
+
50
+ > **Objetivo:** Não repetir erros e entender o contexto antes de agir.
51
+
52
+ ---
53
+
54
+ ## FASE 2: Verificação de Ambiente
55
+
56
+ \`\`\`bash
57
+ # Git: verificar branch e status
58
+ git branch --show-current # NUNCA em main/develop direto
59
+ git status # Limpo antes de começar
60
+ git pull origin <branch> # Sincronizado
61
+
62
+ # Deps: verificar se está tudo instalado
63
+ ${tc?.installCmd || (stack.packageManager === 'npm' ? 'npm ci' : stack.packageManager === 'pip' ? 'pip install -r requirements.txt' : stack.packageManager === 'pub' ? 'flutter pub get' : `${stack.packageManager} install`)}
64
+
65
+ # Build: verificar se compila
66
+ ${tc?.buildCmd || (stack.packageManager === 'npm' ? 'npm run build' : stack.packageManager === 'pub' ? 'flutter build' : 'make build')}
67
+
68
+ # Tests: verificar se passam ANTES de começar
69
+ ${tc?.testCmd || (stack.testFramework === 'pytest' ? 'pytest' : stack.testFramework === 'flutter_test' ? 'flutter test' : stack.testFramework === 'go test' ? 'go test ./...' : 'npm run test')}
70
+ \`\`\`
71
+
72
+ \`\`\`
73
+ □ Branch correta (NUNCA main/develop)
74
+ □ Working tree limpa
75
+ □ Dependências instaladas
76
+ □ Build passando
77
+ □ Testes passando ANTES da minha alteração
78
+ \`\`\`
79
+
80
+ ---
81
+
82
+ ## FASE 3: Verificação de Regras de Negócio
83
+
84
+ \`\`\`
85
+ □ Entendo QUEM são os atores afetados
86
+ □ Entendo QUAL é a regra de negócio envolvida
87
+ □ Verifiquei se existe documentação do domínio
88
+ □ Se a feature envolve dinheiro/pagamento → ATENÇÃO REDOBRADA
89
+ □ Se a feature envolve dados pessoais → verificar LGPD/compliance
90
+ □ Se a feature muda um fluxo existente → verificar impacto em features dependentes
91
+ \`\`\`
92
+
93
+ ---
94
+
95
+ ## FASE 4: Before-Code Checklist (por Camada)
96
+
97
+ ### 4A: Backend ${stack.hasBackend ? '✅' : '⬜ (skip se não aplicável)'}
98
+
99
+ \`\`\`
100
+ □ Entendo a estrutura de módulos existente
101
+ □ Sei onde criar/modificar controllers, services, entities
102
+ □ Verifiquei se já existe código similar (DRY)
103
+ □ DTOs e validações planejados
104
+ □ Tratamento de erros definido
105
+ □ Sei qual padrão de teste usar (unitário + integração)
106
+ □ Migrations planejadas (se houver alteração de banco)
107
+ \`\`\`
108
+
109
+ ### 4B: Frontend ${stack.hasFrontend ? '✅' : '⬜ (skip se não aplicável)'}
110
+
111
+ \`\`\`
112
+ □ MOCKUP aprovado pelo humano
113
+ □ Entendo o state management utilizado
114
+ □ Sei onde criar/modificar componentes
115
+ □ Verificar padrão visual (cores, fontes, espaçamentos)
116
+ □ Responsividade considerada
117
+ □ Acessibilidade básica (labels, aria, contraste)
118
+ □ Documento de integração do backend disponível
119
+ \`\`\`
120
+
121
+ ### 4C: Mobile (Flutter) ${stack.hasMobile ? '✅' : '⬜ (skip se não aplicável)'}
122
+
123
+ \`\`\`
124
+ □ MOCKUP aprovado pelo humano
125
+ □ Entendo a navegação atual do app
126
+ □ Sei onde criar/modificar screens e widgets
127
+ □ Verificar padrão visual do app
128
+ □ Comportamento offline considerado
129
+ □ Documento de integração do backend disponível
130
+ \`\`\`
131
+
132
+ ### 4D: Database ${stack.hasDatabase ? '✅' : '⬜ (skip se não aplicável)'}
133
+
134
+ \`\`\`
135
+ □ Schema atual compreendido
136
+ □ Migration reversível planejada
137
+ □ Índices necessários identificados
138
+ □ Impacto em queries existentes avaliado
139
+ □ Seed data / fixtures atualizados
140
+ □ Backup strategy para dados existentes
141
+ \`\`\`
142
+
143
+ ---
144
+
145
+ ## FASE 5: Before-Commit
146
+
147
+ \`\`\`
148
+ □ Build compila sem erros
149
+ □ TODOS os testes passam (velhos + novos)
150
+ □ Cobertura ≥ ${config.coverageMinimum}%
151
+ □ Lint sem warnings
152
+ □ Sem console.log / print() em produção
153
+ □ Sem TODO / FIXME sem issue
154
+ □ Sem secrets hardcoded
155
+ □ Sem arquivos > 500 linhas sem justificativa
156
+ □ Commit message segue padrão (feat: / fix: / refactor: / docs:)
157
+ □ Branch está atualizada com base (rebase se necessário)
158
+ \`\`\`
159
+
160
+ ---
161
+
162
+ ## FASE 6: Before-Done
163
+
164
+ \`\`\`
165
+ □ TODOS os critérios de aceite estão cobertos
166
+ □ Score não regrediu: architect score ./src ≥ ${config.scoreThreshold}/100
167
+ □ Documentação atualizada (se necessário)
168
+ □ LESSONS-LEARNED atualizado (se descobri algo novo)
169
+ □ PR criado com descrição completa
170
+ □ Code review solicitado
171
+ \`\`\`
172
+
173
+ ---
174
+
175
+ ## 🚩 Red Flags — PARE IMEDIATAMENTE SE:
176
+
177
+ | Red Flag | Ação |
178
+ |----------|------|
179
+ | Não entendo a requisição | PARAR → Perguntar ao humano |
180
+ | Código que mexo tem 0% de cobertura | PARAR → Escrever testes ANTES |
181
+ | Estou modificando > 10 arquivos | PARAR → Reavaliar escopo |
182
+ | Build quebrou após minha mudança | PARAR → Reverter → Investigar |
183
+ | Estou copiando/colando código | PARAR → Extrair abstração |
184
+ | Estou trabalhando em main/develop | PARAR → Criar branch |
185
+ | Não tenho mockup e a feature tem UI | PARAR → Gate 1 primeiro |
186
+ | Estou escrevendo código sem testes | PARAR → TDD |
187
+
188
+ ---
189
+
190
+ ## 🔍 Template de Diagnóstico
191
+
192
+ Execute antes de qualquer implementação:
193
+
194
+ \`\`\`bash
195
+ # Estrutura do projeto
196
+ find . -type f -name "*.${stack.primary === 'Python' ? 'py' : stack.primary === 'Dart' ? 'dart' : 'ts'}" | head -30
197
+
198
+ # Dependências do módulo que vou modificar
199
+ grep -r "import.*${stack.primary === 'Python' ? 'from' : 'from'}" --include="*.${stack.primary === 'Python' ? 'py' : 'ts'}" [modulo]/ | head -20
200
+
201
+ # Testes existentes
202
+ find . -name "*.test.*" -o -name "*.spec.*" -o -name "*_test.*" | head -20
203
+
204
+ # Score atual
205
+ npx @girardelli/architect score .
206
+ \`\`\`
207
+
208
+ ---
209
+
210
+ **Gerado por Architect v8.1 · Score: ${report.score.overall}/100 · ${new Date().toISOString().split('T')[0]}**
211
+ `;
212
+ }
213
+ //# sourceMappingURL=preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/core/preflight.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAoB;IACpD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC;IAE9B,OAAO;;;;kEAIyD,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgD3E,EAAE,EAAE,UAAU,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,UAAU,CAAC;;;EAG3N,EAAE,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;;;EAGpI,EAAE,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4B7K,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B;;;;;;;;;;;;mBAYnD,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B;;;;;;;;;;;;2BAY7C,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B;;;;;;;;;;;mBAW3D,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B;;;;;;;;;;;;;;;;;;gBAkBxD,MAAM,CAAC,eAAe;;;;;;;;;;;;;;;;gDAgBU,MAAM,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA8B3C,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;;;mBAGnF,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,kBAAkB,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;;;;;;;;;;;uCAWlF,MAAM,CAAC,KAAK,CAAC,OAAO,UAAU,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1G,CAAC;AACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { TemplateContext, EnrichedTemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ /**
3
+ * Generates enterprise-grade QUALITY-GATES.md
4
+ * 3-level gates (CRITICAL/IMPORTANT/DESIRABLE), per-layer checklists,
5
+ * explicit blockers list, metrics table, 4-stage verification process.
6
+ *
7
+ * Context-aware: Adds compliance-specific gates, untested modules warnings,
8
+ * and domain-specific blockers when enriched data is available.
9
+ */
10
+ export declare function generateQualityGates(ctx: TemplateContext | EnrichedTemplateContext): string;