Pular para o conteúdo

CLI

Os treze comandos do dataforge e suas opções.

Os comandos#

ComandoO que faz
`run`executa um programa
`check`análise estática: nomes, aridade, tipos
`test`descobre e roda os testes
`fmt`formata o código
`lint`aponta problemas de estilo
`doc`gera documentação Markdown
`init`cria um projeto novo
`repl`console interativo
infomostra o manifesto do projeto
newcria a partir de um template
tokensmostra o fluxo de tokens (lexer)
astmostra a árvore sintática (parser)
versionmostra a versão

df é um atalho para dataforge — os dois são o mesmo programa.

As flags#

FlagEfeito
--timemostra o tempo de execução
--debugimprime tokens, AST e o traceback completo
--no-colordesliga as cores (útil em CI e logs)
--checkfmt: só verifica, não reescreve
--strictcheck/lint: trata avisos como erros
--verbose, -vtest: mostra cada caso
--filter=<texto>test: só os casos cujo nome contém o texto
--fail-fasttest: para na primeira falha
--out=<arquivo>doc: escreve num arquivo
--syntax-onlycheck: pula a análise semântica

O ciclo de trabalho#

bash
dataforge init meu-app        # começar
cd meu-app

dataforge check src/          # nomes, tipos, aridade
dataforge lint src/           # estilo e higiene
dataforge fmt src/            # formatar
dataforge test tests/ -v      # testes
dataforge doc src/ --out=doc/API.md
dataforge run                 # executar

Em integração contínua#

bash
dataforge fmt . --check && dataforge check . && dataforge test

Cada comando sai com código diferente de zero em caso de falha, então o && interrompe na primeira etapa que quebrar.

Depurar#

bash
dataforge tokens arquivo.df    # o que o lexer viu
dataforge ast arquivo.df       # o que o parser montou
dataforge run arquivo.df --debug

Úteis quando o programa não faz o que você espera e a suspeita é de que o código está sendo lido de outro jeito — a ambiguidade do // é o caso clássico.