Cómo funcionan las aplicaciones
Una aplicación es un conjunto de entidades declaradas usando funcionesdefineEntity() del paquete twenty-sdk. El SDK detecta estas declaraciones mediante análisis de AST en tiempo de compilación y produce un manifiesto — una descripción completa de lo que tu aplicación agrega a un espacio de trabajo. Estas funciones validan tu configuración en tiempo de compilación y proporcionan autocompletado en el IDE y seguridad de tipos.
La organización de archivos depende de ti. La detección de entidades se basa en el AST — el SDK encuentra llamadas a
export default defineEntity(...) sin importar dónde se encuentre el archivo. La estructura de carpetas anterior es una convención, no un requisito.Tipos de entidades
Sandboxing
- Las funciones de lógica se ejecutan en procesos de Node.js aislados en el servidor. Solo acceden a los datos a través del cliente de API tipado, que actúa como la persona que desencadenó la ejecución o como la propia aplicación. Consulta Qué acceso usa una llamada.
- Los componentes de frontend se ejecutan en Web Workers usando Remote DOM — aislados de la página principal pero renderizando elementos DOM nativos (no iframes). Se comunican con Twenty a través de una API de host de paso de mensajes.
- Los permisos se aplican a nivel de API. Se inyectan dos tokens de tiempo de ejecución, ambos derivados del rol declarado con
defineApplicationRole(); el predeterminado se restringe aún más a lo que puede hacer la persona que desencadena la ejecución siempre que haya alguien detrás de ella.
Ciclo de vida de la aplicación
yarn twenty dev— observa tus archivos fuente y sincroniza en tiempo real los cambios con un servidor de Twenty conectado. El cliente de API tipado se regenera automáticamente cuando cambia el esquema.yarn twenty dev:build— compila TypeScript, agrupa las funciones de lógica y los componentes de frontend con esbuild, y produce un manifiesto.- Hooks de pre/post-instalación y desinstalación — funciones opcionales que se ejecutan durante la instalación o justo antes de la desinstalación. Consulta Hooks de instalación para más detalles.
Próximos pasos
Configuración
Identidad de la aplicación, rol predeterminado y hooks de instalación y desinstalación.
Datos
Objetos, campos y relaciones bidireccionales.
Lógica
Funciones de lógica, habilidades, agentes y conexiones OAuth.
Diseño
Vistas, navegación, diseños de página y componentes de frontend.
Operaciones
CLI, pruebas, remotos, CI y publicación de tu aplicación.