Skip to main content
Cette page fait partie d’une compétence d’agent de code IA et est écrite pour les agents, pas pour les humains. Pour la documentation Base44 lisible par un humain, consultez la documentation développeur.

CLI Base44

Créez et gérez des applications Base44 (projets) avec l’outil CLI Base44.

⚡ ACTION IMMÉDIATE REQUISE - À lire en premier

Cette compétence s’active à toute mention de « base44 » ou lorsqu’un dossier base44/ existe. Ne lisez PAS les fichiers de documentation et ne recherchez PAS sur le web avant d’agir. Votre première action DOIT être :
  1. Vérifier si base44/config.jsonc existe dans le répertoire courant
  2. Si OUI (scénario projet existant) :
    • Transférer à la compétence base44-sdk pour l’implémentation
    • Cette compétence ne gère que les commandes CLI (login, deploy, entities push)
  3. Si NON, choisir entre deux chemins d’initialisation :
    • Application provisionnée — l’application Base44 existe déjà car elle vient d’être provisionnée via un flux Stripe Projects / projects.dev, OU BASE44_APP_ID (ou BASE44_PROJECTS_BASE44_APP_ID) est présent dans l’environnement ou un fichier .env/.env.local :
      • Exécutez npx base44 scaffold pour configurer les fichiers locaux de cette application existante
      • N’exécutez PAS npx base44 create — cela crée une seconde application en double. Consultez scaffold.md.
    • Nouveau projet — aucune application n’existe encore et aucune n’a été provisionnée :
      • Cette compétence (base44-cli) traite la requête ; guidez l’utilisateur avec npx base44 create
      • N’activez PAS encore base44-sdk

Critique : installation locale uniquement

N’appelez JAMAIS base44 directement. Le CLI est installé localement en tant que dépendance de développement et doit être invoqué via un gestionnaire de paquets :
  • npx base44 <command> (npm - recommandé)
  • yarn base44 <command> (yarn)
  • pnpm base44 <command> (pnpm)
MAUVAIS : base44 login BON : npx base44 login

OBLIGATOIRE : vérification d’authentification au démarrage de session

CRITIQUE : au tout début de chaque session IA lorsque cette compétence est activée, vous DEVEZ :
  1. Vérifier le statut d’authentification en exécutant :
  2. Si l’utilisateur est connecté (la commande réussit et affiche un e-mail) :
    • Continuez avec la tâche demandée
  3. Si l’utilisateur n’est PAS connecté (la commande échoue ou affiche une erreur) :
    • ARRÊTEZ immédiatement
    • N’effectuez AUCUNE opération CLI
    • Demandez à l’utilisateur de se connecter manuellement en exécutant :
Cette vérification est obligatoire et doit avoir lieu avant l’exécution de toute autre commande CLI Base44. Provisionné via Stripe Projects / projects.dev ? Lorsque l’application a été provisionnée via ce flux, le CLI initialise l’authentification à partir des variables d’environnement BASE44_ACCESS_TOKEN / BASE44_REFRESH_TOKEN qu’il injecte (les noms préfixés BASE44_PROJECTS_* sont normalisés automatiquement). Dans ce cas, npx base44 whoami réussit déjà et vous n’avez pas besoin d’un npx base44 login interactif.

Aperçu

Le CLI Base44 fournit des outils en ligne de commande pour l’authentification, la création de projets, la gestion des entités et le déploiement d’applications Base44. Il est agnostique du framework et fonctionne avec les frameworks front-end populaires comme Vite, Next.js et Create React App, Svelte, Vue, etc.

Quand utiliser cette compétence par rapport à base44-sdk

Utilisez base44-cli quand :
  • Créer un NOUVEAU projet Base44 à partir de zéro
  • Initialiser un projet dans un répertoire vide
  • Configurer les fichiers locaux d’une application existante provisionnée en externe (par exemple, via un flux Stripe Projects / projects.dev) → utilisez scaffold
  • Le répertoire ne contient pas base44/config.jsonc
  • L’utilisateur mentionne : « créer un nouveau projet », « initialiser un projet », « configurer un projet », « démarrer une nouvelle application Base44 »
  • Déployer, pousser des entités ou s’authentifier via le CLI
  • Travailler avec des commandes CLI (npx base44 ...)
Utilisez base44-sdk quand :
  • Construire des fonctionnalités dans un projet Base44 EXISTANT
  • base44/config.jsonc existe déjà
  • Écrire du code JavaScript/TypeScript utilisant le SDK Base44
  • Implémenter des fonctionnalités, composants ou features
  • L’utilisateur mentionne : « implémenter », « construire une fonctionnalité », « ajouter une fonctionnalité », « écrire du code »
Dépendances entre compétences :
  • base44-cli est un prérequis de base44-sdk pour les nouveaux projets
  • Si l’utilisateur veut « créer une application » et qu’aucun projet Base44 n’existe, utilisez d’abord base44-cli
  • base44-sdk suppose qu’un projet Base44 est déjà initialisé
