> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Stack de tecnologias Desktop

As tecnologias dentro do shell Tauri e o papel que cada uma desempenha.

## Antes de começar

O aplicativo Desktop é deliberadamente fino: um núcleo Rust possui a janela nativa enquanto uma webview carrega seu aplicativo web. Tudo abaixo já está fixado no checkout — esta página explica o que cada peça faz para que os guias posteriores façam sentido.

A UI do produto, autenticação, cobrança e IA vivem todas na base de código web que a janela carrega. Um checkout somente Desktop contém apenas o shell — é por isso que esta stack é pequena de propósito.


## Tauri 2 + a webview do sistema

O Tauri 2 renderiza o aplicativo com a própria webview do sistema operacional — WebView2 no Windows, WebKit no macOS, WebKitGTK no Linux —, então o shell permanece pequeno e não carrega um runtime de navegador embutido. `frontendDist` aponta para `apps/desktop/ui`, a página de boot mostrada enquanto o aplicativo web carrega, então um arranque a frio nunca renderiza uma janela em branco.

- [Tauri](https://tauri.app)


## Rust + TypeScript

O comportamento do shell é Rust — `src-tauri/src`, edição 2021, Rust mínimo 1.90 — compilado pelo cargo. Pequenos scripts Node escritos em TypeScript cuidam do preflight de release e do manifesto do updater.

- [Rust](https://www.rust-lang.org)


## Recursos nativos via plugins

Estado da janela, instância única, deep links, o atalho global, a bandeja, iniciar no login, o updater, abertura de links externos, diálogos e controle de processos vêm todos de crates `tauri-plugin-*` — o shell não adiciona comandos IPC próprios. Adicionar uma capacidade nativa significa registrar outro plugin ou ligar os que já existem.


## tauri.conf.json + capabilities

O identificador de bundle `com.supastack.desktop`, a lista de janelas, as opções de plugins e o endpoint do updater vivem em `src-tauri/tauri.conf.json`. As permissões da webview ficam em `src-tauri/capabilities/default.json` — atualmente `core:default` mais `opener:allow-open-url` para links do navegador do sistema — e são ampliadas apenas quando um recurso nativo precisa delas.


## Ferramentas de verificação

cargo test cobre a lógica Rust — resolução de URL, o portão de navegação, o mapeamento de deep links, os canais do updater, zoom e preferências de janela — enquanto `node --check` valida a página de boot e `check:release-config` protege os builds de release. O CI compila os três sistemas operacionais.

```
corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop typecheck
corepack pnpm --filter @supastack/desktop check:release-config
```


## Seguinte

[Execute e configure o shell](https://supastack.dev/pt/docs/desktop/run.md)
