82 lines
5.3 KiB
Plaintext
82 lines
5.3 KiB
Plaintext
---
|
|
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.
|