---
title: CLI
description: comandos `yarn twenty` para executar funções, transmitir logs, gerenciar instalações de aplicativos e alternar remotos.
icon: terminal
---

A CLI `yarn twenty` é a sua interface para tudo relacionado a aplicativos. Lista completa de comandos:

| Comando                                         | O que faz                                                                           | Documentado em                                                                                              |
| ----------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `dev`                                           | Monitora arquivos-fonte e sincroniza alterações em tempo real                       | [Início rápido](/l/pt/developers/extend/apps/getting-started/quick-start)                                        |
| `plan`                                          | Visualize as alterações de metadados sem aplicá-las                                 | [Sincronização e recuperação](/l/pt/developers/extend/apps/operations/sync-and-recovery#previewing-changes-plan) |
| `apply`                                         | Aplicar alterações de metadados após exibir o plano                                 | [Sincronização e recuperação](/l/pt/developers/extend/apps/operations/sync-and-recovery)                         |
| `dev:build`                                     | Compile o aplicativo e gere o cliente da API (`--tarball` para empacotar um `.tgz`) | [Publicação](/l/pt/developers/extend/apps/operations/publishing)                                                 |
| `dev:typecheck`                                 | Executar a verificação de tipos do TypeScript                                       | [Testes](/l/pt/developers/extend/apps/operations/testing)                                                        |
| `dev:add`                                       | Criar a estrutura inicial de uma nova entidade                                      | [Scaffolding](/l/pt/developers/extend/apps/getting-started/scaffolding)                                          |
| `dev:generate-client`                           | Regenerar o cliente da API tipado                                                   | esta página                                                                                                 |
| `dev:function:exec` / `dev:function:logs`       | Executar funções e transmitir seus logs                                             | esta página                                                                                                 |
| `dev:translations-extract`                      | Extrair strings traduzíveis para catálogos em `locales/`                            | [Traduções](/l/pt/developers/extend/apps/translations/overview)                                                  |
| `dev:catalog-sync`                              | Acionar a sincronização do catálogo do marketplace                                  | [Publicação](/l/pt/developers/extend/apps/operations/publishing#how-marketplace-discovery-works)                 |
| `app:publish` / `app:install` / `app:uninstall` | Ciclo de vida de versões                                                            | [Publicação](/l/pt/developers/extend/apps/operations/publishing) e esta página                                   |
| `docker:*`                                      | Gerenciar o contêiner do servidor local do Twenty                                   | [Servidor local](/l/pt/developers/extend/apps/getting-started/local-server)                                      |
| `remote:*`                                      | Gerenciar conexões de servidor                                                      | esta página                                                                                                 |

Todo comando aceita `-r, --remote \<name>` para direcionar a um remoto específico em vez do padrão.

## Executando funções (`yarn twenty dev:function:exec`)

Execute manualmente uma função de lógica sem acioná-la via HTTP, cron ou evento de banco de dados:

```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 hooks
yarn twenty dev:function:exec --postInstall
yarn twenty dev:function:exec --preInstall
```

## Visualizando logs de funções (`yarn twenty dev:function:logs`)

Transmita os logs de execução das funções de lógica do seu aplicativo:

```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>
Isso é diferente de `yarn twenty docker:logs`, que mostra os logs do contêiner Docker. `yarn twenty dev:function:logs` mostra os logs de execução de funções do seu aplicativo a partir do servidor Twenty.
</Note>

## Gerando o cliente tipado (`yarn twenty dev:generate-client`)

Regenerar o cliente de API tipado (`twenty-client-sdk`) a partir do esquema do remoto ativo, sem compilar nem sincronizar um aplicativo. Use-o para obter um cliente tipado em qualquer projeto — como um serviço de backend em um repositório separado — que se comunica com a sua instância do 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
```

Em seguida, importe o cliente no seu código:

```typescript
import { CoreApiClient } from 'twenty-client-sdk/core';
```

Execute novamente o comando sempre que o seu modelo de dados for alterado para atualizar os tipos gerados.

<Note>
O cliente é gerado dentro de `node_modules`, portanto não é incluído no commit junto com o seu código. Execute `yarn twenty dev:generate-client` após cada instalação (por exemplo, em um script `postinstall` ou no CI).
</Note>

## Desinstalando um aplicativo (`yarn twenty app:uninstall`)

Remova seu aplicativo do espaço de trabalho ativo:

```bash filename="Terminal"
yarn twenty app:uninstall

# Skip the confirmation prompt
yarn twenty app:uninstall --yes
```

## Gerenciando remotos

Um **remoto** é um servidor Twenty ao qual seu aplicativo se conecta. Durante a configuração, o gerador de scaffold cria um para você automaticamente. Você pode adicionar mais remotos ou alternar entre eles a qualquer 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>
```

Suas credenciais são armazenadas em `~/.twenty/config.json`.
