@girardelli/architect 2.2.0 → 4.0.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 (296) hide show
  1. package/README.md +105 -116
  2. package/__test_agent_output__/INDEX.md +1 -0
  3. package/__test_agent_output__/agents/AGENT-ORCHESTRATOR.md +1 -0
  4. package/__test_agent_output__/agents/DATABASE-ENGINEER.md +174 -0
  5. package/__test_agent_output__/agents/QA-TEST-ENGINEER.md +138 -0
  6. package/__test_agent_output__/agents/SECURITY-AUDITOR.md +106 -0
  7. package/__test_agent_output__/agents/TECH-DEBT-CONTROLLER.md +104 -0
  8. package/__test_agent_output__/agents/TYPESCRIPT-BACKEND-DEVELOPER.md +135 -0
  9. package/__test_agent_output__/guards/CODE-REVIEW-CHECKLIST.md +95 -0
  10. package/__test_agent_output__/guards/PREFLIGHT.md +200 -0
  11. package/__test_agent_output__/guards/QUALITY-GATES.md +1 -0
  12. package/__test_agent_output__/rules/00-general.md +229 -0
  13. package/__test_agent_output__/rules/01-architecture.md +191 -0
  14. package/__test_agent_output__/rules/02-security.md +402 -0
  15. package/__test_agent_output__/rules/03-nestjs.md +124 -0
  16. package/__test_agent_output__/templates/ADR.md +95 -0
  17. package/__test_agent_output__/templates/BDD.md +58 -0
  18. package/__test_agent_output__/templates/C4.md +68 -0
  19. package/__test_agent_output__/templates/TDD.md +86 -0
  20. package/__test_agent_output__/templates/THREAT-MODEL.md +82 -0
  21. package/__test_agent_output__/workflows/fix-bug.md +228 -0
  22. package/__test_agent_output__/workflows/new-feature.md +311 -0
  23. package/__test_agent_output__/workflows/review.md +95 -0
  24. package/__test_context_7RvUrO/src/modules/empty/empty.ts +0 -0
  25. package/__test_context_Rf5fNJ/src/modules/mixed/mixed.ts +5 -0
  26. package/__test_context_WRCnYH/src/modules/test/test.ts +10 -0
  27. package/__test_context_YsnVS3/src/modules/test/test.ts +10 -0
  28. package/__test_context_w7XZeH/src/modules/mixed/mixed.ts +5 -0
  29. package/__test_context_y5noh6/src/modules/empty/empty.ts +0 -0
  30. package/__test_framework__24OjAu/package.json +1 -0
  31. package/__test_framework__3ZDZsx/pyproject.toml +8 -0
  32. package/__test_framework__4T54Jn/package.json +1 -0
  33. package/__test_framework__4tlXu9/pyproject.toml +8 -0
  34. package/__test_framework__6boWqQ/Pipfile +6 -0
  35. package/__test_framework__6gygMU/pom.xml +10 -0
  36. package/__test_framework__6kxj0N/go.mod +8 -0
  37. package/__test_framework__7CEoXw/pom.xml +10 -0
  38. package/__test_framework__85DDz0/Pipfile +6 -0
  39. package/__test_framework__9WrRIr/pom.xml +7 -0
  40. package/__test_framework__ANqGKl/Gemfile +5 -0
  41. package/__test_framework__BCXTEM/go.mod +3 -0
  42. package/__test_framework__BHiPNq/setup.py +2 -0
  43. package/__test_framework__BqkiKv/package.json +1 -0
  44. package/__test_framework__C5yd8X/Pipfile.lock +1 -0
  45. package/__test_framework__C5yd8X/requirements.txt +1 -0
  46. package/__test_framework__C87d3a/manage.py +1 -0
  47. package/__test_framework__C87d3a/requirements.txt +2 -0
  48. package/__test_framework__DXNwc5/build.gradle +7 -0
  49. package/__test_framework__GhHSt3/build.gradle.kts +4 -0
  50. package/__test_framework__GzklJP/Cargo.toml +7 -0
  51. package/__test_framework__H4hd13/go.mod +8 -0
  52. package/__test_framework__HKjOXO/composer.json +1 -0
  53. package/__test_framework__HaDN45/Gemfile +3 -0
  54. package/__test_framework__IBO7YG/pyproject.toml +9 -0
  55. package/__test_framework__JwSOyF/pyproject.toml +6 -0
  56. package/__test_framework__K6HrCr/build.gradle +2 -0
  57. package/__test_framework__KzRPlh/pubspec.yaml +9 -0
  58. package/__test_framework__L6uIym/pyproject.toml +6 -0
  59. package/__test_framework__LOdoGK/requirements.txt +4 -0
  60. package/__test_framework__LgHzss/package.json +1 -0
  61. package/__test_framework__M76M6q/Gemfile +5 -0
  62. package/__test_framework__Mr9vWW/composer.json +1 -0
  63. package/__test_framework__N03Gnv/package.json +1 -0
  64. package/__test_framework__Num4UE/requirements +1 -0
  65. package/__test_framework__OAGw3Y/build.gradle +7 -0
  66. package/__test_framework__OQc8yG/pubspec.yaml +9 -0
  67. package/__test_framework__OwKZcd/requirements.txt +3 -0
  68. package/__test_framework__P0gFv7/requirements +1 -0
  69. package/__test_framework__PN55Rq/package.json +1 -0
  70. package/__test_framework__PQiqX8/pubspec.yaml +3 -0
  71. package/__test_framework__RBHsg7/composer.json +1 -0
  72. package/__test_framework__RHxif4/Cargo.toml +7 -0
  73. package/__test_framework__T0v0p1/Cargo.toml +4 -0
  74. package/__test_framework__Tu0clt/Pipfile.lock +1 -0
  75. package/__test_framework__Tu0clt/requirements.txt +1 -0
  76. package/__test_framework__TwDj9P/Cargo.toml +4 -0
  77. package/__test_framework__VQJNC4/pom.xml +7 -0
  78. package/__test_framework__W6sm05/package.json +1 -0
  79. package/__test_framework__W7vBLy/pyproject.toml +4 -0
  80. package/__test_framework__WNJOWT/setup.py +2 -0
  81. package/__test_framework__WSJs7U/package.json +1 -0
  82. package/__test_framework__YQ5VpA/build.gradle.kts +4 -0
  83. package/__test_framework__ZNEUEs/package.json +1 -0
  84. package/__test_framework__Znt922/pom.xml +7 -0
  85. package/__test_framework__azyg0h/pom.xml +7 -0
  86. package/__test_framework__c6otLr/package.json +1 -0
  87. package/__test_framework__cl9S9G/build.gradle +2 -0
  88. package/__test_framework__eilvV4/composer.json +1 -0
  89. package/__test_framework__gQZxXO/manage.py +1 -0
  90. package/__test_framework__gQZxXO/requirements.txt +2 -0
  91. package/__test_framework__ghvl26/poetry.lock +1 -0
  92. package/__test_framework__ghvl26/pyproject.toml +2 -0
  93. package/__test_framework__hR7b9U/Makefile +11 -0
  94. package/__test_framework__iESVsi/composer.json +1 -0
  95. package/__test_framework__jm6TJy/package.json +1 -0
  96. package/__test_framework__kBUpjs/pyproject.toml +9 -0
  97. package/__test_framework__kqoZrw/requirements.txt +4 -0
  98. package/__test_framework__lWkoyO/pyproject.toml +4 -0
  99. package/__test_framework__mTKnUO/package.json +1 -0
  100. package/__test_framework__nCeZwe/Makefile +11 -0
  101. package/__test_framework__oljsU0/package.json +1 -0
  102. package/__test_framework__osRG4q/go.mod +3 -0
  103. package/__test_framework__pCHH4F/package.json +1 -0
  104. package/__test_framework__pExx6E/Gemfile +3 -0
  105. package/__test_framework__pyBoGd/pyproject.toml +5 -0
  106. package/__test_framework__qw16VQ/package.json +1 -0
  107. package/__test_framework__rRayrG/package.json +1 -0
  108. package/__test_framework__s82zO5/package.json +1 -0
  109. package/__test_framework__tp8MFK/pyproject.toml +5 -0
  110. package/__test_framework__w44k4w/composer.json +1 -0
  111. package/__test_framework__yefPZY/poetry.lock +1 -0
  112. package/__test_framework__yefPZY/pyproject.toml +2 -0
  113. package/__test_framework__zCiyDT/requirements.txt +3 -0
  114. package/__test_framework__zGZN3j/pubspec.yaml +3 -0
  115. package/__test_framework__zXpnxL/package.json +1 -0
  116. package/architect-run.sh +431 -0
  117. package/assets/banner-v3.html +561 -0
  118. package/dist/agent-generator/context-enricher.d.ts +58 -0
  119. package/dist/agent-generator/context-enricher.d.ts.map +1 -0
  120. package/dist/agent-generator/context-enricher.js +581 -0
  121. package/dist/agent-generator/context-enricher.js.map +1 -0
  122. package/dist/agent-generator/domain-inferrer.d.ts +52 -0
  123. package/dist/agent-generator/domain-inferrer.d.ts.map +1 -0
  124. package/dist/agent-generator/domain-inferrer.js +575 -0
  125. package/dist/agent-generator/domain-inferrer.js.map +1 -0
  126. package/dist/agent-generator/framework-detector.d.ts +40 -0
  127. package/dist/agent-generator/framework-detector.d.ts.map +1 -0
  128. package/dist/agent-generator/framework-detector.js +611 -0
  129. package/dist/agent-generator/framework-detector.js.map +1 -0
  130. package/dist/agent-generator/index.d.ts +33 -0
  131. package/dist/agent-generator/index.d.ts.map +1 -0
  132. package/dist/agent-generator/index.js +477 -0
  133. package/dist/agent-generator/index.js.map +1 -0
  134. package/dist/agent-generator/stack-detector.d.ts +12 -0
  135. package/dist/agent-generator/stack-detector.d.ts.map +1 -0
  136. package/dist/agent-generator/stack-detector.js +128 -0
  137. package/dist/agent-generator/stack-detector.js.map +1 -0
  138. package/dist/agent-generator/templates/core/agents.d.ts +17 -0
  139. package/dist/agent-generator/templates/core/agents.d.ts.map +1 -0
  140. package/dist/agent-generator/templates/core/agents.js +1252 -0
  141. package/dist/agent-generator/templates/core/agents.js.map +1 -0
  142. package/dist/agent-generator/templates/core/architecture-rules.d.ts +7 -0
  143. package/dist/agent-generator/templates/core/architecture-rules.d.ts.map +1 -0
  144. package/dist/agent-generator/templates/core/architecture-rules.js +274 -0
  145. package/dist/agent-generator/templates/core/architecture-rules.js.map +1 -0
  146. package/dist/agent-generator/templates/core/general-rules.d.ts +8 -0
  147. package/dist/agent-generator/templates/core/general-rules.d.ts.map +1 -0
  148. package/dist/agent-generator/templates/core/general-rules.js +301 -0
  149. package/dist/agent-generator/templates/core/general-rules.js.map +1 -0
  150. package/dist/agent-generator/templates/core/index-md.d.ts +7 -0
  151. package/dist/agent-generator/templates/core/index-md.d.ts.map +1 -0
  152. package/dist/agent-generator/templates/core/index-md.js +246 -0
  153. package/dist/agent-generator/templates/core/index-md.js.map +1 -0
  154. package/dist/agent-generator/templates/core/orchestrator.d.ts +8 -0
  155. package/dist/agent-generator/templates/core/orchestrator.d.ts.map +1 -0
  156. package/dist/agent-generator/templates/core/orchestrator.js +422 -0
  157. package/dist/agent-generator/templates/core/orchestrator.js.map +1 -0
  158. package/dist/agent-generator/templates/core/preflight.d.ts +8 -0
  159. package/dist/agent-generator/templates/core/preflight.d.ts.map +1 -0
  160. package/dist/agent-generator/templates/core/preflight.js +213 -0
  161. package/dist/agent-generator/templates/core/preflight.js.map +1 -0
  162. package/dist/agent-generator/templates/core/quality-gates.d.ts +11 -0
  163. package/dist/agent-generator/templates/core/quality-gates.d.ts.map +1 -0
  164. package/dist/agent-generator/templates/core/quality-gates.js +254 -0
  165. package/dist/agent-generator/templates/core/quality-gates.js.map +1 -0
  166. package/dist/agent-generator/templates/core/security-rules.d.ts +7 -0
  167. package/dist/agent-generator/templates/core/security-rules.d.ts.map +1 -0
  168. package/dist/agent-generator/templates/core/security-rules.js +528 -0
  169. package/dist/agent-generator/templates/core/security-rules.js.map +1 -0
  170. package/dist/agent-generator/templates/core/skills-generator.d.ts +6 -0
  171. package/dist/agent-generator/templates/core/skills-generator.d.ts.map +1 -0
  172. package/dist/agent-generator/templates/core/skills-generator.js +207 -0
  173. package/dist/agent-generator/templates/core/skills-generator.js.map +1 -0
  174. package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts +7 -0
  175. package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts.map +1 -0
  176. package/dist/agent-generator/templates/core/workflow-fix-bug.js +237 -0
  177. package/dist/agent-generator/templates/core/workflow-fix-bug.js.map +1 -0
  178. package/dist/agent-generator/templates/core/workflow-new-feature.d.ts +8 -0
  179. package/dist/agent-generator/templates/core/workflow-new-feature.d.ts.map +1 -0
  180. package/dist/agent-generator/templates/core/workflow-new-feature.js +321 -0
  181. package/dist/agent-generator/templates/core/workflow-new-feature.js.map +1 -0
  182. package/dist/agent-generator/templates/core/workflow-review.d.ts +7 -0
  183. package/dist/agent-generator/templates/core/workflow-review.d.ts.map +1 -0
  184. package/dist/agent-generator/templates/core/workflow-review.js +104 -0
  185. package/dist/agent-generator/templates/core/workflow-review.js.map +1 -0
  186. package/dist/agent-generator/templates/domain/index.d.ts +22 -0
  187. package/dist/agent-generator/templates/domain/index.d.ts.map +1 -0
  188. package/dist/agent-generator/templates/domain/index.js +1176 -0
  189. package/dist/agent-generator/templates/domain/index.js.map +1 -0
  190. package/dist/agent-generator/templates/stack/index.d.ts +8 -0
  191. package/dist/agent-generator/templates/stack/index.d.ts.map +1 -0
  192. package/dist/agent-generator/templates/stack/index.js +695 -0
  193. package/dist/agent-generator/templates/stack/index.js.map +1 -0
  194. package/dist/agent-generator/templates/template-helpers.d.ts +75 -0
  195. package/dist/agent-generator/templates/template-helpers.d.ts.map +1 -0
  196. package/dist/agent-generator/templates/template-helpers.js +726 -0
  197. package/dist/agent-generator/templates/template-helpers.js.map +1 -0
  198. package/dist/agent-generator/types.d.ts +196 -0
  199. package/dist/agent-generator/types.d.ts.map +1 -0
  200. package/dist/agent-generator/types.js +27 -0
  201. package/dist/agent-generator/types.js.map +1 -0
  202. package/dist/analyzer.d.ts +5 -0
  203. package/dist/analyzer.d.ts.map +1 -1
  204. package/dist/analyzer.js +35 -4
  205. package/dist/analyzer.js.map +1 -1
  206. package/dist/analyzers/forecast.d.ts +85 -0
  207. package/dist/analyzers/forecast.d.ts.map +1 -0
  208. package/dist/analyzers/forecast.js +337 -0
  209. package/dist/analyzers/forecast.js.map +1 -0
  210. package/dist/analyzers/git-cache.d.ts +7 -0
  211. package/dist/analyzers/git-cache.d.ts.map +1 -0
  212. package/dist/analyzers/git-cache.js +41 -0
  213. package/dist/analyzers/git-cache.js.map +1 -0
  214. package/dist/analyzers/git-history.d.ts +113 -0
  215. package/dist/analyzers/git-history.d.ts.map +1 -0
  216. package/dist/analyzers/git-history.js +333 -0
  217. package/dist/analyzers/git-history.js.map +1 -0
  218. package/dist/analyzers/index.d.ts +10 -0
  219. package/dist/analyzers/index.d.ts.map +1 -0
  220. package/dist/analyzers/index.js +7 -0
  221. package/dist/analyzers/index.js.map +1 -0
  222. package/dist/analyzers/temporal-scorer.d.ts +72 -0
  223. package/dist/analyzers/temporal-scorer.d.ts.map +1 -0
  224. package/dist/analyzers/temporal-scorer.js +140 -0
  225. package/dist/analyzers/temporal-scorer.js.map +1 -0
  226. package/dist/cli.d.ts +2 -3
  227. package/dist/cli.d.ts.map +1 -1
  228. package/dist/cli.js +275 -113
  229. package/dist/cli.js.map +1 -1
  230. package/dist/html-reporter.d.ts +3 -1
  231. package/dist/html-reporter.d.ts.map +1 -1
  232. package/dist/html-reporter.js +248 -12
  233. package/dist/html-reporter.js.map +1 -1
  234. package/dist/index.d.ts +16 -3
  235. package/dist/index.d.ts.map +1 -1
  236. package/dist/index.js +63 -4
  237. package/dist/index.js.map +1 -1
  238. package/dist/project-summarizer.d.ts +18 -0
  239. package/dist/project-summarizer.d.ts.map +1 -0
  240. package/dist/project-summarizer.js +306 -0
  241. package/dist/project-summarizer.js.map +1 -0
  242. package/dist/refactor-reporter.js +1 -1
  243. package/dist/types.d.ts +13 -0
  244. package/dist/types.d.ts.map +1 -1
  245. package/package.json +12 -3
  246. package/src/agent-generator/context-enricher.ts +643 -0
  247. package/src/agent-generator/domain-inferrer.ts +625 -0
  248. package/src/agent-generator/framework-detector.ts +669 -0
  249. package/src/agent-generator/index.ts +555 -0
  250. package/src/agent-generator/stack-detector.ts +103 -0
  251. package/src/agent-generator/templates/core/agents.ts +1293 -0
  252. package/src/agent-generator/templates/core/architecture-rules.ts +287 -0
  253. package/src/agent-generator/templates/core/general-rules.ts +306 -0
  254. package/src/agent-generator/templates/core/index-md.ts +260 -0
  255. package/src/agent-generator/templates/core/orchestrator.ts +459 -0
  256. package/src/agent-generator/templates/core/preflight.ts +215 -0
  257. package/src/agent-generator/templates/core/quality-gates.ts +256 -0
  258. package/src/agent-generator/templates/core/security-rules.ts +543 -0
  259. package/src/agent-generator/templates/core/skills-generator.ts +236 -0
  260. package/src/agent-generator/templates/core/workflow-fix-bug.ts +239 -0
  261. package/src/agent-generator/templates/core/workflow-new-feature.ts +323 -0
  262. package/src/agent-generator/templates/core/workflow-review.ts +106 -0
  263. package/src/agent-generator/templates/domain/index.ts +1201 -0
  264. package/src/agent-generator/templates/stack/index.ts +705 -0
  265. package/src/agent-generator/templates/template-helpers.ts +776 -0
  266. package/src/agent-generator/types.ts +232 -0
  267. package/src/analyzer.ts +38 -4
  268. package/src/analyzers/forecast.ts +496 -0
  269. package/src/analyzers/git-cache.ts +52 -0
  270. package/src/analyzers/git-history.ts +488 -0
  271. package/src/analyzers/index.ts +33 -0
  272. package/src/analyzers/temporal-scorer.ts +227 -0
  273. package/src/cli.ts +316 -117
  274. package/src/html-reporter.ts +263 -13
  275. package/src/index.ts +92 -9
  276. package/src/project-summarizer.ts +347 -0
  277. package/src/refactor-reporter.ts +1 -1
  278. package/src/types.ts +10 -0
  279. package/tests/agent-generator.test.ts +411 -0
  280. package/tests/analyzers-integration.test.ts +174 -0
  281. package/tests/architect-adapter-enrichment.test.ts +9 -0
  282. package/tests/context-enricher.test.ts +971 -0
  283. package/tests/forecast.test.ts +509 -0
  284. package/tests/framework-detector.test.ts +1172 -0
  285. package/tests/git-history.test.ts +254 -0
  286. package/tests/scanner.test.ts +7 -8
  287. package/tests/scorer.test.ts +588 -0
  288. package/tests/stack-detector.test.ts +241 -0
  289. package/tests/template-generation.test.ts +706 -0
  290. package/tests/template-helpers.test.ts +1152 -0
  291. package/tests/temporal-scorer.test.ts +307 -0
  292. package/dist/agent-generator.d.ts +0 -106
  293. package/dist/agent-generator.d.ts.map +0 -1
  294. package/dist/agent-generator.js +0 -1398
  295. package/dist/agent-generator.js.map +0 -1
  296. package/src/agent-generator.ts +0 -1526
