Ferramenta de linha de comando para formatar, validar e (futuramente) compilar arquivos da Service Definition Language (SDL) v0.2.
go install github.com/marcelsud/sdl-cli@latestCertifique-se de que $GOPATH/bin esteja no PATH.
Quando houver releases, baixe e instale o binário mais recente:
curl -fsSL https://raw.githubusercontent.com/marcelsud/sdl-cli/main/tools/install.sh | shOu baixe diretamente da página de releases (dist/sdl-cli_<os>_<arch>.tar.gz) e extraia manualmente, ou compile com go build ./....
sdl fmt [path] # formata arquivos .sdl (default: recursivo a partir de .)
sdl validate [path] # valida .sdl contra a spec
sdl compile [path] # placeholder (ainda não implementado)- Sobrescreve por padrão. Flags:
--check: não escreve, falha se houver diferenças (exit 3).--diff: mostra diff, não escreve.--write: controla escrita (default true).--actions=auto|single|multi: layout de ações (auto quebra linhas quando >--line-length).--line-length: limite para--actions=auto(default 100; 0 desativa o limite).
- Procura todos os
.sdlno diretório (ou arquivo/pasta passada). - Regras da v0.2:
calls(sincrono) eemits/->(eventos) suportados; referência de tipos, genéricos, erros, eventos declarados, etc. - Exit 1 em erros; warnings são impressos mas não falham.
examples/checkout.sdl: estilo single-line comcalls/emitsinline.examples/checkout_multiline.sdl: multilinha comcallseemitsem blocos.examples/checkout_many_calls.sdl: múltiplos serviços chamados/em event emitidos, com comentários de bloco/linha.
MIT. Veja LICENSE.