Install
$ agentstack add skill-tbc-servicos-dataagile-agent-kit-compile ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Visão Geral
A compilação usa o binário advpls do pacote @totvs/tds-ls. Há dois modos distintos: Lint local (advpls appre arquivo.prw) sem AppServer, e Compilação real (advpls cli compile.ini) no RPO.
Use o MCP protheus-compile para detalhes: searchKnowledge({ skill: "protheus-compile", keyword: "modos compilacao" })
Pré-requisito: binário advpls
Verificar se está disponível
# Opção 1 — global
advpls --version
# Opção 2 — local no projeto
node -e "console.log(require('@totvs/tds-ls'))"
# Opção 3 — path conhecido por plataforma
# Linux: node_modules/@totvs/tds-ls/bin/linux/advpls
# Windows: node_modules\@totvs\tds-ls\bin\windows\advpls.exe
# macOS: node_modules/@totvs/tds-ls/bin/mac/advpls
Instalar se ausente
# Opção 1 — npm global (recomendado)
npm i -g @totvs/tds-ls
# Opção 2 — npm local no projeto
npm install @totvs/tds-ls --save-dev
# Opção 3 — download direto (portátil, sem instalação)
# https://github.com/totvs/tds-ls/releases
Modo 1 — Lint local (advpls appre)
Analisa o código sem AppServer. Detecta erros de sintaxe e pré-compilação.
advpls appre /caminho/arquivo.prw
advpls appre /caminho/arquivo.prw -I /caminho/includes/
advpls appre /caminho/arquivo.prw -I /inc1/ -I /inc2/ -D TOP -D MINHA_DEFINE
Opções do appre
| Opção | Descrição | |-------|-----------| | -I | Diretório de includes (repetível) | | -D | Define constante de pré-compilador (repetível) |
Saída (JSON via stdout)
{
"msgs": {
"arquivo.prw": {
"Mensagem de erro aqui": "0",
"Aviso aqui": "1"
}
}
}
- Tipo
"0"= Erro (bloqueia compilação) - Tipo
!= "0"= Aviso (compilação pode prosseguir)
Formato das mensagens
As mensagens têm o padrão arquivo.prw(linha) texto da mensagem:
{
"msgs": {
"MATA010.prw": {
"MATA010.prw(42) Variable 'cAux' declared but not used": "1",
"MATA010.prw(10) Error C2090 File not found HEADER.CH": "0"
}
}
}
Categorização de severidade
Tipo "0" = Erro (bloqueia compilação); != "0" = Aviso (compilação pode prosseguir).
Use as tools do MCP protheus-compile:
- Padrões de warning e severidade:
searchKnowledge({ skill: "protheus-compile", keyword: "severidade erros" }) - Padrões comuns de warnings:
searchKnowledge({ skill: "protheus-compile", keyword: "warning patterns" }) - Parser de saída (linha e tipo de mensagem):
searchKnowledge({ skill: "protheus-compile", keyword: "parser saida compilador" })
Modo 2 — Compilação real (advpls cli)
Compila o fonte no RPO do AppServer. Requer configuração no CLAUDE.md do projeto.
Parâmetros necessários (lidos do CLAUDE.md do projeto)
PROTHEUS_SERVER=192.168.1.100
PROTHEUS_PORT=5025
PROTHEUS_ENV=P12
PROTHEUS_USER=admin
PROTHEUS_PSW=senha
PROTHEUS_INCLUDES=/opt/protheus/include/
PROTHEUS_AUTH_TOKEN= # opcional
Gerar o arquivo compile.ini
O INI deve estar em encoding ANSI (CP1252). Gerar via:
iconv -f UTF-8 -t CP1252 -o "$INI" Se os paths não contêm caracteres acentuados, o INI gerado por `cat`/heredoc já é compatível.
#### Templates INI
Consulte os dois templates (com/sem token) via MCP: `searchKnowledge({ skill: "protheus-compile", keyword: "ini template" })`
**Regra:** se `PROTHEUS_AUTH_TOKEN` está definido no CLAUDE.md, usar template COM token (sem `skip`); caso contrário, usar template SEM token (`skip=true`).
> **Includes múltiplos:** separar paths com `;` — ex: `/inc1/;/inc2/;/inc3/`
### Arquivo de lista de fontes
/tmp/protheus-sources.txt — um arquivo por linha
/caminho/absoluto/MATA010.prw /caminho/absoluto/MATA020.tlpp
### Executar, verificar e limpar
```bash
TS=$(date +%s)
INI=/tmp/protheus-compile-${TS}.ini
LST=/tmp/protheus-sources-${TS}.txt
LOG=/tmp/protheus-compile-${TS}.log
# ... gerar $INI e $LST ...
advpls cli "$INI" --log-file "$LOG"
EXIT=$?
# 1. Ler o log ANTES de deletar
if [[ $EXIT -ne 0 && -f "$LOG" ]]; then
echo "=== LOG DE COMPILAÇÃO (erro) ==="
cat "$LOG"
echo "================================"
fi
# 2. Limpar temporários DEPOIS de ler
rm -f "$INI" "$LST" "$LOG"
echo "Exit code: $EXIT"
Detectar resultado
- Exit code 0 = sucesso
- Exit code != 0 = falha — o log já foi exibido acima antes da limpeza
Uso do skill
/protheus:compile arquivo.prw
/protheus:compile arquivo1.prw arquivo2.tlpp
/protheus:compile --recompile arquivo.prw
/protheus:compile --lint arquivo.prw # apenas lint local
Instruções para Claude
- Verificar
advpls: checar se o binário existe; se não, orientar instalação comnpm i -g @totvs/tds-lsou download direto de https://github.com/totvs/tds-ls/releases - Lint primeiro: rodar
advpls appreantes de compilar — se houver erros tipo"0", parar e reportar - Ler CLAUDE.md do projeto para obter
PROTHEUS_SERVER,PROTHEUS_PORT,PROTHEUS_ENV,PROTHEUS_USER,PROTHEUS_PSW,PROTHEUS_INCLUDES,PROTHEUS_AUTH_TOKEN - Gerar temporários em
/tmpcom timestamp único:compile-.ini,sources-.txt,compile-.log - Montar o INI: se
PROTHEUS_AUTH_TOKENestá definido, usar template COM token (semskip); caso contrário, usar template SEM token (skip=true). Não incluirlogToFileno INI — usar apenas--log-filena CLI. Garantir encoding ANSI (CP1252) se paths contêm acentos. - Executar
advpls cli "$INI" --log-file "$LOG"e capturar exit code - Sucesso: confirmar arquivos compilados
- Falha: ler o log (
cat "$LOG") e exibir erros com arquivo + linha ANTES de deletar - Sempre deletar os três arquivos temporários ao final — sucesso ou falha, após leitura do log
Tratamento de Erros Comuns
Consulte erros comuns e soluções via MCP: searchKnowledge({ skill: "protheus-compile", keyword: "troubleshooting" })
Consulta de Conhecimento
Se precisar de informação não disponível no MCP, consulte o RAG:
searchKnowledge({ keyword: "" })
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: tbc-servicos
- Source: tbc-servicos/dataagile-agent-kit
- License: MIT
- Homepage: https://dataagile-agent-kit.dataagile.com.br
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.