Le app sono attualmente in fase alfa. La funzionalità funziona ma è ancora in evoluzione.
Cosa sono le app?
Le app ti consentono di estendere Twenty con oggetti, campi, funzioni logiche, componenti front-end, competenze IA e altro ancora — il tutto gestito come codice. Invece di configurare tutto tramite l’interfaccia utente, definisci in TypeScript il modello dati e la logica e li distribuisci in uno o più spazi di lavoro.
Cosa puoi creare:
- Oggetti e campi personalizzati — estendi il tuo modello dati con nuove entità o aggiungi campi a oggetti esistenti come Company o Person
- Funzioni logiche — funzioni lato server attivate da eventi del database, pianificazioni cron o route HTTP
- Componenti front-end — componenti React che vengono renderizzati nell’interfaccia utente di Twenty (pagine dei record, menu dei comandi, pannelli laterali)
- Competenze e agenti IA — estendi l’IA di Twenty con funzionalità personalizzate
- Viste e navigazione — viste salvate preconfigurate e link nella barra laterale
Avvio rapido
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
yarn twenty dev
Questo genera lo scheletro di una nuova app, avvia facoltativamente un server Twenty locale e inizia a monitorare i tuoi file per le modifiche. Consulta la Guida introduttiva per l’intera procedura.
Guide dettagliate
| Guide | Descrizione |
|---|
| Guida introduttiva | Crea lo scheletro di un’app, configura un server locale, struttura del progetto, CI |
| Creare app | Definizioni di entità (defineObject, defineLogicFunction, defineFrontComponent, ecc.), client API, pacchetti npm, asset pubblici, test |
| Pubblicazione | Distribuisci su un server, pubblica su npm, marketplace |
Concetti chiave
Rilevamento delle entità
L’SDK rileva le entità scansionando i tuoi file TypeScript alla ricerca di chiamate a export default define<Entity>({...}). La denominazione dei file e la struttura delle cartelle sono flessibili — il rilevamento è basato sull’AST, non sui percorsi.
Tipi di entità disponibili
| Funzione | Scopo |
|---|
defineApplication() | Metadati dell’applicazione (obbligatorio, uno per app) |
defineObject() | Oggetti personalizzati con campi |
defineField() | Campi su oggetti esistenti |
defineLogicFunction() | Logica lato server con trigger |
defineFrontComponent() | Componenti React nell’interfaccia utente di Twenty |
defineRole() | Ruoli di autorizzazione |
defineView() | Configurazioni di viste salvate |
defineNavigationMenuItem() | Link di navigazione della barra laterale |
defineSkill() | Competenze dell’agente IA |
defineAgent() | Agenti IA con prompt |
definePageLayout() | Layout personalizzati delle pagine dei record |
definePreInstallLogicFunction() | Viene eseguito prima dell’installazione dell’app |
definePostInstallLogicFunction() | Viene eseguito dopo l’installazione dell’app |
Flusso di lavoro di sviluppo
yarn twenty dev — osserva i file sorgente, ricompila alle modifiche, sincronizza con il server, genera client API tipizzati
yarn twenty build — produce una build distribuibile
yarn twenty deploy — distribuisce su un server Twenty remoto
yarn twenty add — crea lo scheletro di una nuova entità in modo interattivo
Riferimento CLI
yarn twenty help # List all commands
yarn twenty server start # Start local dev server
yarn twenty remote add # Connect to a Twenty server
yarn twenty exec -n fn # Execute a logic function
yarn twenty logs -n fn # Stream function logs
Consulta la Guida introduttiva per il riferimento completo della CLI.