@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.
- package/dist/agent-generator/context-enricher.d.ts.map +1 -1
- package/dist/agent-generator/context-enricher.js +35 -3
- package/dist/agent-generator/context-enricher.js.map +1 -1
- package/dist/agent-generator/domain-inferrer.d.ts.map +1 -1
- package/dist/agent-generator/domain-inferrer.js +10 -0
- package/dist/agent-generator/domain-inferrer.js.map +1 -1
- package/dist/agent-generator/index.d.ts +14 -0
- package/dist/agent-generator/index.d.ts.map +1 -1
- package/dist/agent-generator/index.js +82 -14
- package/dist/agent-generator/index.js.map +1 -1
- package/dist/agent-generator/stack-detector.d.ts +3 -1
- package/dist/agent-generator/stack-detector.d.ts.map +1 -1
- package/dist/agent-generator/stack-detector.js +29 -33
- package/dist/agent-generator/stack-detector.js.map +1 -1
- package/dist/agent-generator/templates/core/agents.d.ts.map +1 -1
- package/dist/agent-generator/templates/core/agents.js +5 -1
- package/dist/agent-generator/templates/core/agents.js.map +1 -1
- package/dist/agent-generator/templates/core/hooks-generator.d.ts +21 -0
- package/dist/agent-generator/templates/core/hooks-generator.d.ts.map +1 -0
- package/dist/agent-generator/templates/core/hooks-generator.js +233 -0
- package/dist/agent-generator/templates/core/hooks-generator.js.map +1 -0
- package/dist/agent-generator/templates/core/skills-generator.d.ts +13 -0
- package/dist/agent-generator/templates/core/skills-generator.d.ts.map +1 -1
- package/dist/agent-generator/templates/core/skills-generator.js +339 -0
- package/dist/agent-generator/templates/core/skills-generator.js.map +1 -1
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +11 -1
- package/dist/analyzer.js.map +1 -1
- package/dist/anti-patterns.d.ts +7 -0
- package/dist/anti-patterns.d.ts.map +1 -1
- package/dist/anti-patterns.js +25 -6
- package/dist/anti-patterns.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +48 -11
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/project-summarizer.d.ts +20 -0
- package/dist/project-summarizer.d.ts.map +1 -1
- package/dist/project-summarizer.js +171 -14
- package/dist/project-summarizer.js.map +1 -1
- package/dist/scanner.d.ts +8 -2
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +153 -113
- package/dist/scanner.js.map +1 -1
- package/dist/scorer.d.ts.map +1 -1
- package/dist/scorer.js +24 -11
- package/dist/scorer.js.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agent-generator/context-enricher.ts +32 -3
- package/src/agent-generator/domain-inferrer.ts +10 -0
- package/src/agent-generator/index.ts +94 -15
- package/src/agent-generator/stack-detector.ts +32 -20
- package/src/agent-generator/templates/core/agents.ts +5 -2
- package/src/agent-generator/templates/core/hooks-generator.ts +242 -0
- package/src/agent-generator/templates/core/skills-generator.ts +349 -0
- package/src/analyzer.ts +13 -1
- package/src/anti-patterns.ts +29 -6
- package/src/config.ts +52 -11
- package/src/index.ts +1 -1
- package/src/project-summarizer.ts +189 -15
- package/src/scanner.ts +136 -90
- package/src/scorer.ts +26 -11
- package/src/types.ts +17 -0
- package/tests/agent-generator.test.ts +16 -0
- package/tests/fixtures/monorepo/package.json +6 -0
- package/tests/fixtures/monorepo/packages/app/package.json +12 -0
- package/tests/fixtures/monorepo/packages/app/src/index.ts +6 -0
- package/tests/fixtures/monorepo/packages/core/package.json +7 -0
- package/tests/fixtures/monorepo/packages/core/src/index.ts +7 -0
- package/tests/monorepo-scan.test.ts +170 -0
- package/tests/scanner.test.ts +1 -1
- package/tests/scorer.test.ts +22 -16
- package/tests/stack-detector.test.ts +19 -19
- package/__test_agent_output__/INDEX.md +0 -1
- package/__test_agent_output__/agents/AGENT-ORCHESTRATOR.md +0 -1
- package/__test_agent_output__/agents/DATABASE-ENGINEER.md +0 -174
- package/__test_agent_output__/agents/QA-TEST-ENGINEER.md +0 -138
- package/__test_agent_output__/agents/SECURITY-AUDITOR.md +0 -106
- package/__test_agent_output__/agents/TECH-DEBT-CONTROLLER.md +0 -104
- package/__test_agent_output__/agents/TYPESCRIPT-BACKEND-DEVELOPER.md +0 -135
- package/__test_agent_output__/guards/CODE-REVIEW-CHECKLIST.md +0 -95
- package/__test_agent_output__/guards/PREFLIGHT.md +0 -200
- package/__test_agent_output__/guards/QUALITY-GATES.md +0 -1
- package/__test_agent_output__/rules/00-general.md +0 -229
- package/__test_agent_output__/rules/01-architecture.md +0 -191
- package/__test_agent_output__/rules/02-security.md +0 -402
- package/__test_agent_output__/rules/03-nestjs.md +0 -124
- package/__test_agent_output__/templates/ADR.md +0 -95
- package/__test_agent_output__/templates/BDD.md +0 -58
- package/__test_agent_output__/templates/C4.md +0 -68
- package/__test_agent_output__/templates/TDD.md +0 -86
- package/__test_agent_output__/templates/THREAT-MODEL.md +0 -82
- package/__test_agent_output__/workflows/fix-bug.md +0 -228
- package/__test_agent_output__/workflows/new-feature.md +0 -311
- package/__test_agent_output__/workflows/review.md +0 -95
- package/__test_context_7RvUrO/src/modules/empty/empty.ts +0 -0
- package/__test_context_Rf5fNJ/src/modules/mixed/mixed.ts +0 -5
- package/__test_context_WRCnYH/src/modules/test/test.ts +0 -10
- package/__test_context_YsnVS3/src/modules/test/test.ts +0 -10
- package/__test_context_w7XZeH/src/modules/mixed/mixed.ts +0 -5
- package/__test_context_y5noh6/src/modules/empty/empty.ts +0 -0
- package/__test_framework__24OjAu/package.json +0 -1
- package/__test_framework__3ZDZsx/pyproject.toml +0 -8
- package/__test_framework__4T54Jn/package.json +0 -1
- package/__test_framework__4tlXu9/pyproject.toml +0 -8
- package/__test_framework__6boWqQ/Pipfile +0 -6
- package/__test_framework__6gygMU/pom.xml +0 -10
- package/__test_framework__6kxj0N/go.mod +0 -8
- package/__test_framework__7CEoXw/pom.xml +0 -10
- package/__test_framework__85DDz0/Pipfile +0 -6
- package/__test_framework__9WrRIr/pom.xml +0 -7
- package/__test_framework__ANqGKl/Gemfile +0 -5
- package/__test_framework__BCXTEM/go.mod +0 -3
- package/__test_framework__BHiPNq/setup.py +0 -2
- package/__test_framework__BqkiKv/package.json +0 -1
- package/__test_framework__C5yd8X/Pipfile.lock +0 -1
- package/__test_framework__C5yd8X/requirements.txt +0 -1
- package/__test_framework__C87d3a/manage.py +0 -1
- package/__test_framework__C87d3a/requirements.txt +0 -2
- package/__test_framework__DXNwc5/build.gradle +0 -7
- package/__test_framework__GhHSt3/build.gradle.kts +0 -4
- package/__test_framework__GzklJP/Cargo.toml +0 -7
- package/__test_framework__H4hd13/go.mod +0 -8
- package/__test_framework__HKjOXO/composer.json +0 -1
- package/__test_framework__HaDN45/Gemfile +0 -3
- package/__test_framework__IBO7YG/pyproject.toml +0 -9
- package/__test_framework__JwSOyF/pyproject.toml +0 -6
- package/__test_framework__K6HrCr/build.gradle +0 -2
- package/__test_framework__KzRPlh/pubspec.yaml +0 -9
- package/__test_framework__L6uIym/pyproject.toml +0 -6
- package/__test_framework__LOdoGK/requirements.txt +0 -4
- package/__test_framework__LgHzss/package.json +0 -1
- package/__test_framework__M76M6q/Gemfile +0 -5
- package/__test_framework__Mr9vWW/composer.json +0 -1
- package/__test_framework__N03Gnv/package.json +0 -1
- package/__test_framework__Num4UE/requirements +0 -1
- package/__test_framework__OAGw3Y/build.gradle +0 -7
- package/__test_framework__OQc8yG/pubspec.yaml +0 -9
- package/__test_framework__OwKZcd/requirements.txt +0 -3
- package/__test_framework__P0gFv7/requirements +0 -1
- package/__test_framework__PN55Rq/package.json +0 -1
- package/__test_framework__PQiqX8/pubspec.yaml +0 -3
- package/__test_framework__RBHsg7/composer.json +0 -1
- package/__test_framework__RHxif4/Cargo.toml +0 -7
- package/__test_framework__T0v0p1/Cargo.toml +0 -4
- package/__test_framework__Tu0clt/Pipfile.lock +0 -1
- package/__test_framework__Tu0clt/requirements.txt +0 -1
- package/__test_framework__TwDj9P/Cargo.toml +0 -4
- package/__test_framework__VQJNC4/pom.xml +0 -7
- package/__test_framework__W6sm05/package.json +0 -1
- package/__test_framework__W7vBLy/pyproject.toml +0 -4
- package/__test_framework__WNJOWT/setup.py +0 -2
- package/__test_framework__WSJs7U/package.json +0 -1
- package/__test_framework__YQ5VpA/build.gradle.kts +0 -4
- package/__test_framework__ZNEUEs/package.json +0 -1
- package/__test_framework__Znt922/pom.xml +0 -7
- package/__test_framework__azyg0h/pom.xml +0 -7
- package/__test_framework__c6otLr/package.json +0 -1
- package/__test_framework__cl9S9G/build.gradle +0 -2
- package/__test_framework__eilvV4/composer.json +0 -1
- package/__test_framework__gQZxXO/manage.py +0 -1
- package/__test_framework__gQZxXO/requirements.txt +0 -2
- package/__test_framework__ghvl26/poetry.lock +0 -1
- package/__test_framework__ghvl26/pyproject.toml +0 -2
- package/__test_framework__hR7b9U/Makefile +0 -11
- package/__test_framework__iESVsi/composer.json +0 -1
- package/__test_framework__jm6TJy/package.json +0 -1
- package/__test_framework__kBUpjs/pyproject.toml +0 -9
- package/__test_framework__kqoZrw/requirements.txt +0 -4
- package/__test_framework__lWkoyO/pyproject.toml +0 -4
- package/__test_framework__mTKnUO/package.json +0 -1
- package/__test_framework__nCeZwe/Makefile +0 -11
- package/__test_framework__oljsU0/package.json +0 -1
- package/__test_framework__osRG4q/go.mod +0 -3
- package/__test_framework__pCHH4F/package.json +0 -1
- package/__test_framework__pExx6E/Gemfile +0 -3
- package/__test_framework__pyBoGd/pyproject.toml +0 -5
- package/__test_framework__qw16VQ/package.json +0 -1
- package/__test_framework__rRayrG/package.json +0 -1
- package/__test_framework__s82zO5/package.json +0 -1
- package/__test_framework__tp8MFK/pyproject.toml +0 -5
- package/__test_framework__w44k4w/composer.json +0 -1
- package/__test_framework__yefPZY/poetry.lock +0 -1
- package/__test_framework__yefPZY/pyproject.toml +0 -2
- package/__test_framework__zCiyDT/requirements.txt +0 -3
- package/__test_framework__zGZN3j/pubspec.yaml +0 -3
- 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**
|