legacy-squad 1.0.0-beta.2 → 1.0.0-beta.4
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.md +156 -149
- package/README.pt-br.md +408 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<h1 align="center">Legacy Squad Framework</h1>
|
|
3
|
+
<p align="center"><strong>AI-Powered Legacy Modernization Platform</strong></p>
|
|
4
|
+
<p align="center"><em>Understand. Plan. Modernize.</em></p>
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="README.pt-br.md">🇧🇷 Português</a> · <strong>🇺🇸 English</strong>
|
|
7
|
+
</p>
|
|
8
|
+
</p>
|
|
4
9
|
|
|
5
|
-
|
|
10
|
+
---
|
|
6
11
|
|
|
7
|
-
Legacy Squad
|
|
12
|
+
Legacy Squad is an open-source framework that installs inside your legacy project with a single command, automatically analyzes the codebase, and provides specialized AI agents in your IDE to produce a complete diagnostic — without changing a single line of code.
|
|
8
13
|
|
|
9
14
|
```bash
|
|
10
15
|
npx legacy-squad install
|
|
@@ -12,88 +17,88 @@ npx legacy-squad install
|
|
|
12
17
|
|
|
13
18
|
---
|
|
14
19
|
|
|
15
|
-
##
|
|
20
|
+
## The Problem
|
|
16
21
|
|
|
17
|
-
|
|
22
|
+
Legacy systems support critical processes, but frequently suffer from:
|
|
18
23
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
24
|
+
- Missing or outdated documentation
|
|
25
|
+
- Hardcoded credentials in source code
|
|
26
|
+
- Business rules buried in conditionals no one documented
|
|
27
|
+
- Coupling that makes any change risky
|
|
28
|
+
- Fear of modifying production code
|
|
29
|
+
- Dependency on 1-2 developers who "know the system"
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
Traditional approaches (full rewrites, unstructured refactoring) are expensive, slow, and risky.
|
|
27
32
|
|
|
28
|
-
##
|
|
33
|
+
## The Solution
|
|
29
34
|
|
|
30
|
-
Legacy Squad
|
|
35
|
+
Legacy Squad combines **deterministic analysis** (scanner + compliance engine with OWASP/CWE rules) with **specialized AI agents** that run in your IDE (Claude Code, Codex, Cursor) to produce:
|
|
31
36
|
|
|
32
|
-
|
|
|
33
|
-
|
|
34
|
-
| **Repo Index** |
|
|
35
|
-
| **Findings** |
|
|
36
|
-
| **Security Assessment** |
|
|
37
|
-
| **Architecture Assessment** |
|
|
38
|
-
| **Legacy Code Assessment** | Hotspots,
|
|
39
|
-
| **Business Rules Assessment** | 60+
|
|
40
|
-
| **Modernization Plan** |
|
|
41
|
-
| **PRS** | Product Refactor Specification —
|
|
37
|
+
| Artifact | What it does |
|
|
38
|
+
|----------|-------------|
|
|
39
|
+
| **Repo Index** | Full inventory: stack, modules, dependencies, integrations, hotspots |
|
|
40
|
+
| **Findings** | Security findings with evidence, impact, OWASP reference and recommendation |
|
|
41
|
+
| **Security Assessment** | Deep analysis of auth, secrets, LGPD/GDPR, API security |
|
|
42
|
+
| **Architecture Assessment** | C4 diagrams, coupling analysis, structural risks, target architecture |
|
|
43
|
+
| **Legacy Code Assessment** | Hotspots, JS→TS migration, duplication, test coverage |
|
|
44
|
+
| **Business Rules Assessment** | 60+ rules extracted from code, preservation checklist |
|
|
45
|
+
| **Modernization Plan** | Incremental phased roadmap with rollback and scores |
|
|
46
|
+
| **PRS** | Product Refactor Specification — consolidated report for decision makers |
|
|
42
47
|
|
|
43
48
|
---
|
|
44
49
|
|
|
45
50
|
## Quick Start
|
|
46
51
|
|
|
47
|
-
###
|
|
52
|
+
### Prerequisites
|
|
48
53
|
|
|
49
54
|
- Node.js ≥ 18
|
|
50
|
-
-
|
|
55
|
+
- An AI-enabled IDE: [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Codex CLI](https://github.com/openai/codex), or [Cursor](https://cursor.sh)
|
|
51
56
|
|
|
52
|
-
###
|
|
57
|
+
### Installation
|
|
53
58
|
|
|
54
59
|
```bash
|
|
55
|
-
cd
|
|
60
|
+
cd your-legacy-project
|
|
56
61
|
npx legacy-squad install
|
|
57
62
|
```
|
|
58
63
|
|
|
59
|
-
|
|
60
|
-
1.
|
|
61
|
-
2.
|
|
62
|
-
3.
|
|
63
|
-
4.
|
|
64
|
-
5.
|
|
65
|
-
6.
|
|
64
|
+
The command:
|
|
65
|
+
1. Detects the stack (React Native, PHP, .NET, Java, Node — via manifest)
|
|
66
|
+
2. Scans the repository and generates the inventory
|
|
67
|
+
3. Runs the Compliance Engine (OWASP/CWE rules)
|
|
68
|
+
4. Generates Context Packs per module
|
|
69
|
+
5. Installs agents as slash commands in your IDE
|
|
70
|
+
6. Verifies the installation (8 checks)
|
|
66
71
|
|
|
67
|
-
###
|
|
72
|
+
### Usage with Claude Code
|
|
68
73
|
|
|
69
74
|
```bash
|
|
70
|
-
claude #
|
|
71
|
-
/legacy-squad-security #
|
|
72
|
-
/legacy-squad-architecture #
|
|
73
|
-
/legacy-squad-legacy-code #
|
|
74
|
-
/legacy-squad-business-rules #
|
|
75
|
-
/legacy-squad-modernization #
|
|
76
|
-
/legacy-squad-generate-prs #
|
|
75
|
+
claude # Open Claude Code in the project
|
|
76
|
+
/legacy-squad-security # Run Security Agent
|
|
77
|
+
/legacy-squad-architecture # Run Architecture Agent
|
|
78
|
+
/legacy-squad-legacy-code # Run Legacy Code Agent
|
|
79
|
+
/legacy-squad-business-rules # Run Business Rules Agent
|
|
80
|
+
/legacy-squad-modernization # Run Modernization Agent
|
|
81
|
+
/legacy-squad-generate-prs # Consolidate everything into the final PRS
|
|
77
82
|
```
|
|
78
83
|
|
|
79
|
-
###
|
|
84
|
+
### Usage with Codex CLI
|
|
80
85
|
|
|
81
86
|
```bash
|
|
82
|
-
codex #
|
|
83
|
-
#
|
|
84
|
-
@legacy-squad-security #
|
|
87
|
+
codex # Open Codex in the project
|
|
88
|
+
# AGENTS.md at the root defines available agents
|
|
89
|
+
@legacy-squad-security # Activate Security Agent
|
|
85
90
|
```
|
|
86
91
|
|
|
87
|
-
###
|
|
92
|
+
### Other Commands
|
|
88
93
|
|
|
89
94
|
```bash
|
|
90
|
-
npx legacy-squad scan # Re-
|
|
91
|
-
npx legacy-squad doctor #
|
|
95
|
+
npx legacy-squad scan # Re-scan without reinstalling agents
|
|
96
|
+
npx legacy-squad doctor # Verify installation health
|
|
92
97
|
```
|
|
93
98
|
|
|
94
99
|
---
|
|
95
100
|
|
|
96
|
-
##
|
|
101
|
+
## How It Works
|
|
97
102
|
|
|
98
103
|
```
|
|
99
104
|
┌─────────────────────┐
|
|
@@ -127,7 +132,7 @@ npx legacy-squad doctor # Verifica saúde da instalação
|
|
|
127
132
|
└─────────────┼─────────────┘
|
|
128
133
|
│
|
|
129
134
|
┌──────▼──────┐
|
|
130
|
-
│
|
|
135
|
+
│ IDE + AI │
|
|
131
136
|
│ (Claude Code│
|
|
132
137
|
│ Codex, │
|
|
133
138
|
│ Cursor) │
|
|
@@ -135,32 +140,32 @@ npx legacy-squad doctor # Verifica saúde da instalação
|
|
|
135
140
|
│
|
|
136
141
|
┌──────▼──────┐
|
|
137
142
|
│ Assessments │
|
|
138
|
-
│ + PRS
|
|
143
|
+
│ + Final PRS │
|
|
139
144
|
└─────────────┘
|
|
140
145
|
```
|
|
141
146
|
|
|
142
|
-
**
|
|
147
|
+
**The framework prepares data and installs agents. AI runs in the dev's IDE.**
|
|
143
148
|
|
|
144
|
-
Zero API
|
|
149
|
+
Zero API keys required. Zero external server calls. Everything runs locally.
|
|
145
150
|
|
|
146
151
|
---
|
|
147
152
|
|
|
148
|
-
##
|
|
153
|
+
## Installed Structure
|
|
149
154
|
|
|
150
|
-
|
|
155
|
+
After `npx legacy-squad install`:
|
|
151
156
|
|
|
152
157
|
```
|
|
153
|
-
|
|
158
|
+
your-project/
|
|
154
159
|
├── .legacy-squad/
|
|
155
160
|
│ ├── config/
|
|
156
|
-
│ │ └── project.yaml #
|
|
161
|
+
│ │ └── project.yaml # Detected configuration
|
|
157
162
|
│ ├── memory/
|
|
158
|
-
│ │ ├── repo-index.json #
|
|
159
|
-
│ │ ├── findings.json #
|
|
160
|
-
│ │ └── context-packs.json #
|
|
163
|
+
│ │ ├── repo-index.json # Repository inventory
|
|
164
|
+
│ │ ├── findings.json # Compliance engine findings
|
|
165
|
+
│ │ └── context-packs.json # Context per module
|
|
161
166
|
│ ├── outputs/
|
|
162
|
-
│ │ ├── assessments/ #
|
|
163
|
-
│ │ └── reports/ # PRS
|
|
167
|
+
│ │ ├── assessments/ # Agent assessments
|
|
168
|
+
│ │ └── reports/ # Consolidated PRS
|
|
164
169
|
│ └── logs/
|
|
165
170
|
│ └── install.log
|
|
166
171
|
├── .claude/
|
|
@@ -178,56 +183,56 @@ seu-projeto/
|
|
|
178
183
|
|
|
179
184
|
---
|
|
180
185
|
|
|
181
|
-
##
|
|
186
|
+
## Agents
|
|
182
187
|
|
|
183
188
|
### Security Agent (`/legacy-squad-security`)
|
|
184
189
|
|
|
185
|
-
|
|
190
|
+
Analyzes authentication, secrets, insecure storage, PII exposure, and privacy compliance (LGPD, GDPR).
|
|
186
191
|
|
|
187
|
-
**
|
|
192
|
+
**References:** OWASP MASVS V2, OWASP ASVS, CWE Top 25, LGPD, GDPR, NIST SSDF
|
|
188
193
|
|
|
189
194
|
### Architecture Agent (`/legacy-squad-architecture`)
|
|
190
195
|
|
|
191
|
-
|
|
196
|
+
Maps current architecture with C4 diagrams, identifies coupling, structural risks, and proposes incremental target architecture.
|
|
192
197
|
|
|
193
|
-
**
|
|
198
|
+
**References:** C4 Model, Clean Architecture, arc42, ADR
|
|
194
199
|
|
|
195
200
|
### Legacy Code Agent (`/legacy-squad-legacy-code`)
|
|
196
201
|
|
|
197
|
-
|
|
202
|
+
Identifies hotspots, duplication, JS→TS migration progress, test coverage, and refactoring priorities.
|
|
198
203
|
|
|
199
|
-
**
|
|
204
|
+
**References:** Clean Code, Sonar Rules, Cognitive Complexity
|
|
200
205
|
|
|
201
206
|
### Business Rules Agent (`/legacy-squad-business-rules`)
|
|
202
207
|
|
|
203
|
-
|
|
208
|
+
Extracts business rules hidden in code — validations, permissions, flows, magic numbers, implicit rules in catch blocks.
|
|
204
209
|
|
|
205
|
-
**
|
|
210
|
+
**References:** DDD, Event Storming
|
|
206
211
|
|
|
207
212
|
### Modernization Agent (`/legacy-squad-modernization`)
|
|
208
213
|
|
|
209
|
-
|
|
214
|
+
Synthesizes all assessments into an incremental plan with phases, rollback, Deployability Score (1-10), and Execution Readiness Score (0-100).
|
|
210
215
|
|
|
211
|
-
**
|
|
216
|
+
**References:** Strangler Fig, Branch by Abstraction, Progressive Delivery
|
|
212
217
|
|
|
213
218
|
### PRS Generator (`/legacy-squad-generate-prs`)
|
|
214
219
|
|
|
215
|
-
|
|
220
|
+
Consolidates all assessments into the PRS (Product Refactor Specification) — the final document for decision makers.
|
|
216
221
|
|
|
217
222
|
---
|
|
218
223
|
|
|
219
|
-
## Stacks
|
|
224
|
+
## Supported Stacks
|
|
220
225
|
|
|
221
|
-
###
|
|
226
|
+
### Manifest Detection (Layer 1 — deterministic)
|
|
222
227
|
|
|
223
|
-
|
|
|
224
|
-
|
|
228
|
+
| Manifest | Stack |
|
|
229
|
+
|----------|-------|
|
|
225
230
|
| `package.json` | Node.js, React, React Native, Expo, Next.js |
|
|
226
231
|
| `composer.json` | PHP, Laravel |
|
|
227
232
|
| `.csproj` | C#, .NET |
|
|
228
233
|
| `pom.xml` | Java, Spring Boot |
|
|
229
234
|
|
|
230
|
-
###
|
|
235
|
+
### Extension Detection (Layer 2 — heuristic)
|
|
231
236
|
|
|
232
237
|
TypeScript, JavaScript, PHP, C#, Java, Python, Dart
|
|
233
238
|
|
|
@@ -235,52 +240,54 @@ TypeScript, JavaScript, PHP, C#, Java, Python, Dart
|
|
|
235
240
|
|
|
236
241
|
## Compliance Engine
|
|
237
242
|
|
|
238
|
-
|
|
243
|
+
The scanner automatically runs deterministic rules based on OWASP and CWE:
|
|
239
244
|
|
|
240
|
-
|
|
|
241
|
-
|
|
242
|
-
| SEC-CRED-001 |
|
|
243
|
-
| SEC-CRED-002 | Keystores/
|
|
244
|
-
| SEC-LOG-001 |
|
|
245
|
-
| SEC-LOG-002 | PII (CPF)
|
|
246
|
-
| SEC-ERR-001 |
|
|
247
|
-
| SEC-STORE-001 | Token
|
|
248
|
-
| CQ-MIX-001 | JS
|
|
249
|
-
| CQ-DEP-001 |
|
|
245
|
+
| Rule | Detects | Reference |
|
|
246
|
+
|------|---------|-----------|
|
|
247
|
+
| SEC-CRED-001 | Hardcoded credentials | OWASP MASVS, CWE-798 |
|
|
248
|
+
| SEC-CRED-002 | Keystores/certificates in repository | OWASP MASVS, CWE-312 |
|
|
249
|
+
| SEC-LOG-001 | Active console.log in production | CWE-532 |
|
|
250
|
+
| SEC-LOG-002 | PII (CPF, SSN, IDs) in logs/external services | CWE-532, LGPD/GDPR |
|
|
251
|
+
| SEC-ERR-001 | Empty catch blocks | CWE-390 |
|
|
252
|
+
| SEC-STORE-001 | Token in AsyncStorage | OWASP MASVS |
|
|
253
|
+
| CQ-MIX-001 | Mixed JS and TS files | Clean Code |
|
|
254
|
+
| CQ-DEP-001 | Transitive dependencies | Clean Code |
|
|
250
255
|
|
|
251
|
-
|
|
256
|
+
Every finding includes: evidence (file, line, snippet), impact, technical reference, and recommendation.
|
|
252
257
|
|
|
253
258
|
---
|
|
254
259
|
|
|
255
|
-
##
|
|
260
|
+
## Principles
|
|
256
261
|
|
|
257
|
-
|
|
|
258
|
-
|
|
259
|
-
| **Install-First** |
|
|
260
|
-
| **IDE-Native** |
|
|
261
|
-
| **Evidence-Driven** |
|
|
262
|
-
| **Context-First** |
|
|
263
|
-
| **Read-Only** |
|
|
264
|
-
| **Production-First** |
|
|
265
|
-
| **Incremental** |
|
|
262
|
+
| Principle | Description |
|
|
263
|
+
|-----------|-------------|
|
|
264
|
+
| **Install-First** | One command installs everything. No manual setup. |
|
|
265
|
+
| **IDE-Native** | Agents are IDE slash commands. AI comes from the dev's environment. |
|
|
266
|
+
| **Evidence-Driven** | Every finding has concrete evidence (file, line, snippet). |
|
|
267
|
+
| **Context-First** | No LLM receives the entire repository — only context packs. |
|
|
268
|
+
| **Read-Only** | The framework does not modify code. It only reads and generates reports. |
|
|
269
|
+
| **Production-First** | Every recommendation assumes the system is in production. |
|
|
270
|
+
| **Incremental** | Every modernization step is incremental, reversible, and deployable. |
|
|
266
271
|
|
|
267
272
|
---
|
|
268
273
|
|
|
269
|
-
##
|
|
274
|
+
## Validated in Production
|
|
275
|
+
|
|
276
|
+
The framework was validated against a **production mobile app** (~18k lines of code, 98 dependencies, real financial transactions):
|
|
270
277
|
|
|
271
|
-
|
|
278
|
+
**Compliance Engine (deterministic):** 7 findings via pattern matching
|
|
272
279
|
|
|
273
|
-
**
|
|
280
|
+
**AI Agents (via Claude Code):** +43 additional findings, including:
|
|
281
|
+
- Service account credentials decoded from Base64 in source code
|
|
282
|
+
- Remote config flag capable of bypassing all authentication in production
|
|
283
|
+
- User passwords logged in plaintext to a cloud database
|
|
284
|
+
- PII used as primary key in a cloud database (enumerable)
|
|
285
|
+
- Session recording capturing sensitive data without user consent
|
|
286
|
+
- 63 business rules extracted from code (11 implicit, never documented)
|
|
287
|
+
- Potential bug in a date calculation affecting core business logic
|
|
288
|
+
- 36-week modernization roadmap with scores: Deployability 3→9/10, Readiness 22→87/100
|
|
274
289
|
|
|
275
|
-
**
|
|
276
|
-
- Credenciais de service account decodificadas (OAuth Base64 → client:secret)
|
|
277
|
-
- Flag no Firebase que bypassa 100% da autenticação em produção
|
|
278
|
-
- Senha de cooperado gravada em texto plano no Firebase Realtime Database
|
|
279
|
-
- CPF usado como chave primária no Firebase (enumerável)
|
|
280
|
-
- Session recording capturando dados financeiros e médicos sem consentimento
|
|
281
|
-
- 63 regras de negócio extraídas (11 implícitas)
|
|
282
|
-
- Bug potencial em cálculo de vencimento de boleto
|
|
283
|
-
- Roadmap de 36 semanas com scores: Deployability 3→9/10, Readiness 22→87/100
|
|
290
|
+
**Total:** 50 findings across 5 pillars, from a single `npx legacy-squad install` + 6 agent activations.
|
|
284
291
|
|
|
285
292
|
---
|
|
286
293
|
|
|
@@ -288,18 +295,18 @@ O framework foi validado contra um **app mobile React Native em produção** (co
|
|
|
288
295
|
|
|
289
296
|
### Community Edition (V1) — Open Source
|
|
290
297
|
|
|
291
|
-
|
|
298
|
+
Focus: **Understand + Plan**
|
|
292
299
|
|
|
293
300
|
- Scanner, Compliance Engine, Context Manager
|
|
294
|
-
- 7
|
|
301
|
+
- 7 agents as slash commands
|
|
295
302
|
- PRS, assessments, modernization plan
|
|
296
|
-
-
|
|
303
|
+
- Claude Code, Codex, Cursor support
|
|
297
304
|
|
|
298
|
-
### Enterprise Edition (V2) —
|
|
305
|
+
### Enterprise Edition (V2) — In development
|
|
299
306
|
|
|
300
|
-
|
|
307
|
+
Focus: **Modernize**
|
|
301
308
|
|
|
302
|
-
- Execution Engine (
|
|
309
|
+
- Execution Engine (AI-assisted refactoring)
|
|
303
310
|
- Pull Request Engine
|
|
304
311
|
- QA Gates
|
|
305
312
|
- CI/CD Integration
|
|
@@ -312,16 +319,16 @@ Foco: **Modernize**
|
|
|
312
319
|
|
|
313
320
|
- [x] Sprint 1 — Scanner + Compliance Engine
|
|
314
321
|
- [x] Sprint 2 — Install command + IDE integration
|
|
315
|
-
- [x] Sprint 3 — Context Manager (
|
|
316
|
-
- [x] Sprint 4 —
|
|
322
|
+
- [x] Sprint 3 — Context Manager (basic)
|
|
323
|
+
- [x] Sprint 4 — End-to-end validation with real project
|
|
317
324
|
- [ ] Sprint 5 — Multi-IDE (Cursor, Gemini CLI)
|
|
318
|
-
- [ ] Sprint 6 —
|
|
325
|
+
- [ ] Sprint 6 — Rules for PHP, .NET, Java
|
|
319
326
|
- [ ] Sprint 7 — SDD + MMP agents
|
|
320
327
|
- [ ] Sprint 8 — Execution Specs agent + npm publish
|
|
321
328
|
|
|
322
329
|
---
|
|
323
330
|
|
|
324
|
-
##
|
|
331
|
+
## Development
|
|
325
332
|
|
|
326
333
|
```bash
|
|
327
334
|
git clone https://github.com/hrpimenta/legacy-squad.git
|
|
@@ -329,20 +336,20 @@ cd legacy-squad
|
|
|
329
336
|
pnpm install
|
|
330
337
|
pnpm approve-builds esbuild
|
|
331
338
|
|
|
332
|
-
#
|
|
339
|
+
# Tests
|
|
333
340
|
npx vitest run
|
|
334
341
|
|
|
335
|
-
# Dev mode (
|
|
336
|
-
npx tsx apps/cli/src/index.ts install -p /
|
|
342
|
+
# Dev mode (no build)
|
|
343
|
+
npx tsx apps/cli/src/index.ts install -p /path/to/project
|
|
337
344
|
|
|
338
345
|
# Build
|
|
339
346
|
node build.mjs
|
|
340
347
|
|
|
341
|
-
#
|
|
342
|
-
node dist/cli.mjs install -p /
|
|
348
|
+
# Test bundled version
|
|
349
|
+
node dist/cli.mjs install -p /path/to/project
|
|
343
350
|
```
|
|
344
351
|
|
|
345
|
-
###
|
|
352
|
+
### Monorepo Structure
|
|
346
353
|
|
|
347
354
|
```
|
|
348
355
|
legacy-squad/
|
|
@@ -361,36 +368,36 @@ legacy-squad/
|
|
|
361
368
|
└── plans/ # Architecture decisions, plans
|
|
362
369
|
```
|
|
363
370
|
|
|
364
|
-
###
|
|
371
|
+
### Tests
|
|
365
372
|
|
|
366
373
|
```bash
|
|
367
|
-
npx vitest run # 28
|
|
374
|
+
npx vitest run # 28 tests (domain, scanner, compliance, agents)
|
|
368
375
|
npx vitest --watch # Watch mode
|
|
369
376
|
```
|
|
370
377
|
|
|
371
378
|
---
|
|
372
379
|
|
|
373
|
-
##
|
|
380
|
+
## Contributing
|
|
374
381
|
|
|
375
|
-
1. Fork
|
|
376
|
-
2.
|
|
377
|
-
3.
|
|
378
|
-
4.
|
|
379
|
-
5.
|
|
382
|
+
1. Fork the repository
|
|
383
|
+
2. Create a branch (`git checkout -b feature/my-feature`)
|
|
384
|
+
3. Follow the standards: TDD (Red→Green→Refactor), SOLID, Clean Architecture
|
|
385
|
+
4. Run tests (`npx vitest run`)
|
|
386
|
+
5. Open a PR
|
|
380
387
|
|
|
381
|
-
###
|
|
388
|
+
### Ways to contribute
|
|
382
389
|
|
|
383
|
-
-
|
|
384
|
-
-
|
|
385
|
-
-
|
|
386
|
-
-
|
|
387
|
-
-
|
|
390
|
+
- New rules for the Compliance Engine (PHP, .NET, Java)
|
|
391
|
+
- Agent template improvements
|
|
392
|
+
- New IDE support
|
|
393
|
+
- Documentation and translation
|
|
394
|
+
- Tests and fixtures for other stacks
|
|
388
395
|
|
|
389
396
|
---
|
|
390
397
|
|
|
391
|
-
##
|
|
398
|
+
## License
|
|
392
399
|
|
|
393
|
-
MIT —
|
|
400
|
+
MIT — see [LICENSE](LICENSE) for details.
|
|
394
401
|
|
|
395
402
|
---
|
|
396
403
|
|
package/README.pt-br.md
ADDED
|
@@ -0,0 +1,408 @@
|
|
|
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
|
+
- Roadmap de modernização de 36 semanas com scores: Deployability 3→9/10, Readiness 22→87/100
|
|
289
|
+
|
|
290
|
+
**Total:** 50 achados em 5 pilares, a partir de um único `npx legacy-squad install` + 6 ativações de agente.
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## Open Core
|
|
295
|
+
|
|
296
|
+
### Community Edition (V1) — Open Source
|
|
297
|
+
|
|
298
|
+
Foco: **Entender + Planejar**
|
|
299
|
+
|
|
300
|
+
- Scanner, Compliance Engine, Context Manager
|
|
301
|
+
- 7 agentes como slash commands
|
|
302
|
+
- PRS, assessments, plano de modernização
|
|
303
|
+
- Suporte a Claude Code, Codex, Cursor
|
|
304
|
+
|
|
305
|
+
### Enterprise Edition (V2) — Em desenvolvimento
|
|
306
|
+
|
|
307
|
+
Foco: **Modernizar**
|
|
308
|
+
|
|
309
|
+
- Execution Engine (refatoração assistida por IA)
|
|
310
|
+
- Pull Request Engine
|
|
311
|
+
- QA Gates
|
|
312
|
+
- Integração CI/CD
|
|
313
|
+
- Custom Rule Packs
|
|
314
|
+
- Dashboard + Colaboração em Equipe
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## Roadmap
|
|
319
|
+
|
|
320
|
+
- [x] Sprint 1 — Scanner + Compliance Engine
|
|
321
|
+
- [x] Sprint 2 — Comando install + integração com IDE
|
|
322
|
+
- [x] Sprint 3 — Context Manager (básico)
|
|
323
|
+
- [x] Sprint 4 — Validação end-to-end com projeto real
|
|
324
|
+
- [ ] Sprint 5 — Multi-IDE (Cursor, Gemini CLI)
|
|
325
|
+
- [ ] Sprint 6 — Regras para PHP, .NET, Java
|
|
326
|
+
- [ ] Sprint 7 — Agentes SDD + MMP
|
|
327
|
+
- [ ] Sprint 8 — Agente Execution Specs + npm publish
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## Desenvolvimento
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
git clone https://github.com/hrpimenta/legacy-squad.git
|
|
335
|
+
cd legacy-squad
|
|
336
|
+
pnpm install
|
|
337
|
+
pnpm approve-builds esbuild
|
|
338
|
+
|
|
339
|
+
# Testes
|
|
340
|
+
npx vitest run
|
|
341
|
+
|
|
342
|
+
# Modo dev (sem build)
|
|
343
|
+
npx tsx apps/cli/src/index.ts install -p /caminho/do/projeto
|
|
344
|
+
|
|
345
|
+
# Build
|
|
346
|
+
node build.mjs
|
|
347
|
+
|
|
348
|
+
# Testar versão bundled
|
|
349
|
+
node dist/cli.mjs install -p /caminho/do/projeto
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### Estrutura do Monorepo
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
legacy-squad/
|
|
356
|
+
├── packages/
|
|
357
|
+
│ ├── core/ # Tipos de domínio, portas (Clean Architecture)
|
|
358
|
+
│ ├── scanner/ # Detecção de stack, geração de repo index
|
|
359
|
+
│ ├── context/ # Context packs builder
|
|
360
|
+
│ ├── rules/ # Compliance engine, catálogo de regras
|
|
361
|
+
│ ├── agents/ # Definições de agentes, installer, doctor
|
|
362
|
+
│ └── output/ # Gerador de PRS
|
|
363
|
+
├── apps/
|
|
364
|
+
│ └── cli/ # Entry point da CLI (Commander.js)
|
|
365
|
+
├── templates/
|
|
366
|
+
│ └── claude-commands/ # Templates dos slash commands
|
|
367
|
+
└── docs/
|
|
368
|
+
└── plans/ # Decisões de arquitetura, planos
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### Testes
|
|
372
|
+
|
|
373
|
+
```bash
|
|
374
|
+
npx vitest run # 28 testes (domínio, scanner, compliance, agentes)
|
|
375
|
+
npx vitest --watch # Watch mode
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## Contribuindo
|
|
381
|
+
|
|
382
|
+
1. Faça fork do repositório
|
|
383
|
+
2. Crie uma branch (`git checkout -b feature/minha-feature`)
|
|
384
|
+
3. Siga os padrões: TDD (Red→Green→Refactor), SOLID, Clean Architecture
|
|
385
|
+
4. Rode os testes (`npx vitest run`)
|
|
386
|
+
5. Abra um PR
|
|
387
|
+
|
|
388
|
+
### Formas de contribuir
|
|
389
|
+
|
|
390
|
+
- Novas regras para o Compliance Engine (PHP, .NET, Java)
|
|
391
|
+
- Melhorias nos templates de agentes
|
|
392
|
+
- Suporte a novas IDEs
|
|
393
|
+
- Documentação e tradução
|
|
394
|
+
- Testes e fixtures para outras stacks
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## Licença
|
|
399
|
+
|
|
400
|
+
MIT — veja [LICENSE](LICENSE) para detalhes.
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
<p align="center">
|
|
405
|
+
<strong>Understand. Plan. Modernize.</strong>
|
|
406
|
+
<br>
|
|
407
|
+
<em>Legacy Squad Framework</em>
|
|
408
|
+
</p>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "legacy-squad",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.4",
|
|
4
4
|
"description": "AI-Powered Legacy Modernization Platform — Install-first, IDE-native, evidence-driven framework that transforms legacy systems into modernization-ready assets.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legacy",
|