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
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
Gestión de proyectos
Desarrollo
Despliegue
Gestión de entidades
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
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.
Nota: Los comandos de agentes realizan una sincronización completa - enviar reemplaza todos los agentes remotos con los locales, y extraer reemplaza todos los agentes locales con los remotos.
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.
Nota: Los comandos de conectores realizan una sincronización completa - enviar reemplaza todos los conectores remotos con los locales (y activa OAuth para nuevos conectores OAuth), y extraer reemplaza todos los conectores locales con los remotos.
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.
Nota: La configuración de autenticación también se despliega como parte de
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.
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.
Generación de tipos
Salida:
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
Solo SPA: El alojamiento de Base44 admite aplicaciones de página única (Single Page Applications) con un único punto de entrada
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
Esta página fue traducida usando IA. Para obtener la información más precisa y actualizada, consulta la versión en inglés.