@girardelli/architect 4.0.0 → 5.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 (191) hide show
  1. package/dist/agent-generator/context-enricher.d.ts.map +1 -1
  2. package/dist/agent-generator/context-enricher.js +35 -3
  3. package/dist/agent-generator/context-enricher.js.map +1 -1
  4. package/dist/agent-generator/domain-inferrer.d.ts.map +1 -1
  5. package/dist/agent-generator/domain-inferrer.js +10 -0
  6. package/dist/agent-generator/domain-inferrer.js.map +1 -1
  7. package/dist/agent-generator/index.d.ts +14 -0
  8. package/dist/agent-generator/index.d.ts.map +1 -1
  9. package/dist/agent-generator/index.js +82 -14
  10. package/dist/agent-generator/index.js.map +1 -1
  11. package/dist/agent-generator/stack-detector.d.ts +3 -1
  12. package/dist/agent-generator/stack-detector.d.ts.map +1 -1
  13. package/dist/agent-generator/stack-detector.js +29 -33
  14. package/dist/agent-generator/stack-detector.js.map +1 -1
  15. package/dist/agent-generator/templates/core/agents.d.ts.map +1 -1
  16. package/dist/agent-generator/templates/core/agents.js +5 -1
  17. package/dist/agent-generator/templates/core/agents.js.map +1 -1
  18. package/dist/agent-generator/templates/core/hooks-generator.d.ts +21 -0
  19. package/dist/agent-generator/templates/core/hooks-generator.d.ts.map +1 -0
  20. package/dist/agent-generator/templates/core/hooks-generator.js +233 -0
  21. package/dist/agent-generator/templates/core/hooks-generator.js.map +1 -0
  22. package/dist/agent-generator/templates/core/skills-generator.d.ts +13 -0
  23. package/dist/agent-generator/templates/core/skills-generator.d.ts.map +1 -1
  24. package/dist/agent-generator/templates/core/skills-generator.js +339 -0
  25. package/dist/agent-generator/templates/core/skills-generator.js.map +1 -1
  26. package/dist/analyzer.d.ts.map +1 -1
  27. package/dist/analyzer.js +11 -1
  28. package/dist/analyzer.js.map +1 -1
  29. package/dist/anti-patterns.d.ts +7 -0
  30. package/dist/anti-patterns.d.ts.map +1 -1
  31. package/dist/anti-patterns.js +25 -6
  32. package/dist/anti-patterns.js.map +1 -1
  33. package/dist/config.d.ts +6 -0
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/config.js +48 -11
  36. package/dist/config.js.map +1 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/project-summarizer.d.ts +20 -0
  40. package/dist/project-summarizer.d.ts.map +1 -1
  41. package/dist/project-summarizer.js +171 -14
  42. package/dist/project-summarizer.js.map +1 -1
  43. package/dist/scanner.d.ts +8 -2
  44. package/dist/scanner.d.ts.map +1 -1
  45. package/dist/scanner.js +153 -113
  46. package/dist/scanner.js.map +1 -1
  47. package/dist/scorer.d.ts.map +1 -1
  48. package/dist/scorer.js +24 -11
  49. package/dist/scorer.js.map +1 -1
  50. package/dist/types.d.ts +16 -0
  51. package/dist/types.d.ts.map +1 -1
  52. package/package.json +1 -1
  53. package/src/agent-generator/context-enricher.ts +32 -3
  54. package/src/agent-generator/domain-inferrer.ts +10 -0
  55. package/src/agent-generator/index.ts +94 -15
  56. package/src/agent-generator/stack-detector.ts +32 -20
  57. package/src/agent-generator/templates/core/agents.ts +5 -2
  58. package/src/agent-generator/templates/core/hooks-generator.ts +242 -0
  59. package/src/agent-generator/templates/core/skills-generator.ts +349 -0
  60. package/src/analyzer.ts +13 -1
  61. package/src/anti-patterns.ts +29 -6
  62. package/src/config.ts +52 -11
  63. package/src/index.ts +1 -1
  64. package/src/project-summarizer.ts +189 -15
  65. package/src/scanner.ts +136 -90
  66. package/src/scorer.ts +26 -11
  67. package/src/types.ts +17 -0
  68. package/tests/agent-generator.test.ts +16 -0
  69. package/tests/fixtures/monorepo/package.json +6 -0
  70. package/tests/fixtures/monorepo/packages/app/package.json +12 -0
  71. package/tests/fixtures/monorepo/packages/app/src/index.ts +6 -0
  72. package/tests/fixtures/monorepo/packages/core/package.json +7 -0
  73. package/tests/fixtures/monorepo/packages/core/src/index.ts +7 -0
  74. package/tests/monorepo-scan.test.ts +170 -0
  75. package/tests/scanner.test.ts +1 -1
  76. package/tests/scorer.test.ts +22 -16
  77. package/tests/stack-detector.test.ts +19 -19
  78. package/__test_agent_output__/INDEX.md +0 -1
  79. package/__test_agent_output__/agents/AGENT-ORCHESTRATOR.md +0 -1
  80. package/__test_agent_output__/agents/DATABASE-ENGINEER.md +0 -174
  81. package/__test_agent_output__/agents/QA-TEST-ENGINEER.md +0 -138
  82. package/__test_agent_output__/agents/SECURITY-AUDITOR.md +0 -106
  83. package/__test_agent_output__/agents/TECH-DEBT-CONTROLLER.md +0 -104
  84. package/__test_agent_output__/agents/TYPESCRIPT-BACKEND-DEVELOPER.md +0 -135
  85. package/__test_agent_output__/guards/CODE-REVIEW-CHECKLIST.md +0 -95
  86. package/__test_agent_output__/guards/PREFLIGHT.md +0 -200
  87. package/__test_agent_output__/guards/QUALITY-GATES.md +0 -1
  88. package/__test_agent_output__/rules/00-general.md +0 -229
  89. package/__test_agent_output__/rules/01-architecture.md +0 -191
  90. package/__test_agent_output__/rules/02-security.md +0 -402
  91. package/__test_agent_output__/rules/03-nestjs.md +0 -124
  92. package/__test_agent_output__/templates/ADR.md +0 -95
  93. package/__test_agent_output__/templates/BDD.md +0 -58
  94. package/__test_agent_output__/templates/C4.md +0 -68
  95. package/__test_agent_output__/templates/TDD.md +0 -86
  96. package/__test_agent_output__/templates/THREAT-MODEL.md +0 -82
  97. package/__test_agent_output__/workflows/fix-bug.md +0 -228
  98. package/__test_agent_output__/workflows/new-feature.md +0 -311
  99. package/__test_agent_output__/workflows/review.md +0 -95
  100. package/__test_context_7RvUrO/src/modules/empty/empty.ts +0 -0
  101. package/__test_context_Rf5fNJ/src/modules/mixed/mixed.ts +0 -5
  102. package/__test_context_WRCnYH/src/modules/test/test.ts +0 -10
  103. package/__test_context_YsnVS3/src/modules/test/test.ts +0 -10
  104. package/__test_context_w7XZeH/src/modules/mixed/mixed.ts +0 -5
  105. package/__test_context_y5noh6/src/modules/empty/empty.ts +0 -0
  106. package/__test_framework__24OjAu/package.json +0 -1
  107. package/__test_framework__3ZDZsx/pyproject.toml +0 -8
  108. package/__test_framework__4T54Jn/package.json +0 -1
  109. package/__test_framework__4tlXu9/pyproject.toml +0 -8
  110. package/__test_framework__6boWqQ/Pipfile +0 -6
  111. package/__test_framework__6gygMU/pom.xml +0 -10
  112. package/__test_framework__6kxj0N/go.mod +0 -8
  113. package/__test_framework__7CEoXw/pom.xml +0 -10
  114. package/__test_framework__85DDz0/Pipfile +0 -6
  115. package/__test_framework__9WrRIr/pom.xml +0 -7
  116. package/__test_framework__ANqGKl/Gemfile +0 -5
  117. package/__test_framework__BCXTEM/go.mod +0 -3
  118. package/__test_framework__BHiPNq/setup.py +0 -2
  119. package/__test_framework__BqkiKv/package.json +0 -1
  120. package/__test_framework__C5yd8X/Pipfile.lock +0 -1
  121. package/__test_framework__C5yd8X/requirements.txt +0 -1
  122. package/__test_framework__C87d3a/manage.py +0 -1
  123. package/__test_framework__C87d3a/requirements.txt +0 -2
  124. package/__test_framework__DXNwc5/build.gradle +0 -7
  125. package/__test_framework__GhHSt3/build.gradle.kts +0 -4
  126. package/__test_framework__GzklJP/Cargo.toml +0 -7
  127. package/__test_framework__H4hd13/go.mod +0 -8
  128. package/__test_framework__HKjOXO/composer.json +0 -1
  129. package/__test_framework__HaDN45/Gemfile +0 -3
  130. package/__test_framework__IBO7YG/pyproject.toml +0 -9
  131. package/__test_framework__JwSOyF/pyproject.toml +0 -6
  132. package/__test_framework__K6HrCr/build.gradle +0 -2
  133. package/__test_framework__KzRPlh/pubspec.yaml +0 -9
  134. package/__test_framework__L6uIym/pyproject.toml +0 -6
  135. package/__test_framework__LOdoGK/requirements.txt +0 -4
  136. package/__test_framework__LgHzss/package.json +0 -1
  137. package/__test_framework__M76M6q/Gemfile +0 -5
  138. package/__test_framework__Mr9vWW/composer.json +0 -1
  139. package/__test_framework__N03Gnv/package.json +0 -1
  140. package/__test_framework__Num4UE/requirements +0 -1
  141. package/__test_framework__OAGw3Y/build.gradle +0 -7
  142. package/__test_framework__OQc8yG/pubspec.yaml +0 -9
  143. package/__test_framework__OwKZcd/requirements.txt +0 -3
  144. package/__test_framework__P0gFv7/requirements +0 -1
  145. package/__test_framework__PN55Rq/package.json +0 -1
  146. package/__test_framework__PQiqX8/pubspec.yaml +0 -3
  147. package/__test_framework__RBHsg7/composer.json +0 -1
  148. package/__test_framework__RHxif4/Cargo.toml +0 -7
  149. package/__test_framework__T0v0p1/Cargo.toml +0 -4
  150. package/__test_framework__Tu0clt/Pipfile.lock +0 -1
  151. package/__test_framework__Tu0clt/requirements.txt +0 -1
  152. package/__test_framework__TwDj9P/Cargo.toml +0 -4
  153. package/__test_framework__VQJNC4/pom.xml +0 -7
  154. package/__test_framework__W6sm05/package.json +0 -1
  155. package/__test_framework__W7vBLy/pyproject.toml +0 -4
  156. package/__test_framework__WNJOWT/setup.py +0 -2
  157. package/__test_framework__WSJs7U/package.json +0 -1
  158. package/__test_framework__YQ5VpA/build.gradle.kts +0 -4
  159. package/__test_framework__ZNEUEs/package.json +0 -1
  160. package/__test_framework__Znt922/pom.xml +0 -7
  161. package/__test_framework__azyg0h/pom.xml +0 -7
  162. package/__test_framework__c6otLr/package.json +0 -1
  163. package/__test_framework__cl9S9G/build.gradle +0 -2
  164. package/__test_framework__eilvV4/composer.json +0 -1
  165. package/__test_framework__gQZxXO/manage.py +0 -1
  166. package/__test_framework__gQZxXO/requirements.txt +0 -2
  167. package/__test_framework__ghvl26/poetry.lock +0 -1
  168. package/__test_framework__ghvl26/pyproject.toml +0 -2
  169. package/__test_framework__hR7b9U/Makefile +0 -11
  170. package/__test_framework__iESVsi/composer.json +0 -1
  171. package/__test_framework__jm6TJy/package.json +0 -1
  172. package/__test_framework__kBUpjs/pyproject.toml +0 -9
  173. package/__test_framework__kqoZrw/requirements.txt +0 -4
  174. package/__test_framework__lWkoyO/pyproject.toml +0 -4
  175. package/__test_framework__mTKnUO/package.json +0 -1
  176. package/__test_framework__nCeZwe/Makefile +0 -11
  177. package/__test_framework__oljsU0/package.json +0 -1
  178. package/__test_framework__osRG4q/go.mod +0 -3
  179. package/__test_framework__pCHH4F/package.json +0 -1
  180. package/__test_framework__pExx6E/Gemfile +0 -3
  181. package/__test_framework__pyBoGd/pyproject.toml +0 -5
  182. package/__test_framework__qw16VQ/package.json +0 -1
  183. package/__test_framework__rRayrG/package.json +0 -1
  184. package/__test_framework__s82zO5/package.json +0 -1
  185. package/__test_framework__tp8MFK/pyproject.toml +0 -5
  186. package/__test_framework__w44k4w/composer.json +0 -1
  187. package/__test_framework__yefPZY/poetry.lock +0 -1
  188. package/__test_framework__yefPZY/pyproject.toml +0 -2
  189. package/__test_framework__zCiyDT/requirements.txt +0 -3
  190. package/__test_framework__zGZN3j/pubspec.yaml +0 -3
  191. package/__test_framework__zXpnxL/package.json +0 -1
