--- title: CLI description: Команды `yarn twenty` для выполнения функций, потоковой передачи логов, управления установками приложений и переключения удалённых серверов. icon: terminal --- CLI `yarn twenty` — ваш инструмент для всего, что связано с приложением. Полный список команд: | Команда | Что делает | Описано в | | ----------------------------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | | `dev` | Отслеживает исходные файлы и синхронизирует изменения в реальном времени | [Краткое руководство](/l/ru/developers/extend/apps/getting-started/quick-start) | | `план` | Предпросмотр изменений метаданных без их применения | [Syncing & recovery](/l/ru/developers/extend/apps/operations/sync-and-recovery#previewing-changes-plan) | | `применить` | Применить изменения метаданных после показа плана | [Syncing & recovery](/l/ru/developers/extend/apps/operations/sync-and-recovery) | | `dev:build` | Скомпилировать приложение и сгенерировать API‑клиент (`--tarball` для упаковки в `.tgz`) | [Публикация](/l/ru/developers/extend/apps/operations/publishing) | | `dev:typecheck` | Запустить проверку типов TypeScript | [Тестирование](/l/ru/developers/extend/apps/operations/testing) | | `dev:add` | Создать каркас новой сущности | [Создание каркаса](/l/ru/developers/extend/apps/getting-started/scaffolding) | | `dev:generate-client` | Повторно сгенерировать типизированный API‑клиент | эта страница | | `dev:function:exec` / `dev:function:logs` | Выполнять функции и транслировать их логи | эта страница | | `dev:translations-extract` | Извлечь переводимые строки в каталоги `locales/` | [Переводы](/l/ru/developers/extend/apps/operations/translations) | | `dev:catalog-sync` | Запустить синхронизацию каталога маркетплейса | [Публикация](/l/ru/developers/extend/apps/operations/publishing#how-marketplace-discovery-works) | | `app:publish` / `app:install` / `app:uninstall` | Жизненный цикл релиза | [Публикация](/l/ru/developers/extend/apps/operations/publishing) и эта страница | | `docker:*` | Управлять локальным контейнером сервера Twenty | [Локальный сервер](/l/ru/developers/extend/apps/getting-started/local-server) | | `remote:*` | Управлять подключениями к серверам | эта страница | Каждая команда принимает параметр `-r, --remote \`, чтобы указать конкретное удалённое подключение вместо подключения по умолчанию. ## Выполнение функций (`yarn twenty dev:function:exec`) Запустите логическую функцию вручную, не вызывая её через HTTP, cron или событие базы данных: ```bash filename="Terminal" # Execute by function name yarn twenty dev:function:exec -n create-new-post-card # Execute by universalIdentifier yarn twenty dev:function:exec -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf # Pass a JSON payload yarn twenty dev:function:exec -n create-new-post-card -p '{"name": "Hello"}' # Execute the install and uninstall hooks yarn twenty dev:function:exec --postInstall yarn twenty dev:function:exec --preInstall yarn twenty dev:function:exec --uninstall ``` ## Просмотр логов функций (`yarn twenty dev:function:logs`) Потоковая передача журналов выполнения логических функций вашего приложения: ```bash filename="Terminal" # Stream all function logs yarn twenty dev:function:logs # Filter by function name yarn twenty dev:function:logs -n create-new-post-card # Filter by universalIdentifier yarn twenty dev:function:logs -u e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf ``` Это отличается от `yarn twenty docker:logs`, который показывает логи контейнера Docker. `yarn twenty dev:function:logs` показывает журналы выполнения функций вашего приложения с сервера Twenty. ## Генерация типизированного клиента (`yarn twenty dev:generate-client`) Повторно сгенерируйте типизированный API‑клиент (`twenty-client-sdk`) из схемы активного удалённого экземпляра, не выполняя сборку или синхронизацию приложения. Используйте это, чтобы получить типизированного клиента в любом проекте — например, в backend‑сервисе в отдельном репозитории — который взаимодействует с вашим экземпляром Twenty: ```bash filename="Terminal" # In your project (no Twenty app definition required) yarn add twenty-sdk twenty-client-sdk # Connect to the Twenty instance to generate the client from yarn twenty remote:add # Generate the typed client into node_modules/twenty-client-sdk yarn twenty dev:generate-client ``` Затем импортируйте клиента в свой код: ```typescript import { CoreApiClient } from 'twenty-client-sdk/core'; ``` Повторно запустите команду при каждом изменении вашей модели данных, чтобы обновить сгенерированные типы. Клиент генерируется внутри `node_modules`, поэтому он не добавляется в ваш репозиторий вместе с кодом. Запускайте `yarn twenty dev:generate-client` после каждой установки (например, в скрипте `postinstall` или в CI). ## Удаление приложения (`yarn twenty app:uninstall`) Удалите свое приложение из активного рабочего пространства: ```bash filename="Terminal" yarn twenty app:uninstall # Skip the confirmation prompt yarn twenty app:uninstall --yes ``` ## Управление удалёнными серверами **Remote** — это сервер Twenty, к которому подключается ваше приложение. Во время настройки скаффолдер автоматически создаст его для вас. Вы можете в любой момент добавлять новые удалённые серверы или переключаться между ними. ```bash filename="Terminal" # Add a new remote (opens a browser for OAuth login) yarn twenty remote:add # Connect to a local Twenty server (auto-detects port 2020 or 3000) yarn twenty remote:add --local # Add a remote non-interactively (useful for CI) yarn twenty remote:add --url https://your-twenty-server.com --api-key $TWENTY_API_KEY --as my-remote # List all configured remotes yarn twenty remote:list # Set the active remote yarn twenty remote:use # Check that the active remote's authentication is still valid yarn twenty remote:status # Remove a remote yarn twenty remote:remove ``` Ваши учётные данные хранятся в `~/.twenty/config.json`.