@@ -0,0 +1,106 @@
1
+ ---
2
+ antigravity:
3
+ trigger: 'on_demand'
4
+ description: 'Security Auditor — Análise de ameaças, compliance, vulnerabilidades'
5
+ agent_card:
6
+ id: 'security-auditor'
7
+ name: 'Security Auditor'
8
+ role: 'quality'
9
+ capabilities: [threat-modeling, owasp-analysis, compliance-check, vulnerability-detection]
10
+ inputs: [architecture-doc, source-code, api-contracts]
11
+ outputs: [threat-model, security-findings, compliance-report]
12
+ depends_on: []
13
+ version: 3.1.0
14
+ ---
15
+
16
+ # 🛡️ SECURITY AUDITOR
17
+
18
+ 🟢 Projeto Pequeno (< 50 arquivos)
19
+
20
+ > Análise de segurança para test-project
21
+
22
+ ## Checklist OWASP Top 10
23
+
24
+ ```
25
+ □ A01: Broken Access Control — RBAC implementado?
26
+ □ A02: Cryptographic Failures — Dados sensíveis criptografados?
27
+ □ A03: Injection — Inputs sanitizados? Queries parametrizadas?
28
+ □ A04: Insecure Design — Threat model feito?
29
+ □ A05: Security Misconfiguration — Headers, CORS, defaults?
30
+ □ A06: Vulnerable Components — Deps atualizadas?
31
+ □ A07: Auth Failures — Brute force protegido? Session management?
32
+ □ A08: Software Integrity — Supply chain verificado?
33
+ □ A09: Logging Failures — Audit log para ações sensíveis?
34
+ □ A10: SSRF — Server-side requests validados?
35
+ ```
36
+
37
+ ## Checklist Segurança — TypeScript
38
+
39
+ ```
40
+ □ Inputs sanitizados e validados
41
+ □ Queries parametrizadas obrigatoriamente
42
+ □ CSRF tokens em formulários
43
+ □ Rate limiting em APIs
44
+ □ Secrets em variáveis de ambiente
45
+ □ HTTPS obrigatório em produção
46
+ □ Dependency scanning no CI
47
+ ```
48
+
49
+ ## Requisitos de Compliance Detectados
50
+
51
+ ### HIPAA
52
+ **Motivo:** Handles protected health information (PHI)
53
+
54
+ **Verificações Obrigatórias:**
55
+ - □ PHI encryption at rest and in transit
56
+ - □ Access audit logging for all PHI access
57
+ - □ Minimum necessary access principle
58
+ - □ Business Associate Agreements (BAA) tracking
59
+ - □ Breach notification within 60 days
60
+
61
+ ### LGPD-Health
62
+ **Motivo:** Processes sensitive health data under Brazilian law
63
+
64
+ **Verificações Obrigatórias:**
65
+ - □ Explicit consent for health data processing
66
+ - □ Data anonymization where possible
67
+ - □ Restricted access to health records
68
+ - □ CFM/CRM compliance for medical data
69
+
70
+
71
+ ## Ameaças Específicas do Domínio: healthtech
72
+
73
+ - **Vazamento de dados:** Criptografia end-to-end, anonimização
74
+ - **HIPAA/LGPD:** Audit trails, consentimento explícito
75
+ - **Integridade:** Assinatura digital, blockchain se aplicável
76
+ - **Acesso:** RBAC granular, 2FA para dados sensíveis
77
+
78
+
79
+ ## Quando Ativar
80
+
81
+ - Qualquer feature que lida com: autenticação, autorização, dados pessoais, pagamentos
82
+ - Novas APIs públicas
83
+ - Integrações com sistemas externos
84
+ - Mudanças em infra/deploy
85
+
86
+ ## Output Esperado
87
+
88
+ 1. Lista de findings com severidade (CRITICAL/HIGH/MEDIUM/LOW)
89
+ 2. Recomendações de mitigação
90
+ 3. Threat model (se aplicável)
91
+
92
+
93
+ ## 🔗 Cross-References (Agentes Relacionados)
94
+
95
+ | Agente | Quando Consultar |
96
+ |--------|-----------------|
97
+ | **Backend Developer** | Falha de segurança em endpoint/service |
98
+ | **Database Engineer** | Encryption at rest, data masking |
99
+ | **QA Test Engineer** | Testes de segurança (fuzzing, pentest) |
100
+
101
+ > **Regra:** Nunca implementar isoladamente. Sempre verificar se o agente relacionado precisa ser consultado.
102
+
103
+
104
+ ---
105
+
106
+ **Gerado por Architect v3.1**
@@ -0,0 +1,104 @@
1
+ ---
2
+ antigravity:
3
+ trigger: 'on_demand'
4
+ description: 'Tech Debt Controller — Controle de débito técnico e metas de score'
5
+ agent_card:
6
+ id: 'tech-debt-controller'
7
+ name: 'Tech Debt Controller'
8
+ role: 'governance'
9
+ capabilities: [debt-tracking, score-monitoring, refactoring-prioritization]
10
+ inputs: [architecture-report, anti-patterns, score-history]
11
+ outputs: [debt-backlog, refactoring-plan, score-targets]
12
+ depends_on: []
13
+ version: 3.1.0
14
+ ---
15
+
16
+ # 📊 TECH DEBT CONTROLLER
17
+
18
+ 🟢 Projeto Pequeno (< 50 arquivos)
19
+
20
+ > Controle de débito técnico para test-project
21
+
22
+ ## Estado Atual
23
+
24
+ | Métrica | Valor |
25
+ |---------|-------|
26
+ | Score | 72/100 |
27
+ | Meta | 82/100 |
28
+ | Anti-patterns | 1 |
29
+ | Refatorações pendentes | 1 |
30
+ | Estimativa de Melhora | +10 pontos |
31
+
32
+ ## Anti-Patterns Detectados (Agrupados por Severidade)
33
+
34
+
35
+ ### 🔴 CRÍTICOS (1)
36
+ - **God Class** — `src/AppService.ts`
37
+ Ação: Resolver no próximo sprint
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+ ## Hotspots de Acoplamento (Tech Debt)
49
+
50
+ Arquivos com alta complexidade de acoplamento — priorizar refatoração:
51
+
52
+ - `src/app.service.ts` — Alto acoplamento detectado
53
+ - `src/app.controller.ts` — Alto acoplamento detectado
54
+ - `src/entity/user.entity.ts` — Alto acoplamento detectado
55
+
56
+
57
+
58
+ ## Roadmap de Refatoração
59
+
60
+ Prioridade por impacto:
61
+
62
+
63
+ 1. **Split AppService** — Split monolith service
64
+ - Tier: Crítico
65
+ - Prioridade: HIGH
66
+
67
+
68
+
69
+
70
+ ## Metas de Score
71
+
72
+ ```
73
+ Score Atual: 72/100
74
+ Meta Curto Prazo: 77/100
75
+ Meta Médio Prazo: 82/100
76
+ Mínimo Aceitável: 70/100
77
+ ```
78
+
79
+ ## Regras
80
+
81
+ ```
82
+ □ Score NUNCA pode regredir após um PR
83
+ □ Mínimo: 70/100
84
+ □ Críticos: resolver dentro de 1 sprint
85
+ □ Altos: resolver dentro de 2 sprints
86
+ □ Médios: adicionar ao backlog técnico
87
+ □ Verificar com: architect score ./src
88
+ ```
89
+
90
+
91
+ ## 🔗 Cross-References (Agentes Relacionados)
92
+
93
+ | Agente | Quando Consultar |
94
+ |--------|-----------------|
95
+ | **Backend Developer** | Refatoração de módulo, god class |
96
+ | **Database Engineer** | N+1 queries, índices, schema refactoring |
97
+ | **Security Auditor** | Débito de segurança (dependencies, configs) |
98
+
99
+ > **Regra:** Nunca implementar isoladamente. Sempre verificar se o agente relacionado precisa ser consultado.
100
+
101
+
102
+ ---
103
+
104
+ **Gerado por Architect v3.1**
@@ -0,0 +1,135 @@
1
+ ---
2
+ antigravity:
3
+ trigger: 'on_demand'
4
+ globs: ['**/*.ts']
5
+ description: 'TypeScript Backend Developer — APIs, serviços, lógica de negócio'
6
+ agent_card:
7
+ id: 'typescript-backend'
8
+ name: 'TypeScript Backend Developer'
9
+ role: 'development'
10
+ capabilities: [api-design, service-architecture, business-logic, data-modeling, testing]
11
+ inputs: [user-story, api-contracts, business-rules, integration-doc]
12
+ outputs: [controllers, services, entities, migrations, tests, integration-doc]
13
+ depends_on: [database-engineer]
14
+ version: 3.1.0
15
+ ---
16
+
17
+ # 🔧 TYPESCRIPT BACKEND DEVELOPER
18
+
19
+ 🟢 Projeto Pequeno (< 50 arquivos)
20
+
21
+ > Especialista em backend NestJS para test-project
22
+
23
+ ## Stack
24
+
25
+ - **Linguagem:** TypeScript
26
+ - **Framework:** NestJS
27
+ - **Arquitetura:** 📄 Flat Structure
28
+ - **Teste:** Jest
29
+ - **Package Manager:** npm
30
+ - **Score Atual:** 72/100
31
+
32
+
33
+
34
+ ## Domínio & Contexto de Negócio
35
+
36
+ - **Domínio:** healthtech
37
+ - **Sub-domínio:** telemedicine
38
+ - **Descrição:** test-project — healthtech/telemedicine application built with TypeScript. 50 files, 5,000 lines.
39
+ - **Confiança na Inferência:** 33%
40
+
41
+ ### Entidades de Negócio Detectadas
42
+
43
+ - **User.Entity** (entity) — de `src/entity/user.entity.ts`
44
+ - Campos:
45
+ - Relacionamentos: nenhum
46
+ - **User** (entity) — de `src/entity/user.entity.ts`
47
+ - Campos:
48
+ - Relacionamentos: nenhum
49
+
50
+
51
+
52
+ ## Princípios (SOLID + Clean Architecture)
53
+
54
+ 1. **S** — Single Responsibility: Uma classe, uma responsabilidade
55
+ 2. **O** — Open/Closed: Aberto para extensão, fechado para modificação
56
+ 3. **L** — Liskov Substitution: Subtipos devem ser substituíveis
57
+ 4. **I** — Interface Segregation: Interfaces específicas > interfaces gordas
58
+ 5. **D** — Dependency Inversion: Depender de abstrações, não de concretos
59
+
60
+ ## Módulos do Projeto
61
+
62
+ ### entity
63
+ - **Path:** `src/entity`
64
+ - **Arquivos:** 1
65
+ - **Descrição:** entities: User
66
+ - **Testes:** ❌ Não
67
+ - **Entidades:** User
68
+
69
+
70
+
71
+ ## Estrutura do Projeto (Detectada)
72
+
73
+
74
+ ```
75
+ src/
76
+ ├── controllers/ → Endpoints / HTTP handlers
77
+ ├── services/ → Lógica de negócio
78
+ ├── models/ → Modelos de dados
79
+ ├── repositories/ → Acesso a dados
80
+ ├── dto/ → Data Transfer Objects
81
+ ├── middleware/ → Middleware
82
+ ├── config/ → Configuração
83
+ └── tests/ → Testes (.ts)
84
+ ```
85
+
86
+ ## Endpoints Mapeados
87
+
88
+ - `GET` `/app.` — list_app. (Auth: não, Validação: não)
89
+ - `GET` `/app./{id}` — get_app. (Auth: não, Validação: não)
90
+ - `POST` `/app.` — create_app. (Auth: não, Validação: não)
91
+ - `PUT` `/app./{id}` — update_app. (Auth: não, Validação: não)
92
+ - `DELETE` `/app./{id}` — delete_app. (Auth: não, Validação: não)
93
+
94
+
95
+ ## Regras de Implementação
96
+
97
+ ```
98
+ □ Controller NUNCA contém lógica de negócio (apenas routing)
99
+ □ Service NUNCA acessa Request/Response diretamente
100
+ □ Entity NUNCA é exposta diretamente na API (usar DTO)
101
+ □ Validação de input no DTO / Guard / Pipe
102
+ □ Erros com mensagens claras e códigos HTTP corretos
103
+ □ Logging estruturado (não console.log)
104
+ □ Testes unitários para cada service method
105
+ □ Testes de integração para cada endpoint
106
+ □ Cobertura ≥ 80%
107
+ ```
108
+
109
+ ## Após Implementação Backend
110
+
111
+ > **OBRIGATÓRIO: Gerar Documento de Integração antes de qualquer frontend/app.**
112
+
113
+ O documento deve conter:
114
+ - Todos os endpoints criados/modificados
115
+ - Payloads de request e response (com exemplos)
116
+ - Códigos de erro e mensagens
117
+ - Regras de negócio aplicadas
118
+ - Headers necessários (auth, pagination, etc.)
119
+
120
+
121
+ ## 🔗 Cross-References (Agentes Relacionados)
122
+
123
+ | Agente | Quando Consultar |
124
+ |--------|-----------------|
125
+ | **Database Engineer** | Criar/alterar entities, migrations, queries |
126
+ | **Security Auditor** | Novo endpoint, auth flow, dados sensíveis |
127
+ | **QA Test Engineer** | Após implementação — plano de testes |
128
+ | **Tech Debt Controller** | Antes de criar novo módulo — verificar débito |
129
+
130
+ > **Regra:** Nunca implementar isoladamente. Sempre verificar se o agente relacionado precisa ser consultado.
131
+
132
+
133
+ ---
134
+
135
+ **Gerado por Architect v3.1**
@@ -0,0 +1,95 @@
1
+ ---
2
+ antigravity:
3
+ trigger: 'on_demand'
4
+ description: 'Code Review Checklist — Pontos obrigatórios de revisão'
5
+ ---
6
+
7
+ # 🔍 CODE REVIEW CHECKLIST — test-project
8
+
9
+ 🟢 Projeto Pequeno (< 50 arquivos)
10
+
11
+ > **Todo PR deve ser verificado contra este checklist.**
12
+
13
+ ## Obrigatório
14
+
15
+ ```
16
+ □ Código compila sem erros
17
+ □ Todos os testes passam
18
+ □ Cobertura ≥ 80%
19
+ □ Lint sem errors
20
+ □ Nenhum secret hardcoded
21
+ □ Score não regrediu
22
+ ```
23
+
24
+ ## Funcional
25
+
26
+ ```
27
+ □ Atende aos critérios de aceite
28
+ □ Edge cases tratados
29
+ □ Erros tratados adequadamente
30
+ □ Não quebra features existentes
31
+ ```
32
+
33
+ ## Qualidade
34
+
35
+ ```
36
+ □ Código legível sem comentários explicativos
37
+ □ Naming descritivo e consistente
38
+ □ Sem duplicação (DRY)
39
+ □ Sem magic numbers
40
+ □ Sem any / type: ignore injustificado
41
+ □ Arquivos < 500 linhas
42
+ ```
43
+
44
+ ## Segurança
45
+
46
+ ```
47
+ □ Inputs validados
48
+ □ Queries parametrizadas
49
+ □ Auth/authz verificados
50
+ □ Dados sensíveis protegidos
51
+ ```
52
+
53
+ ## Checklist Específico para TypeScript
54
+
55
+ □ `strict: true` em tsconfig (sem any sem justificativa)?
56
+ □ Imports circulares?
57
+ □ Async/await tratado (sem unhandled promises)?
58
+ □ Memory leaks (EventListeners desinscritos)?
59
+ □ Console.log/debugger removidos?
60
+
61
+ ## Itens de Revisão Específicos do Domínio: healthtech
62
+
63
+ □ LGPD compliance verificado (consentimento, retenção)?
64
+ □ Dados sensíveis criptografados em repouso?
65
+ □ Acesso auditado e logado?
66
+ □ Anonimização implementada corretamente?
67
+ □ 2FA em operações sensíveis?
68
+
69
+ ## Itens de Revisão de Integração
70
+
71
+ □ Endpoint trata todos os status codes esperados?
72
+ □ Validação do payload de entrada?
73
+
74
+
75
+ □ Resposta segue o contrato documentado?
76
+ □ Erros retornam mensagens claras?
77
+ □ Rate limiting aplicado?
78
+ □ Logging estruturado?
79
+
80
+
81
+
82
+ ## 🔗 Cross-References (Agentes Relacionados)
83
+
84
+ | Agente | Quando Consultar |
85
+ |--------|-----------------|
86
+ | **Security Auditor** | Review de endpoints, auth, dados sensíveis |
87
+ | **QA Test Engineer** | Verificar cobertura e qualidade dos testes |
88
+ | **Tech Debt Controller** | Avaliar impacto em débito técnico |
89
+
90
+ > **Regra:** Nunca implementar isoladamente. Sempre verificar se o agente relacionado precisa ser consultado.
91
+
92
+
93
+ ---
94
+
95
+ **Gerado por Architect v3.1**
@@ -0,0 +1,200 @@
1
+ ---
2
+ antigravity:
3
+ trigger: 'always_on'
4
+ globs: ['**/*']
5
+ description: 'PREFLIGHT — Checklist obrigatório pré-ação para test-project'
6
+ priority: CRITICAL
7
+ ---
8
+
9
+ # ✈️ PREFLIGHT — Checklist Pré-Ação
10
+
11
+ > **NENHUMA ação de código é permitida antes de completar este checklist.**
12
+ > Pular qualquer fase é violação do protocolo.
13
+
14
+ ---
15
+
16
+ ## FASE 0: Preparação Mental
17
+
18
+ Antes de abrir qualquer arquivo:
19
+
20
+ ```
21
+ □ Li e entendi a requisição COMPLETAMENTE
22
+ □ Sei qual WORKFLOW estou seguindo (new-feature / fix-bug / review)
23
+ □ Identifiquei as CAMADAS envolvidas (Backend / Frontend / App / Database)
24
+ □ Tenho CLAREZA sobre o que é esperado como entrega
25
+ □ Se algo não está claro → PAREI e PERGUNTEI ao humano
26
+ ```
27
+
28
+ ---
29
+
30
+ ## FASE 1: Leitura Obrigatória
31
+
32
+ ```
33
+ □ [00-general.md](../rules/00-general.md) → Regras de Ouro do projeto
34
+ □ [QUALITY-GATES.md](./QUALITY-GATES.md) → Métricas e blockers
35
+ □ LESSONS-LEARNED.md (se existir) → Erros passados
36
+ □ ERROR-PATTERNS.md (se existir) → Padrões de erro conhecidos
37
+ □ BUSINESS-RULES.md (se existir) → Regras de negócio do domínio
38
+ ```
39
+
40
+ > **Objetivo:** Não repetir erros e entender o contexto antes de agir.
41
+
42
+ ---
43
+
44
+ ## FASE 2: Verificação de Ambiente
45
+
46
+ ```bash
47
+ # Git: verificar branch e status
48
+ git branch --show-current # NUNCA em main/develop direto
49
+ git status # Limpo antes de começar
50
+ git pull origin <branch> # Sincronizado
51
+
52
+ # Deps: verificar se está tudo instalado
53
+ npm install
54
+
55
+ # Build: verificar se compila
56
+ npm run build
57
+
58
+ # Tests: verificar se passam ANTES de começar
59
+ npm test
60
+ ```
61
+
62
+ ```
63
+ □ Branch correta (NUNCA main/develop)
64
+ □ Working tree limpa
65
+ □ Dependências instaladas
66
+ □ Build passando
67
+ □ Testes passando ANTES da minha alteração
68
+ ```
69
+
70
+ ---
71
+
72
+ ## FASE 3: Verificação de Regras de Negócio
73
+
74
+ ```
75
+ □ Entendo QUEM são os atores afetados
76
+ □ Entendo QUAL é a regra de negócio envolvida
77
+ □ Verifiquei se existe documentação do domínio
78
+ □ Se a feature envolve dinheiro/pagamento → ATENÇÃO REDOBRADA
79
+ □ Se a feature envolve dados pessoais → verificar LGPD/compliance
80
+ □ Se a feature muda um fluxo existente → verificar impacto em features dependentes
81
+ ```
82
+
83
+ ---
84
+
85
+ ## FASE 4: Before-Code Checklist (por Camada)
86
+
87
+ ### 4A: Backend ✅
88
+
89
+ ```
90
+ □ Entendo a estrutura de módulos existente
91
+ □ Sei onde criar/modificar controllers, services, entities
92
+ □ Verifiquei se já existe código similar (DRY)
93
+ □ DTOs e validações planejados
94
+ □ Tratamento de erros definido
95
+ □ Sei qual padrão de teste usar (unitário + integração)
96
+ □ Migrations planejadas (se houver alteração de banco)
97
+ ```
98
+
99
+ ### 4B: Frontend ⬜ (skip se não aplicável)
100
+
101
+ ```
102
+ □ MOCKUP aprovado pelo humano
103
+ □ Entendo o state management utilizado
104
+ □ Sei onde criar/modificar componentes
105
+ □ Verificar padrão visual (cores, fontes, espaçamentos)
106
+ □ Responsividade considerada
107
+ □ Acessibilidade básica (labels, aria, contraste)
108
+ □ Documento de integração do backend disponível
109
+ ```
110
+
111
+ ### 4C: Mobile (Flutter) ⬜ (skip se não aplicável)
112
+
113
+ ```
114
+ □ MOCKUP aprovado pelo humano
115
+ □ Entendo a navegação atual do app
116
+ □ Sei onde criar/modificar screens e widgets
117
+ □ Verificar padrão visual do app
118
+ □ Comportamento offline considerado
119
+ □ Documento de integração do backend disponível
120
+ ```
121
+
122
+ ### 4D: Database ✅
123
+
124
+ ```
125
+ □ Schema atual compreendido
126
+ □ Migration reversível planejada
127
+ □ Índices necessários identificados
128
+ □ Impacto em queries existentes avaliado
129
+ □ Seed data / fixtures atualizados
130
+ □ Backup strategy para dados existentes
131
+ ```
132
+
133
+ ---
134
+
135
+ ## FASE 5: Before-Commit
136
+
137
+ ```
138
+ □ Build compila sem erros
139
+ □ TODOS os testes passam (velhos + novos)
140
+ □ Cobertura ≥ 80%
141
+ □ Lint sem warnings
142
+ □ Sem console.log / print() em produção
143
+ □ Sem TODO / FIXME sem issue
144
+ □ Sem secrets hardcoded
145
+ □ Sem arquivos > 500 linhas sem justificativa
146
+ □ Commit message segue padrão (feat: / fix: / refactor: / docs:)
147
+ □ Branch está atualizada com base (rebase se necessário)
148
+ ```
149
+
150
+ ---
151
+
152
+ ## FASE 6: Before-Done
153
+
154
+ ```
155
+ □ TODOS os critérios de aceite estão cobertos
156
+ □ Score não regrediu: architect score ./src ≥ 70/100
157
+ □ Documentação atualizada (se necessário)
158
+ □ LESSONS-LEARNED atualizado (se descobri algo novo)
159
+ □ PR criado com descrição completa
160
+ □ Code review solicitado
161
+ ```
162
+
163
+ ---
164
+
165
+ ## 🚩 Red Flags — PARE IMEDIATAMENTE SE:
166
+
167
+ | Red Flag | Ação |
168
+ |----------|------|
169
+ | Não entendo a requisição | PARAR → Perguntar ao humano |
170
+ | Código que mexo tem 0% de cobertura | PARAR → Escrever testes ANTES |
171
+ | Estou modificando > 10 arquivos | PARAR → Reavaliar escopo |
172
+ | Build quebrou após minha mudança | PARAR → Reverter → Investigar |
173
+ | Estou copiando/colando código | PARAR → Extrair abstração |
174
+ | Estou trabalhando em main/develop | PARAR → Criar branch |
175
+ | Não tenho mockup e a feature tem UI | PARAR → Gate 1 primeiro |
176
+ | Estou escrevendo código sem testes | PARAR → TDD |
177
+
178
+ ---
179
+
180
+ ## 🔍 Template de Diagnóstico
181
+
182
+ Execute antes de qualquer implementação:
183
+
184
+ ```bash
185
+ # Estrutura do projeto
186
+ find . -type f -name "*.ts" | head -30
187
+
188
+ # Dependências do módulo que vou modificar
189
+ grep -r "import.*from" --include="*.ts" [modulo]/ | head -20
190
+
191
+ # Testes existentes
192
+ find . -name "*.test.*" -o -name "*.spec.*" -o -name "*_test.*" | head -20
193
+
194
+ # Score atual
195
+ npx @girardelli/architect score .
196
+ ```
197
+
198
+ ---
199
+
200
+ **Gerado por Architect v3.1 · Score: 72/100 · 2026-03-25**
@@ -0,0 +1 @@
1
+ # Gates