> ## 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

# Стек технологий Desktop

Технологии внутри оболочки Tauri и роль каждой из них.

## Прежде чем начать

Приложение Desktop намеренно тонкое: ядро Rust владеет нативным окном, а webview загружает ваше веб-приложение. Всё ниже уже закреплено в checkout — страница объясняет, что делает каждая часть, чтобы последующие руководства были понятны.

Интерфейс продукта, аутентификация, биллинг и ИИ живут в веб-кодовой базе, которую окно загружает. Checkout только Desktop содержит только оболочку — поэтому этот стек намеренно маленький.


## Tauri 2 + системный webview

Tauri 2 рендерит приложение с собственным webview операционной системы — WebView2 в Windows, WebKit в macOS, WebKitGTK в Linux — поэтому оболочка остаётся маленькой и не несёт встроенного браузерного рантайма. `frontendDist` указывает на `apps/desktop/ui`, страницу загрузки, показываемую во время загрузки веб-приложения, поэтому холодный старт никогда не рендерит пустое окно.

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


## Rust + TypeScript

Поведение оболочки — Rust — `src-tauri/src`, редакция 2021, минимум Rust 1.90 — собранное cargo. Небольшие скрипты Node, написанные на TypeScript, обрабатывают предполётную проверку выпуска и манифест обновлений.

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


## Нативные функции через плагины

Состояние окна, единственный экземпляр, deep links, глобальный горячий клавиша, трей, запуск при входе, обновление, открытие внешних ссылок, диалоги и управление процессами — всё это идёт из крейтов `tauri-plugin-*`; оболочка не добавляет собственных команд IPC. Добавление нативной возможности означает регистрацию ещё одного плагина или подключение уже существующих.


## tauri.conf.json + capabilities

Идентификатор пакета `com.supastack.desktop`, список окон, опции плагинов и конечная точка обновлений живут в `src-tauri/tauri.conf.json`. Разрешения webview находятся в `src-tauri/capabilities/default.json` — сейчас `core:default` плюс `opener:allow-open-url` для ссылок системного браузера — и расширяются только когда их требует нативная функция.


## Инструменты проверки

cargo test охватывает логику Rust — разрешение URL, шлюз навигации, отображение deep links, каналы обновлений, масштабирование и предпочтения окна — в то время как `node --check` проверяет страницу загрузки и `check:release-config` защищает сборки выпуска. CI собирает все три операционные системы.

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


## Вперёд

[Запустите и настройте оболочку](https://supastack.dev/ru/docs/desktop/run.md)
