Pular para o conteúdo
OkMigo

← voltar para o catálogo do SDK

Um aplicativo completo, do Python ao preview

Este caminho cria uma aplicação navegável com a mesma entrada usada pelos produtos integrados: Python tipado como fonte, JSON como fronteira e o renderer oficial para conferir desktop, celular, claro e escuro antes do registro.

Instale o SDK e abra o catálogo

O repositório público já traz um aplicativo neutro com cinco superfícies e o renderer Web compilado.

git clone https://github.com/okmigo-infra/cartao.git
cd cartao
python3 -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
python -m okmigo_cartao preview exemplos/sdk_catalogo.py:APLICATIVO

Abra http://localhost:4173. Em container, publique ou encaminhe a porta 4173. Para mudar endereço ou porta, use --host 0.0.0.0 --port 44174.

Escreva a aplicação inteira em Python

A árvore começa em Aplicativo, contém Superficie e termina em componentes de Tela.

from okmigo_cartao import (
    Aplicativo, EstadoVazio, Fonte, GradeDeMetricas, Metrica,
    Navegacao, Superficie, Tela, Tema,
)

INICIO = Tela(
    "Visão geral",
    (
        GradeDeMetricas((
            Metrica("Em andamento", "8"),
            Metrica("Concluídos hoje", "14"),
        )),
        EstadoVazio(
            "Nenhum alerta agora",
            "Quando algo pedir decisão, aparecerá aqui.",
        ),
    ),
    tema=Tema.OPERACAO,
    navegacao=Navegacao.INFERIOR,
)

APLICATIVO = Aplicativo(
    slug="acme",
    endpoint="https://acme.example/mcp/",
    para_tipo="socio",
    descricao="Operação da Acme",
    descricao_humana="A operação da Acme dentro do OkMigo",
    nome_visivel="Acme",
    versao="1.0.0",
    conversa=(),
    superficies=(
        Superficie(
            "inicio", "Início", "Início", "inicio",
            "resumo da operação", Fonte("carregar_inicio"), INICIO,
        ),
    ),
)

Para um produto real, mantenha esta organização:

okmigo/
├── gerar_manifesto.py
├── aplicativo_sdk_produto.py
└── examples/
    └── preview.dados.json

aplicativo_sdk_produto.py é a fonte de edição. gerar_manifesto.py reexporta APLICATIVO e produz o JSON usado no registro. Os dados fictícios pertencem ao repositório do produto, junto da tela que exercitam.

Teste o produto como produto

O preview recebe o aplicativo inteiro; não é necessário compilar uma tela estática por vez.

python -m okmigo_cartao preview \
  okmigo/gerar_manifesto.py:APLICATIVO \
  --dados okmigo/examples/preview.dados.json \
  --host 0.0.0.0 --port 4173

O arquivo de dados mapeia o nome de cada superfície. Use valores fictícios com texto longo, zero, lista vazia e mais de um item:

{
  "superficies": {
    "inicio": {
      "resumo": {},
      "linhas": []
    }
  }
}

Navegação real

O rodapé troca entre todas as superfícies declaradas no aplicativo.

Leituras simuladas

_preview.respostas permite abrir detalhe e voltar sem chamar rede.

Escritas seguras

O preview simula o gesto; não grava no serviço externo.

Duas plataformas

O quadro de 390 px aproxima o Web responsivo; a conferência final nativa continua no emulador Flutter.

Valide todas as superfícies no desktop e celular, nos temas claro e escuro. O preview usa o mesmo componente React e os mesmos estilos do OkMigo Web; ele aproxima a plataforma nativa, mas não substitui o teste no emulador.

Materialize somente a fronteira JSON

Python nunca é enviado nem executado pelo OkMigo.

from pathlib import Path
from okmigo_cartao import materializar_manifesto
from aplicativo_sdk_produto import APLICATIVO

MANIFESTO = APLICATIVO.compilar()
materializar_manifesto(
    Path(__file__).with_name("manifesto.json"),
    MANIFESTO,
    indentacao=1,
)
  1. compilar() produz JSON declarado.Sem HTML, CSS, JavaScript ou componente Flutter.
  2. O crivo reconstrói o contrato.Campo desconhecido some; operação desconhecida recusa a tela.
  3. Web e Flutter desenham a intenção.Cada cliente decide pixels, acessibilidade, responsividade e tema.
  4. O manifesto é registrado.O módulo Python continua sendo a fonte que o produto evolui.

Checklist antes de registrar

Uma tela bonita com dado fácil ainda não prova o contrato.