legacy-squad 1.0.0 → 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/README.pt-br.md CHANGED
@@ -1,431 +1,524 @@
1
- <p align="center">
2
- <h1 align="center">Legacy Squad Framework</h1>
3
- <p align="center"><strong>Plataforma de Modernização de Legados com IA</strong></p>
4
- <p align="center"><em>Understand. Plan. Modernize.</em></p>
5
- <p align="center">
6
- <strong>🇧🇷 Português</strong> · <a href="README.md">🇺🇸 English</a>
7
- </p>
8
- </p>
9
-
10
- ---
11
-
12
- Legacy Squad é um framework open-source que se instala dentro do seu projeto legado com um único comando, analisa automaticamente o código-fonte e disponibiliza agentes de IA especializados na sua IDE para produzir um diagnóstico completo — sem alterar uma linha de código.
13
-
14
- ```bash
15
- npx legacy-squad install
16
- ```
17
-
18
- ---
19
-
20
- ## O Problema
21
-
22
- Sistemas legados sustentam processos críticos, mas frequentemente apresentam:
23
-
24
- - Documentação inexistente ou desatualizada
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"
30
-
31
- Abordagens tradicionais (reescrita total, refatoração sem governança) são caras, lentas e arriscadas.
32
-
33
- ## A Solução
34
-
35
- Legacy Squad combina **análise determinística** (scanner + compliance engine com regras OWASP/CWE) com **agentes de IA especializados** que rodam na sua IDE (Claude Code, Codex, Cursor) para produzir:
36
-
37
- | Artefato | O que faz |
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 Plan** | Roadmap incremental em fases com rollback e scores |
46
- | **PRS** | Product Refactor Specification documento consolidado para decision makers |
47
-
48
- ---
49
-
50
- ## Quick Start
51
-
52
- ### Pré-requisitos
53
-
54
- - Node.js ≥ 18
55
- - Uma IDE com IA: [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Codex CLI](https://github.com/openai/codex) ou [Cursor](https://cursor.sh)
56
-
57
- ### Instalação
58
-
59
- ```bash
60
- cd seu-projeto-legado
61
- npx legacy-squad install
62
- ```
63
-
64
- O comando:
65
- 1. Detecta a stack (React Native, PHP, .NET, Java, Node — por manifesto)
66
- 2. Escaneia o repositório e gera o inventário
67
- 3. Roda o Compliance Engine (regras OWASP/CWE)
68
- 4. Gera Context Packs por módulo
69
- 5. Instala agentes como slash commands na IDE
70
- 6. Verifica a instalação (8 checks)
71
-
72
- ### Uso com Claude Code
73
-
74
- ```bash
75
- claude # Abre Claude Code no projeto
76
- /legacy-squad-security # Roda o Security Agent
77
- /legacy-squad-architecture # Roda o Architecture Agent
78
- /legacy-squad-legacy-code # Roda o Legacy Code Agent
79
- /legacy-squad-business-rules # Roda o Business Rules Agent
80
- /legacy-squad-modernization # Roda o Modernization Agent
81
- /legacy-squad-generate-prs # Consolida tudo no PRS final
82
- ```
83
-
84
- ### Uso com Codex CLI
85
-
86
- ```bash
87
- codex # Abre Codex no projeto
88
- # O AGENTS.md na raiz define os agentes disponíveis
89
- @legacy-squad-security # Ativa o Security Agent
90
- ```
91
-
92
- ### Outros Comandos
93
-
94
- ```bash
95
- npx legacy-squad scan # Re-escaneia sem reinstalar agentes
96
- npx legacy-squad doctor # Verifica saúde da instalação
97
- ```
98
-
99
- ---
100
-
101
- ## Como Funciona
102
-
103
- ```
104
- ┌─────────────────────┐
105
- │ npx legacy-squad │
106
- │ install │
107
- └─────────┬───────────┘
108
-
109
- ┌───────────────┼───────────────┐
110
- ▼ ▼ ▼
111
- ┌──────────┐ ┌────────────┐ ┌────────────┐
112
- Scanner │ │ Compliance │ │ Context │
113
- │ (stack, │ │ Engine │ │ Manager │
114
- módulos) │ │ (OWASP) │ │ (packs) │
115
- └────┬─────┘ └─────┬──────┘ └─────┬──────┘
116
- │ │ │
117
- ▼ ▼ ▼
118
- ┌──────────────────────────────────────────┐
119
- │ .legacy-squad/memory/ │
120
- │ repo-index.json | findings.json | │
121
- │ context-packs.json │
122
- └──────────────────┬───────────────────────┘
123
-
124
- ┌────────────┼────────────┐
125
- ▼ ▼ ▼
126
- ┌──────────┐ ┌──────────┐ ┌──────────┐
127
- .claude/ │ AGENTS.md│ │ .cursor/ │
128
- commands/│ │ (Codex) │ │ rules/ │
129
- │ (Claude) │ │ │ │ (Cursor) │
130
- └────┬─────┘ └────┬─────┘ └────┬─────┘
131
- │ │ │
132
- └─────────────┼─────────────┘
133
-
134
- ┌──────▼──────┐
135
- │ IDE + IA │
136
- (Claude Code│
137
- │ Codex, │
138
- │ Cursor) │
139
- └──────┬──────┘
140
-
141
- ┌──────▼──────┐
142
- Assessments
143
- │ + PRS final │
144
- └─────────────┘
145
- ```
146
-
147
- **O framework prepara os dados e instala os agentes. A IA é executada pela IDE do dev.**
148
-
149
- Zero API key necessária. Zero chamada a servidor externo. Tudo local.
150
-
151
- ---
152
-
153
- ## Estrutura Instalada no Projeto
154
-
155
- Após `npx legacy-squad install`:
156
-
157
- ```
158
- seu-projeto/
159
- ├── .legacy-squad/
160
- │ ├── config/
161
- │ │ └── project.yaml # Configuração detectada
162
- │ ├── memory/
163
- │ │ ├── repo-index.json # Inventário do repositório
164
- │ │ ├── findings.json # Achados do compliance engine
165
- │ │ └── context-packs.json # Contexto por módulo
166
- │ ├── outputs/
167
- │ │ ├── assessments/ # Assessments dos agentes
168
- │ │ └── reports/ # PRS consolidado
169
- │ └── logs/
170
- │ └── install.log
171
- ├── .claude/
172
- │ └── commands/
173
- │ └── legacy-squad/
174
- │ ├── security.md # /legacy-squad-security
175
- │ ├── architecture.md # /legacy-squad-architecture
176
- │ ├── legacy-code.md # /legacy-squad-legacy-code
177
- │ ├── business-rules.md # /legacy-squad-business-rules
178
- │ ├── modernization.md # /legacy-squad-modernization
179
- │ ├── generate-prs.md # /legacy-squad-generate-prs
180
- │ └── scan.md # /legacy-squad-scan
181
- └── AGENTS.md # Compatibilidade Codex
182
- ```
183
-
184
- ---
185
-
186
- ## Agentes
187
-
188
- ### Security Agent (`/legacy-squad-security`)
189
-
190
- Analisa autenticação, secrets, armazenamento inseguro, exposição de PII e conformidade com leis de privacidade (LGPD, GDPR).
191
-
192
- **Referências:** OWASP MASVS V2, OWASP ASVS, CWE Top 25, LGPD, GDPR, NIST SSDF
193
-
194
- ### Architecture Agent (`/legacy-squad-architecture`)
195
-
196
- Mapeia arquitetura atual com diagramas C4, identifica acoplamento, riscos estruturais e propõe arquitetura alvo incremental.
197
-
198
- **Referências:** C4 Model, Clean Architecture, arc42, ADR
199
-
200
- ### Legacy Code Agent (`/legacy-squad-legacy-code`)
201
-
202
- Identifica hotspots, duplicação, progresso de migração JS→TS, cobertura de testes e prioridades de refatoração.
203
-
204
- **Referências:** Clean Code, Sonar Rules, Cognitive Complexity
205
-
206
- ### Business Rules Agent (`/legacy-squad-business-rules`)
207
-
208
- Extrai regras de negócio escondidas no código — validações, permissões, fluxos, magic numbers, regras implícitas em catch blocks.
209
-
210
- **Referências:** DDD, Event Storming
211
-
212
- ### Modernization Agent (`/legacy-squad-modernization`)
213
-
214
- Sintetiza todos os assessments em um plano incremental com fases, rollback, Deployability Score (1-10) e Execution Readiness Score (0-100).
215
-
216
- **Referências:** Strangler Fig, Branch by Abstraction, Progressive Delivery
217
-
218
- ### PRS Generator (`/legacy-squad-generate-prs`)
219
-
220
- Consolida todos os assessments no PRS (Product Refactor Specification) — o documento final para decision makers.
221
-
222
- ---
223
-
224
- ## Stacks Suportadas
225
-
226
- ### Detecção por Manifesto (Camada 1 — determinística)
227
-
228
- | Manifesto | Stack |
229
- |-----------|-------|
230
- | `package.json` | Node.js, React, React Native, Expo, Next.js |
231
- | `composer.json` | PHP, Laravel |
232
- | `.csproj` | C#, .NET |
233
- | `pom.xml` | Java, Spring Boot |
234
-
235
- ### Detecção por Extensão (Camada 2 — heurística)
236
-
237
- TypeScript, JavaScript, PHP, C#, Java, Python, Dart
238
-
239
- ---
240
-
241
- ## Compliance Engine
242
-
243
- O scanner roda automaticamente regras determinísticas baseadas em OWASP e CWE:
244
-
245
- | Regra | Detecta | Referência |
246
- |-------|---------|------------|
247
- | SEC-CRED-001 | Credenciais hardcoded | OWASP MASVS, CWE-798 |
248
- | SEC-CRED-002 | Keystores/certificados no repositório | OWASP MASVS, CWE-312 |
249
- | SEC-LOG-001 | Console.log ativo em produção | CWE-532 |
250
- | SEC-LOG-002 | PII (CPF, SSN, IDs) em logs/serviços externos | CWE-532, LGPD/GDPR |
251
- | SEC-ERR-001 | Catch blocks vazios | CWE-390 |
252
- | SEC-STORE-001 | Token em AsyncStorage | OWASP MASVS |
253
- | CQ-MIX-001 | JS e TS misturados | Clean Code |
254
- | CQ-DEP-001 | Dependências transitivas | Clean Code |
255
-
256
- Todo achado inclui: evidência (arquivo, linha, snippet), impacto, referência técnica e recomendação.
257
-
258
- ---
259
-
260
- ## Princípios
261
-
262
- | Princípio | Descrição |
263
- |-----------|-----------|
264
- | **Install-First** | Um comando instala tudo no projeto. Sem configuração manual. |
265
- | **IDE-Native** | Agentes são slash commands da IDE. A IA vem do ambiente do dev. |
266
- | **Evidence-Driven** | Todo achado tem evidência concreta (arquivo, linha, snippet). |
267
- | **Context-First** | Nenhum LLM recebe o repositório inteiro — apenas context packs. |
268
- | **Read-Only** | O framework não altera código. Apenas lê e gera relatórios. |
269
- | **Production-First** | Toda recomendação assume que o sistema está em produção. |
270
- | **Incremental** | Toda modernização é incremental, reversível e deployável. |
271
-
272
- ---
273
-
274
- ## Validado em Produção
275
-
276
- O framework foi validado contra um **app mobile em produção** (~18k linhas de código, 98 dependências, transações financeiras reais):
277
-
278
- **Compliance Engine (determinístico):** 7 achados por pattern matching
279
-
280
- **Agentes (IA via Claude Code):** +43 achados adicionais, incluindo:
281
- - Credenciais de service account decodificadas de Base64 no código-fonte
282
- - Flag de configuração remota capaz de bypassar toda a autenticação em produção
283
- - Senhas de usuário gravadas em texto plano em banco de dados cloud
284
- - PII usada como chave primária em banco cloud (enumerável)
285
- - Gravação de sessão capturando dados sensíveis sem consentimento
286
- - 63 regras de negócio extraídas do código (11 implícitas, nunca documentadas)
287
- - Bug potencial em cálculo de datas afetando lógica de negócio central
288
-
289
- **Artefatos gerados (4 entregáveis oficiais do V1):**
290
- - **PRS** Product Refactor Specification consolidando o diagnóstico
291
- - **SDD** — Software Design Document com arquitetura atual/alvo e 8 ADRs
292
- - **MMP** — Modernization Master Plan com roadmap em 4 fases (Emergência → Foundation → Core → Evolution), Execution Readiness Score 3888/100, scores de deployability por fase e estratégias concretas de rollback
293
- - **37 Execution Specs** — unidades de trabalho atômicas, individualmente deployáveis, com critérios de aceite binários, rollback obrigatório, rastreabilidade de evidências e grafo de dependências
294
-
295
- **Total:** 50 achados + 4 artefatos consolidados + 37 specs executáveis a partir de um único `npx legacy-squad install` seguido de 9 ativações de slash command.
296
-
297
- ---
298
-
299
- ## Open Core
300
-
301
- ### Community Edition (V1) — Open Source
302
-
303
- Foco: **Entender + Planejar**
304
-
305
- - Scanner com detecção multi-stack (PHP/Laravel/Symfony, .NET/ASP.NET, Java/Spring, Node, React Native/Expo)
306
- - Compliance Engine com 14 regras determinísticas (OWASP MASVS, ASVS, CWE Top 25)
307
- - Context Manager (básico)
308
- - **5 agentes de análise** como slash commands: security, architecture, legacy-code, business-rules, modernization
309
- - **4 geradores de artefato** como slash commands: PRS, SDD, MMP, Execution Specs
310
- - Suporte a Claude Code, Codex CLI (Cursor / Gemini CLI no roadmap)
311
-
312
- ### Enterprise Edition (V2) — Em desenvolvimento
313
-
314
- Foco: **Modernizar**
315
-
316
- - Execution Engine (refatoração assistida por IA)
317
- - Pull Request Engine
318
- - QA Gates
319
- - Integração CI/CD
320
- - Custom Rule Packs
321
- - Dashboard + Colaboração em Equipe
322
-
323
- ---
324
-
325
- ## Roadmap
326
-
327
- ### V1 — Discovery Platform (Community Edition) ✅
328
-
329
- - [x] Scanner + Compliance Engine
330
- - [x] Comando install + integração com IDE
331
- - [x] Context Manager (básico)
332
- - [x] Validação end-to-end com projeto real (mobile, ~18k LoC)
333
- - [x] Catálogo de regras multi-stack (PHP, .NET, Java, Node, mobile)
334
- - [x] Templates de agentes language-agnostic (stack-aware analysis)
335
- - [x] 4 artefatos oficiais (PRS, SDD, MMP, Execution Specs)
336
-
337
- ### V1 — Melhorias contínuas
338
-
339
- - [ ] Suporte a Cursor + Gemini CLI
340
- - [ ] Pacotes de regras framework-specific (Eloquent raw queries, EF Core, Hibernate HQL)
341
- - [ ] Scanner baseado em AST (atual é regex)
342
-
343
- ### V2 Execution Platform (Enterprise Edition)Em desenvolvimento
344
-
345
- - [ ] Execution Engine (refatoração assistida por IA a partir das Execution Specs)
346
- - [ ] Pull Request Engine
347
- - [ ] QA Gates
348
- - [ ] Integração CI/CD
349
- - [ ] Custom Rule Packs
350
- - [ ] Dashboard + Colaboração em Equipe
351
-
352
- ---
353
-
354
- ## Desenvolvimento
355
-
356
- ```bash
357
- git clone https://github.com/hrpimenta/legacy-squad.git
358
- cd legacy-squad
359
- pnpm install
360
- pnpm approve-builds esbuild
361
-
362
- # Testes
363
- npx vitest run
364
-
365
- # Modo dev (sem build)
366
- npx tsx apps/cli/src/index.ts install -p /caminho/do/projeto
367
-
368
- # Build
369
- node build.mjs
370
-
371
- # Testar versão bundled
372
- node dist/cli.mjs install -p /caminho/do/projeto
373
- ```
374
-
375
- ### Estrutura do Monorepo
376
-
377
- ```
378
- legacy-squad/
379
- ├── packages/
380
- │ ├── core/ # Tipos de domínio, portas (Clean Architecture)
381
- │ ├── scanner/ # Detecção de stack, geração de repo index
382
- │ ├── context/ # Context packs builder
383
- │ ├── rules/ # Compliance engine, catálogo de regras
384
- │ ├── agents/ # Definições de agentes, installer, doctor
385
- │ └── output/ # Gerador de PRS
386
- ├── apps/
387
- │ └── cli/ # Entry point da CLI (Commander.js)
388
- ├── templates/
389
- │ └── claude-commands/ # Templates dos slash commands
390
- └── docs/
391
- └── plans/ # Decisões de arquitetura, planos
392
- ```
393
-
394
- ### Testes
395
-
396
- ```bash
397
- npx vitest run # 28 testes (domínio, scanner, compliance, agentes)
398
- npx vitest --watch # Watch mode
399
- ```
400
-
401
- ---
402
-
403
- ## Contribuindo
404
-
405
- 1. Faça fork do repositório
406
- 2. Crie uma branch (`git checkout -b feature/minha-feature`)
407
- 3. Siga os padrões: TDD (Red→Green→Refactor), SOLID, Clean Architecture
408
- 4. Rode os testes (`npx vitest run`)
409
- 5. Abra um PR
410
-
411
- ### Formas de contribuir
412
-
413
- - Novas regras para o Compliance Engine (PHP, .NET, Java)
414
- - Melhorias nos templates de agentes
415
- - Suporte a novas IDEs
416
- - Documentação e tradução
417
- - Testes e fixtures para outras stacks
418
-
419
- ---
420
-
421
- ## Licença
422
-
423
- MIT veja [LICENSE](LICENSE) para detalhes.
424
-
425
- ---
426
-
427
- <p align="center">
428
- <strong>Understand. Plan. Modernize.</strong>
429
- <br>
430
- <em>Legacy Squad Framework</em>
431
- </p>
1
+ <p align="center">
2
+ <h1 align="center">Legacy Squad Framework</h1>
3
+ <p align="center"><strong>Plataforma de Modernização de Legados com IA</strong></p>
4
+ <p align="center"><em>Understand. Plan. Modernize.</em></p>
5
+ <p align="center">
6
+ <strong>🇧🇷 Português</strong> · <a href="README.md">🇺🇸 English</a>
7
+ </p>
8
+ </p>
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
+
19
+ ---
20
+
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.
23
+
24
+ ```bash
25
+ npx legacy-squad install
26
+ ```
27
+
28
+ <p align="center">
29
+ <img src="docs/assets/demo.svg" alt="Saída do install do Legacy Squad" width="780">
30
+ </p>
31
+
32
+ <p align="center">
33
+ 🔑 <strong>Zero API keys</strong> &nbsp;·&nbsp;
34
+ ☁️ <strong>Zero servidores externos</strong> &nbsp;·&nbsp;
35
+ 💻 <strong>Roda na sua própria IDE</strong> (Claude Code, Codex, Cursor)
36
+ </p>
37
+
38
+ ---
39
+
40
+ ## 📊 Validado em Produção
41
+
42
+ Aplicativo mobile real em produção **~18.000 LoC**, **98 dependências**, transações financeiras reais:
43
+
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 |
49
+
50
+ A partir de um único `npx legacy-squad install` seguido por 9 slash commands na IDE.
51
+
52
+ [**→ Leia o case study completo**](docs/CASE_STUDY.md)
53
+
54
+ ---
55
+
56
+ ## 🚀 Início Rápido
57
+
58
+ > Do zero ao seu primeiro achado gerado por IA em minutos.
59
+
60
+ ### Pré-requisitos
61
+
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)
64
+
65
+ ### 1. Instale no seu projeto legado
66
+
67
+ ```bash
68
+ cd seu-projeto-legado
69
+ npx legacy-squad install
70
+ ```
71
+
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)
87
+
88
+ </details>
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**
101
+ ```bash
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
115
+
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
124
+ /legacy-squad-security # Security Agent
125
+ /legacy-squad-architecture # Architecture Agent
126
+ /legacy-squad-legacy-code # Legacy Code Agent
127
+ /legacy-squad-business-rules # Business Rules Agent
128
+ /legacy-squad-modernization # Modernization Agent
129
+ ```
130
+
131
+ **Etapa 2 — Artefatos consolidados (rode após a análise)**
132
+
133
+ ```bash
134
+ /legacy-squad-generate-prs # Product Refactor Specification
135
+ /legacy-squad-generate-sdd # Software Design Document
136
+ /legacy-squad-generate-mmp # Modernization Master Plan
137
+ /legacy-squad-generate-specs # Execution Specs (um YAML por unidade de trabalho)
138
+ ```
139
+
140
+ </details>
141
+
142
+ ### Outros comandos
143
+
144
+ ```bash
145
+ npx legacy-squad scan # Re-escaneia sem reinstalar agentes
146
+ npx legacy-squad doctor # Verifica a saúde da instalação
147
+ ```
148
+
149
+ ---
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
+
185
+ ## Como Funciona
186
+
187
+ ```
188
+ ┌─────────────────────┐
189
+ │ npx legacy-squad │
190
+ │ install │
191
+ └─────────┬───────────┘
192
+
193
+ ┌───────────────┼───────────────┐
194
+ ▼ ▼ ▼
195
+ ┌──────────┐ ┌────────────┐ ┌────────────┐
196
+ Scanner │ │ Compliance │ │ Context │
197
+ │ (stack, │ │ Engine │ │ Manager │
198
+ módulos) │ │ (OWASP) │ │ (packs) │
199
+ └────┬─────┘ └─────┬──────┘ └─────┬──────┘
200
+ │ │ │
201
+ ▼ ▼ ▼
202
+ ┌──────────────────────────────────────────┐
203
+ │ .legacy-squad/memory/ │
204
+ │ repo-index.json | findings.json | │
205
+ │ context-packs.json │
206
+ └──────────────────┬───────────────────────┘
207
+
208
+ ┌────────────┼────────────┐
209
+ ▼ ▼ ▼
210
+ ┌──────────┐ ┌──────────┐ ┌──────────┐
211
+ │ .claude/ │ │ AGENTS.md│ │ .cursor/ │
212
+ commands/│ (Codex) │ │ rules/ │
213
+ │ (Claude) │ │ │ │ (Cursor) │
214
+ └────┬─────┘ └────┬─────┘ └────┬─────┘
215
+ │ │ │
216
+ └─────────────┼─────────────┘
217
+
218
+ ┌──────▼──────┐
219
+ │ IDE + IA │
220
+ (Claude Code│
221
+ │ Codex, │
222
+ │ Cursor) │
223
+ └──────┬──────┘
224
+
225
+ ┌──────▼──────┐
226
+ Assessments
227
+ │ + PRS final │
228
+ └─────────────┘
229
+ ```
230
+
231
+ **O framework prepara os dados e instala os agentes. A IA roda na IDE do dev.**
232
+
233
+ Zero API keys necessárias. Zero chamadas a servidores externos. Tudo roda localmente.
234
+
235
+ ---
236
+
237
+ ## Estrutura Instalada
238
+
239
+ Após `npx legacy-squad install`:
240
+
241
+ ```
242
+ seu-projeto/
243
+ ├── .legacy-squad/
244
+ │ ├── config/
245
+ │ │ └── project.yaml # Configuração detectada
246
+ │ ├── memory/
247
+ │ │ ├── repo-index.json # Inventário do repositório
248
+ │ │ ├── findings.json # Achados do compliance engine
249
+ │ │ └── context-packs.json # Contexto por módulo
250
+ │ ├── outputs/
251
+ │ │ ├── assessments/ # Assessments dos agentes (5 arquivos .md)
252
+ │ │ ├── reports/ # PRS.md + PRS.json
253
+ │ │ ├── sdd/ # SDD.md + SDD.json
254
+ │ │ ├── mmp/ # MMP.md + MMP.json
255
+ │ │ └── specs/ # SPEC-*.yaml + INDEX.md
256
+ │ └── logs/
257
+ │ └── install.log
258
+ ├── .claude/
259
+ │ └── commands/
260
+ │ └── legacy-squad/
261
+ │ ├── security.md # /legacy-squad-security
262
+ │ ├── architecture.md # /legacy-squad-architecture
263
+ │ ├── legacy-code.md # /legacy-squad-legacy-code
264
+ │ ├── business-rules.md # /legacy-squad-business-rules
265
+ │ ├── modernization.md # /legacy-squad-modernization
266
+ │ ├── generate-prs.md # /legacy-squad-generate-prs
267
+ │ ├── generate-sdd.md # /legacy-squad-generate-sdd
268
+ │ ├── generate-mmp.md # /legacy-squad-generate-mmp
269
+ │ ├── generate-specs.md # /legacy-squad-generate-specs
270
+ │ └── scan.md # /legacy-squad-scan
271
+ └── AGENTS.md # Compatibilidade Codex
272
+ ```
273
+
274
+ ---
275
+
276
+ ## Agentes
277
+
278
+ ### Security Agent (`/legacy-squad-security`)
279
+
280
+ Analisa autenticação, secrets, armazenamento inseguro, exposição de PII e conformidade de privacidade (LGPD, GDPR).
281
+
282
+ **Referências:** OWASP MASVS V2, OWASP ASVS, CWE Top 25, LGPD, GDPR, NIST SSDF
283
+
284
+ ### Architecture Agent (`/legacy-squad-architecture`)
285
+
286
+ Mapeia a arquitetura atual com diagramas C4, identifica acoplamento, riscos estruturais e propõe uma arquitetura alvo incremental.
287
+
288
+ **Referências:** C4 Model, Clean Architecture, arc42, ADR
289
+
290
+ ### Legacy Code Agent (`/legacy-squad-legacy-code`)
291
+
292
+ Identifica hotspots, duplicação, progresso da migração JSTS, cobertura de testes e prioridades de refatoração.
293
+
294
+ **Referências:** Clean Code, Sonar Rules, Cognitive Complexity
295
+
296
+ ### Business Rules Agent (`/legacy-squad-business-rules`)
297
+
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.
299
+
300
+ **Referências:** DDD, Event Storming
301
+
302
+ ### Modernization Agent (`/legacy-squad-modernization`)
303
+
304
+ Sintetiza todos os assessments em um plano incremental com fases, rollback, Deployability Score (1-10) e Execution Readiness Score (0-100).
305
+
306
+ **Referências:** Strangler Fig, Branch by Abstraction, Progressive Delivery
307
+
308
+ ### PRS Generator (`/legacy-squad-generate-prs`)
309
+
310
+ Consolida todos os assessments no PRS (Product Refactor Specification) o relatório de diagnóstico para tomadores de decisão.
311
+
312
+ ### SDD Generator (`/legacy-squad-generate-sdd`)
313
+
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.
315
+
316
+ **Referências:** C4 Model, arc42, ADR, Clean Architecture
317
+
318
+ ### MMP Generator (`/legacy-squad-generate-mmp`)
319
+
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.
321
+
322
+ **Referências:** Strangler Fig, Branch by Abstraction, Progressive Delivery
323
+
324
+ ### Execution Specs Generator (`/legacy-squad-generate-specs`)
325
+
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.
327
+
328
+ **Referências:** FRAMEWORK_SPECIFICATION Seção 8 (schema de Execution Spec)
329
+
330
+ ---
331
+
332
+ ## Stacks Suportadas
333
+
334
+ ### Detecção por Manifesto (Camada 1 determinística)
335
+
336
+ | Manifesto | Stack |
337
+ |----------|-------|
338
+ | `package.json` | Node.js, React, React Native, Expo, Next.js |
339
+ | `composer.json` | PHP, Laravel |
340
+ | `.csproj` | C#, .NET |
341
+ | `pom.xml` | Java, Spring Boot |
342
+
343
+ ### Detecção por Extensão (Camada 2heurística)
344
+
345
+ TypeScript, JavaScript, PHP, C#, Java, Python, Dart
346
+
347
+ ---
348
+
349
+ ## Compliance Engine
350
+
351
+ O scanner roda automaticamente regras determinísticas baseadas em OWASP e CWE:
352
+
353
+ | Regra | Detecta | Stacks | Referência |
354
+ |------|---------|--------|-----------|
355
+ | SEC-CRED-001 | Credenciais hardcoded (senhas, API keys, tokens) | todas | OWASP MASVS, CWE-798 |
356
+ | SEC-CRED-002 | Keystores/certificados commitados no repositório | mobile, todas | OWASP MASVS, CWE-312 |
357
+ | SEC-SQL-001 | SQL injection (concatenação de string em queries) | PHP, .NET, Java, Node | OWASP A03, CWE-89 |
358
+ | SEC-CRYPTO-001 | Criptografia fraca (MD5, SHA1) | PHP, .NET, Java, Node | OWASP A02, CWE-327 |
359
+ | SEC-DESER-001 | Desserialização insegura (BinaryFormatter, `unserialize`, `readObject`) | .NET, PHP, Java | OWASP A08, CWE-502 |
360
+ | SEC-CMD-001 | Command injection (`exec`, `Runtime.exec`, `shell_exec` com input do usuário) | PHP, .NET, Java, Node | OWASP A03, CWE-78 |
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 |
363
+ | SEC-LOG-001 | `console.log` ativo em produção | JS/TS, mobile | CWE-532 |
364
+ | SEC-LOG-002 | PII (CPF, SSN, IDs) em logs/serviços externos | todas | CWE-532, LGPD/GDPR |
365
+ | SEC-ERR-001 | Catch blocks vazios | todas | CWE-390 |
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 |
369
+
370
+ Todo achado inclui: evidência (arquivo, linha, snippet), impacto, referência técnica e recomendação.
371
+
372
+ ---
373
+
374
+ ## Princípios
375
+
376
+ | Princípio | Descrição |
377
+ |-----------|-------------|
378
+ | **Install-First** | Um comando instala tudo. Sem setup manual. |
379
+ | **IDE-Native** | Agentes são slash commands da IDE. A IA vem do ambiente do dev. |
380
+ | **Evidence-Driven** | Todo achado tem evidência concreta (arquivo, linha, snippet). |
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. |
383
+ | **Production-First** | Toda recomendação assume que o sistema está em produção. |
384
+ | **Incremental** | Todo passo de modernização é incremental, reversível e deployável. |
385
+
386
+ ---
387
+
388
+ ## Validado em Produção
389
+
390
+ O framework foi validado contra um **app mobile em produção** (~18k linhas de código, 98 dependências, transações financeiras reais):
391
+
392
+ **Compliance Engine (determinístico):** 7 achados via pattern matching
393
+
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
400
+ - 63 regras de negócio extraídas do código (11 implícitas, nunca documentadas)
401
+ - Possível bug em cálculo de data afetando lógica de negócio central
402
+
403
+ **Artefatos gerados (4 entregáveis oficiais da V1):**
404
+ - **PRS** — Product Refactor Specification consolidando o diagnóstico
405
+ - **SDD** Software Design Document com arquitetura atual/alvo e 8 ADRs
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
408
+
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.
410
+
411
+ ---
412
+
413
+ ## Open Core
414
+
415
+ ### Community Edition (V1) — Open Source
416
+
417
+ Foco: **Understand + Plan**
418
+
419
+ - Scanner com detecção multi-stack (PHP/Laravel/Symfony, .NET/ASP.NET, Java/Spring, Node, React Native/Expo)
420
+ - Compliance Engine com 14 regras determinísticas (OWASP MASVS, ASVS, CWE Top 25)
421
+ - Context Manager (básico)
422
+ - **5 agentes de análise** como slash commands: security, architecture, legacy-code, business-rules, modernization
423
+ - **4 geradores de artefatos** como slash commands: PRS, SDD, MMP, Execution Specs
424
+ - Suporte a Claude Code, Codex CLI (Cursor / Gemini CLI no roadmap)
425
+
426
+ ### Enterprise Edition (V2) — Em desenvolvimento
427
+
428
+ Foco: **Modernize**
429
+
430
+ - Execution Engine (refatoração assistida por IA)
431
+ - Pull Request Engine
432
+ - QA Gates
433
+ - Integração CI/CD
434
+ - Custom Rule Packs
435
+ - Dashboard + Team Collaboration
436
+
437
+ ---
438
+
439
+ ## Roadmap
440
+
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 |
446
+
447
+ [**→ Roadmap completo**](ROADMAP.md) · [**→ Influencie a direção**](https://github.com/hrpimenta/legacy-squad/discussions)
448
+
449
+ ---
450
+
451
+ ## Desenvolvimento
452
+
453
+ ```bash
454
+ git clone https://github.com/hrpimenta/legacy-squad.git
455
+ cd legacy-squad
456
+ pnpm install
457
+ pnpm approve-builds esbuild
458
+
459
+ # Testes
460
+ npx vitest run
461
+
462
+ # Modo dev (sem build)
463
+ npx tsx apps/cli/src/index.ts install -p /caminho/do/projeto
464
+
465
+ # Build
466
+ node build.mjs
467
+
468
+ # Testar versão bundled
469
+ node dist/cli.mjs install -p /caminho/do/projeto
470
+ ```
471
+
472
+ ### Estrutura do Monorepo
473
+
474
+ ```
475
+ legacy-squad/
476
+ ├── packages/
477
+ │ ├── core/ # Tipos de domínio, ports (Clean Architecture)
478
+ │ ├── scanner/ # Detecção de stack, geração de repo index
479
+ │ ├── context/ # Builder de context packs
480
+ │ ├── rules/ # Compliance engine, catálogo de regras
481
+ │ ├── agents/ # Definições de agentes, instalador, doctor
482
+ │ └── output/ # Gerador do PRS
483
+ ├── apps/
484
+ │ └── cli/ # Entry point da CLI (Commander.js)
485
+ ├── templates/
486
+ │ └── claude-commands/ # Templates de slash commands
487
+ └── docs/
488
+ └── plans/ # Decisões de arquitetura, planos
489
+ ```
490
+
491
+ ### Testes
492
+
493
+ ```bash
494
+ npx vitest run # 93 testes (domain, scanner, compliance, agents, installer)
495
+ npx vitest --watch # Modo watch
496
+ ```
497
+
498
+ ---
499
+
500
+ ## Como Contribuir
501
+
502
+ Agradecemos contribuições. Consulte o arquivo [CONTRIBUTING.md](CONTRIBUTING.md) para obter informações sobre:
503
+
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
509
+
510
+ Para perguntas e propostas, [abra uma discussão](https://github.com/hrpimenta/legacy-squad/discussions).
511
+
512
+ ---
513
+
514
+ ## Licença
515
+
516
+ MIT — veja [LICENSE](LICENSE) para detalhes.
517
+
518
+ ---
519
+
520
+ <p align="center">
521
+ <strong>Understand. Plan. Modernize.</strong>
522
+ <br>
523
+ <em>Legacy Squad Framework</em>
524
+ </p>