---
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 \<name>` 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
```

<Note>
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.
</Note>

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

<Note>
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).
</Note>

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

# Check that the active remote's authentication is still valid
yarn twenty remote:status

# Remove a remote
yarn twenty remote:remove <name>
```

Tus credenciales se almacenan en `~/.twenty/config.json`.
