Saltar al contenido principal

Prerrequisitos

  • Node.js 24.5+Descargar
  • Yarn 4 — incluido con Node.js a través de Corepack. Actívalo: corepack enable
  • DockerDescargar. Necesario para ejecutar un servidor local de Twenty. Omítelo si ya tienes Twenty ejecutándose en otro lugar.
La creación de una app de Twenty tiene tres fases. El generador las combina en un único comando de ruta ideal, pero cada fase es un concepto independiente — cuando algo falla, saber en qué fase estás te indica qué debes corregir.

Fase 1 — Genera la estructura de tu proyecto

Crea una app nueva a partir de la plantilla:
El generador no es interactivo: el nombre del directorio se convierte en el nombre de la aplicación. Pasa --display-name y --description para personalizar los metadatos generados (también puedes editarlos más tarde en src/constants/universal-identifiers.ts). Esto genera un proyecto de TypeScript en my-twenty-app/ con un application-config.ts inicial, un rol predeterminado, flujos de trabajo de CI/CD y una prueba de integración. Después de esta fase: tienes el código fuente de tu app en tu máquina. Aún no se está ejecutando — esa es la Fase 2.

Fase 2 — Ejecuta un servidor local de Twenty

Tu app necesita un servidor de Twenty con el que sincronizar. El servidor es una instancia completa de Twenty — UI, API GraphQL, PostgreSQL — ejecutándose localmente en Docker. Tu código local sube sus definiciones a ese servidor, lo que hace que aparezcan en la UI. El generador inicia uno por ti: con Docker en ejecución, extrae la imagen twentycrm/twenty-app-dev, la inicia en el puerto 2020 y autentica la CLI contra el espacio de trabajo de demostración preconfigurado (tim@apple.dev), sin necesidad de iniciar sesión. Para conectarte a un servidor Twenty existente en su lugar, pasa --url \<your-server-url>. Los servidores remotos se autentican con OAuth: se abre un navegador para que puedas iniciar sesión y hacer clic en Authorize, lo que le da a la CLI acceso a tu espacio de trabajo. (También puedes optar por usar OAuth localmente con --authentication-method oauth: inicia sesión con tim@apple.dev / tim@apple.dev.)
Pantalla de inicio de sesión de Twenty
Pantalla de autorización de la CLI de Twenty
Tu terminal confirmará que todo está configurado.
Aplicación generada correctamente
Después de esta fase: tienes un servidor de Twenty en ejecución en http://localhost:2020 con tu CLI autorizada para sincronizar con él.
Si Docker no está instalado o en ejecución, el generador te indicará el comando de inicio correcto para tu sistema operativo. Una vez que Docker esté en marcha, puedes reanudar con yarn twenty docker:start — no es necesario volver a generar la estructura.

Fase 3 — Sincroniza tus cambios

Este es el ciclo interno en el que pasarás la mayor parte del tiempo.
Esto observa src/, recompila en cada cambio y sincroniza el resultado con el servidor. Edita un archivo, guarda y, en cuestión de unos segundos, el servidor reflejará el cambio. Verás un panel de estado en vivo en tu terminal. Para una salida más detallada (registros de compilación, solicitudes de sincronización, trazas de errores), añade --verbose.
Salida del modo de desarrollo en la terminal
Abre http://localhost:2020/settings/applications#developer en tu navegador. Deberías ver tu app listada en Your Apps.
Lista de Your Apps que muestra My twenty app
Haz clic en My twenty app para ver su registro de la aplicación — un registro a nivel de servidor que describe tu app (nombre, identificador, credenciales de OAuth, origen). Un único registro puede instalarse en varios espacios de trabajo del mismo servidor.
Detalles del registro de la aplicación
Haz clic en View installed app para ver la instalación en el espacio de trabajo. La pestaña About muestra la versión actual y las opciones de gestión.
Aplicación instalada
Después de esta fase: tienes un ciclo de desarrollo en vivo. Edita cualquier archivo en src/ y aparecerá en la UI.

Sincronización de una sola vez para CI y scripts

Usa plan y apply para ejecutar la misma canalización una vez, sin observador:
Todos los modos necesitan un remoto autenticado. Consulta Sincronización y recuperación para obtener más información sobre plan.
yarn twenty dev --once y yarn twenty dev --once --dry-run son alias obsoletos de yarn twenty apply y yarn twenty plan.

Opciones del modo de desarrollo

Lo que puedes crear

Las apps se componen de entidades — cada una definida como un archivo de TypeScript con un único export default: Referencia completa: Conceptos.

Próximos pasos

Configuración

Identidad de la aplicación, rol predeterminado, hooks de instalación y recursos públicos.

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.