Skip to main content
Esta página es parte de una habilidad de agente de codificación con IA y está escrita para agentes, no para humanos. Para la documentación de Base44 legible por humanos, consulta la documentación para desarrolladores.

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 carpeta base44/. NO leas archivos de documentación ni busques en la web antes de actuar. Tu primera acción DEBE ser:
  1. Comprueba si base44/config.jsonc existe en el directorio actual
  2. Si (escenario de proyecto existente):
    • Transfiere a la habilidad base44-sdk para la implementación
    • Esta habilidad solo maneja comandos CLI (login, deploy, entities push)
  3. 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 (o BASE44_PROJECTS_BASE44_APP_ID) está presente en el entorno o en un archivo .env/.env.local:
      • Ejecuta npx base44 scaffold para configurar los archivos locales para esa app existente
      • NO ejecutes npx base44 create — eso crea una segunda app duplicada. Consulta scaffold.md.
    • 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

Crítico: solo instalación local

NUNCA llames a base44 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)
INCORRECTO: 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:
  1. Comprobar el estado de autenticación ejecutando:
  2. Si el usuario ha iniciado sesión (el comando tiene éxito y muestra un correo):
    • Continúa con la tarea solicitada
  3. 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:
Esta comprobación es obligatoria y debe suceder antes de ejecutar cualquier otro comando de Base44 CLI. ¿Aprovisionado mediante Stripe Projects / projects.dev? Cuando la app se aprovisionó mediante ese flujo, la CLI inicia la autenticación desde las variables de entorno 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 ...)
Usa base44-sdk cuando:
  • Construyas funciones en un proyecto de Base44 EXISTENTE
  • base44/config.jsonc ya 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”
Dependencias de habilidad:
  • base44-cli es un requisito previo para base44-sdk en nuevos proyectos
  • Si el usuario quiere “crear una app” y no existe un proyecto de Base44, usa base44-cli primero
  • base44-sdk asume que un proyecto de Base44 ya está inicializado
Lógica de comprobación de estado: Antes de seleccionar una habilidad, comprueba:
  • SI (el usuario menciona “crear/construir app” O “hacer un proyecto”):
    • SI (base44/config.jsonc existe): → Usa base44-sdk (el proyecto existe, construye funciones)
    • SI NO SI (la app fue aprovisionada externamente — BASE44_APP_ID/BASE44_PROJECTS_BASE44_APP_ID está establecido, o un flujo Stripe Projects / projects.dev acaba de ejecutarse): → Usa base44-clinpx base44 scaffold (configura archivos locales para la app existente; NO create)
    • SI NO: → Usa base44-clinpx base44 create (se necesita inicialización de nuevo proyecto)

Estructura del proyecto

Un proyecto de Base44 combina un proyecto frontend estándar con una carpeta de configuración base44/:
Archivos clave:
  • base44/config.jsonc - Nombre del proyecto, descripción, configuración de compilación del sitio
  • base44/entities/*.jsonc - Esquemas de modelo de datos (ver sección Esquema de entidad)
  • base44/functions/*/entry.ts - Punto de entrada de función de backend
  • base44/agents/*.jsonc - Configuraciones de agentes (opcional)
  • base44/.types/types.d.ts - Tipos TypeScript autogenerados para entidades, funciones y agentes (creados por npx base44 types generate)
  • base44/connectors/*.jsonc - Configuraciones de conectores OAuth (opcional)
  • src/api/base44Client.js - Cliente SDK preconfigurado para uso frontend
Ejemplo de config.jsonc:
Propiedades de configuración:

Instalación

Instala la CLI de Base44 como una dependencia de desarrollo en tu proyecto:
Importante: Nunca asumas ni codifiques la versión del paquete base44. Instala siempre sin un especificador de versión para obtener la última versión. Luego ejecuta comandos usando npx:
Nota: Todos los comandos en esta documentación usan 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_IDbase44/.app.jsonc local Esto es útil cuando quieres inspeccionar u operar en una app sin cambiar a un directorio de proyecto vinculado. Ejemplos comunes:
Usa --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 create crea una nueva app, por lo que rechaza --app-id
  • base44 dev se ejecuta desde un proyecto local vinculado, por lo que rechaza --app-id
  • base44 deploy aú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:
Tipos de campo: 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:
Reglas de nombres:
  • 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
Campos requeridos: 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:
Campos requeridos: 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 en base44/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

  1. Instala la CLI en tu proyecto:
  2. Autentícate con Base44:
  3. Crea un nuevo proyecto (SIEMPRE proporciona el nombre y la bandera --path):
  4. Ejecuta el desarrollo local:
  5. Compila y despliega todo:
O despliega recursos individuales:
  • npx base44 entities push - Envía solo entidades
  • npx base44 functions deploy - Despliega solo funciones
  • npx base44 functions delete <name> - Elimina una función desplegada
  • npx base44 functions list - Lista todas las funciones desplegadas
  • npx base44 functions pull - Extrae funciones desplegadas a archivos locales
  • npx base44 agents push - Envía solo agentes
  • npx base44 connectors pull - Extrae conectores de Base44
  • npx base44 connectors push - Envía solo conectores
  • npx base44 auth pull - Extrae la configuración de autenticación de Base44
  • npx base44 auth push - Envía solo la configuración de autenticación
  • npx base44 site deploy -y - Despliega solo el sitio

Flujos de trabajo comunes

Crear un nuevo proyecto

⚠️ OBLIGATORIO: Antes de ejecutar base44 create, DEBES leer create.md para:
  • Selección de plantilla - Elige la plantilla correcta (backend-and-client vs backend-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
No seguir las instrucciones de create.md dará como resultado una estructura de proyecto rota.

Vincular un proyecto existente

Ejecutar desarrollo local

Si quieres que 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

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