Logique de vérification d’état : Avant de sélectionner une compétence, vérifiez :
  • SI (l’utilisateur mentionne « créer/construire une application » OU « faire un projet ») :
    • SI (base44/config.jsonc existe) : → Utilisez base44-sdk (le projet existe, construisez des fonctionnalités)
    • SINON SI (l’application a été provisionnée en externe — BASE44_APP_ID/BASE44_PROJECTS_BASE44_APP_ID défini, ou un flux Stripe Projects / projects.dev vient de s’exécuter) : → Utilisez base44-clinpx base44 scaffold (configurez les fichiers locaux pour l’application existante ; ne faites PAS create)
    • SINON : → Utilisez base44-clinpx base44 create (initialisation d’un nouveau projet nécessaire)

Structure du projet

Un projet Base44 combine un projet front-end standard avec un dossier de configuration base44/ :
Fichiers clés :
  • base44/config.jsonc - Nom du projet, description, paramètres de build du site
  • base44/entities/*.jsonc - Schémas de modèle de données (voir la section Schéma d’entité)
  • base44/functions/*/entry.ts - Point d’entrée d’une fonction backend
  • base44/agents/*.jsonc - Configurations d’agents (facultatif)
  • base44/.types/types.d.ts - Types TypeScript auto-générés pour les entités, fonctions et agents (créés par npx base44 types generate)
  • base44/connectors/*.jsonc - Configurations de connecteurs OAuth (facultatif)
  • src/api/base44Client.js - Client SDK préconfiguré pour l’usage front-end
Exemple de config.jsonc :
Propriétés de config :

Installation

Installez le CLI Base44 comme dépendance de développement dans votre projet :
Important : ne supposez ni ne codez en dur la version du paquet base44. Installez toujours sans spécification de version pour obtenir la dernière. Puis exécutez les commandes avec npx :
Note : toutes les commandes de cette documentation utilisent npx base44. Vous pouvez aussi utiliser yarn base44 ou pnpm base44 si vous préférez.

Option globale --app-id

Le CLI dispose d’une option globale --app-id <id> pour les commandes qui n’ont besoin que d’un contexte d’application, pas des fichiers de projet locaux. Ordre de résolution : flag --app-id → variable d’environnement BASE44_APP_IDbase44/.app.jsonc local C’est utile pour inspecter une application ou opérer dessus sans passer dans un répertoire de projet lié. Exemples courants :
Utilisez --app-id pour les commandes à portée application comme exec et logs. N’utilisez pas --app-id pour les commandes qui ont besoin de fichiers de projet locaux :
  • base44 create crée une nouvelle application, elle rejette donc --app-id
  • base44 dev s’exécute depuis un projet local lié, elle rejette donc --app-id
  • base44 deploy nécessite toujours un répertoire de projet local car elle lit les ressources locales

Commandes disponibles

Authentification

Gestion de projet

Développement

Déploiement

Gestion des entités

Schéma d’entité (référence rapide)

Suivez TOUJOURS exactement cette structure lors de la création de fichiers d’entités : Nommage des fichiers : base44/entities/{kebab-case-name}.jsonc (par exemple, team-member.jsonc pour TeamMember) Modèle de schéma :
Types de champs : string, number, integer, boolean, array, object, binary Formats de chaîne : date, date-time, time, email, uri, hostname, ipv4, ipv6, uuid, file, regex, richtext Pour les enums : ajoutez "enum": ["value1", "value2"] et éventuellement "default": "value1" Noms d’entités : doivent être alphanumériques uniquement (motif : /^[a-zA-Z0-9]+$/) Pour la documentation complète, consultez entities-create.md.

Gestion des fonctions

Gestion des agents

Les agents sont des assistants IA conversationnels qui peuvent interagir avec les utilisateurs, accéder aux entités de votre application et appeler des fonctions backend. Utilisez ces commandes pour gérer les configurations d’agents. Note : les commandes d’agents effectuent une synchronisation complète — pousser remplace tous les agents distants par les locaux, et récupérer remplace tous les agents locaux par les distants.

Schéma d’agent (référence rapide)

Nommage des fichiers : base44/agents/{agent_name}.jsonc (par exemple, support_agent.jsonc) Modèle de schéma :
Règles de nommage :
  • Les noms d’agents doivent correspondre au motif : /^[a-z0-9_]+$/ (alphanumérique en minuscules avec underscores, 1 à 100 caractères)
  • Valides : support_agent, order_bot
  • Invalides : Support-Agent, OrderBot
Champs requis : name, description, instructions Champs facultatifs : tool_configs (par défaut []), whatsapp_greeting Types de configs d’outils :
  • Outils d’entité : entity_name + allowed_operations (tableau parmi : read, create, update, delete)
  • Outils de fonction backend : function_name + description

Gestion des connecteurs

Les connecteurs permettent à votre application de se connecter à des services externes (Google Calendar, Slack, Stripe, etc.). La plupart utilisent OAuth pour fournir aux fonctions backend des jetons d’accès leur permettant d’appeler des API externes. Stripe fait exception — il est provisionné automatiquement côté serveur sans flux OAuth dans le navigateur. Note : les commandes de connecteurs effectuent une synchronisation complète — pousser remplace tous les connecteurs distants par les locaux (et déclenche OAuth pour les nouveaux connecteurs OAuth), et récupérer remplace tous les connecteurs locaux par les distants.

Schéma de connecteur (référence rapide)

Nommage des fichiers : base44/connectors/{type}.jsonc (par exemple, googlecalendar.jsonc, slack.jsonc) Modèle de schéma :
Champs requis : type Champs facultatifs : scopes (par défaut []) Types de connecteurs disponibles : exécutez npx base44 connectors list-available pour voir tous les types d’intégration pris en charge. Note : stripe est aussi un type de connecteur valide mais n’est pas renvoyé par list-available. Traitez-le comme un type pris en charge — il est provisionné automatiquement par Base44 sans flux OAuth dans le navigateur. Consultez connectors-create.md pour plus de détails. Pour la documentation complète, consultez connectors-create.md.

Configuration d’authentification

Gérez les paramètres d’authentification de votre application (par exemple, connexion par nom d’utilisateur et mot de passe). La configuration d’authentification est stockée dans base44/auth/ et synchronisée avec Base44 via auth push/auth pull. Note : la config d’authentification est aussi déployée dans le cadre de base44 deploy.

Gestion des secrets

Gérez les secrets du projet (variables d’environnement stockées de manière sécurisée dans Base44). Ces commandes sont masquées de la sortie --help mais sont pleinement fonctionnelles.

Exécution de scripts

Exécutez des scripts ponctuels sur votre application avec le SDK Base44 préauthentifié. Utilisez-la pour effectuer des opérations CRUD sur des entités (base44.entities.MyEntity.list/create/update/delete), appeler des fonctions backend (base44.functions.invoke("myFunction", args)), invoquer des agents, ou accéder à toute autre ressource exposée par le SDK — sans déployer de fonction complète. Utile pour les migrations de données, opérations en masse, débogage et workflows scriptés.

Génération de types

Sortie : base44/.types/types.d.ts — augmente le module @base44/sdk avec des registres typés (EntityTypeRegistry, FunctionNameRegistry, AgentNameRegistry, ConnectorTypeRegistry). Aucune authentification requise. S’exécute entièrement en local. Met automatiquement à jour tsconfig.json pour inclure les types générés.

Gestion du site

SPA uniquement : l’hébergement Base44 prend en charge les Single Page Applications avec un unique point d’entrée index.html. Toutes les routes sont servies depuis index.html (routage côté client).

Démarrage rapide

  1. Installez le CLI dans votre projet :
  2. Authentifiez-vous auprès de Base44 :
  3. Créez un nouveau projet (fournissez TOUJOURS un nom et le flag --path) :
  4. Lancez le développement local :
  5. Buildez et déployez tout :
Ou déployez des ressources individuelles :
  • npx base44 entities push - Pousser uniquement les entités
  • npx base44 functions deploy - Déployer uniquement les fonctions
  • npx base44 functions delete <name> - Supprimer une fonction déployée
  • npx base44 functions list - Lister toutes les fonctions déployées
  • npx base44 functions pull - Récupérer les fonctions déployées vers des fichiers locaux
  • npx base44 agents push - Pousser uniquement les agents
  • npx base44 connectors pull - Récupérer les connecteurs de Base44
  • npx base44 connectors push - Pousser uniquement les connecteurs
  • npx base44 auth pull - Récupérer la config d’authentification de Base44
  • npx base44 auth push - Pousser uniquement la config d’authentification
  • npx base44 site deploy -y - Déployer uniquement le site

Workflows courants

Créer un nouveau projet

⚠️ OBLIGATOIRE : avant d’exécuter base44 create, vous DEVEZ lire create.md pour :
  • Sélection de modèle - Choisir le bon modèle (backend-and-client vs backend-only)
  • Workflow correct - Chaque modèle requiert des étapes de configuration différentes
  • Pièges courants - Éviter les erreurs de création de dossier qui causent des échecs
Ne pas suivre les instructions de create.md entraînera une génération de projet cassée.

Lier un projet existant

Lancer le développement local

Si vous voulez que base44 dev lance aussi votre front-end, vérifiez que base44/config.jsonc a bien site.serveCommand défini (par exemple, "serveCommand": "npm run dev"). Lorsque ce champ est présent, base44 dev lance le backend et le front-end ensemble.

Déployer tous les changements

Générer les types TypeScript

Cela crée base44/.types/types.d.ts avec des registres typés pour le module @base44/sdk. Exécutez-la après avoir modifié entités, fonctions, agents ou connecteurs pour garder vos types synchronisés. Aucune authentification requise.

Déployer des ressources individuelles

Ouvrir le tableau de bord

Authentification

La plupart des commandes nécessitent une authentification. Si vous n’êtes pas connecté, le CLI vous invitera automatiquement à vous connecter. Votre session est stockée localement et persiste entre les sessions CLI.

Dépannage

Cette page a été traduite à l’aide de l’IA. Pour les informations les plus précises et à jour, consultez la version anglaise.