App Canvas
Português ▾

App Canvas · Código aberto · Para agentes · v0.12.0

Porque criei App Canvas

Explore páginas, estados e fluxos interativos reais numa tela com zoom, criada e mantida com o seu agente de programação.

Dados sintéticos · sem backend da app · sem conta · sem chave API

App Canvas Cloud →

TL;DR

Porque criei App Canvas

A IA facilitou criar outra página, mas não compreender uma aplicação em crescimento. Queria ver páginas implementadas e falhas sem percorrer tudo nem manter um segundo ficheiro de design.

App Canvas transforma a revisão numa paisagem navegável. O agente integra o repositório; a ferramenta partilhada oferece tela, previews de código real, navegação com câmara e reprodução verificada.

StoolSense é o exemplo público sintético. Não contém sessões de produção, dados de saúde reais ou pedidos de IA. Eventos de utilização opcionais são separados dos dados da app.

Estados reais de StoolSense na tela App Canvas
Demo real: 77 estados, 44 fluxos e 121 entradas reproduzíveis. Inclui casos isolados; não são 121 percursos E2E.

Explore, interaja e reproduza

Afaste para entender a aplicação

Páginas completas agrupadas, pesquisa, filtros e painéis recolhíveis. Os links de fluxo movem a câmara para o destino.

Aproxime para usar a UI real

Browse bloqueia os controlos para mover a tela. Selecione uma página e Interact para usar o código original com dados descartáveis.

Prima Demo para explicar um percurso

Reproduza sucesso, falha e recuperação numa sessão contínua, com indicações, legendas, pausa, velocidade e linha temporal.

Grafo real de falha ao guardar, rascunho preservado e nova tentativa bem-sucedida
Escolha um fluxo para ver páginas completas e transições identificadas. Uma ligação move a câmara para o destino.
Reprodução real após falha ao guardar offline, com rascunho preservado
UI real de falha e recuperação. A reprodução executa ações e verificações; uma ligação desenhada não é um teste.

De um repositório existente a uma tela interativa

Peça a integração a um agente capaz de ler, editar e executar comandos. Não exige Storybook nem uma lista manual de páginas. Instalar o pacote não preenche a tela por si só.

Cole no seu agente

Read https://github.com/tombelieber/app-canvas/blob/v0.12.0/AGENT_GUIDE.md and add a completely populated App Canvas to this repository. Discover all screens, components, variants, states and navigation from the whole application source. Use original UI code. Create the missing synthetic fixtures and render harnesses. Reconcile an independent source inventory with rendered cases and source-linked runtime checks. Add checked happy, failure and recovery journeys. Run --complete against the original source root. Continue until the full landscape is populated and verified; report genuine blockers as incomplete. Keep production sessions, credentials and real user data out of previews.
  1. Instale a ferramenta partilhada

    Use Node.js 22+ e o gestor e lockfile do projeto. Instale a versão GitHub fixa e o navegador. No npm 12, adicione --allow-git=root apenas se bloquear esta dependência Git direta; não altere a política global.

    npm install --save-dev github:tombelieber/app-canvas#v0.12.0
    npx app-canvas browsers
  2. Faça o inventário antes dos casos

    Execute discover em toda a raiz da aplicação. O agente revê cada região e candidato, resolve pending e enumera estados semânticos independentemente do catalog. Os bloqueios continuam visíveis.

    npx app-canvas discover --source-root . --out .artifacts/app-canvas/inventory.json
    npx app-canvas pending --inventory .artifacts/app-canvas/inventory.json
  3. Renderize a UI original com fixtures

    Crie config, catalog, fixtures sintéticos, preview entry e journeys em ui-review. O adapter importa páginas, providers e estilos reais. Substitua dados e dependências, nunca a UI; rejeite pedidos de rede desconhecidos.

    ui-review/
      canvas.config.mjs
      catalog.json
      frame.jsx
      fixtures.js
      README.md
    .artifacts/app-canvas/inventory.json
    // package.json → scripts
    "ui:review": "app-canvas --config ui-review/canvas.config.mjs"

    React/Vite · Guia do agente

  4. Verifique estados e interações

    Inclua normal, vazio, carregamento, erro, acesso negado, diálogos e recuperação. Verifique cada caso e controlos reais em fluxos contínuos. Concilie inventory, assertions ligadas ao código e rotas; passe --complete na mesma raiz.

    npx app-canvas --config ui-review/canvas.config.mjs --check
    npx app-canvas --config ui-review/canvas.config.mjs --verify
    npx app-canvas --config ui-review/canvas.config.mjs --complete --source-root .
  5. Reveja e mantenha a partir do código

    Execute ui:review, veja a tela e o grafo e reproduza um fluxo. Peça alterações ao código real. Os previews existentes são reconstruídos; novas rotas e estados exigem atualizar inventory, fixtures e journeys. Exija a verificação completa antes da entrega.

    npm run ui:review

O que fica na sua aplicação

O pacote partilhado mantém viewer, CLI e skill. O repositório mantém adapter, fixtures, inventory independente, catalog e testes de interação. Comece pelo exemplo React/Vite executável; outras stacks precisam do seu adapter.

Skill opcional

Codex e Claude Code podem instalar a skill incluída. Outros agentes seguem AGENT_GUIDE.md diretamente. O runtime não chama modelos nem exige chave API; o agente escolhido tem os seus custos e permissões.

npx app-canvas install --target both

App Canvas Cloud · lista de espera

Quer um espaço alojado? Registe o seu interesse. Cloud ainda não está disponível; a ferramenta MIT e a demo pública já estão.

Sair da lista

Privacidade e telemetria

Eventos mínimos opcionais via Cloudflare para PostHog. Não são enviados conteúdos, código, nomes, caminhos, email ou IP ao PostHog. Pode desativar.

Privacidade e telemetria ↗

Âmbito e limites

App Canvas no Safari de um iPhone físico
Captura do Safari num iPhone físico. O artigo técnico mostra a passagem de crash a funcionamento e os limites das medições.

Artigo técnico Safari

Captura do Safari num iPhone físico. O artigo técnico mostra a passagem de crash a funcionamento e os limites das medições.

Artigo técnico Safari →