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
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 e desinstalação — funções opcionais que são executadas durante a instalação ou logo antes da remoçã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 e desinstalaçã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.