Sacar tu app de Base44: código, GitHub y el comando eject

Base44 exportar código: de quién es, cómo se descarga, qué plan hace falta y qué pasa con tus datos si te vas. Con la documentación delante.

Base44 dice que el código es tuyo. Y es verdad, lo pone en su página de precios con todas las letras.

Lo que no pone en portada es que para bajártelo hay que estar en el plan Builder, que son 40 dólares al mes con facturación anual. Aquí está la letra pequeña de la salida, con la documentación oficial delante y la fecha al lado (todo esto está comprobado a fecha de mayo de 2026).

¿Puedo sacar el código de mi app de Base44?

Sí. Base44 te deja llevarte el código fuente completo de la app que has generado, y hay dos vías para hacerlo: la sincronización con GitHub y el comando eject de su herramienta de línea de comandos.

El matiz importante es que ninguna de las dos está en el plan gratis. La propiedad del código es de serie. El acceso al código es de pago.

Si lo quieres comprobar tú mismo antes de seguir leyendo, abre la página de planes de Base44 (enlace de afiliado: así me ayudas a seguir creando contenido) y busca la fila de la sincronización con GitHub. Está a partir de Builder.

¿De quién es el código que genera Base44?

De la página de precios, literal: "You own everything you build on Base44: your code, your data, your users. Two-way GitHub sync exports the full source code to your own repo at any time."

Traducido: eres dueño de tu código, tus datos y tus usuarios, y la sincronización bidireccional con GitHub exporta el código fuente completo a tu propio repositorio cuando quieras.

Es una frase clara, sin trampa legal aparente. Ojo con no confundirla con otra cosa, que es lo que pasa siempre: ser dueño del código no significa que la app vaya a funcionar sola el día que apagues la suscripción. Eso es otro tema y lo vemos más abajo.

¿Cómo descargo el código de mi app?

Dos caminos.

El primero es conectar la app a un repositorio de GitHub. Le das al icono de GitHub en el panel de tu app, autorizas, eliges organización y repositorio, y a partir de ahí los cambios se sincronizan solos.

El segundo es el comando eject de la CLI. Te clona la app en un proyecto local aparte, con su propio identificador, y ya tienes los archivos en tu disco.

Y hay un tercer camino que no es tal: descargar los archivos de la app desde el propio panel, que es lo que necesitas si quieres empaquetarla para las tiendas de aplicaciones. También pide plan de pago.

¿Qué plan hace falta para llevarte el código?

Builder o superior. Los 40 dólares al mes con facturación anual.

La documentación de la integración con GitHub lo dice sin rodeos: "GitHub 2 way sync requires the Builder plan or higher." Y la de publicación en tiendas de aplicaciones dice que tienes que estar en Builder o superior para descargar los archivos de tu app.

Aquí es donde quiero que pares un segundo, porque esto cambia cómo se mira el precio.

La gente compara los planes por créditos. Free te da 25 créditos de mensaje al mes, Starter 100, Builder 250. Y decide en función de cuánto va a picar con la IA. Vale, lógico.

Pero si lo que estás montando es algo que va a durar (una herramienta interna para tu negocio, una app que le vas a enseñar a un cliente, cualquier cosa de la que dependa dinero), lo que estás comprando en Builder no son 250 créditos. Es la puerta de salida. Es poder decir "esto lo tengo yo en mi GitHub" el día que Base44 suba precios, cambie de dueño o simplemente deje de gustarte.

Yo pago por eso en varias herramientas y me parece de los pocos gastos que nunca duelen. Si estás en ese punto, entra en Base44 y mira qué incluye Builder antes de seguir metiendo horas en el plan gratis. La diferencia entre Starter y Builder no es potencia. Es propiedad efectiva.

¿Qué es exactamente el comando eject?

Es un comando de la CLI de Base44 y su descripción oficial es esta: "Clone an existing Base44 app into a separate local project". Clonar una app existente en un proyecto local separado.

Se ejecuta así:

base44 eject

Si lo lanzas sin interfaz interactiva, te pide dos cosas obligatorias: --app-id con el identificador de la app y -p con la ruta donde quieres el proyecto.

Lo que te llevas es el código del frontend y los recursos del backend. Lo que se queda atrás es tu contenido, y a eso vamos ahora.

¿Cómo se conecta GitHub a una app de Base44?

Desde el panel de la app: icono de GitHub arriba a la derecha, "Connect to GitHub", autorizas la aplicación, eliges la cuenta u organización y los repositorios a los que le das acceso, instalas Base44 Builder y creas el repositorio nuevo.

