Prerrequisitos
- Node.js 24.5+ — Descargar
- Yarn 4 — incluido con Node.js a través de Corepack. Actívalo:
corepack enable - Docker — Descargar. Necesario para ejecutar un servidor local de Twenty. Omítelo si ya tienes Twenty ejecutándose en otro lugar.
Fase 1 — Genera la estructura de tu proyecto
Crea una app nueva a partir de la plantilla:--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 imagentwentycrm/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.)



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.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.




src/ y aparecerá en la UI.
Sincronización de una sola vez para CI y scripts
Usaplan 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 únicoexport 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.