Como as aplicações funcionam
Uma aplicação é uma coleção de entidades declaradas usando funçõesdefineEntity() do pacote twenty-sdk. O SDK detecta essas declarações via análise de AST no momento da compilação e produz um manifesto — uma descrição completa do que seu aplicativo adiciona a um espaço de trabalho.
A organização de arquivos fica a seu critério. A detecção de entidades é baseada em AST — o SDK encontra chamadas a
export default defineEntity(...) independentemente de onde o arquivo esteja. A estrutura de pastas acima é uma convenção, não um requisito.Tipos de entidade
| Entidade | Finalidade | Documentação |
|---|---|---|
| Aplicação | Identidade da aplicação, permissões, variáveis | Modelo de Dados |
| Papel | Conjuntos de permissões para objetos e campos | Modelo de Dados |
| Objeto | Tabelas de dados personalizadas com campos | Modelo de Dados |
| Campo | Estender objetos existentes, definir relações | Modelo de Dados |
| Função lógica | TypeScript no lado do servidor com gatilhos | Funções lógicas |
| Componente de front-end | UI React em sandbox na página do Twenty | Componentes de front-end |
| Habilidade | Instruções reutilizáveis para agentes de IA | Habilidades e Agentes |
| Agente | Assistentes de IA com prompts personalizados | Habilidades e Agentes |
| Vista | Vistas de lista de registros pré-configuradas | Layout |
| Item do menu de navegação | Entradas personalizadas na barra lateral | Layout |
| Layout da Página | Abas e widgets personalizados nas páginas de registro | Layout |
Sandboxing
- Funções lógicas são executadas em processos Node.js isolados no servidor. Elas acessam dados apenas por meio do cliente de API tipado, restrito às permissões do papel do aplicativo.
- Componentes de front-end executam em Web Workers usando Remote DOM — isolados da página principal, mas renderizando elementos DOM nativos (não iframes). Eles se comunicam com o Twenty por meio de uma API de host com passagem de mensagens.
- Permissões são aplicadas no nível da API. O token de tempo de execução (
TWENTY_APP_ACCESS_TOKEN) é derivado do papel definido emdefineApplication().
Ciclo de vida do aplicativo
yarn twenty dev— observa seus arquivos-fonte e sincroniza ao vivo as alterações com um servidor Twenty conectado. O cliente de API tipado é regenerado automaticamente quando o esquema muda.yarn twenty build— compila TypeScript, empacota funções de lógica e componentes de front-end com o esbuild e produz um manifesto.- Hooks de pré/pós-instalação — funções de lógica opcionais que são executadas durante a instalação. Veja Funções de Lógica para detalhes.
Próximos passos
Modelo de dados
Defina objetos, campos, papéis e relações.
Funções lógicas
Funções no lado do servidor com gatilhos HTTP, cron e de eventos.
Componentes de front-end
Componentes React em sandbox dentro da UI do Twenty.
Layout
Vistas, itens de navegação e layouts de página de registro.
Habilidades e agentes
Habilidades e agentes de IA com prompts personalizados.
CLI e Testes
Comandos de CLI, testes, assets, remotes e CI.
Publicação
Implante em um servidor ou publique no marketplace.