> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI

> Comandi di `yarn twenty` per eseguire funzioni, eseguire lo streaming dei log, gestire le installazioni delle app e passare da un remoto all'altro.

La CLI `yarn twenty` è la tua interfaccia per tutto ciò che riguarda le app. Elenco completo dei comandi:

| Comando                                         | Cosa fa                                                                 | Documentato in                                                                                                     |
| ----------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `dev`                                           | Monitora i file sorgente e sincronizza in tempo reale le modifiche      | [Guida rapida](/l/it/developers/extend/apps/getting-started/quick-start)                                           |
| `piano`                                         | Visualizza in anteprima le modifiche ai metadati senza applicarle       | [Sincronizzazione e ripristino](/l/it/developers/extend/apps/operations/sync-and-recovery#previewing-changes-plan) |
| `applica`                                       | Applica le modifiche ai metadati dopo aver mostrato il piano            | [Sincronizzazione e ripristino](/l/it/developers/extend/apps/operations/sync-and-recovery)                         |
| `dev:build`                                     | Compila l'app e genera il client API (`--tarball` per creare un `.tgz`) | [Pubblicazione](/l/it/developers/extend/apps/operations/publishing)                                                |
| `dev:typecheck`                                 | Esegui il controllo dei tipi TypeScript                                 | [Test](/l/it/developers/extend/apps/operations/testing)                                                            |
| `dev:add`                                       | Genera lo scaffold per una nuova entità                                 | [Scaffolding](/l/it/developers/extend/apps/getting-started/scaffolding)                                            |
| `dev:generate-client`                           | Rigenera il client API tipizzato                                        | questa pagina                                                                                                      |
| `dev:function:exec` / `dev:function:logs`       | Esegui le funzioni e trasmetti in streaming i relativi log              | questa pagina                                                                                                      |
| `dev:translations-extract`                      | Estrai le stringhe traducibili nei cataloghi in `locales/`              | [Traduzioni](/l/it/developers/extend/apps/translations/overview)                                                   |
| `dev:catalog-sync`                              | Attiva la sincronizzazione del catalogo del marketplace                 | [Pubblicazione](/l/it/developers/extend/apps/operations/publishing#how-marketplace-discovery-works)                |
| `app:publish` / `app:install` / `app:uninstall` | Ciclo di vita delle release                                             | [Pubblicazione](/l/it/developers/extend/apps/operations/publishing) e questa pagina                                |
| `docker:*`                                      | Gestisci il container del server Twenty locale                          | [Server locale](/l/it/developers/extend/apps/getting-started/local-server)                                         |
| `remote:*`                                      | Gestisci le connessioni al server                                       | questa pagina                                                                                                      |

Ogni comando accetta `-r, --remote \<name>` per puntare a un remoto specifico anziché a quello predefinito.

## Esecuzione delle funzioni (`yarn twenty dev:function:exec`)

Esegui manualmente una funzione logica senza attivarla tramite HTTP, cron o evento del database:

```bash filename="Terminal" theme={null}
# 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
```

## Visualizzazione dei log delle funzioni (`yarn twenty dev:function:logs`)

Esegui lo streaming dei log di esecuzione per le funzioni logiche della tua app:

```bash filename="Terminal" theme={null}
# 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>
  Questo è diverso da `yarn twenty docker:logs`, che mostra i log del container Docker. `yarn twenty dev:function:logs` mostra i log di esecuzione delle funzioni della tua app dal server Twenty.
</Note>

## Generare il client tipizzato (`yarn twenty dev:generate-client`)

Rigenera il client API tipizzato (`twenty-client-sdk`) dallo schema del remoto attivo, senza eseguire la build né sincronizzare un'app. Usalo per ottenere un client tipizzato in qualsiasi progetto — ad esempio un servizio backend che vive in un repository separato — che comunica con la tua istanza Twenty:

```bash filename="Terminal" theme={null}
# 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
```

Quindi importa il client nel tuo codice:

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

Esegui nuovamente il comando ogni volta che il tuo modello di dati cambia, per aggiornare i tipi generati.

<Note>
  Il client viene generato all'interno di `node_modules`, quindi non viene inserito nel commit insieme al tuo codice. Esegui `yarn twenty dev:generate-client` dopo ogni installazione (ad esempio in uno script `postinstall` o nella CI).
</Note>

## Disinstallazione di un'app (`yarn twenty app:uninstall`)

Rimuovi la tua app dallo spazio di lavoro attivo:

```bash filename="Terminal" theme={null}
yarn twenty app:uninstall

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

## Gestione dei remoti

Un **remoto** è un server Twenty a cui la tua app si connette. Durante la configurazione, lo strumento di scaffolding ne crea uno automaticamente per te. Puoi aggiungere altri remoti o passare da uno all'altro in qualsiasi momento.

```bash filename="Terminal" theme={null}
# 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>
```

Le tue credenziali sono archiviate in `~/.twenty/config.json`.
