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

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

> Интерактивно генерируйте файлы сущностей с помощью yarn twenty dev:add — объекты, поля, представления, логические функции и многое другое.

Вместо ручного создания файлов сущностей используйте интерактивный генератор:

```bash filename="Terminal" theme={null}
yarn twenty dev:add
```

Он предлагает выбрать тип сущности и пошагово проводит через обязательные поля, а затем записывает готовый к использованию файл со стабильным `universalIdentifier` и корректным вызовом `defineEntity()`.

Вы также можете передать тип сущности напрямую, чтобы пропустить первый запрос:

```bash filename="Terminal" theme={null}
yarn twenty dev:add object
yarn twenty dev:add logicFunction
yarn twenty dev:add frontComponent
```

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

| Тип сущности | Команда | Сгенерированный файл |
| - | - | - |
| Объект | `yarn twenty dev:add object` | `src/objects/\<name>.ts` |
| Поле | `yarn twenty dev:add field` | `src/fields/\<name>.ts` |
| Логическая функция | `yarn twenty dev:add logicFunction` | `src/logic-functions/\<name>.ts` |
| Компонент фронтенда | `yarn twenty dev:add frontComponent` | `src/front-components/\<name>.tsx` |
| Роль | `yarn twenty dev:add role` | `src/roles/\<name>.ts` |
| Навык | `yarn twenty dev:add skill` | `src/skills/\<name>.ts` |
| Агент | `yarn twenty dev:add agent` | `src/agents/\<name>.ts` |
| Представление | `yarn twenty dev:add view` | `src/views/\<name>.ts` |
| Пункт меню навигации | `yarn twenty dev:add navigationMenuItem` | `src/navigation-menu-items/\<name>.ts` |
| Макет страницы | `yarn twenty dev:add pageLayout` | `src/page-layouts/\<name>.ts` |
| Вкладка компоновки страницы | `yarn twenty dev:add pageLayoutTab` | `src/page-layout-tabs/\<name>.ts` |
| Элемент меню команд | `yarn twenty dev:add commandMenuItem` | `src/command-menu-items/\<name>.ts` |
| Поле представления | `yarn twenty dev:add viewField` | `src/view-fields/\<name>.ts` |
| Провайдер подключения | `yarn twenty dev:add connectionProvider` | `src/connection-providers/\<name>.ts` |
| Тип действия на временной шкале | `yarn twenty dev:add timelineActivityType` | `src/timeline-activity-types/\<name>.ts` |

## Что генерирует скэффолдер

У каждого типа сущности есть свой шаблон. Например, `yarn twenty dev:add object` запрашивает:

1. **Имя (единственное число)** — например, `invoice`
2. **Имя (множественное число)** — например, `invoices`
3. **Метка (единственное число)** — заполняется автоматически из имени (например, `Invoice`)
4. **Метка (множественное число)** — заполняется автоматически (например, `Invoices`)
5. **Создать представление и пункт навигации?** — если вы ответите «да», скэффолдер также сгенерирует соответствующее представление и ссылку в боковой панели для нового объекта.

У других типов сущностей подсказки проще — в большинстве случаев запрашивается только имя.

Тип сущности `field` более детализирован: он запрашивает имя поля, метку, тип (из списка всех доступных типов полей, таких как `TEXT`, `NUMBER`, `SELECT`, `RELATION` и т. д.), а также `universalIdentifier` целевого объекта.

## Пользовательский путь вывода

Используйте флаг `--path`, чтобы поместить сгенерированный файл в пользовательское расположение:

```bash filename="Terminal" theme={null}
yarn twenty dev:add logicFunction --path src/custom-folder
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.