A partir de ahí funciona en los dos sentidos. Tocas en local, se refleja en Base44. Tocas en Base44, se sube al repositorio. Sin botón de "subir cambios": "When you connect your app to GitHub, your changes are synced to the connected repository automatically. There's no option to manually push updates."

Tres avisos que la documentación deja por escrito y que conviene leer antes, no después:

Solo se sincroniza la rama main. Si tu repositorio usa master, no va.

Después de conectar GitHub pierdes la posibilidad de volver atrás con el historial de versiones a puntos anteriores a la integración.

Y si desconectas, no puedes reconectar al mismo repositorio.

¿El código exportado funciona fuera de Base44?

Aquí toca ser honesto: no lo he podido verificar.

Lo que sí dice la documentación del eject es que los dos proyectos quedan independientes entre sí ("Your original Base44 app remains unchanged and the 2 projects are independent after ejection"), y que el proyecto resultante se sigue compilando con la propia herramienta de Base44.

O sea, tienes tus archivos y tienes tu repositorio. Lo que no he encontrado en ninguna página oficial es una afirmación clara de que ese proyecto arranque, se despliegue y funcione en tu propio servidor sin tocar nada del ecosistema de Base44. Y no lo voy a afirmar yo por intuición, porque es justo el dato del que depende toda la decisión.

Si esto es crítico para ti, la prueba es barata: pagas un mes de Builder, haces el eject, intentas levantarlo en local y sales de dudas con tu propia app en la mano. Es lo mismo que recomiendo con cualquier constructor de aplicaciones con IA, y va muy en la línea de lo que conté sobre la deuda técnica real de las apps hechas con IA.

¿Qué pasa con la base de datos y los usuarios?

Esto es lo que más gente se salta y es lo más gordo.

Literal de la documentación del eject: "The ejected project has an empty database. Your entity schemas are copied, but not your data."

Traducido: te llevas la forma de las tablas, no lo que hay dentro. La estructura sí, los registros no. Y los usuarios de tu app, con sus cuentas y sus permisos, tampoco viajan en ese paquete.

Piénsalo como mudarte de casa y llevarte los planos, pero no los muebles. Tienes la casa idéntica montada en otro sitio, y vacía.

Si tu app lleva seis meses funcionando con clientes dentro, exportar el código es la mitad del trabajo. La otra mitad es sacar los datos por tu cuenta antes de irte. Cuanto más tarde lo mires, peor.

¿Y si dejo de pagar? ¿Se cae mi app?

No. Y esto es mejor noticia de lo que esperaba.

La documentación de facturación dice que al cancelar tienes acceso completo hasta el final del periodo facturado, y luego: "your workspace downgrades to the Free plan at the end of your billing period. This limits features and capabilities, including a maximum of 5 apps. Your apps stay live, but you may lose access to features that are only available on paid plans."

Tus apps siguen en pie. Lo que pierdes son las funciones de pago. Y ahí está el detalle que duele: si te habías bajado a Free, pierdes también la vía de exportación, porque va con Builder. Estarías con la app viva y sin llave.

Por eso el orden importa. Primero te llevas el código y los datos. Después cancelas. Nunca al revés.

¿Esto es lock-in o no?

Es lock-in blando. Y me explico, porque la palabra se usa para todo.

Lock-in duro es cuando no hay salida: el código no es tuyo, no se puede exportar y punto. Ahí estás atrapado de verdad.

Lo de Base44 es otra cosa. La salida existe, está documentada y funciona con herramientas normales (GitHub, una CLI, tu repositorio). Lo que hacen es ponerle un precio de 40 dólares al mes. Es un peaje, no un muro.

Comparado con el mercado, tampoco es raro. Cuando comparé Base44 con Lovable esta era una de las diferencias que más pesaban en la decisión, y en general es el criterio que más miro cuando pruebo cualquiera de las herramientas para crear apps sin programar: no cuánto me cobran por entrar, sino cuánto me cobran por salir.

Mi regla, después de haberme quedado atrapado en más de una herramienta: si el proyecto es un experimento de fin de semana, el plan gratis y a correr. Si de ese proyecto depende algún ingreso, no montes nada serio en un plan que no te deja bajarte el código. El día que lo necesites, lo vas a necesitar con prisa.

Y si ya estás en ese punto, la manera rápida de salir de dudas es hacer el ejercicio completo una vez: monta la app en Base44, pásala a Builder un mes, conéctala a GitHub y mira con tus propios ojos qué te llevas. Sesenta minutos y dejas de fiarte de lo que diga nadie, yo incluido.

Si andas decidiendo qué herramienta de IA usar para montar cosas y no tienes claro por dónde empezar, hice un test que te dice en qué nivel estás y qué te toca aprender después. Son un par de minutos.

Hacer el test de nivel de IA

Relacionado

Sigue leyendo