@@ -1,138 +0,0 @@
1
- ---
2
- antigravity:
3
- trigger: 'on_demand'
4
- description: 'QA Test Engineer — Planos de teste, BDD/TDD, cobertura'
5
- agent_card:
6
- id: 'qa-test-engineer'
7
- name: 'QA Test Engineer'
8
- role: 'quality'
9
- capabilities: [test-planning, bdd-scenarios, tdd-implementation, coverage-analysis, regression-testing]
10
- inputs: [user-story, bdd-scenarios, source-code]
11
- outputs: [test-plan, test-cases, coverage-report]
12
- depends_on: []
13
- version: 3.1.0
14
- ---
15
-
16
- # 🧪 QA TEST ENGINEER
17
-
18
- 🟢 Projeto Pequeno (< 50 arquivos)
19
-
20
- > Qualidade de testes para test-project
21
-
22
- ## Metas Inegociáveis
23
-
24
- ```
25
- ╔══════════════════════════════════════════╗
26
- ║ Cobertura mínima: 80% ║
27
- ║ Sem testes, sem entrega, sem finalizar ║
28
- ║ INEGOCIÁVEL. ║
29
- ╚══════════════════════════════════════════╝
30
- ```
31
-
32
-
33
- ## Pirâmide de Testes
34
-
35
- ```
36
- ╱╲
37
- ╱ E2E╲ → Poucos, lentos, alto valor
38
- ╱──────╲
39
- ╱Integration╲ → Médio, validam integração
40
- ╱──────────────╲
41
- ╱ Unit Tests ╲ → Muitos, rápidos, baratos
42
- ╱════════════════════╲
43
- ```
44
-
45
- ## Processo
46
-
47
- 1. **BDD primeiro** — cenários Gherkin antes de código
48
- 2. **TDD** — RED → GREEN → REFACTOR
49
- 3. **Coverage** — verificar após cada implementação
50
- 4. **Regressão** — TODOS os testes antigos devem continuar passando
51
- 5. **Review** — testes são revisados junto com código
52
-
53
- ## Framework: Jest
54
-
55
- ## Cenários de Teste por Endpoint
56
-
57
- ### `GET` `/app.`
58
-
59
- **Casos de teste:**
60
- - ✅ Sucesso com dados válidos
61
- - ⚠️ Validação: entrada inválida
62
-
63
- - ❌ Erro: recurso não encontrado (404)
64
- - ❌ Erro: conflito (409)
65
-
66
- ### `GET` `/app./{id}`
67
-
68
- **Casos de teste:**
69
- - ✅ Sucesso com dados válidos
70
- - ⚠️ Validação: entrada inválida
71
-
72
- - ❌ Erro: recurso não encontrado (404)
73
- - ❌ Erro: conflito (409)
74
-
75
- ### `POST` `/app.`
76
-
77
- **Casos de teste:**
78
- - ✅ Sucesso com dados válidos
79
- - ⚠️ Validação: entrada inválida
80
-
81
- - ❌ Erro: recurso não encontrado (404)
82
- - ❌ Erro: conflito (409)
83
-
84
- ### `PUT` `/app./{id}`
85
-
86
- **Casos de teste:**
87
- - ✅ Sucesso com dados válidos
88
- - ⚠️ Validação: entrada inválida
89
-
90
- - ❌ Erro: recurso não encontrado (404)
91
- - ❌ Erro: conflito (409)
92
-
93
- ### `DELETE` `/app./{id}`
94
-
95
- **Casos de teste:**
96
- - ✅ Sucesso com dados válidos
97
- - ⚠️ Validação: entrada inválida
98
-
99
- - ❌ Erro: recurso não encontrado (404)
100
- - ❌ Erro: conflito (409)
101
-
102
-
103
-
104
-
105
- ## Cenários de Teste Específicos do Domínio: healthtech
106
-
107
- ### Testes de Negócio
108
- - Criar registro de paciente com LGPD compliance
109
- - Validar consentimento antes de compartilhar dados
110
- - Anonimizar dados corretamente
111
- - Respeitar direito ao esquecimento
112
- - Auditoria de acesso a dados sensíveis
113
-
114
- ### Testes de Segurança
115
- - Criptografia end-to-end em repouso
116
- - Validar 2FA para dados críticos
117
- - Testar retenção de dados
118
-
119
-
120
- ## Refactoring Roadmap
121
-
122
- 1. Split monolith service (HIGH)
123
-
124
-
125
-
126
- ## 🔗 Cross-References (Agentes Relacionados)
127
-
128
- | Agente | Quando Consultar |
129
- |--------|-----------------|
130
- | **Backend Developer** | Cobertura insuficiente em services |
131
- | **Tech Debt Controller** | Testes com .skip(), mocks frágeis |
132
-
133
- > **Regra:** Nunca implementar isoladamente. Sempre verificar se o agente relacionado precisa ser consultado.
134
-
135
-
136
- ---
137
-
138
- **Gerado por Architect v3.1**
@@ -1,106 +0,0 @@
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**
@@ -1,104 +0,0 @@
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**
@@ -1,135 +0,0 @@
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**
@@ -1,95 +0,0 @@
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**