> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Приложения

> Расширяйте Twenty с помощью кода — пользовательских объектов, серверной логики, UI-компонентов и ИИ-агентов, всё в виде пакетов TypeScript.

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

## Зачем нужны приложения

Рабочие процессы охватывают автоматизацию без кода. Но для некоторых вещей нужен код: пользовательский механизм ценообразования, проприетарный конвейер обогащения данных, проверка на соответствие требованиям, которая запускается при каждом обновлении записи, пользовательская панель интерфейса, подтягивающая данные из внутреннего инструмента.

Приложения позволяют создавать всё это как полноценные расширения — не хрупкие скрипты, которые снаружи обращаются к API, а код, который запускается на платформе с полным доступом к системе типов, модели прав доступа и пользовательскому интерфейсу.

## Что может определять приложение

Приложение — это пакет TypeScript, который объявляет **сущности** с помощью `twenty-sdk`:

| Сущность                      | Что делает                                                                                                               |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Объекты и поля**            | Новые таблицы данных и поля в существующих объектах — такой же подход, как и для встроенных.                             |
| **Логические функции**        | Серверный TypeScript, запускаемый HTTP-маршрутами, расписаниями cron или событиями базы данных                           |
| **Компоненты фронтенда**      | Изолированные React-компоненты, которые отображаются внутри интерфейса Twenty (боковая панель, виджеты, командное меню). |
| **Навыки и агенты**           | Возможности ИИ — многократно используемые инструкции и автономные помощники                                              |
| **Представления и навигация** | Предварительно настроенные представления списков и элементы бокового меню                                                |

Всё определяется с помощью анализа AST на этапе сборки — без конфигурационных файлов и шаблонного кода регистрации. Добавьте `export default defineObject(...)` в любой файл `.ts`, и SDK его подхватит.

## Как они выполняются

* **Логические функции** выполняются в изолированных процессах Node.js, отделённых от хоста. Они получают доступ к данным через типизированный клиент API, ограниченный правами роли приложения.
* **Компоненты фронтенда** запускаются в Web Workers с использованием Remote DOM — изолированы от основной страницы, но при этом рендерят нативные элементы DOM (не iframes).
* **Права доступа** применяются на уровне API. Приложение видит только то, что разрешает его роль.

## Опыт разработки

Вы пишете своё приложение как TypeScript-проект на своём компьютере. CLI отслеживает ваши исходные файлы и в реальном времени синхронизирует их с запущенным сервером Twenty — редактируйте файл и увидите изменения в интерфейсе за секунду. Типизированный клиент API автоматически пересоздаётся при изменении схемы. Когда будете готовы, `yarn twenty app:publish --private` развернёт приложение на production-сервере, а `yarn twenty app:publish` опубликует его в npm и на маркетплейсе Twenty.

<Card title="Создайте своё первое приложение" icon="arrow-right" href="/l/ru/developers/extend/apps/getting-started">
  Пошаговое руководство из трёх этапов — создание каркаса, запуск локального сервера, синхронизация изменений.
</Card>
