Skip to main content
Новое приложение, сгенерированное с помощью npx create-twenty-app, выглядит так:

Ключевые файлы

Организация файлов — на ваше усмотрение. Приведенные выше папки являются соглашениями — SDK обнаруживает сущности с помощью AST-анализа вызовов export default defineEntity(...) независимо от того, где расположен файл.

Зависимости

Оба пакета Twenty SDK должны находиться в devDependencies, а не в dependencies:
  • twenty-sdk поставляет twenty CLI и инструменты сборки/скэффолдинга. Он выполняется только на этапах разработки и сборки и никогда не импортируется во время выполнения опубликованного приложения.
  • twenty-client-sdk действительно импортируется кодом вашего приложения (CoreApiClient, MetadataApiClient, RestApiClient), но Twenty предоставляет его во время выполнения — функции логики получают его из сгенерированного слоя SDK, а фронтенд‑компоненты получают его из модулей, отдаваемых сервером. Установленная вами копия используется только для проверки типов и сборки на этапе деплоя, поэтому её не нужно включать в развертываемый бандл.
Если любой из пакетов находится в dependencies, он попадает в бандл среды выполнения установленного приложения, где он является лишним грузом. twenty build выдаёт предупреждение, если любой из них всё ещё указан в dependencies. Добавляйте собственные зависимости среды выполнения вашего приложения (библиотеки, которые ваши функции логики действительно импортируют во время выполнения) в dependencies, как обычно.