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. Essas funções validam sua configuração em tempo de compilação e oferecem autocompletar na IDE e segurança de tipos.
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, função padrão, variáveis | Configuração da aplicação |
| Papel | Conjuntos de permissões para objetos e campos | Papéis e permissões |
| Objeto | Tipos de registro personalizados com campos | Objetos |
| Campo | Adicionar campos a objetos de outros apps | Extensão de objetos |
| Relação | Links bidirecionais entre objetos | Relações |
| Função lógica | TypeScript no lado do servidor com gatilhos | Funções lógicas |
| Habilidade | Instruções reutilizáveis para agentes de IA | Habilidades e Agentes |
| Agente | Assistentes de IA com prompts personalizados | Habilidades e Agentes |
| Provedor de conexão | Credenciais OAuth para APIs de terceiros | Conexões |
| Vista | Vistas de lista de registros pré-configuradas | Vistas |
| Item do menu de navegação | Entradas personalizadas na barra lateral | Itens do menu de navegação |
| Layout da Página | Abas e widgets na página de detalhes de um registro | Layouts de página |
| Componente de front-end | UI React em sandbox dentro do Twenty | Componentes de front-end |
| Item do menu de comandos | Ações rápidas e entradas Cmd+K | Itens do menu de comandos |
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 dev: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 opcionais que são executadas durante a instalação. Veja Hooks de instalação para detalhes.
Próximos passos
Configuração
Identidade da aplicação, função padrão e hooks de instalação.
Dados
Objetos, campos e relações bidirecionais.
Lógica
Funções lógicas, habilidades, agentes e conexões OAuth.
Layout
Vistas, navegação, layouts de página, componentes de front-end.
Operações
CLI, testes, remotos, CI e publicação do seu aplicativo.