Tooling

The lx CLI

A ferramenta de linha de comando `lx` cobre o ciclo inteiro: cria um projeto, compila para Erlang / Zig / Android, roda com hot-reload em dev, gerencia dependências, executa testes e gera releases OTP autossuficientes. Um binário, todos os alvos.

Commands

lx new — Cria um projeto a partir de um template (default, web, binary, mobile_app ou lib).

lx new minha_app --template=web
lx new meu_cli --template=binary
lx new minha_lib --lib

lx compile — Compila o projeto (ou um arquivo) para um alvo.

lx compile
lx compile --target=zig
lx compile --force

lx run — Roda a app OTP ou um script. Hot-reload em dev com --watch.

lx run
lx run --watch
lx run meu_script.lx

lx test — Roda testes unitários (blocos describe/test) e testes de integração.

lx test
lx test --only "add"
lx test --unit

lx deps — Gerencia dependências: get, compile, list, tree, check, clean.

lx deps get
lx deps compile
lx deps tree

lx release — Gera um release OTP autossuficiente; opcionalmente tarball ou imagem Docker.

lx release
lx release --tar
lx release --docker

lx format — Formata todos os arquivos .lx do projeto.

lx format

lx clean — Remove artefatos de build.

lx clean
lx clean --all

lx install — Instala / atualiza o binário lx e as core libs & templates pelo GitHub.

lx install
lx install --data-only

Global options & environment

# Opções globais
--force              Força recompilação
--target=lang        erlang | zig | android (padrão: erlang)
--emit-erl, -E       Mantém os .erl intermediários
--erl-only, -S       Gera só .erl, pula o erlc

# Variáveis de ambiente
LX_ENV               dev | test | prod (padrão: dev)
LX_BUILD_PATH        diretório de build (padrão: _build)
LX_DEPS_PATH         diretório de dependências (padrão: deps)

# Configuração
project.yml          config do projeto (nome, versão, deps)
config/config.yml    config geral (todos os ambientes)
config/dev.yml       sobrescritas do ambiente de dev