Os aplicativos estão atualmente em testes alfa. O recurso é funcional, mas ainda está evoluindo.
O que são aplicativos?
Os aplicativos permitem que você estenda o Twenty com objetos, campos, funções de lógica, componentes de interface, habilidades de IA e mais — tudo gerenciado como código. Em vez de configurar tudo pela UI, você define seu modelo de dados e a lógica em TypeScript e implanta em um ou mais workspaces.
O que você pode criar:
- Objetos e campos personalizados — estenda seu modelo de dados com novas entidades ou adicione campos a objetos existentes como Empresa ou Pessoa
- Funções de lógica — funções no lado do servidor acionadas por eventos do banco de dados, agendamentos cron ou rotas HTTP
- Componentes de interface — componentes React que são exibidos na UI do Twenty (páginas de registro, menu de comandos, painéis laterais)
- Habilidades e agentes de IA — estenda a IA do Twenty com recursos personalizados
- Visualizações e navegação — visualizações salvas preconfiguradas e links na barra lateral
Início rápido
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
yarn twenty dev
Isso cria a estrutura de um novo aplicativo, inicia opcionalmente um servidor Twenty local e começa a monitorar seus arquivos por alterações. Veja o guia Primeiros passos para o passo a passo completo.
Guias detalhados
| Guia | Descrição |
|---|
| Primeiros passos | Criar a estrutura de um aplicativo, configurar um servidor local, estrutura do projeto, CI |
| Criando aplicativos | Definições de entidades (defineObject, defineLogicFunction, defineFrontComponent, etc.), clientes de API, pacotes npm, recursos públicos, testes |
| Publicação | Implantar em um servidor, publicar no npm, marketplace |
Conceitos principais
Detecção de entidades
O SDK detecta entidades ao examinar seus arquivos TypeScript em busca de chamadas export default define<Entity>({...}). A nomenclatura de arquivos e a estrutura de pastas são flexíveis — a detecção é baseada em AST, não em caminhos.
Tipos de entidade disponíveis
| Função | Finalidade |
|---|
defineApplication() | Metadados do aplicativo (obrigatório, um por aplicativo) |
defineObject() | Objetos personalizados com campos |
defineField() | Campos em objetos existentes |
defineLogicFunction() | Lógica no lado do servidor com gatilhos |
defineFrontComponent() | Componentes React na UI do Twenty |
defineRole() | Papéis de permissão |
defineView() | Configurações de visualizações salvas |
defineNavigationMenuItem() | Links de navegação da barra lateral |
defineSkill() | Habilidades de agente de IA |
defineAgent() | Agentes de IA com prompts |
definePageLayout() | Layouts personalizados de páginas de registro |
definePreInstallLogicFunction() | Executa antes da instalação do aplicativo |
definePostInstallLogicFunction() | Executa após a instalação do aplicativo |
Fluxo de trabalho de desenvolvimento
yarn twenty dev — observa os arquivos de origem, recompila quando há alterações, sincroniza com o servidor e gera clientes de API tipados
yarn twenty build — produz um build distribuível
yarn twenty deploy — implanta em um servidor Twenty remoto
yarn twenty add — cria a estrutura de uma nova entidade de forma interativa
Referência da 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
Veja o guia Primeiros passos para a referência completa da CLI.