--- title: CLI description: Comandos de `yarn twenty` para ejecutar funciones, transmitir registros en tiempo real, gestionar instalaciones de aplicaciones y cambiar entre remotos. icon: terminal --- La CLI de `yarn twenty` es tu interfaz para todo lo relacionado con la aplicación. Lista completa de comandos: | Comando | Qué hace | Documentado en | | ----------------------------------------------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | `dev` | Supervisar archivos fuente y sincronizar en vivo los cambios | [Inicio rápido](/l/es/developers/extend/apps/getting-started/quick-start) | | `plan` | Previsualizar cambios de metadatos sin aplicarlos | [Sincronización y recuperación](/l/es/developers/extend/apps/operations/sync-and-recovery#previewing-changes-plan) | | `apply` | Aplicar cambios de metadatos después de mostrar el plan | [Sincronización y recuperación](/l/es/developers/extend/apps/operations/sync-and-recovery) | | `dev:build` | Compilar la aplicación y generar el cliente de la API (`--tarball` para empaquetar un `.tgz`) | [Publicación](/l/es/developers/extend/apps/operations/publishing) | | `dev:typecheck` | Ejecutar la comprobación de tipos de TypeScript | [Pruebas](/l/es/developers/extend/apps/operations/testing) | | `dev:add` | Generar una nueva entidad | [Generación de entidades](/l/es/developers/extend/apps/getting-started/scaffolding) | | `dev:generate-client` | Regenerar el cliente de API tipado | esta página | | `dev:function:exec` / `dev:function:logs` | Ejecutar funciones y transmitir sus registros | esta página | | `dev:translations-extract` | Extraer cadenas traducibles en catálogos de `locales/` | [Traducciones](/l/es/developers/extend/apps/translations/overview) | | `dev:catalog-sync` | Activar la sincronización del catálogo del marketplace | [Publicación](/l/es/developers/extend/apps/operations/publishing#how-marketplace-discovery-works) | | `app:publish` / `app:install` / `app:uninstall` | Ciclo de vida de la publicación | [Publicación](/l/es/developers/extend/apps/operations/publishing) y esta página | | `docker:*` | Administrar el contenedor del servidor local de Twenty | [Servidor local](/l/es/developers/extend/apps/getting-started/local-server) | | `remote:*` | Administrar conexiones de servidor | esta página | Todos los comandos aceptan `-r, --remote \` para dirigirse a un remoto específico en lugar del predeterminado. ## Ejecutar funciones (`yarn twenty dev:function:exec`) Ejecuta manualmente una función de lógica sin activarla mediante HTTP, cron o evento de base de datos: ```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 ``` ## Ver registros de funciones (`yarn twenty dev:function:logs`) Transmitir en tiempo real los registros de ejecución de las funciones de lógica de tu aplicación: ```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 ``` Esto es diferente de `yarn twenty docker:logs`, que muestra los registros del contenedor de Docker. `yarn twenty dev:function:logs` muestra los registros de ejecución de funciones de tu aplicación desde el servidor de Twenty. ## Generando el cliente tipado (`yarn twenty dev:generate-client`) Regenera el cliente de API tipado (`twenty-client-sdk`) a partir del esquema del remoto activo, sin compilar ni sincronizar una aplicación. Úsalo para obtener un cliente tipado en cualquier proyecto — como un servicio backend que vive en un repositorio separado — que se comunica con tu instancia de 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 ``` Luego importa el cliente en tu código: ```typescript import { CoreApiClient } from 'twenty-client-sdk/core'; ``` Vuelve a ejecutar el comando cada vez que cambie tu modelo de datos para actualizar los tipos generados. El cliente se genera dentro de `node_modules`, por lo que no se incluye en tus commits de código. Ejecuta `yarn twenty dev:generate-client` después de cada instalación (por ejemplo, en un script de `postinstall` o en CI). ## Desinstalar una aplicación (`yarn twenty app:uninstall`) Elimina tu aplicación del espacio de trabajo activo: ```bash filename="Terminal" yarn twenty app:uninstall # Skip the confirmation prompt yarn twenty app:uninstall --yes ``` ## Gestión de remotos Un **remoto** es un servidor de Twenty al que se conecta tu app. Durante la configuración, el generador crea uno automáticamente para ti. Puedes añadir más remotos o cambiar entre ellos en cualquier momento. ```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 ``` Tus credenciales se almacenan en `~/.twenty/config.json`.