legacy-squad 1.0.1 → 1.2.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/LICENSE +21 -21
- package/README.md +132 -84
- package/README.pt-br.md +187 -134
- package/dist/cli.mjs +194 -73
- package/dist/templates/claude-commands/architecture.md +2 -1
- package/dist/templates/claude-commands/business-rules.md +52 -52
- package/dist/templates/claude-commands/generate-mmp.md +3 -1
- package/dist/templates/claude-commands/generate-prs.md +2 -1
- package/dist/templates/claude-commands/generate-sdd.md +3 -1
- package/dist/templates/claude-commands/generate-specs.md +1 -1
- package/dist/templates/claude-commands/legacy-code.md +2 -1
- package/dist/templates/claude-commands/modernization.md +2 -1
- package/dist/templates/claude-commands/scan.md +1 -1
- package/dist/templates/claude-commands/security.md +2 -1
- package/package.json +59 -58
package/README.pt-br.md
CHANGED
|
@@ -7,107 +7,181 @@
|
|
|
7
7
|
</p>
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
|
+
<p align="center">
|
|
11
|
+
<a href="https://www.npmjs.com/package/legacy-squad"><img src="https://img.shields.io/npm/v/legacy-squad?color=cb3837&label=npm" alt="npm version"></a>
|
|
12
|
+
<a href="https://www.npmjs.com/package/legacy-squad"><img src="https://img.shields.io/npm/dm/legacy-squad?color=blue" alt="downloads"></a>
|
|
13
|
+
<a href="https://github.com/hrpimenta/legacy-squad/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="license"></a>
|
|
14
|
+
<a href="https://github.com/hrpimenta/legacy-squad/stargazers"><img src="https://img.shields.io/github/stars/hrpimenta/legacy-squad?style=social" alt="stars"></a>
|
|
15
|
+
<img src="https://img.shields.io/badge/status-beta-orange" alt="beta">
|
|
16
|
+
<img src="https://img.shields.io/badge/node-%E2%89%A518-brightgreen" alt="node">
|
|
17
|
+
</p>
|
|
18
|
+
|
|
10
19
|
---
|
|
11
20
|
|
|
12
|
-
|
|
21
|
+
> **Um comando. Cinco agentes de IA na sua IDE.**
|
|
22
|
+
> **50 achados, 4 documentos de engenharia e 37 execution specs** — sem alterar uma única linha do seu código.
|
|
13
23
|
|
|
14
24
|
```bash
|
|
15
25
|
npx legacy-squad install
|
|
16
26
|
```
|
|
17
27
|
|
|
18
|
-
|
|
28
|
+
<p align="center">
|
|
29
|
+
<img src="docs/assets/demo.svg" alt="Saída do install do Legacy Squad" width="780">
|
|
30
|
+
</p>
|
|
19
31
|
|
|
20
|
-
|
|
32
|
+
<p align="center">
|
|
33
|
+
🔑 <strong>Zero API keys</strong> ·
|
|
34
|
+
☁️ <strong>Zero servidores externos</strong> ·
|
|
35
|
+
💻 <strong>Roda na sua própria IDE</strong> (Claude Code, Codex, Cursor)
|
|
36
|
+
</p>
|
|
21
37
|
|
|
22
|
-
|
|
38
|
+
---
|
|
23
39
|
|
|
24
|
-
|
|
25
|
-
- Credenciais hardcoded em código-fonte
|
|
26
|
-
- Regras de negócio escondidas em condicionais que ninguém documentou
|
|
27
|
-
- Acoplamento que torna qualquer mudança arriscada
|
|
28
|
-
- Medo de alterar código em produção
|
|
29
|
-
- Dependência de 1-2 desenvolvedores que "conhecem o sistema"
|
|
40
|
+
## 📊 Validado em Produção
|
|
30
41
|
|
|
31
|
-
|
|
42
|
+
Aplicativo mobile real em produção — **~18.000 LoC**, **98 dependências**, transações financeiras reais:
|
|
32
43
|
|
|
33
|
-
|
|
44
|
+
| | |
|
|
45
|
+
|---|---|
|
|
46
|
+
| 🔍 **50 achados** (7 determinísticos + 43 dos agentes de IA) | 📐 **63 regras de negócio** extraídas do código (11 implícitas) |
|
|
47
|
+
| 📄 **4 documentos oficiais** (PRS · SDD · MMP · Specs) | 🎯 **37 execution specs**, atômicas e deployáveis |
|
|
48
|
+
| 📈 **Execution Readiness:** 38 → 88 / 100 | 🚀 **Deployability:** pontuado por fase |
|
|
34
49
|
|
|
35
|
-
|
|
50
|
+
A partir de um único `npx legacy-squad install` seguido por 9 slash commands na IDE.
|
|
36
51
|
|
|
37
|
-
|
|
38
|
-
|----------|-----------|
|
|
39
|
-
| **Repo Index** | Inventário completo: stack, módulos, dependências, integrações, hotspots |
|
|
40
|
-
| **Findings** | Achados de segurança com evidência, impacto, referência OWASP e recomendação |
|
|
41
|
-
| **Security Assessment** | Análise profunda de autenticação, secrets, LGPD/GDPR, API security |
|
|
42
|
-
| **Architecture Assessment** | Mapeamento C4, acoplamento, riscos estruturais, arquitetura alvo |
|
|
43
|
-
| **Legacy Code Assessment** | Hotspots, migração JS→TS, duplicação, cobertura de testes |
|
|
44
|
-
| **Business Rules Assessment** | 60+ regras extraídas do código, preservation checklist |
|
|
45
|
-
| **Modernization Assessment** | Roadmap incremental em fases com rollback e scores |
|
|
46
|
-
| **PRS** | Product Refactor Specification — relatório consolidado de diagnóstico |
|
|
47
|
-
| **SDD** | Software Design Document — arquitetura atual/alvo com ADRs |
|
|
48
|
-
| **MMP** | Modernization Master Plan — roadmap em fases com scores de Execution Readiness e Deployability |
|
|
49
|
-
| **Execution Specs** | Unidades de trabalho atômicas, individualmente deployáveis, com critérios de aceite binários e rollback |
|
|
52
|
+
[**→ Leia o case study completo**](docs/CASE_STUDY.md)
|
|
50
53
|
|
|
51
54
|
---
|
|
52
55
|
|
|
53
|
-
##
|
|
56
|
+
## 🚀 Início Rápido
|
|
57
|
+
|
|
58
|
+
> Do zero ao seu primeiro achado gerado por IA em minutos.
|
|
54
59
|
|
|
55
60
|
### Pré-requisitos
|
|
56
61
|
|
|
57
|
-
- Node.js ≥ 18
|
|
58
|
-
- Uma IDE com IA
|
|
62
|
+
- **Node.js ≥ 18**
|
|
63
|
+
- **Uma IDE com IA habilitada:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Codex CLI](https://github.com/openai/codex) ou [Cursor](https://cursor.sh)
|
|
59
64
|
|
|
60
|
-
###
|
|
65
|
+
### 1. Instale no seu projeto legado
|
|
61
66
|
|
|
62
67
|
```bash
|
|
63
68
|
cd seu-projeto-legado
|
|
64
69
|
npx legacy-squad install
|
|
65
70
|
```
|
|
66
71
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
Logo em seguida, você verá os artefatos do framework em `.legacy-squad/memory/`:
|
|
73
|
+
|
|
74
|
+
- `repo-index.json` — inventário completo (stack, módulos, dependências, integrações)
|
|
75
|
+
- `findings.json` — achados de segurança determinísticos (OWASP / CWE)
|
|
76
|
+
- `context-packs.json` — contexto por módulo, preparado para os agentes de IA
|
|
77
|
+
|
|
78
|
+
<details>
|
|
79
|
+
<summary><strong>O que o comando install faz internamente</strong></summary>
|
|
80
|
+
|
|
81
|
+
1. Detecta a stack pelo manifesto (`package.json`, `composer.json`, `.csproj`, `pom.xml`)
|
|
82
|
+
2. Faz o scan do repositório e monta o inventário
|
|
83
|
+
3. Executa o Compliance Engine com regras OWASP / CWE
|
|
84
|
+
4. Gera Context Packs por módulo (eficientes em tokens)
|
|
85
|
+
5. Instala os 9 agentes como slash commands na sua IDE
|
|
86
|
+
6. Verifica a instalação (8 health checks)
|
|
74
87
|
|
|
75
|
-
|
|
88
|
+
</details>
|
|
76
89
|
|
|
90
|
+
### 2. Rode seu primeiro agente de IA
|
|
91
|
+
|
|
92
|
+
Abra sua IDE no projeto e acione o Security Agent.
|
|
93
|
+
|
|
94
|
+
**Claude Code**
|
|
95
|
+
```bash
|
|
96
|
+
claude
|
|
97
|
+
/legacy-squad-security
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Codex CLI**
|
|
77
101
|
```bash
|
|
78
|
-
|
|
102
|
+
codex
|
|
103
|
+
@legacy-squad-security
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
O assessment é escrito em:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
.legacy-squad/outputs/assessments/security.md
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Orientado por evidência: todo achado inclui referência arquivo:linha, mapeamento OWASP / CWE, impacto e recomendação — gerado pela IA rodando inteiramente dentro da sua IDE.
|
|
113
|
+
|
|
114
|
+
### 3. Rode o diagnóstico completo
|
|
79
115
|
|
|
80
|
-
|
|
116
|
+
Depois de validar o primeiro agente, execute os quatro restantes e os quatro geradores de artefatos.
|
|
117
|
+
|
|
118
|
+
<details>
|
|
119
|
+
<summary><strong>Workflow completo — 5 agentes + 4 geradores</strong></summary>
|
|
120
|
+
|
|
121
|
+
**Etapa 1 — Análise (rode em ordem)**
|
|
122
|
+
|
|
123
|
+
```bash
|
|
81
124
|
/legacy-squad-security # Security Agent
|
|
82
125
|
/legacy-squad-architecture # Architecture Agent
|
|
83
126
|
/legacy-squad-legacy-code # Legacy Code Agent
|
|
84
127
|
/legacy-squad-business-rules # Business Rules Agent
|
|
85
128
|
/legacy-squad-modernization # Modernization Agent
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Etapa 2 — Artefatos consolidados (rode após a análise)**
|
|
86
132
|
|
|
87
|
-
|
|
133
|
+
```bash
|
|
88
134
|
/legacy-squad-generate-prs # Product Refactor Specification
|
|
89
135
|
/legacy-squad-generate-sdd # Software Design Document
|
|
90
136
|
/legacy-squad-generate-mmp # Modernization Master Plan
|
|
91
137
|
/legacy-squad-generate-specs # Execution Specs (um YAML por unidade de trabalho)
|
|
92
138
|
```
|
|
93
139
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
codex # Abre Codex no projeto
|
|
98
|
-
# O AGENTS.md na raiz define os agentes disponíveis
|
|
99
|
-
@legacy-squad-security # Ativa o Security Agent
|
|
100
|
-
```
|
|
140
|
+
</details>
|
|
101
141
|
|
|
102
|
-
### Outros
|
|
142
|
+
### Outros comandos
|
|
103
143
|
|
|
104
144
|
```bash
|
|
105
145
|
npx legacy-squad scan # Re-escaneia sem reinstalar agentes
|
|
106
|
-
npx legacy-squad doctor # Verifica saúde da instalação
|
|
146
|
+
npx legacy-squad doctor # Verifica a saúde da instalação
|
|
107
147
|
```
|
|
108
148
|
|
|
109
149
|
---
|
|
110
150
|
|
|
151
|
+
## Por que Legacy Squad
|
|
152
|
+
|
|
153
|
+
A maioria das ferramentas existentes cobre uma única dimensão da modernização de legados. O Legacy Squad cobre o ciclo completo — do inventário ao plano executável — e trata agentes de IA como **contribuidores submetidos a uma metodologia**, não como chat livre.
|
|
154
|
+
|
|
155
|
+
| Capacidade | Static Analyzers<br>(SonarQube) | SAST / SCA<br>(Snyk, Checkmarx) | AI Coding Assistants<br>(Copilot, Cursor) | **Legacy Squad** |
|
|
156
|
+
|---|:---:|:---:|:---:|:---:|
|
|
157
|
+
| Regras de segurança determinísticas (OWASP / CWE) | ✅ | ✅ | — | ✅ |
|
|
158
|
+
| Vulnerabilidades de CVE / dependências | — | ✅ | — | — |
|
|
159
|
+
| Code smells e complexidade cognitiva | ✅ | parcial | — | ✅ |
|
|
160
|
+
| Mapeamento de arquitetura (C4, acoplamento) | — | — | — | ✅ |
|
|
161
|
+
| Extração de regras de negócio do código | — | — | — | ✅ |
|
|
162
|
+
| Plano de modernização em fases (MMP) | — | — | — | ✅ |
|
|
163
|
+
| Execution specs atômicas e deployáveis | — | — | — | ✅ |
|
|
164
|
+
| Agentes de IA com saída orientada por evidência | — | — | livre | ✅ |
|
|
165
|
+
| Roda na sua própria IDE (sem servidor, sem API key) | — | — | ✅ | ✅ |
|
|
166
|
+
| Repositório nunca é enviado por completo para a LLM | n/a | n/a | — | ✅ |
|
|
167
|
+
|
|
168
|
+
Em uma frase: o Legacy Squad combina **escaneamento determinístico** com **agentes de IA submetidos a metodologia** que produzem **artefatos de engenharia estruturados** (PRS, SDD, MMP, Execution Specs) — não histórico de chat.
|
|
169
|
+
|
|
170
|
+
### Quando o Legacy Squad faz sentido
|
|
171
|
+
|
|
172
|
+
- Você tem um sistema legado em produção e precisa de um **diagnóstico estruturado** antes de decidir o que modernizar.
|
|
173
|
+
- Você quer que todo achado carregue **evidência, referência ao framework, impacto e recomendação** — não sugestões sem justificativa.
|
|
174
|
+
- Você precisa de um **plano de modernização em fases**, reversível, deployável e passível de aprovação humana antes da execução.
|
|
175
|
+
- Você quer assistência de IA **sem enviar seu código-fonte para um servidor externo** nem pagar por mais uma seat.
|
|
176
|
+
|
|
177
|
+
### Quando não faz
|
|
178
|
+
|
|
179
|
+
- Para escaneamento puro de CVE / vulnerabilidades de dependência, use [Snyk](https://snyk.io), [Dependabot](https://github.com/dependabot) ou equivalentes — eles são especializados nisso e o Legacy Squad não os substitui.
|
|
180
|
+
- Para gates de qualidade contínuos em CI/CD, use [SonarQube](https://www.sonarsource.com/products/sonarqube/) — o Legacy Squad é um framework de **diagnóstico e planejamento**, não um monitor contínuo de qualidade.
|
|
181
|
+
- Para autocomplete no editor ou chat genérico de código, [GitHub Copilot](https://github.com/features/copilot) e [Cursor](https://cursor.sh) já cumprem esse papel — o Legacy Squad começa onde essas ferramentas param.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
111
185
|
## Como Funciona
|
|
112
186
|
|
|
113
187
|
```
|
|
@@ -121,7 +195,7 @@ npx legacy-squad doctor # Verifica saúde da instalação
|
|
|
121
195
|
┌──────────┐ ┌────────────┐ ┌────────────┐
|
|
122
196
|
│ Scanner │ │ Compliance │ │ Context │
|
|
123
197
|
│ (stack, │ │ Engine │ │ Manager │
|
|
124
|
-
│ módulos) │ │ (OWASP)
|
|
198
|
+
│ módulos) │ │ (OWASP) │ │ (packs) │
|
|
125
199
|
└────┬─────┘ └─────┬──────┘ └─────┬──────┘
|
|
126
200
|
│ │ │
|
|
127
201
|
▼ ▼ ▼
|
|
@@ -154,13 +228,13 @@ npx legacy-squad doctor # Verifica saúde da instalação
|
|
|
154
228
|
└─────────────┘
|
|
155
229
|
```
|
|
156
230
|
|
|
157
|
-
**O framework prepara os dados e instala os agentes. A IA
|
|
231
|
+
**O framework prepara os dados e instala os agentes. A IA roda na IDE do dev.**
|
|
158
232
|
|
|
159
|
-
Zero API
|
|
233
|
+
Zero API keys necessárias. Zero chamadas a servidores externos. Tudo roda localmente.
|
|
160
234
|
|
|
161
235
|
---
|
|
162
236
|
|
|
163
|
-
## Estrutura Instalada
|
|
237
|
+
## Estrutura Instalada
|
|
164
238
|
|
|
165
239
|
Após `npx legacy-squad install`:
|
|
166
240
|
|
|
@@ -174,7 +248,7 @@ seu-projeto/
|
|
|
174
248
|
│ │ ├── findings.json # Achados do compliance engine
|
|
175
249
|
│ │ └── context-packs.json # Contexto por módulo
|
|
176
250
|
│ ├── outputs/
|
|
177
|
-
│ │ ├── assessments/ # Assessments dos agentes (5 .md)
|
|
251
|
+
│ │ ├── assessments/ # Assessments dos agentes (5 arquivos .md)
|
|
178
252
|
│ │ ├── reports/ # PRS.md + PRS.json
|
|
179
253
|
│ │ ├── sdd/ # SDD.md + SDD.json
|
|
180
254
|
│ │ ├── mmp/ # MMP.md + MMP.json
|
|
@@ -203,25 +277,25 @@ seu-projeto/
|
|
|
203
277
|
|
|
204
278
|
### Security Agent (`/legacy-squad-security`)
|
|
205
279
|
|
|
206
|
-
Analisa autenticação, secrets, armazenamento inseguro, exposição de PII e conformidade
|
|
280
|
+
Analisa autenticação, secrets, armazenamento inseguro, exposição de PII e conformidade de privacidade (LGPD, GDPR).
|
|
207
281
|
|
|
208
282
|
**Referências:** OWASP MASVS V2, OWASP ASVS, CWE Top 25, LGPD, GDPR, NIST SSDF
|
|
209
283
|
|
|
210
284
|
### Architecture Agent (`/legacy-squad-architecture`)
|
|
211
285
|
|
|
212
|
-
Mapeia arquitetura atual com diagramas C4, identifica acoplamento, riscos estruturais e propõe arquitetura alvo incremental.
|
|
286
|
+
Mapeia a arquitetura atual com diagramas C4, identifica acoplamento, riscos estruturais e propõe uma arquitetura alvo incremental.
|
|
213
287
|
|
|
214
288
|
**Referências:** C4 Model, Clean Architecture, arc42, ADR
|
|
215
289
|
|
|
216
290
|
### Legacy Code Agent (`/legacy-squad-legacy-code`)
|
|
217
291
|
|
|
218
|
-
Identifica hotspots, duplicação, progresso
|
|
292
|
+
Identifica hotspots, duplicação, progresso da migração JS→TS, cobertura de testes e prioridades de refatoração.
|
|
219
293
|
|
|
220
294
|
**Referências:** Clean Code, Sonar Rules, Cognitive Complexity
|
|
221
295
|
|
|
222
296
|
### Business Rules Agent (`/legacy-squad-business-rules`)
|
|
223
297
|
|
|
224
|
-
Extrai regras de negócio escondidas no código — validações, permissões, fluxos,
|
|
298
|
+
Extrai regras de negócio escondidas no código — validações, permissões, fluxos, números mágicos, regras implícitas em catch blocks.
|
|
225
299
|
|
|
226
300
|
**Referências:** DDD, Event Storming
|
|
227
301
|
|
|
@@ -233,25 +307,25 @@ Sintetiza todos os assessments em um plano incremental com fases, rollback, Depl
|
|
|
233
307
|
|
|
234
308
|
### PRS Generator (`/legacy-squad-generate-prs`)
|
|
235
309
|
|
|
236
|
-
Consolida todos os assessments no PRS (Product Refactor Specification) — o relatório de diagnóstico para
|
|
310
|
+
Consolida todos os assessments no PRS (Product Refactor Specification) — o relatório de diagnóstico para tomadores de decisão.
|
|
237
311
|
|
|
238
312
|
### SDD Generator (`/legacy-squad-generate-sdd`)
|
|
239
313
|
|
|
240
|
-
Produz o Software Design Document com arquitetura atual e alvo (diagramas Mermaid C4), inventário de componentes, integrações,
|
|
314
|
+
Produz o Software Design Document com arquitetura atual e alvo (diagramas Mermaid C4), inventário de componentes, integrações, preocupações transversais (segurança, observabilidade, tratamento de erros, configuração), restrições e Architecture Decision Records (ADRs) com alternativas consideradas.
|
|
241
315
|
|
|
242
316
|
**Referências:** C4 Model, arc42, ADR, Clean Architecture
|
|
243
317
|
|
|
244
318
|
### MMP Generator (`/legacy-squad-generate-mmp`)
|
|
245
319
|
|
|
246
|
-
Produz o Modernization Master Plan com roadmap em fases (Foundation → Core → Evolution, com fase Emergency opcional quando há achados críticos), plano de upgrade de stack, matriz de risco, estratégia de rollback por fase, Execution Readiness Score (0-100) justificado dimensão por dimensão, Deployability Score por fase e métricas de sucesso
|
|
320
|
+
Produz o Modernization Master Plan com roadmap em fases (Foundation → Core → Evolution, com fase Emergency opcional quando há achados críticos), plano de upgrade de stack, matriz de risco, estratégia de rollback por fase, Execution Readiness Score (0-100) justificado dimensão por dimensão, Deployability Score por fase e métricas de sucesso cobrindo segurança, qualidade de código, cobertura de testes e arquitetura.
|
|
247
321
|
|
|
248
322
|
**Referências:** Strangler Fig, Branch by Abstraction, Progressive Delivery
|
|
249
323
|
|
|
250
324
|
### Execution Specs Generator (`/legacy-squad-generate-specs`)
|
|
251
325
|
|
|
252
|
-
Decompõe o MMP em Execution Specs atômicas — um arquivo YAML por unidade de trabalho,
|
|
326
|
+
Decompõe o MMP em Execution Specs atômicas — um arquivo YAML por unidade de trabalho, individualmente deployável, com critérios de aceite binários, estratégia de rollback obrigatória, rastreabilidade de evidência (IDs de findings de compliance + referências de assessment), grafo de dependência entre specs e flag explícita `human_approval_required` para mudanças de alto risco.
|
|
253
327
|
|
|
254
|
-
**Referências:** FRAMEWORK_SPECIFICATION
|
|
328
|
+
**Referências:** FRAMEWORK_SPECIFICATION Seção 8 (schema de Execution Spec)
|
|
255
329
|
|
|
256
330
|
---
|
|
257
331
|
|
|
@@ -260,7 +334,7 @@ Decompõe o MMP em Execution Specs atômicas — um arquivo YAML por unidade de
|
|
|
260
334
|
### Detecção por Manifesto (Camada 1 — determinística)
|
|
261
335
|
|
|
262
336
|
| Manifesto | Stack |
|
|
263
|
-
|
|
337
|
+
|----------|-------|
|
|
264
338
|
| `package.json` | Node.js, React, React Native, Expo, Next.js |
|
|
265
339
|
| `composer.json` | PHP, Laravel |
|
|
266
340
|
| `.csproj` | C#, .NET |
|
|
@@ -277,21 +351,21 @@ TypeScript, JavaScript, PHP, C#, Java, Python, Dart
|
|
|
277
351
|
O scanner roda automaticamente regras determinísticas baseadas em OWASP e CWE:
|
|
278
352
|
|
|
279
353
|
| Regra | Detecta | Stacks | Referência |
|
|
280
|
-
|
|
354
|
+
|------|---------|--------|-----------|
|
|
281
355
|
| SEC-CRED-001 | Credenciais hardcoded (senhas, API keys, tokens) | todas | OWASP MASVS, CWE-798 |
|
|
282
356
|
| SEC-CRED-002 | Keystores/certificados commitados no repositório | mobile, todas | OWASP MASVS, CWE-312 |
|
|
283
357
|
| SEC-SQL-001 | SQL injection (concatenação de string em queries) | PHP, .NET, Java, Node | OWASP A03, CWE-89 |
|
|
284
358
|
| SEC-CRYPTO-001 | Criptografia fraca (MD5, SHA1) | PHP, .NET, Java, Node | OWASP A02, CWE-327 |
|
|
285
359
|
| SEC-DESER-001 | Desserialização insegura (BinaryFormatter, `unserialize`, `readObject`) | .NET, PHP, Java | OWASP A08, CWE-502 |
|
|
286
360
|
| SEC-CMD-001 | Command injection (`exec`, `Runtime.exec`, `shell_exec` com input do usuário) | PHP, .NET, Java, Node | OWASP A03, CWE-78 |
|
|
287
|
-
| SEC-PATH-001 | Path traversal (
|
|
288
|
-
| SEC-XSS-001 | XSS
|
|
361
|
+
| SEC-PATH-001 | Path traversal (caminhos de arquivo não validados) | PHP, .NET, Java, Node | OWASP A01, CWE-22 |
|
|
362
|
+
| SEC-XSS-001 | XSS por saída sem escape (`echo $_GET`, `Html.Raw`) | PHP, .NET | OWASP A03, CWE-79 |
|
|
289
363
|
| SEC-LOG-001 | `console.log` ativo em produção | JS/TS, mobile | CWE-532 |
|
|
290
364
|
| SEC-LOG-002 | PII (CPF, SSN, IDs) em logs/serviços externos | todas | CWE-532, LGPD/GDPR |
|
|
291
365
|
| SEC-ERR-001 | Catch blocks vazios | todas | CWE-390 |
|
|
292
|
-
| SEC-STORE-001 | Token em AsyncStorage (
|
|
293
|
-
| CQ-MIX-001 | JS e TS misturados (migração TS incompleta) | JS/TS | Clean Code |
|
|
294
|
-
| CQ-DEPRECATED-001 | APIs
|
|
366
|
+
| SEC-STORE-001 | Token em AsyncStorage (armazenamento inseguro) | mobile | OWASP MASVS |
|
|
367
|
+
| CQ-MIX-001 | Arquivos JS e TS misturados (migração TS incompleta) | JS/TS | Clean Code |
|
|
368
|
+
| CQ-DEPRECATED-001 | APIs depreciadas (`mysql_*`, `ereg`, `Vector`) | PHP, Java | classificadas por CVE |
|
|
295
369
|
|
|
296
370
|
Todo achado inclui: evidência (arquivo, linha, snippet), impacto, referência técnica e recomendação.
|
|
297
371
|
|
|
@@ -300,14 +374,14 @@ Todo achado inclui: evidência (arquivo, linha, snippet), impacto, referência t
|
|
|
300
374
|
## Princípios
|
|
301
375
|
|
|
302
376
|
| Princípio | Descrição |
|
|
303
|
-
|
|
304
|
-
| **Install-First** | Um comando instala tudo
|
|
377
|
+
|-----------|-------------|
|
|
378
|
+
| **Install-First** | Um comando instala tudo. Sem setup manual. |
|
|
305
379
|
| **IDE-Native** | Agentes são slash commands da IDE. A IA vem do ambiente do dev. |
|
|
306
380
|
| **Evidence-Driven** | Todo achado tem evidência concreta (arquivo, linha, snippet). |
|
|
307
|
-
| **Context-First** |
|
|
308
|
-
| **Read-Only** | O framework não
|
|
381
|
+
| **Context-First** | Nenhuma LLM recebe o repositório inteiro — apenas context packs. |
|
|
382
|
+
| **Read-Only** | O framework não modifica código. Apenas lê e gera relatórios. |
|
|
309
383
|
| **Production-First** | Toda recomendação assume que o sistema está em produção. |
|
|
310
|
-
| **Incremental** |
|
|
384
|
+
| **Incremental** | Todo passo de modernização é incremental, reversível e deployável. |
|
|
311
385
|
|
|
312
386
|
---
|
|
313
387
|
|
|
@@ -315,24 +389,24 @@ Todo achado inclui: evidência (arquivo, linha, snippet), impacto, referência t
|
|
|
315
389
|
|
|
316
390
|
O framework foi validado contra um **app mobile em produção** (~18k linhas de código, 98 dependências, transações financeiras reais):
|
|
317
391
|
|
|
318
|
-
**Compliance Engine (determinístico):** 7 achados
|
|
392
|
+
**Compliance Engine (determinístico):** 7 achados via pattern matching
|
|
319
393
|
|
|
320
|
-
**Agentes
|
|
321
|
-
- Credenciais de service account decodificadas de Base64 no código-fonte
|
|
322
|
-
- Flag de
|
|
323
|
-
- Senhas de usuário
|
|
324
|
-
- PII
|
|
325
|
-
- Gravação de sessão capturando dados sensíveis sem consentimento
|
|
394
|
+
**Agentes de IA (via Claude Code):** +43 achados adicionais, incluindo:
|
|
395
|
+
- Credenciais de service account decodificadas a partir de Base64 no código-fonte
|
|
396
|
+
- Flag de remote config capaz de bypassar toda a autenticação em produção
|
|
397
|
+
- Senhas de usuário logadas em texto claro em um banco de dados na nuvem
|
|
398
|
+
- PII usado como chave primária em banco de dados na nuvem (enumerável)
|
|
399
|
+
- Gravação de sessão capturando dados sensíveis sem consentimento do usuário
|
|
326
400
|
- 63 regras de negócio extraídas do código (11 implícitas, nunca documentadas)
|
|
327
|
-
-
|
|
401
|
+
- Possível bug em cálculo de data afetando lógica de negócio central
|
|
328
402
|
|
|
329
|
-
**Artefatos gerados (4 entregáveis oficiais
|
|
403
|
+
**Artefatos gerados (4 entregáveis oficiais da V1):**
|
|
330
404
|
- **PRS** — Product Refactor Specification consolidando o diagnóstico
|
|
331
405
|
- **SDD** — Software Design Document com arquitetura atual/alvo e 8 ADRs
|
|
332
|
-
- **MMP** — Modernization Master Plan com roadmap em 4 fases (
|
|
333
|
-
- **37 Execution Specs** — unidades de trabalho atômicas
|
|
406
|
+
- **MMP** — Modernization Master Plan com roadmap em 4 fases (Emergency → Foundation → Core → Evolution), Execution Readiness Score 38→88/100, Deployability scores por fase e estratégias concretas de rollback
|
|
407
|
+
- **37 Execution Specs** — unidades de trabalho atômicas e individualmente deployáveis, com critérios de aceite binários, rollback obrigatório, rastreabilidade de evidência e grafo de dependência
|
|
334
408
|
|
|
335
|
-
**Total:** 50 achados + 4 artefatos consolidados + 37 specs executáveis a partir de um único `npx legacy-squad install` seguido
|
|
409
|
+
**Total:** 50 achados + 4 artefatos consolidados + 37 specs executáveis a partir de um único `npx legacy-squad install` seguido por 9 ativações de slash command.
|
|
336
410
|
|
|
337
411
|
---
|
|
338
412
|
|
|
@@ -340,54 +414,37 @@ O framework foi validado contra um **app mobile em produção** (~18k linhas de
|
|
|
340
414
|
|
|
341
415
|
### Community Edition (V1) — Open Source
|
|
342
416
|
|
|
343
|
-
Foco: **
|
|
417
|
+
Foco: **Understand + Plan**
|
|
344
418
|
|
|
345
419
|
- Scanner com detecção multi-stack (PHP/Laravel/Symfony, .NET/ASP.NET, Java/Spring, Node, React Native/Expo)
|
|
346
420
|
- Compliance Engine com 14 regras determinísticas (OWASP MASVS, ASVS, CWE Top 25)
|
|
347
421
|
- Context Manager (básico)
|
|
348
422
|
- **5 agentes de análise** como slash commands: security, architecture, legacy-code, business-rules, modernization
|
|
349
|
-
- **4 geradores de
|
|
423
|
+
- **4 geradores de artefatos** como slash commands: PRS, SDD, MMP, Execution Specs
|
|
350
424
|
- Suporte a Claude Code, Codex CLI (Cursor / Gemini CLI no roadmap)
|
|
351
425
|
|
|
352
426
|
### Enterprise Edition (V2) — Em desenvolvimento
|
|
353
427
|
|
|
354
|
-
Foco: **
|
|
428
|
+
Foco: **Modernize**
|
|
355
429
|
|
|
356
430
|
- Execution Engine (refatoração assistida por IA)
|
|
357
431
|
- Pull Request Engine
|
|
358
432
|
- QA Gates
|
|
359
433
|
- Integração CI/CD
|
|
360
434
|
- Custom Rule Packs
|
|
361
|
-
- Dashboard +
|
|
435
|
+
- Dashboard + Team Collaboration
|
|
362
436
|
|
|
363
437
|
---
|
|
364
438
|
|
|
365
439
|
## Roadmap
|
|
366
440
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
- [x] Validação end-to-end com projeto real (mobile, ~18k LoC)
|
|
373
|
-
- [x] Catálogo de regras multi-stack (PHP, .NET, Java, Node, mobile)
|
|
374
|
-
- [x] Templates de agentes language-agnostic (stack-aware analysis)
|
|
375
|
-
- [x] 4 artefatos oficiais (PRS, SDD, MMP, Execution Specs)
|
|
376
|
-
|
|
377
|
-
### V1 — Melhorias contínuas
|
|
378
|
-
|
|
379
|
-
- [ ] Suporte a Cursor + Gemini CLI
|
|
380
|
-
- [ ] Pacotes de regras framework-specific (Eloquent raw queries, EF Core, Hibernate HQL)
|
|
381
|
-
- [ ] Scanner baseado em AST (atual é regex)
|
|
382
|
-
|
|
383
|
-
### V2 — Execution Platform (Enterprise Edition) — Em desenvolvimento
|
|
441
|
+
| Horizonte | Fase | Status |
|
|
442
|
+
|---|---|---|
|
|
443
|
+
| **Now** | V1 Community — melhorias contínuas | 🔵 Ativo |
|
|
444
|
+
| **Next** | V2 Enterprise — execução, refatoração, PRs | 🟡 Em desenho |
|
|
445
|
+
| **Later** | V3 Autonomous — modernização contínua | ⚪ Visão |
|
|
384
446
|
|
|
385
|
-
|
|
386
|
-
- [ ] Pull Request Engine
|
|
387
|
-
- [ ] QA Gates
|
|
388
|
-
- [ ] Integração CI/CD
|
|
389
|
-
- [ ] Custom Rule Packs
|
|
390
|
-
- [ ] Dashboard + Colaboração em Equipe
|
|
447
|
+
[**→ Roadmap completo**](ROADMAP.md) · [**→ Influencie a direção**](https://github.com/hrpimenta/legacy-squad/discussions)
|
|
391
448
|
|
|
392
449
|
---
|
|
393
450
|
|
|
@@ -417,16 +474,16 @@ node dist/cli.mjs install -p /caminho/do/projeto
|
|
|
417
474
|
```
|
|
418
475
|
legacy-squad/
|
|
419
476
|
├── packages/
|
|
420
|
-
│ ├── core/ # Tipos de domínio,
|
|
477
|
+
│ ├── core/ # Tipos de domínio, ports (Clean Architecture)
|
|
421
478
|
│ ├── scanner/ # Detecção de stack, geração de repo index
|
|
422
|
-
│ ├── context/ #
|
|
479
|
+
│ ├── context/ # Builder de context packs
|
|
423
480
|
│ ├── rules/ # Compliance engine, catálogo de regras
|
|
424
|
-
│ ├── agents/ # Definições de agentes,
|
|
425
|
-
│ └── output/ # Gerador
|
|
481
|
+
│ ├── agents/ # Definições de agentes, instalador, doctor
|
|
482
|
+
│ └── output/ # Gerador do PRS
|
|
426
483
|
├── apps/
|
|
427
484
|
│ └── cli/ # Entry point da CLI (Commander.js)
|
|
428
485
|
├── templates/
|
|
429
|
-
│ └── claude-commands/ # Templates
|
|
486
|
+
│ └── claude-commands/ # Templates de slash commands
|
|
430
487
|
└── docs/
|
|
431
488
|
└── plans/ # Decisões de arquitetura, planos
|
|
432
489
|
```
|
|
@@ -434,27 +491,23 @@ legacy-squad/
|
|
|
434
491
|
### Testes
|
|
435
492
|
|
|
436
493
|
```bash
|
|
437
|
-
npx vitest run # 93 testes (
|
|
438
|
-
npx vitest --watch #
|
|
494
|
+
npx vitest run # 93 testes (domain, scanner, compliance, agents, installer)
|
|
495
|
+
npx vitest --watch # Modo watch
|
|
439
496
|
```
|
|
440
497
|
|
|
441
498
|
---
|
|
442
499
|
|
|
443
|
-
##
|
|
500
|
+
## Como Contribuir
|
|
444
501
|
|
|
445
|
-
|
|
446
|
-
2. Crie uma branch (`git checkout -b feature/minha-feature`)
|
|
447
|
-
3. Siga os padrões: TDD (Red→Green→Refactor), SOLID, Clean Architecture
|
|
448
|
-
4. Rode os testes (`npx vitest run`)
|
|
449
|
-
5. Abra um PR
|
|
502
|
+
Agradecemos contribuições. Consulte o arquivo [CONTRIBUTING.md](CONTRIBUTING.md) para obter informações sobre:
|
|
450
503
|
|
|
451
|
-
|
|
504
|
+
- Como adicionar uma regra ao Compliance Engine
|
|
505
|
+
- Como aprimorar os modelos de agentes
|
|
506
|
+
- Como adicionar suporte a IDEs
|
|
507
|
+
- Padrões de engenharia (TDD, SOLID, segurança)
|
|
508
|
+
- Convenções de commit e processo de pull request
|
|
452
509
|
|
|
453
|
-
|
|
454
|
-
- Melhorias nos templates de agentes
|
|
455
|
-
- Suporte a novas IDEs
|
|
456
|
-
- Documentação e tradução
|
|
457
|
-
- Testes e fixtures para outras stacks
|
|
510
|
+
Para perguntas e propostas, [abra uma discussão](https://github.com/hrpimenta/legacy-squad/discussions).
|
|
458
511
|
|
|
459
512
|
---
|
|
460
513
|
|