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

# Создайте первую функцию

Сквозной проход от нового экрана до данных, проверенных сервером.

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

Предварительные требования: прочитайте два руководства для начинающих ниже, завершите локальную настройку Mobile и откройте этот репозиторий в корне в вашем редакторе. Настройки Mobile находятся в `apps/mobile/.env.local`; Expo не читает корневой .env. Предпросмотр нуждается в доступном бэкенде для реальных данных.

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

1. Откройте `.agents/skills/add-a-mobile-screen/SKILL.md` — или попросите вашего агента кодирования следовать ему — и создайте один небольшой экран, например `apps/mobile/app/(app)/ideas.tsx`, с логикой в `apps/mobile/src/ideas/`.

2. Откройте новый экран на устройстве через запущенный предпросмотр и убедитесь, что он рендерится для вошедшего участника.

3. Проверьте вышедший аккаунт и аккаунт второго workspace — всё, что должно оставаться закрытым, должно вернуться отклонённым или отсутствовать, потому что сервер обеспечивает границу.

Для пользовательского кода назовите экран, данные, которые он показывает, кто может его видеть и какие ошибки обрабатывать. Дайте эту задачу вашему агенту кодирования и попросите прочитать `AGENTS.md`, `.ai/PROJECT_CONTEXT.md` и `.ai/`-зеркала файлов, которые он затронет; перечислите файлы и проверки перед редактированием; и покажите вам diff. Используйте примерные значения; никогда не вставляйте настоящий секрет.

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

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

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

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


## Создание экрана

Добавьте файл маршрута под `apps/mobile/app/(app)/` — Expo Router превращает файл в экран внутри стека авторизованной зоны. Скомпонуйте его из примитивов `apps/mobile/src/ui` (Screen, Card, Title, Detail, AppButton), чтобы он унаследовал отступы, типографику и цвета приложения.

```
apps/mobile/app/(app)/ideas.tsx
apps/mobile/src/ideas/index.ts
apps/mobile/src/ideas/index.test.ts
```


## Чтение и запись через типизированный клиент

Делайте fetch через `apps/mobile/src/api/client.ts`, который прикрепляет сохранённую сессию к каждому запросу к `EXPO_PUBLIC_API_URL` и возвращает типизированные ошибки. Держите полезные нагрузки идентичными веб-контракту — одни и те же конечные точки обслуживают обоих клиентов.

Если экран читает данные workspace, оберните вызов помощниками в `apps/mobile/src/offline/`, чтобы сбой сети мог откатиться к кэшированной копии — только при сбое сети, никогда после ошибки аутентификации или разрешения.


## Позвольте серверу решать вопрос владения

Сервер разрешает вошедшего участника и активный workspace и ограничивает каждую запись по `workspaceId`. Приложение показывает то, что возвращает сервер; оно никогда не отправляет идентификатор workspace, которому сервер должен доверять.

Если нужные вам данные не имеют конечной точки, добавьте её сначала в бэкенд — бизнес-правила живут на сервере. Скрытая кнопка в приложении не обеспечивает доступ.


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

Проверьте вошедшего участника, участника другого workspace, вышедшую сессию и режим полёта: данные участника появляются, чужие данные отклоняются, вышедшее устройство возвращается ко входу, а офлайн-копия обслуживается только при сбое сети.

[Офлайн-кэш чтения](https://supastack.dev/ru/docs/mobile/offline.md)

[Контрольный список безопасности Mobile](https://supastack.dev/ru/docs/mobile/security.md)


## Доработайте состояния

Дайте экрану состояния загрузки, пустоты и ошибки через общие примитивы, добавьте каждую новую строку во все четыре каталога i18n и подключите маршрут к навигации главной страницы или настроек, чтобы участник мог его действительно найти.


## Вперёд

[Создавайте вместе с кодинг-агентом](https://supastack.dev/ru/docs/mobile/agents.md)
