Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By JoniPraia
Index ADVPL/TLPP source code into a local SQLite+FTS5 database for fast search, linting, and impact analysis. Compile via advpls, safely edit .prw files with cp1252 encoding, and manage credentials in OS native vault. Reduces Protheus context consumption by ~16× for AI-assisted development.
npx claudepluginhub jonipraia/plugadvpl --plugin plugadvplUse quando o usuário pergunta "explique como funciona X", "o que faz a função Y", "qual o fluxo de Z", "me ajuda a entender este fonte" em código ADVPL/Protheus. Orquestra plugadvpl arch → callers/callees → leitura targeted de chunks → sumarização concisa. NÃO usar para gerar código novo (use advpl-code-generator) nem para revisar (use advpl-reviewer-bot).
Use quando o usuário pede "crie User Function para X", "gere MVC de cadastro Y", "novo Ponto de Entrada", "Web Service REST/SOAP", "job RPC", "rotina batch". Gera código ADVPL/TLPP respeitando encoding cp1252, naming com prefixo de cliente, evitando funções restritas, e roda lint automaticamente após gerar. NÃO usar para revisar código existente (use advpl-reviewer-bot).
Use quando o usuário pergunta "se eu mudar X, o que quebra?", "qual o impacto de remover Y?", "onde Z é usado?", "posso renomear esta função?", "essa tabela é gravada onde?". Cruza callers/tables/param/lint do plugadvpl para listar impacto por arquivo+linha com classificação de risco. NÃO usar para explicar código (use advpl-analyzer).
Use quando o usuário pede "audita esse INI", "verifica appserver.ini", "checa configuração do DBAccess", "está tudo certo no broker", "valida tss.ini", "compare config dev vs prd". Roda `ini-audit` do plugadvpl contra 487 regras TDN-oficiais filtradas por tipo (appserver/dbaccess/smartclient/tss/broker) e role (slave_rest, dbaccess_master, broker_http, etc.), classifica findings por severidade e indica o fix. NÃO usar pra ler INI bruto (use Read) nem pra editar INI direto (peça confirmação ao usuário).
Use quando o usuário pede "investiga esse log", "o que houve no console.log", "analisa o error.log do crash", "diagnóstico do log de produção", "o que causou esse erro Protheus". Roda `log-diagnose` do plugadvpl contra logs Protheus (console.log, error.log, profile.log, compila.log), classifica findings por severidade + categoria, e correlaciona com 93 correction tips da KB TDN oficial. NÃO usar pra ler log bruto (use Read em chunks pequenos) nem pra propor mudança de código (passa pro advpl-reviewer-bot depois).
Tópicos avançados ADVPL — transações ACID (Begin Transaction + DisarmTransaction), relatórios TReport (TRSection/TRCell/TRFunction), FWTemporaryTable, manipulação de arquivos (FT_F* família 2 para SPED/EDI), MsNewGetDados, threads (MsRunInThread), OOP em ADVPL clássico (Class/Method/Self), reflection via Type/ValType, NoRound financeiro, anti-padrões legados (AxCadastro/Modelo2/Modelo3). Use quando contexto sair do escopo básico de cadastros/MVC.
35 regras de code review ADVPL/TLPP implementadas — 100% do catálogo (22 single-file via regex + 13 cross-file: 12 que requerem ingest-sx + MOD-003 só fontes). Use após gerar/editar fonte ADVPL, antes de marcar tarefa como concluída, ou quando o usuário pede "revise este código".
Top 30 erros comuns em ADVPL/TLPP em produção e métodos de debug. Tabela de sintoma → causa raiz → comando de diagnóstico → fix. Use quando o usuário cola um erro do AppServer.log, descreve "está dando erro" sem detalhe, ou pede ajuda pra investigar bug Protheus.
Validações ADVPL embarcadas no dicionário SX (X3_VALID, X3_INIT, X3_WHEN, X3_VLDUSER, X7_REGRA, X1_VALID). Use ao analisar customização de cadastro/dicionário ou rastrear impacto de mudança de campo via `plugadvpl impacto`.
Dicionário SX do Protheus — SX1 (perguntas), SX2 (tabelas), SX3 (campos), SX5 (tabelas genéricas), SX6 (parâmetros MV_*), SX7 (gatilhos), SX8 (numeração sequencial), SX9 (relacionamentos), SXA (pastas/folders), SXB (consultas F3), SXG (grupos de campo), SIX (índices). Use ao criar campo/parâmetro/gatilho/consulta, customizar via dicionário, ou diagnosticar comportamento controlado pelo SX. Para análise cruzada com fontes, use /plugadvpl:impacto e /plugadvpl:gatilho.
Uses power tools
Uses Bash, Write, or Edit tools
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Especialista em ADVPL e TLPP para desenvolvimento TOTVS Protheus e consultoria funcional - geracao de codigo, migracao, debug, documentacao e configuracao de dicionario
WOZCODE enhanced coding tools — smart search, batch editing, SQL introspection, and cost-optimized subagent delegation
[PowerShell] Навыки для разработки на 1С:Предприятие 8.3 — абстракции над XML-форматами и CLI конфигуратора, плюс глаза и руки для тестирования через веб-клиент.
Claude Code plugin for SAP ABAP development — 25 specialized agents (10 core + BC + 14 module consultants), 16 workflow skills (create-program with Phase 4/6 hardening & multi-executor split, create-object, program-to-spec, compare-programs, analyze-code/symptom/cbo-obj, ask-consultant, deep-interview, team, release, setup/mcp-setup, sap-option/sap-doctor, internal trust-session), 4-Tier context loading (Tier 1 safety baseline + Tier 2 role-mandatory + Tier 3 triggered + Tier 4 per-task kit), Sonnet/Opus/Haiku model routing, OK_CODE binding pattern for Procedural screens, paradigm-split Clean ABAP, 4 RFC backends (soap/native/gateway/odata), SPRO config for 14 modules.
Optimized file search, semantic indexing, and persistent memory for Claude Code — with optional sync to a self-hosted web dashboard
Enhances file reading Skills by generating production-ready code from requirements documents
Plugin Claude Code + CLI Python que indexa fontes ADVPL/TLPP (TOTVS Protheus) em SQLite com FTS5 — para o Claude responder sobre o seu Protheus sem queimar contexto lendo
.prwcru.
⚠️ EDITANDO
.prwcp1252? Read/Edit do Claude são UTF-8 only — bytes acentuados viram?e o Edit corrompe acentos não-editados. Use sempreplugadvpl edit-prw stage <arq>ANTES ecommit <arq>DEPOIS. Detalhes: skill/plugadvpl:edit-prwou seção Encoding abaixo.
.prw médio tem 1.000 a 10.000 linhas. Abrir cru custa de 5k a 50k tokens. Com plugadvpl, a mesma pergunta é respondida via metadados estruturados — ~16× menos contexto em projetos reais..plugadvpl/index.db dentro do seu repo. Nenhum dado sai da máquina. Funciona offline.lint carrega o ID Sonar oficial (BG1000, CA1004, …) quando há equivalência no catálogo sonar-rules.engpro.totvs.com.br. Quem já roda Sonar no CI reconhece o finding pelo ID oficial; quem não roda continua com o regra_id interno. Ver Interop com Sonar TOTVS.plugadvpl init gera contexto nativo pra 5 agentes IA + 1 extra:
| Agente | Arquivo(s) gerado(s) | Detecção |
|---|---|---|
| Claude Code | CLAUDE.md (fragment versionado) | sempre |
| Codex + AGENTS.md ecosystem | AGENTS.md (gêmeo idêntico) | sempre |
| Cursor | .cursor/rules/plugadvpl-*.mdc × 57 | .cursor/ no projeto |
| GitHub Copilot | .github/copilot-instructions.md + .github/instructions/plugadvpl-*.instructions.md × 57 | .github/ no projeto |
| Gemini CLI | ~/.gemini/GEMINI.md (home) + <project>/GEMINI.md + .gemini/skills/plugadvpl-*/SKILL.md × 57 | ~/.gemini/ ou gemini no PATH ou .gemini/ no projeto |
| + Codex CLI (extra) | .codex/config.toml mínimo | .codex/ ou codex no PATH |
Sinais de detection são INDEPENDENTES — sinal global (~/.cursor/, ~/.gemini/) NÃO ativa install no projeto. Cada agente tem sua flag --no-<agent> pra desabilitar mesmo com sinal presente.
Como nenhum agente externo tem CLI oficial de validação (não existe cursor validate-rules, gh copilot diagnose, etc.), use o validador embutido:
plugadvpl doctor --check-agents
Checa formato dos arquivos gerados pra todos 5 agentes (frontmatter parseável, globs/applyTo como STRING não array YAML, version markers, keywords ADVPL/Protheus nas descriptions). Exit code 1 se algum check falhar.
Para validação end-to-end real (precisa do agente instalado):
.prw, ver painel de contexto do Chat (régua no rodapé) mostrar rules carregadas.github/copilot-instructions.md foi gerado — code review deve mencionar ADVPL/cp1252gemini → /memory show (lista GEMINI.md concatenado) + /skills list (lista plugadvpl-*)/plugadvpl:arch <arq> funciona via slash command + fragment do CLAUDE.md sempre injetadoCenário sem plugin — pergunta: "explique a função FATA050":
Claude → Read FATA050.prw # arquivo inteiro
→ ~12.000 tokens consumidos
→ resposta vaga, sem call graph, sem saber quem usa
Cenário com plugadvpl:
Claude → /plugadvpl:arch FATA050.prw # capabilities, tabelas, funções, includes
→ /plugadvpl:callers FATA050 # quem chama
→ Read FATA050.prw offset=234 limit=46 # range exato, só se preciso
→ ~730 tokens consumidos (≈ 16× menor)
→ resposta com contexto: módulo, MVC, tabelas SA1/SC5, PE relacionado