From plugadvpl
Indexa fontes ADVPL/TLPP (.prw, .prx, .tlpp, .apw) em SQLite com FTS5 para busca textual e análise de metadados. Suporta indexação incremental, paralela e exclusão por .plugadvplignore.
How this skill is triggered — by the user, by Claude, or both
Slash command
/plugadvpl:ingestpathsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Indexa fontes ADVPL/TLPP (.prw, .prx, .tlpp, .apw) em `.plugadvpl/index.db`.
/plugadvpl:ingestIndexa fontes ADVPL/TLPP (.prw, .prx, .tlpp, .apw) em .plugadvpl/index.db.
/plugadvpl:ingest [paths...] [opcoes]
Quando paths for omitido, indexa o diretorio do projeto atual.
--workers N — numero de workers paralelos (default: auto-adaptativo segundo CPUs)--no-content — nao armazena conteudo bruto dos fontes (apenas metadados/AST)--redact-secrets — redige strings sensiveis (senhas, tokens) antes de indexar--incremental/--no-incremental — default --incremental (pula arquivos cujo mtime no DB ja eh >= ao do filesystem). --no-incremental re-parseia tudo.--exclude <glob> — ignora um glob na ingestao (repetivel). Soma com .plugadvplignore. Ex: --exclude 'descontinuado/**' --exclude '**/poc-*'..plugadvplignore (#141)Para manter pastas/arquivos fora do indice (ex: pasta descontinuado/, copias por cliente), crie um .plugadvplignore na raiz do projeto — committavel, sintaxe subconjunto do .gitignore:
# fontes mortos — nao indexar
descontinuado/
**/*_old.prw
clientes/**/v1/*.prw
Regras suportadas: dir/ (diretorio e tudo abaixo, em qualquer nivel), *.glob (por basename em qualquer nivel), a/**/b.prw (path com ** cruzando niveis). NAO suporta negacao !.
O filtro vale igual em ingest, reindex e status. Um re-ingest remove do indice (prune) os fontes que passaram a ser ignorados (best-effort por basename) e o resumo mostra ignorados: N (removidos do indice: M). Resolve tambem colisao de basename causada por pasta duplicada.
uvx [email protected] ingest $ARGUMENTS
/plugadvpl:ingest — indexa todo o projeto (incremental por default)/plugadvpl:ingest src/ — indexa apenas src//plugadvpl:ingest --workers 8 — usa 8 workers paralelos/plugadvpl:ingest --redact-secrets --no-content — modo seguro (compliance)/plugadvpl:ingest --no-incremental — reindex completo (use apos upgrade do binario com regras novas — veja secao abaixo)--incremental apos upgrade do binario--incremental re-parseia somente arquivos cujo mtime mudou. As regras de lint (e demais lookups: funcoes_restritas, funcoes_nativas, etc.) vivem dentro do binario, nao nos arquivos fonte.
Cenario tipico:
uv tool upgrade plugadvpl e ganha v0.3.10 → v0.3.12 (regras novas: BP-008 expandida, PERF-005 com LastRec, MOD-004 com MsNewGetDados).plugadvpl ingest --incremental..prw foi tocado, todos sao skipped. As novas regras nao sao re-aplicadas em nenhum arquivo do indice.total_lint_findings continua refletindo a versao antiga.v0.3.13 detecta esse cenario comparando lookup_bundle_hash antes/depois de seed_lookups. Quando o hash mudou e ha arquivos skipped, imprime aviso amarelo em stderr:
⚠ Lookups (lint_rules/funcoes_restritas/...) mudaram desde o ultimo ingest.
--incremental pulou 1990 arquivo(s) cujo mtime nao mudou — esses NAO foram re-avaliados contra as regras novas.
Para cobrir todo o codebase com as regras atualizadas, rode:
plugadvpl ingest --no-incremental
A acao correta e rodar plugadvpl ingest --no-incremental (mais lento, mas garante que todas as regras passem em todos os arquivos). Suprimivel com --quiet.
/plugadvpl:status — verifica contagem de fontes/simbolos indexados (mostra tambem runtime_version vs plugadvpl_version)plugadvpl ingest --no-incremental/plugadvpl:find <termo> — pesquisa simbolos/plugadvpl:arch <arquivo> — visao arquitetural antes de Readnpx claudepluginhub jonipraia/plugadvpl --plugin plugadvplQueries a plugadvpl index to look up ADVPL metadata (functions, callers/callees, table usage, MV_ params, SX3 fields, SX7 chains) before reading full source files, reducing token usage 10-50x.
Sets up and optimizes Cursor codebase indexing for @Codebase semantic search. Configures .cursorignore files, verifies status, and details embedding workflow.
Performs fast structural code searches for symbols, classes, usages, implementations, hierarchies, and dependencies in polyglot projects using ast-index CLI.