Перейти к содержимому
supastack
Обзор документации
ДесктопTauri

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 /ru/docs/desktop/project-structure.md (or send Accept: text/markdown).

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

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

Задать вопрос об этом руководстве
Открыть в

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

Перед любым шагом прочитайте Перед началом работы и Основы терминала. Откройте папку 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.

  • Поведение окна, трея, меню, ярлыка или единственного экземпляра → 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