← ClaudeAtlas

migrate-tlpplisted

Migrador determinístico ADVPL clássico (.prw cp1252) → TLPP moderno (.tlpp utf-8) com pipeline ts-migrate-style — 4 subcomandos (init/rename/recipes/todos), 11 recipes (6 SAFE default + 5 IDIOMS opt-in), ordem canônica fixa, safety gates (git clean + DB ingest), backup .bak.<timestamp>, rollback cascata (bak → git checkout → abort), auto-validação via plugadvpl compile (v0.18.0+)
JoniPraia/plugadvpl · ★ 12 · Code & Development · score 72
Install: claude install-skill JoniPraia/plugadvpl
# `/plugadvpl:migrate-tlpp` **Primeiro migrador ADVPL→TLPP determinístico do mercado** com auto-validação via compile. Pipeline `ts-migrate`-style: aplica recipes em ordem canônica topológica fixa, com safety gates pre-flight, backup automático, e rollback cascata em 3 níveis em caso de falha. Saída em diff por default (preview); só escreve com `--write`. Emite `@plugadvpl-todo` markers pra débitos que precisam de revisão humana (renames cross-file, padrões aninhados, ambiguidade de namespace). ## Quando usar - Migrar arquivo `.prw` (ADVPL clássico, cp1252) pra `.tlpp` (TLPP moderno, utf-8 + namespaces + try/catch + named-args). - Auditar projeto inteiro pra ver o que é migrável sem mexer em nada (`init`). - Conservador: só rename + encoding sem transformações de sintaxe (`rename`). - Pipeline completo (recipes + safety gates + validate): `recipes`. - Listar débitos pendentes em arquivos já migrados (`todos`). **Não use** pra: - Migrar `Static Function` cross-file → namespaces (v0.19.x). - Converter `WsRESTful WSMETHOD` → annotations `@Get`/`@Post` (v0.19.x). - Refactor de classes clássicas ADVPL → classes TLPP modernas (v0.19.x). - Modo interativo `[y/n]` por recipe (preferir batch + diff + commit incremental). ## Uso ### Subcomandos ``` plugadvpl migrate-tlpp init <pasta> [--idioms] [--tlpp-version 20.3.2] # Analisa pasta (read-only) e lista candidatos com counts por recipe. plugadvpl migrate-tlpp rename <arquivo> [--write] [--validate] [--allow-dirty] # Su