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

# Структура проекта

Найдите оболочку Rust, страницу загрузки, скрипты выпуска и границу с веб-приложением.

## Настройка и конфигурация

Перед любым шагом прочитайте [Перед началом работы](https://supastack.dev/ru/docs/desktop/before-you-start.md) и [Основы терминала](https://supastack.dev/ru/docs/desktop/terminal-basics.md). Откройте папку supastack в корне — папке, содержащей package.json. Checkout Desktop содержит apps/desktop и его скрипты выпуска; монорепозиторий All Platforms добавляет Web-бэкенд и мобильное приложение. Переменная окружения — это именованная настройка, хранящаяся в локальном файле .env или в вашей панели хостинга; оболочка читает SUPASTACK_APP_URL как настройку терминала, а не из файла.

1. Откройте `apps/desktop/src-tauri/src/lib.rs` — всё нативное поведение живёт в этом единственном файле.

2. Просмотрите `apps/desktop/src-tauri/` — конфигурацию, capabilities и значки.

3. Из корня репозитория выполните `corepack pnpm --filter @supastack/desktop dev` с доступным бэкендом.

Checkout содержит только оболочку Tauri: исходный код Rust, её конфигурацию, страницу загрузки и скрипты выпуска. Экраны продукта живут в веб-приложении, которое загружает окно — checkout только Desktop не имеет собственных экранов приложения. Читайте AGENTS.md и .ai/PROJECT_CONTEXT.md перед изменением поведения; зеркальные документы `.ai/` фиксируют решения, не видимые из одного только файла.

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


## Куда поместить изменение

Перед редактированием решите, какая сторона владеет изменением: всё, что пользователь видит как интерфейс продукта, принадлежит веб-приложению; только поведение уровня ОС принадлежит Rust.

[Создайте свою первую десктопную функцию](https://supastack.dev/ru/docs/desktop/first-feature.md)

- Поведение окна, трея, меню, ярлыка или единственного экземпляра → `apps/desktop/src-tauri/src/lib.rs`.
- Новое разрешение webview → `apps/desktop/src-tauri/capabilities/default.json` — расширяйте только когда нативная функция требует.
- Идентификатор пакета, версия, конечная точка обновлений или опции плагинов → `apps/desktop/src-tauri/tauri.conf.json`.
- Значки-заглушки продукта → замените `placeholder-icon.png` и запустите скрипт значков.
- Поведение загрузки, ожидания или офлайн-оверлея → `apps/desktop/ui/`.
- Любой экран, настройка или данные продукта → репозиторий веб-приложения — оболочка никогда не форкает интерфейс продукта.


## Рабочий процесс внедрения

Для нативного изменения отредактируйте `lib.rs`, запустите `cargo check` и тесты Rust, затем проверьте окно на каждой целевой ОС — поведение трея, ярлыка и deep links различается по платформам. Навык `add-a-desktop-capability` в `.agents/skills/` проходит тот же порядок.


## Проверка и устранение неполадок

`cargo check` ловит ошибки компиляции, а `cargo test` покрывает чистую логику. Настоящая проверка — работающее окно в Windows, macOS и Linux — трей, ярлык и deep links не могут быть доказаны только тестами.

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


## Вперёд

[Создайте первую функцию](https://supastack.dev/ru/docs/desktop/first-feature.md)
