Skip to content

Apresentações pelo Lumo CLI

O Lumo já versionava aplicações, dataflows, tabelas, credenciais. Apresentação, não. Nem o kiosk que roda no telão, nem os slides desenhados — as duas coisas só existiam dentro do navegador.

Agora existem no Lumo. Isso significa que uma apresentação pode ser versionada em git, revisada num merge request, gerada por um agente de IA e verificada antes de ir pro telão.

Os dois recursos

RecursoO que é
deckOs slides desenhados — o documento da apresentação (slides, textos, formas, gráficos).
presentationO kiosk: a playlist que roda no telão. Cada item é uma dashboard ou um deck — dá para misturar os dois.

Deck: slides versionados

bash
lumo pull deck:91        # traz os slides pro workspace
# edite decks/vendas-q1--91.yaml
lumo diff                # o que mudou
lumo push deck:91        # sobe

O deck é um YAML como qualquer outro recurso: body.nome e body.slides. Cada slide tem seus elementos — textos, formas e gráficos de BI.

Verificar antes de publicar

bash
lumo deck preview deck:91

Este é o comando que importa. Ele pega cada gráfico do deck e faz a pergunta que ninguém quer descobrir no telão: isso ainda resolve contra dados reais?

Resolve a consulta de cada um e falha (código de saída ≠ 0) se algum não resolver. Pega aplicação errada, gráfico apagado, referência obsoleta — antes de alguém ver a apresentação quebrada.

Por isso ele serve como portão numa esteira de CI:

bash
lumo push deck:91 && lumo deck preview deck:91

Exportar

bash
lumo deck export deck:91 --format pdf

Kiosk: a playlist do telão

bash
lumo new presentation

Um kiosk misto — uma dashboard e um deck na mesma playlist:

yaml
header:
  kind: presentation
  lumo: v2
  tenantId: 550
  id: 12
body:
  nome: Telão da Loja
  dark_mode: true
  mode: automatic
  base_width: 1920
  items:
    - type: dashboard
      dashboardId: 501
      order: 0
      duration: 15      # segundos
    - type: deck
      deckId: 91
      order: 1
      duration: 20

O lumo lint valida antes de subir: item do tipo deck precisa de deckId, item dashboard precisa de dashboardId.

bash
lumo presentation publish presentation:12   # devolve o link público
lumo presentation check presentation:12     # o link realmente responde?

O check é o segundo portão: confere que o link público de fato carrega, e falha (≠ 0) se não carregar.

Ele não publica nada

O check. Isso é de propósito: descobrir o link republicando exigiria permissão de publicação — uma identidade de CI só-leitura nem conseguiria rodar o portão — e reescreveria o registro de quem publicou e quando a cada verificação.

Para despublicar:

bash
lumo presentation unpublish presentation:12

Colocando um gráfico real num slide

Um gráfico dentro de um slide aponta para um gráfico de verdade de uma aplicação. Para referenciá-lo, você precisa do par aplicação + identificador do gráfico:

bash
lumo app widgets app:90

Lista os gráficos daquela aplicação com o identificador de cada um. Copie o par e use no slide — depois rode lumo deck preview para confirmar que resolve.

O fluxo completo

bash
lumo init <tenant>
lumo app widgets app:90              # descubra os gráficos disponíveis
lumo new deck                        # escreva os slides
lumo lint                            # a estrutura está válida?
lumo push deck:99
lumo deck preview deck:99            # os gráficos resolvem com dados reais?

lumo new presentation                # monte o kiosk (dashboards + decks)
lumo push presentation:12
lumo presentation publish presentation:12
lumo presentation check presentation:12   # o link responde?

Deixando a IA escrever

A skill /lumo-decks ensina o agente a escrever deck e kiosk — a estrutura dos slides, os tipos de elemento e como referenciar gráficos reais.

Com ela instalada, dá para pedir em português ("monte uma apresentação de vendas do trimestre com os gráficos do app Comercial") e o agente escreve os YAMLs, sobe e roda os dois portões (deck preview e presentation check) para provar que funciona.

Veja Integrações com IA.

🗺️ Próximos passos