---
title: Приложения Twenty
description: Создавайте и управляйте настройками Twenty в виде кода.
---

<Warning>
Приложения сейчас проходят альфа-тестирование. Функция работает, но продолжает развиваться.
</Warning>

## Что такое приложения?

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

**Что вы можете создать:**

* **Пользовательские объекты и поля** — расширяйте модель данных новыми сущностями или добавляйте поля к существующим объектам, таким как Company или Person
* **Логические функции** — серверные функции, запускаемые событиями базы данных, расписаниями cron или HTTP-маршрутами
* **Фронтенд-компоненты** — компоненты React, которые отображаются в интерфейсе Twenty (страницы записей, командное меню, боковые панели)
* **Навыки и агенты ИИ** — расширяйте ИИ Twenty пользовательскими возможностями
* **Представления и навигация** — преднастроенные сохранённые представления и ссылки боковой панели

## Быстрый старт

```bash filename="Terminal"
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
yarn twenty dev
```

Это создаёт каркас нового приложения, при необходимости запускает локальный сервер Twenty и начинает отслеживать изменения в ваших файлах. См. руководство [Начало работы](/l/ru/developers/extend/apps/getting-started) для полного пошагового разбора.

## Подробные руководства

| Руководство                                              | Описание                                                                                                                                               |
| -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Начало работы](/l/ru/developers/extend/apps/getting-started) | Создание каркаса приложения, настройка локального сервера, структура проекта, CI                                                                       |
| [Создание приложений](/l/ru/developers/extend/apps/building)  | Определения сущностей (`defineObject`, `defineLogicFunction`, `defineFrontComponent` и т. д.), клиенты API, пакеты npm, публичные ассеты, тестирование |
| [Публикация](/l/ru/developers/extend/apps/publishing)         | Развёртывание на сервер, публикация в npm и маркетплейсе                                                                                               |

## Ключевые понятия

### Обнаружение сущностей

SDK обнаруживает сущности, сканируя ваши файлы TypeScript в поисках вызовов `export default define<Entity>({...})`. Имена файлов и структура папок гибкие — обнаружение основано на AST, а не на путях.

### Доступные типы сущностей

| Функция                            | Назначение                                                   |
| ---------------------------------- | ------------------------------------------------------------ |
| `defineApplication()`              | Метаданные приложения (обязательно, по одному на приложение) |
| `defineObject()`                   | Пользовательские объекты с полями                            |
| `defineField()`                    | Поля в существующих объектах                                 |
| `defineLogicFunction()`            | Серверная логика с триггерами                                |
| `defineFrontComponent()`           | Компоненты React в интерфейсе Twenty                         |
| `defineRole()`                     | Роли доступа                                                 |
| `defineView()`                     | Конфигурации сохранённых представлений                       |
| `defineNavigationMenuItem()`       | Ссылки боковой панели навигации                              |
| `defineSkill()`                    | Навыки агента ИИ                                             |
| `defineAgent()`                    | ИИ-агенты с промптами                                        |
| `definePageLayout()`               | Пользовательские макеты страниц записей                      |
| `definePreInstallLogicFunction()`  | Выполняется перед установкой приложения                      |
| `definePostInstallLogicFunction()` | Выполняется после установки приложения                       |

### Рабочий процесс разработки

1. **`yarn twenty dev`** — следит за исходными файлами, пересобирает при изменениях, синхронизируется с сервером, генерирует типизированные клиенты API
2. **`yarn twenty build`** — создаёт дистрибутивную сборку
3. **`yarn twenty deploy`** — развёртывает на удалённый сервер Twenty
4. **`yarn twenty add`** — интерактивно создаёт каркас новой сущности

### Справочник по CLI

```bash filename="Terminal"
yarn twenty help          # Показать все команды
yarn twenty server start  # Запустить локальный сервер разработки
yarn twenty remote add    # Подключиться к серверу Twenty
yarn twenty exec -n fn    # Выполнить логическую функцию
yarn twenty logs -n fn    # Транслировать логи функции
```

См. руководство [Начало работы](/l/ru/developers/extend/apps/getting-started) для полной справки по CLI.
