Base44 CLI
Crea y gestiona apps de Base44 (proyectos) usando la herramienta CLI de Base44.⚡ ACCIÓN INMEDIATA REQUERIDA - Lee esto primero
Esta habilidad se activa ante CUALQUIER mención de “base44” o cuando existe una carpetabase44/. NO leas archivos de documentación ni busques en la web antes de actuar.
Tu primera acción DEBE ser:
- Comprueba si
base44/config.jsoncexiste en el directorio actual - Si SÍ (escenario de proyecto existente):
- Transfiere a la habilidad base44-sdk para la implementación
- Esta habilidad solo maneja comandos CLI (login, deploy, entities push)
- Si NO, decide entre dos rutas de inicialización:
- App aprovisionada — la app de Base44 ya existe porque acaba de aprovisionarse a través de un flujo Stripe Projects / projects.dev, O
BASE44_APP_ID(oBASE44_PROJECTS_BASE44_APP_ID) está presente en el entorno o en un archivo.env/.env.local:- Ejecuta
npx base44 scaffoldpara configurar los archivos locales para esa app existente - NO ejecutes
npx base44 create— eso crea una segunda app duplicada. Consulta scaffold.md.
- Ejecuta
- Nuevo proyecto — no existe ninguna app aún y ninguna fue aprovisionada:
- Esta habilidad (base44-cli) maneja la solicitud; guía al usuario a través de
npx base44 create - NO actives base44-sdk aún
- Esta habilidad (base44-cli) maneja la solicitud; guía al usuario a través de
- App aprovisionada — la app de Base44 ya existe porque acaba de aprovisionarse a través de un flujo Stripe Projects / projects.dev, O
Crítico: solo instalación local
NUNCA llames abase44 directamente. La CLI se instala localmente como una dependencia de desarrollo y debe accederse mediante un gestor de paquetes:
npx base44 <command>(npm - recomendado)yarn base44 <command>(yarn)pnpm base44 <command>(pnpm)
base44 login
CORRECTO: npx base44 login
OBLIGATORIO: Comprobación de autenticación al inicio de la sesión
CRÍTICO: Al principio de cada sesión de IA cuando se activa esta habilidad, DEBES:-
Comprobar el estado de autenticación ejecutando:
-
Si el usuario ha iniciado sesión (el comando tiene éxito y muestra un correo):
- Continúa con la tarea solicitada
-
Si el usuario NO ha iniciado sesión (el comando falla o muestra un error):
- DETENTE inmediatamente
- NO procedas con ninguna operación CLI
- Pide al usuario que inicie sesión manualmente ejecutando:
BASE44_ACCESS_TOKEN / BASE44_REFRESH_TOKEN que inyecta (los nombres con prefijo BASE44_PROJECTS_* se normalizan automáticamente). En ese caso, npx base44 whoami ya tiene éxito y no necesitas un npx base44 login interactivo.
Descripción general
La CLI de Base44 proporciona herramientas de línea de comandos para autenticación, creación de proyectos, gestión de entidades y despliegue de aplicaciones de Base44. Es agnóstica al framework y funciona con frameworks frontend populares como Vite, Next.js y Create React App, Svelte, Vue y más.Cuándo usar esta habilidad vs base44-sdk
Usa base44-cli cuando:- Crees un proyecto de Base44 NUEVO desde cero
- Inicialices un proyecto en un directorio vacío
- Configures archivos locales para una app existente que se aprovisionó externamente (por ejemplo, a través de un flujo Stripe Projects / projects.dev) → usa
scaffold - Al directorio le falta
base44/config.jsonc - El usuario menciona: “crear un nuevo proyecto”, “inicializar proyecto”, “configurar un proyecto”, “iniciar una nueva app de Base44”
- Desplegando, enviando entidades o autenticando mediante CLI
- Trabajando con comandos CLI (
npx base44 ...)
- Construyas funciones en un proyecto de Base44 EXISTENTE
base44/config.jsoncya existe- Escribas código JavaScript/TypeScript usando el SDK de Base44
- Implementes funcionalidad, componentes o funciones
- El usuario menciona: “implementar”, “construir una función”, “añadir funcionalidad”, “escribir código”
base44-clies un requisito previo parabase44-sdken nuevos proyectos- Si el usuario quiere “crear una app” y no existe un proyecto de Base44, usa
base44-cliprimero base44-sdkasume que un proyecto de Base44 ya está inicializado
- SI (el usuario menciona “crear/construir app” O “hacer un proyecto”):
- SI (
base44/config.jsoncexiste): → Usa base44-sdk (el proyecto existe, construye funciones) - SI NO SI (la app fue aprovisionada externamente —
BASE44_APP_ID/BASE44_PROJECTS_BASE44_APP_IDestá establecido, o un flujo Stripe Projects / projects.dev acaba de ejecutarse): → Usa base44-cli →npx base44 scaffold(configura archivos locales para la app existente; NOcreate) - SI NO:
→ Usa base44-cli →
npx base44 create(se necesita inicialización de nuevo proyecto)
- SI (
Estructura del proyecto
Un proyecto de Base44 combina un proyecto frontend estándar con una carpeta de configuraciónbase44/:
base44/config.jsonc- Nombre del proyecto, descripción, configuración de compilación del sitiobase44/entities/*.jsonc- Esquemas de modelo de datos (ver sección Esquema de entidad)base44/functions/*/entry.ts- Punto de entrada de función de backendbase44/agents/*.jsonc- Configuraciones de agentes (opcional)base44/.types/types.d.ts- Tipos TypeScript autogenerados para entidades, funciones y agentes (creados pornpx base44 types generate)base44/connectors/*.jsonc- Configuraciones de conectores OAuth (opcional)src/api/base44Client.js- Cliente SDK preconfigurado para uso frontend
| Propiedad | Descripción | Predeterminado |
|---|---|---|
name | Nombre del proyecto (requerido) | - |
description | Descripción del proyecto | - |
entitiesDir | Directorio para esquemas de entidades | "entities" |
functionsDir | Directorio para funciones de backend | "functions" |
agentsDir | Directorio para configuraciones de agentes | "agents" |
connectorsDir | Directorio para configuraciones de conectores | "connectors" |
site.installCommand | Comando para instalar dependencias | - |
site.buildCommand | Comando para compilar el proyecto | - |
site.serveCommand | Comando para ejecutar el servidor de desarrollo | - |
site.outputDirectory | Directorio de salida de compilación para despliegue | - |
Instalación
Instala la CLI de Base44 como una dependencia de desarrollo en tu proyecto:base44. Instala siempre sin un especificador de versión para obtener la última versión.
Luego ejecuta comandos usando npx:
npx base44. También puedes usar yarn base44 o pnpm base44 si lo prefieres.
Opción global --app-id
La CLI tiene una opción global --app-id <id> para comandos que solo necesitan un contexto de app, no archivos de proyecto locales.
Orden de resolución: bandera --app-id → variable de entorno BASE44_APP_ID → base44/.app.jsonc local
Esto es útil cuando quieres inspeccionar u operar en una app sin cambiar a un directorio de proyecto vinculado. Ejemplos comunes:
--app-id para comandos con alcance de app como exec y logs.
No uses --app-id para comandos que necesitan archivos de proyecto locales:
base44 createcrea una nueva app, por lo que rechaza--app-idbase44 devse ejecuta desde un proyecto local vinculado, por lo que rechaza--app-idbase44 deployaún requiere un directorio de proyecto local porque lee recursos locales
Comandos disponibles
Autenticación
| Comando | Descripción | Referencia |
|---|---|---|
base44 login | Autentica con Base44 usando el flujo de código de dispositivo | auth-login.md |
base44 logout | Cierra sesión del dispositivo actual | auth-logout.md |
base44 whoami | Muestra el usuario autenticado actualmente | auth-whoami.md |
Gestión de proyectos
| Comando | Descripción | Referencia |
|---|---|---|
base44 create | Crea un nuevo proyecto de Base44 desde una plantilla | create.md ⚠️ DEBE LEERSE |
base44 scaffold | Genera la estructura de un proyecto local para una app de Base44 existente (por app ID) | scaffold.md |
base44 link | Vincula un proyecto local existente a Base44 | link.md |
base44 eject | Descarga el código de un proyecto de Base44 existente | eject.md |
base44 dashboard open | Abre el panel de la app en tu navegador | dashboard.md |
Desarrollo
| Comando | Descripción | Referencia |
|---|---|---|
base44 dev | Inicia el desarrollo local para tu backend de Base44, y tu frontend también cuando site.serveCommand está configurado | dev.md |
Despliegue
| Comando | Descripción | Referencia |
|---|---|---|
base44 deploy | Despliega todos los recursos (entidades, funciones, agentes, conectores, configuración de autenticación y sitio) | deploy.md |
Gestión de entidades
| Acción / Comando | Descripción | Referencia |
|---|---|---|
| Crear entidades | Define entidades en la carpeta base44/entities | entities-create.md |
base44 entities push | Envía entidades locales a Base44 | entities-push.md |
| Patrones RLS | Ejemplos y operadores de seguridad a nivel de fila | rls-examples.md ⚠️ LEER PARA RLS |
Esquema de entidad (referencia rápida)
Sigue SIEMPRE esta estructura exacta al crear archivos de entidad: Nomenclatura de archivos:base44/entities/{kebab-case-name}.jsonc (por ejemplo, team-member.jsonc para TeamMember)
Plantilla de esquema:
string, number, integer, boolean, array, object, binary
Formatos de string: date, date-time, time, email, uri, hostname, ipv4, ipv6, uuid, file, regex, richtext
Para enums: Añade "enum": ["value1", "value2"] y opcionalmente "default": "value1"
Nombres de entidad: Deben ser solo alfanuméricos (patrón: /^[a-zA-Z0-9]+$/)
Para documentación completa, consulta entities-create.md.
Gestión de funciones
| Acción / Comando | Descripción | Referencia |
|---|---|---|
| Crear funciones | Define funciones en base44/functions | functions-create.md |
base44 functions deploy [names...] [--force] | Despliega funciones locales a Base44; opcionalmente apunta a funciones específicas o poda las eliminadas | functions-deploy.md |
base44 functions delete <names...> | Elimina una o más funciones desplegadas de Base44 | functions-delete.md |
base44 functions list | Lista todas las funciones desplegadas en el remoto de Base44 | functions-list.md |
base44 functions pull [name] | Extrae funciones desplegadas de Base44 a archivos locales | functions-pull.md |
Gestión de agentes
Los agentes son asistentes de IA conversacionales que pueden interactuar con los usuarios, acceder a las entidades de tu app y llamar a funciones de backend. Usa estos comandos para gestionar las configuraciones de los agentes.| Acción / Comando | Descripción | Referencia |
|---|---|---|
| Crear agentes | Define agentes en la carpeta base44/agents | Ver Esquema de agente abajo |
base44 agents pull | Extrae agentes remotos a archivos locales | agents-pull.md |
base44 agents push | Envía agentes locales a Base44 | agents-push.md |
Esquema de agente (referencia rápida)
Nomenclatura de archivos:base44/agents/{agent_name}.jsonc (por ejemplo, support_agent.jsonc)
Plantilla de esquema:
- Los nombres de agente deben coincidir con el patrón:
/^[a-z0-9_]+$/(alfanumérico en minúsculas con guiones bajos, 1-100 caracteres) - Válido:
support_agent,order_bot - Inválido:
Support-Agent,OrderBot
name, description, instructions
Campos opcionales: tool_configs (por defecto []), whatsapp_greeting
Tipos de configuración de herramienta:
- Herramientas de entidad:
entity_name+allowed_operations(array de:read,create,update,delete) - Herramientas de función de backend:
function_name+description
Gestión de conectores
Los conectores permiten a tu app conectarse a servicios externos (Google Calendar, Slack, Stripe, etc.). La mayoría de los conectores usan OAuth para proporcionar tokens de acceso para que las funciones de backend llamen a APIs externas. Stripe es la excepción — se aprovisiona automáticamente del lado del servidor sin un flujo OAuth de navegador.| Acción / Comando | Descripción | Referencia |
|---|---|---|
| Crear conectores | Define conectores en la carpeta base44/connectors | connectors-create.md |
base44 connectors list-available | Lista todos los tipos de integración disponibles de Base44 | connectors-list-available.md |
base44 connectors pull | Extrae conectores remotos a archivos locales | connectors-pull.md |
base44 connectors push | Envía conectores locales a Base44 | connectors-push.md |
Esquema de conector (referencia rápida)
Nomenclatura de archivos:base44/connectors/{type}.jsonc (por ejemplo, googlecalendar.jsonc, slack.jsonc)
Plantilla de esquema:
type
Campos opcionales: scopes (por defecto [])
Tipos de conectores disponibles: Ejecuta npx base44 connectors list-available para ver todos los tipos de integración admitidos.
Nota: stripe también es un tipo de conector válido pero no lo devuelve list-available. Trátalo como un tipo admitido — se aprovisiona automáticamente por Base44 sin un flujo OAuth de navegador. Consulta connectors-create.md para más detalles.
Para documentación completa, consulta connectors-create.md.
Configuración de autenticación
Gestiona la configuración de autenticación de tu app (por ejemplo, inicio de sesión con nombre de usuario y contraseña). La configuración de autenticación se almacena enbase44/auth/ y se sincroniza con Base44 mediante auth push/auth pull.
| Comando | Descripción | Referencia |
|---|---|---|
base44 auth password-login <enable|disable> | Habilita o deshabilita la autenticación con nombre de usuario y contraseña | auth-password-login.md |
base44 auth social-login <provider> <enable|disable> | Habilita o deshabilita el inicio de sesión social (google, microsoft, facebook, apple) | auth-social-login.md |
base44 auth sso <enable|disable> | Configura el proveedor de identidad SSO (google, microsoft, github, okta, custom) | auth-sso.md |
base44 auth pull | Extrae la configuración de autenticación de Base44 a archivos locales | auth-pull.md |
base44 auth push | Envía la configuración de autenticación local a Base44 | auth-push.md |
base44 deploy.
Gestión de secretos
Gestiona los secretos del proyecto (variables de entorno almacenadas de forma segura en Base44). Estos comandos están ocultos en la salida de--help pero son totalmente funcionales.
| Comando | Descripción | Referencia |
|---|---|---|
base44 secrets list | Lista los nombres de todos los secretos | secrets-list.md |
base44 secrets set | Establece uno o más secretos (KEY=VALUE o —env-file) | secrets-set.md |
base44 secrets delete <key> | Elimina un secreto por nombre | secrets-delete.md |
Ejecución de scripts
Ejecuta scripts únicos contra tu app con el SDK de Base44 preautenticado. Úsalo para realizar operaciones CRUD en entidades (base44.entities.MyEntity.list/create/update/delete), llamar a funciones de backend (base44.functions.invoke("myFunction", args)), invocar agentes o acceder a cualquier otro recurso expuesto por el SDK — sin desplegar una función completa. Útil para migraciones de datos, operaciones en masa, depuración y flujos de trabajo con scripts.
| Comando | Descripción | Referencia |
|---|---|---|
base44 exec | Ejecuta un script (mediante stdin) con el SDK de Base44 preautenticado | exec.md |
Generación de tipos
| Comando | Descripción | Referencia |
|---|---|---|
base44 types generate | Genera tipos TypeScript (types.d.ts) desde entidades, funciones, agentes y conectores | types-generate.md |
base44/.types/types.d.ts — aumenta el módulo @base44/sdk con registros tipados (EntityTypeRegistry, FunctionNameRegistry, AgentNameRegistry, ConnectorTypeRegistry).
No requiere autenticación. Se ejecuta completamente localmente. Actualiza automáticamente tsconfig.json para incluir los tipos generados.
Gestión de sitio
| Comando | Descripción | Referencia |
|---|---|---|
base44 site deploy | Despliega los archivos compilados del sitio al alojamiento de Base44 | site-deploy.md |
base44 site open | Abre el sitio desplegado en tu navegador | site-open.md |
index.html. Todas las rutas se sirven desde index.html (enrutamiento del lado del cliente).
Inicio rápido
-
Instala la CLI en tu proyecto:
-
Autentícate con Base44:
-
Crea un nuevo proyecto (SIEMPRE proporciona el nombre y la bandera
--path): -
Ejecuta el desarrollo local:
-
Compila y despliega todo:
npx base44 entities push- Envía solo entidadesnpx base44 functions deploy- Despliega solo funcionesnpx base44 functions delete <name>- Elimina una función desplegadanpx base44 functions list- Lista todas las funciones desplegadasnpx base44 functions pull- Extrae funciones desplegadas a archivos localesnpx base44 agents push- Envía solo agentesnpx base44 connectors pull- Extrae conectores de Base44npx base44 connectors push- Envía solo conectoresnpx base44 auth pull- Extrae la configuración de autenticación de Base44npx base44 auth push- Envía solo la configuración de autenticaciónnpx base44 site deploy -y- Despliega solo el sitio
Flujos de trabajo comunes
Crear un nuevo proyecto
⚠️ OBLIGATORIO: Antes de ejecutarbase44 create, DEBES leer create.md para:
- Selección de plantilla - Elige la plantilla correcta (
backend-and-clientvsbackend-only) - Flujo de trabajo correcto - Diferentes plantillas requieren diferentes pasos de configuración
- Errores comunes - Evita errores de creación de carpetas que causen fallos
Vincular un proyecto existente
Ejecutar desarrollo local
base44 dev ejecute también tu frontend, verifica que base44/config.jsonc tenga site.serveCommand establecido correctamente (por ejemplo, "serveCommand": "npm run dev"). Cuando ese campo está presente, base44 dev ejecuta tanto el backend como el frontend juntos.
Desplegar todos los cambios
Generar tipos TypeScript
base44/.types/types.d.ts con registros tipados para el módulo @base44/sdk. Ejecuta esto después de cambiar entidades, funciones, agentes o conectores para mantener tus tipos sincronizados. No requiere autenticación.
Desplegar recursos individuales
Abrir el panel
Autenticación
La mayoría de los comandos requieren autenticación. Si no has iniciado sesión, la CLI te pedirá automáticamente iniciar sesión. Tu sesión se almacena localmente y persiste entre sesiones de CLI.Solución de problemas
| Error | Solución |
|---|---|
| No autenticado | Ejecuta npx base44 login primero |
| No se encontraron entidades | Asegúrate de que las entidades existen en el directorio base44/entities/ |
| Entidad no reconocida | Asegúrate de que el archivo usa nomenclatura kebab-case (por ejemplo, team-member.jsonc no TeamMember.jsonc) |
| No se encontraron funciones | Asegúrate de que las funciones existen en base44/functions/ con entry.ts o entry.js |
| No se encontraron agentes | Asegúrate de que los agentes existen en el directorio base44/agents/ con configuraciones .jsonc válidas |
| Nombre de agente inválido | Los nombres de agente deben ser alfanuméricos en minúsculas solo con guiones bajos |
| No se encontraron conectores | Asegúrate de que los conectores existen en el directorio base44/connectors/ con configuraciones .jsonc válidas |
| Tipo de conector inválido | Ejecuta npx base44 connectors list-available para ver los tipos válidos |
| Tipo de conector duplicado | Cada tipo de conector solo puede definirse una vez por proyecto |
| Tiempo de espera de autorización de conector agotado | Vuelve a ejecutar npx base44 connectors push y completa el flujo OAuth en tu navegador |
| No se encontró configuración del sitio | Comprueba que site.outputDirectory está configurado en la configuración del proyecto |
| Falla el despliegue del sitio | Asegúrate de haber ejecutado npm run build primero y de que la compilación tuvo éxito |
| Mensaje de actualización disponible | Si se te pide actualizar, ejecuta npm install -g base44@latest (o usa npx para instalaciones locales) |
Esta página fue traducida usando IA. Para obtener la información más precisa y actualizada, consulta la versión en inglés.

