---
title: Aplicativos Twenty
description: Crie e gerencie personalizações do Twenty como código.
---

<Warning>
Os aplicativos estão atualmente em testes alfa. O recurso é funcional, mas ainda está evoluindo.
</Warning>

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

```bash filename="Terminal"
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](/l/pt/developers/extend/apps/getting-started) para o passo a passo completo.

## Guias detalhados

| Guia                                                        | Descrição                                                                                                                                              |
| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Primeiros passos](/l/pt/developers/extend/apps/getting-started) | Criar a estrutura de um aplicativo, configurar um servidor local, estrutura do projeto, CI                                                             |
| [Criando aplicativos](/l/pt/developers/extend/apps/building)     | Definições de entidades (`defineObject`, `defineLogicFunction`, `defineFrontComponent`, etc.), clientes de API, pacotes npm, recursos públicos, testes |
| [Publicação](/l/pt/developers/extend/apps/publishing)            | 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

1. **`yarn twenty dev`** — observa os arquivos de origem, recompila quando há alterações, sincroniza com o servidor e gera clientes de API tipados
2. **`yarn twenty build`** — produz um build distribuível
3. **`yarn twenty deploy`** — implanta em um servidor Twenty remoto
4. **`yarn twenty add`** — cria a estrutura de uma nova entidade de forma interativa

### Referência da CLI

```bash filename="Terminal"
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](/l/pt/developers/extend/apps/getting-started) para a referência completa da CLI.
