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

# Подпись кода

Подписывайте установщики, чтобы macOS и Windows перестали предупреждать ваших пользователей.

## Прохождение для начинающих

Предварительные требования: завершить локальную настройку рабочего стола, включая Rust и инструменты сборки операционной системы. Остановите процесс разработки Tauri перед созданием установщика; оставьте веб-сервер работающим. Запустите каждую проверку ниже из корня репозитория и дождитесь ее завершения, прежде чем запускать следующую. Команды отфильтрованного пакета работают при оформлении заказов только для настольных компьютеров и на всех платформах.

Вкратце: рабочее пространство — это отдельные пользователи, данные и настройки одной команды. Сервер является доверенным сервером; не допускайте попадания ключей провайдера в код браузера и телефона. Миграция — это изменение версии базы данных, при котором создаются или обновляются таблицы. Модель ИИ — это механизм, который отвечает; Каталог моделей — это список доступных идентификаторов моделей и цен на сервере. Поставщик — это внешняя служба, такая как служба искусственного интеллекта, электронной почты или службы выставления счетов. Право — это грант, который позволяет рабочей области использовать функцию. Вебхук — это сообщение, которое одна служба отправляет на URL другой службы.

1. В местном филиале попросите своего агента по кодированию проверить `apps/desktop/src-tauri/tauri.conf.json` и установить для идентификатора продукта, имени приложения, значков и серверной части URL значения, которыми вы владеете. Используйте общедоступный бэкэнд HTTPS URL для выпускных сборок.

2. Из корня репозитория запустите проверку пакета Desktop, указанную ниже. Перед проверкой: Release-config установите SUPASTACK_APP_URL в этом терминале с помощью команды операционной системы в локальной настройке рабочего стола; общедоступный бэкэнд HTTPS должен быть запущен, а идентификатор приложения должен быть вашим собственным.

3. Успешная сборка не подписывает, нотариально заверяет и не публикует установщик; если Rust или системная библиотека отсутствуют, завершите локальную настройку рабочего стола.

Для пользовательского кода начните с предоставленного `prompts/README.md` и скопируйте ближайшее приглашение: `prompts/new-app-screen.md` для экрана приложения или `prompts/new-landing-page.md` для общедоступной страницы. Для работы с сервером, базой данных или провайдером дайте своему агенту кодирования задание из этого руководства и попросите его прочитать `AGENTS.md`, `.ai/PROJECT_CONTEXT.md` и соответствующие зеркала `.ai/`; проверьте точные исходные файлы, указанные здесь; список файлов и проверки перед редактированием; сохранять права собственности на рабочую область и секреты, доступные только серверу; и покажу вам разницу. Сообщите ему желаемое поведение, поля ввода и вывода, разрешенные роли, ожидаемые успехи и ошибки, а также тестовую учетную запись, поставщика или устройство. Используйте выборочные значения; никогда не вставляйте настоящий секрет.

[Прежде чем начать](https://supastack.dev/ru/docs/web/before-you-start.md)

[Основные сведения о терминале](https://supastack.dev/ru/docs/web/terminal-basics.md)

[Локальная настройка рабочего стола](https://supastack.dev/ru/docs/desktop/ship-in-5-minutes.md)

[Подсказки агента и память проекта](https://supastack.dev/ru/docs/web/agents.md)

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


## Настройка оболочки продукта

Просмотрите `src-tauri/tauri.conf.json`, метаданные, возможности и идентификаторы платформы Cargo. Замените значки приложений с помощью процесса общего ресурса и установите предполагаемый серверный компонент URL во время сборки/выполнения. Размещенное веб-приложение уже должно быть развернуто и доступно.


## Запустите встроенный шлюз сборки

Эти команды пакета запускают проверку типов и тесты Rust, проверяют настройки выпуска и создают установщик Tauri. Конфигурация подписи и распространения зависит от целевой платформы и вашей учетной записи/сертификатов; не храните материалы для подписи в исходном коде.

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


## Проверьте установщик на целевой ОС.

Проверьте чистую установку, запуск, доступность серверной части, аутентификацию, меню/панель, регистрацию горячих клавиш, второй экземпляр, глубокие ссылки, повторную попытку в автономном режиме и удаление. Проверьте каждую поддерживаемую ОС отдельно. Локальная сборка не является подписанным или нотариально заверенным коммерческим распространением; Конфигурация подписи, канал обновления и автоматизация выпуска не включены.

[Контрольный список собственной приемки](https://supastack.dev/ru/docs/desktop/run.md)

[Развертывание общего бэкэнда](https://supastack.dev/ru/docs/web/deployment.md)


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

1. Неподписанные установщики нормально ставятся на вашу машину, но вызывают предупреждения Gatekeeper и SmartScreen у всех остальных — подписывайте до поставки.

2. На macOS вступите в Apple Developer Program ради сертификата Developer ID, затем добавьте конфигурацию подписи и нотаризации в секцию bundle в src-tauri/tauri.conf.json и передайте Tauri задокументированные env подписи (APPLE_CERTIFICATE, APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY плюс креденшелы нотаризации APPLE_API_KEY / APPLE_API_ISSUER) из вашего CI-хранилища секретов.

3. На Windows настройте подпись Windows в bundle — отпечаток сертификата или кастомную команду signtool — с сертификатом, тоже доставленным через хранилище секретов вашего раннера.

```
# tauri.conf.json ships unsigned today:
#   "bundle": { "active": true, "targets": "all", "icon": [...] }
# Add signing under bundle > macOS / bundle > windows
# and keep every certificate and password in your secret store,
# never in the repo.
# Auto-updater & release channels (stable / beta via {{channel}}):
# SUPASTACK_UPDATER_ENDPOINT=https://releases.example.com/{{channel}}/{{target}}/{{arch}}/{{current_version}}
# SUPASTACK_UPDATER_PUBKEY=…
# SUPASTACK_UPDATE_CHANNEL=stable
```


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

Выделяйте сертификаты через собственное хранилище секретов и внедряйте их как переменные окружения на этапе сборки — сертификат, закоммиченный в репозиторий, это сертификат на отзыв.

Вшейте продакшен-SUPASTACK_APP_URL в ту же релизную сборку, чтобы установленные оболочки указывали на развёрнутое приложение.


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

Проверяйте, устанавливая полученный артефакт на чужой машине: ни предупреждения Gatekeeper или SmartScreen, приложение запускается, вход сохраняется. Зелёный tauri build без теста подписанной установки не является доказательством релиза.

Дальше: «Чек-лист развёртывания» на вкладке Web покрывает серверные релизные гейты.


Чтобы продолжить настройку, прочитайте [Чек-лист развёртывания](https://supastack.dev/ru/docs/web/deployment.md).


## Вперёд

[Чек-лист развёртывания](https://supastack.dev/ru/docs/web/deployment.md)
