Salta al contenuto
supastack
Sfoglia la documentazione
App 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 /it/docs/desktop/project-structure.md (or send Accept: text/markdown).

Struttura del progetto

Trova la shell Rust, la pagina di avvio, gli script di rilascio e il confine con l'app web.

Installazione e configurazione

Prima di qualsiasi passaggio, leggi Prima di iniziare e Nozioni di base sul terminale. Apri la cartella supastack alla sua radice — la cartella che contiene package.json. Un checkout Desktop contiene apps/desktop e i suoi script di rilascio; il monorepo All Platforms aggiunge il backend Web e l'app mobile. Una variabile d'ambiente è un'impostazione con nome archiviata in un file .env locale o nella tua dashboard di hosting; la shell legge SUPASTACK_APP_URL come impostazione del terminale, non da un file.

1. Apri apps/desktop/src-tauri/src/lib.rs — tutto il comportamento nativo vive in questo unico file.

2. Esplora apps/desktop/src-tauri/ — configurazione, capabilities e icone.

3. Dalla radice del repository esegui corepack pnpm --filter @supastack/desktop dev con un backend raggiungibile.

Il checkout contiene solo la shell Tauri: il sorgente Rust, la sua configurazione, la pagina di avvio e gli script di rilascio. Le schermate di prodotto vivono nell'app web che la finestra carica — un checkout solo Desktop non ha schermate app proprie. Leggi AGENTS.md e .ai/PROJECT_CONTEXT.md prima di modificare il comportamento; i documenti specchio .ai/ registrano decisioni non visibili da un file da solo.

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

Dove va una modifica

Prima di modificare, decidi quale lato possiede la modifica: qualsiasi cosa un utente veda come UI di prodotto appartiene all'app web; solo il comportamento a livello SO appartiene a Rust.

  • Comportamento di finestra, tray, menu, scorciatoia o istanza singola → apps/desktop/src-tauri/src/lib.rs.
  • Un nuovo permesso della webview → apps/desktop/src-tauri/capabilities/default.json — amplia solo quando una funzionalità nativa ne ha bisogno.
  • Identificatore del bundle, versione, endpoint dell'updater o opzioni dei plugin → apps/desktop/src-tauri/tauri.conf.json.
  • Icone di prodotto segnaposto → sostituisci placeholder-icon.png ed esegui lo script delle icone.
  • Comportamento di avvio, caricamento o overlay offline → apps/desktop/ui/.
  • Qualsiasi schermata, impostazione o dato di prodotto → il repository dell'app web — la shell non fork mai la UI di prodotto.

Flusso di implementazione

Per una modifica nativa, modifica lib.rs, esegui cargo check e i test Rust, poi esercita la finestra su ogni SO di destinazione — il comportamento di tray, scorciatoia e deep link differisce per piattaforma. Lo skill add-a-desktop-capability in .agents/skills/ percorre questo stesso ordine.

Verifica e risoluzione dei problemi

cargo check intercetta gli errori di compilazione e cargo test copre la logica pura. La vera verifica è la finestra in esecuzione su Windows, macOS e Linux — tray, scorciatoia e deep link non possono essere dimostrati dai soli test.

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