Pular para o conteúdo
supastack
Explorar a documentação
Aplicação desktopTauri

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /pt/docs/desktop/project-structure.md (or send Accept: text/markdown).

Estrutura do projeto

Encontre o shell Rust, a página de boot, os scripts de release e o limite com o aplicativo web.

Instalação e configuração

Antes de qualquer etapa, leia Antes de começar e Fundamentos do terminal. Abra a pasta supastack na raiz — a pasta que contém o package.json. Um checkout Desktop contém apps/desktop e seus scripts de release; o monorepo All Platforms adiciona o backend Web e o aplicativo móvel. Uma variável de ambiente é uma configuração nomeada armazenada num arquivo .env local ou no seu painel de hospedagem; o shell lê SUPASTACK_APP_URL como uma configuração de terminal, não de um arquivo.

1. Abra apps/desktop/src-tauri/src/lib.rs — todo o comportamento nativo vive neste único arquivo.

2. Navegue por apps/desktop/src-tauri/ — configuração, capabilities e ícones.

3. A partir da raiz do repositório execute corepack pnpm --filter @supastack/desktop dev com um backend acessível.

O checkout contém apenas o shell Tauri: o código-fonte Rust, sua configuração, a página de boot e os scripts de release. As telas do produto vivem no aplicativo web que a janela carrega — um checkout somente Desktop não tem telas de aplicativo próprias. Leia AGENTS.md e .ai/PROJECT_CONTEXT.md antes de mudar o comportamento; os documentos espelho .ai/ registram decisões que não são visíveis a partir de um arquivo sozinho.

apps/desktop/src-tauri/src/    Rust — window, tray, menus, deep links, updater
apps/desktop/src-tauri/        tauri.conf.json, capabilities/, Cargo.toml, icons
apps/desktop/ui/               Boot page (index.html + boot.js) shown while loading
apps/desktop/scripts/          Release preflight + update manifest
docs/                          Runbooks incl. desktop updates
.agents/skills/                Task guides for coding agents

Onde cada alteração pertence

Antes de editar, decida de qual lado a mudança pertence: qualquer coisa que um usuário veja como UI de produto pertence ao aplicativo web; apenas comportamento em nível de SO pertence a Rust.

  • Comportamento de janela, bandeja, menu, atalho ou instância única → apps/desktop/src-tauri/src/lib.rs.
  • Uma nova permissão de webview → apps/desktop/src-tauri/capabilities/default.json — amplie apenas quando um recurso nativo precisar.
  • Identificador de bundle, versão, endpoint do updater ou opções de plugins → apps/desktop/src-tauri/tauri.conf.json.
  • Ícones de produto placeholder → substitua placeholder-icon.png e execute o script de ícones.
  • Comportamento de boot, carregamento ou overlay offline → apps/desktop/ui/.
  • Qualquer tela, configuração ou dado de produto → o repositório do aplicativo web — o shell nunca bifurca UI de produto.

Fluxo de implementação

Para uma mudança nativa, edite lib.rs, execute cargo check e os testes Rust, depois exercite a janela em cada SO de destino — o comportamento de bandeja, atalho e deep link difere por plataforma. O skill add-a-desktop-capability em .agents/skills/ percorre esta mesma ordem.

Verificação e resolução de problemas

cargo check captura erros de compilação e cargo test cobre a lógica pura. A verificação real é a janela em execução no Windows, macOS e Linux — bandeja, atalho e deep links não podem ser provados apenas por testes.

corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop typecheck