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 dossierbase44/ existe. Ne lisez PAS les fichiers de documentation et ne recherchez PAS sur le web avant d’agir.
Votre première action DOIT être :
- Vérifier si
base44/config.jsoncexiste dans le répertoire courant - 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)
- 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(ouBASE44_PROJECTS_BASE44_APP_ID) est présent dans l’environnement ou un fichier.env/.env.local:- Exécutez
npx base44 scaffoldpour 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.
- Exécutez
- 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
- Cette compétence (base44-cli) traite la requête ; guidez l’utilisateur avec
- Application provisionnée — l’application Base44 existe déjà car elle vient d’être provisionnée via un flux Stripe Projects / projects.dev, OU
Critique : installation locale uniquement
N’appelez JAMAISbase44 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)
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 :-
Vérifier le statut d’authentification en exécutant :
-
Si l’utilisateur est connecté (la commande réussit et affiche un e-mail) :
- Continuez avec la tâche demandée
-
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 :
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 ...)
- Construire des fonctionnalités dans un projet Base44 EXISTANT
base44/config.jsoncexiste 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 »
base44-cliest un prérequis debase44-sdkpour les nouveaux projets- Si l’utilisateur veut « créer une application » et qu’aucun projet Base44 n’existe, utilisez d’abord
base44-cli base44-sdksuppose qu’un projet Base44 est déjà initialisé
- SI (l’utilisateur mentionne « créer/construire une application » OU « faire un projet ») :
- SI (
base44/config.jsoncexiste) : → 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_IDdéfini, ou un flux Stripe Projects / projects.dev vient de s’exécuter) : → Utilisez base44-cli →npx base44 scaffold(configurez les fichiers locaux pour l’application existante ; ne faites PAScreate) - SINON :
→ Utilisez base44-cli →
npx base44 create(initialisation d’un nouveau projet nécessaire)
- SI (
Structure du projet
Un projet Base44 combine un projet front-end standard avec un dossier de configurationbase44/ :
base44/config.jsonc- Nom du projet, description, paramètres de build du sitebase44/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 backendbase44/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 parnpx base44 types generate)base44/connectors/*.jsonc- Configurations de connecteurs OAuth (facultatif)src/api/base44Client.js- Client SDK préconfiguré pour l’usage front-end
| Propriété | Description | Défaut |
|---|---|---|
name | Nom du projet (requis) | - |
description | Description du projet | - |
entitiesDir | Répertoire des schémas d’entités | "entities" |
functionsDir | Répertoire des fonctions backend | "functions" |
agentsDir | Répertoire des configs d’agents | "agents" |
connectorsDir | Répertoire des configs de connecteurs | "connectors" |
site.installCommand | Commande d’installation des dépendances | - |
site.buildCommand | Commande de build du projet | - |
site.serveCommand | Commande du serveur de dev | - |
site.outputDirectory | Répertoire de sortie du build pour le déploiement | - |
Installation
Installez le CLI Base44 comme dépendance de développement dans votre projet :base44. Installez toujours sans spécification de version pour obtenir la dernière.
Puis exécutez les commandes avec npx :
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_ID → base44/.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 :
--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 createcrée une nouvelle application, elle rejette donc--app-idbase44 devs’exécute depuis un projet local lié, elle rejette donc--app-idbase44 deploynécessite toujours un répertoire de projet local car elle lit les ressources locales
Commandes disponibles
Authentification
| Commande | Description | Référence |
|---|---|---|
base44 login | S’authentifier auprès de Base44 via le flux device code | auth-login.md |
base44 logout | Se déconnecter de l’appareil actuel | auth-logout.md |
base44 whoami | Afficher l’utilisateur authentifié actuel | auth-whoami.md |
Gestion de projet
| Commande | Description | Référence |
|---|---|---|
base44 create | Créer un nouveau projet Base44 à partir d’un modèle | create.md ⚠️ À LIRE OBLIGATOIREMENT |
base44 scaffold | Générer un projet local pour une application Base44 existante (par ID d’application) | scaffold.md |
base44 link | Lier un projet local existant à Base44 | link.md |
base44 eject | Télécharger le code d’un projet Base44 existant | eject.md |
base44 dashboard open | Ouvrir le tableau de bord de l’application dans votre navigateur | dashboard.md |
Développement
| Commande | Description | Référence |
|---|---|---|
base44 dev | Démarrer le développement local pour votre backend Base44, ainsi que votre front-end si site.serveCommand est configuré | dev.md |
Déploiement
| Commande | Description | Référence |
|---|---|---|
base44 deploy | Déployer toutes les ressources (entités, fonctions, agents, connecteurs, config d’authentification et site) | deploy.md |
Gestion des entités
| Action / Commande | Description | Référence |
|---|---|---|
| Créer des entités | Définir des entités dans le dossier base44/entities | entities-create.md |
base44 entities push | Pousser les entités locales vers Base44 | entities-push.md |
| Modèles RLS | Exemples et opérateurs de sécurité au niveau ligne | rls-examples.md ⚠️ À LIRE POUR RLS |
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 :
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
| Action / Commande | Description | Référence |
|---|---|---|
| Créer des fonctions | Définir des fonctions dans base44/functions | functions-create.md |
base44 functions deploy [names...] [--force] | Déployer les fonctions locales vers Base44 ; cibler éventuellement des fonctions spécifiques ou élaguer celles supprimées | functions-deploy.md |
base44 functions delete <names...> | Supprimer une ou plusieurs fonctions déployées de Base44 | functions-delete.md |
base44 functions list | Lister toutes les fonctions déployées sur le distant Base44 | functions-list.md |
base44 functions pull [name] | Récupérer les fonctions déployées de Base44 vers des fichiers locaux | functions-pull.md |
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.| Action / Commande | Description | Référence |
|---|---|---|
| Créer des agents | Définir des agents dans le dossier base44/agents | Voir Schéma d’agent ci-dessous |
base44 agents pull | Récupérer les agents distants vers des fichiers locaux | agents-pull.md |
base44 agents push | Pousser les agents locaux vers Base44 | agents-push.md |
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 :
- 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
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.| Action / Commande | Description | Référence |
|---|---|---|
| Créer des connecteurs | Définir des connecteurs dans le dossier base44/connectors | connectors-create.md |
base44 connectors list-available | Lister tous les types d’intégration disponibles chez Base44 | connectors-list-available.md |
base44 connectors pull | Récupérer les connecteurs distants vers des fichiers locaux | connectors-pull.md |
base44 connectors push | Pousser les connecteurs locaux vers Base44 | connectors-push.md |
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 :
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 dansbase44/auth/ et synchronisée avec Base44 via auth push/auth pull.
| Commande | Description | Référence |
|---|---|---|
base44 auth password-login <enable|disable> | Activer ou désactiver l’authentification par nom d’utilisateur et mot de passe | auth-password-login.md |
base44 auth social-login <provider> <enable|disable> | Activer ou désactiver la connexion sociale (google, microsoft, facebook, apple) | auth-social-login.md |
base44 auth sso <enable|disable> | Configurer le fournisseur d’identité SSO (google, microsoft, github, okta, custom) | auth-sso.md |
base44 auth pull | Récupérer la config d’authentification de Base44 vers des fichiers locaux | auth-pull.md |
base44 auth push | Pousser la config d’authentification locale vers Base44 | auth-push.md |
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.
| Commande | Description | Référence |
|---|---|---|
base44 secrets list | Lister les noms de tous les secrets | secrets-list.md |
base44 secrets set | Définir un ou plusieurs secrets (KEY=VALUE ou —env-file) | secrets-set.md |
base44 secrets delete <key> | Supprimer un secret par nom | secrets-delete.md |
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.
| Commande | Description | Référence |
|---|---|---|
base44 exec | Exécuter un script (via stdin) avec le SDK Base44 préauthentifié | exec.md |
Génération de types
| Commande | Description | Référence |
|---|---|---|
base44 types generate | Générer les types TypeScript (types.d.ts) à partir des entités, fonctions, agents et connecteurs | types-generate.md |
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
| Commande | Description | Référence |
|---|---|---|
base44 site deploy | Déployer les fichiers du site buildé vers l’hébergement Base44 | site-deploy.md |
base44 site open | Ouvrir le site déployé dans votre navigateur | site-open.md |
index.html. Toutes les routes sont servies depuis index.html (routage côté client).
Démarrage rapide
-
Installez le CLI dans votre projet :
-
Authentifiez-vous auprès de Base44 :
-
Créez un nouveau projet (fournissez TOUJOURS un nom et le flag
--path) : -
Lancez le développement local :
-
Buildez et déployez tout :
npx base44 entities push- Pousser uniquement les entitésnpx base44 functions deploy- Déployer uniquement les fonctionsnpx base44 functions delete <name>- Supprimer une fonction déployéenpx base44 functions list- Lister toutes les fonctions déployéesnpx base44 functions pull- Récupérer les fonctions déployées vers des fichiers locauxnpx base44 agents push- Pousser uniquement les agentsnpx base44 connectors pull- Récupérer les connecteurs de Base44npx base44 connectors push- Pousser uniquement les connecteursnpx base44 auth pull- Récupérer la config d’authentification de Base44npx base44 auth push- Pousser uniquement la config d’authentificationnpx base44 site deploy -y- Déployer uniquement le site
Workflows courants
Créer un nouveau projet
⚠️ OBLIGATOIRE : avant d’exécuterbase44 create, vous DEVEZ lire create.md pour :
- Sélection de modèle - Choisir le bon modèle (
backend-and-clientvsbackend-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
Lier un projet existant
Lancer le développement local
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
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
| Erreur | Solution |
|---|---|
| Non authentifié | Exécutez d’abord npx base44 login |
| Aucune entité trouvée | Assurez-vous que des entités existent dans le répertoire base44/entities/ |
| Entité non reconnue | Assurez-vous que le fichier utilise le nommage kebab-case (par exemple, team-member.jsonc et non TeamMember.jsonc) |
| Aucune fonction trouvée | Assurez-vous que des fonctions existent dans base44/functions/ avec entry.ts ou entry.js |
| Aucun agent trouvé | Assurez-vous que des agents existent dans base44/agents/ avec des configs .jsonc valides |
| Nom d’agent invalide | Les noms d’agents doivent être alphanumériques en minuscules avec underscores uniquement |
| Aucun connecteur trouvé | Assurez-vous que des connecteurs existent dans base44/connectors/ avec des configs .jsonc valides |
| Type de connecteur invalide | Exécutez npx base44 connectors list-available pour voir les types valides |
| Type de connecteur en double | Chaque type de connecteur ne peut être défini qu’une fois par projet |
| Timeout d’autorisation de connecteur | Réexécutez npx base44 connectors push et terminez le flux OAuth dans votre navigateur |
| Aucune configuration de site trouvée | Vérifiez que site.outputDirectory est configuré dans la config du projet |
| Le déploiement du site échoue | Assurez-vous d’avoir exécuté npm run build d’abord et que le build a réussi |
| Message de mise à jour disponible | Si vous êtes invité à mettre à jour, exécutez npm install -g base44@latest (ou utilisez npx pour les installations locales) |
Cette page a été traduite à l’aide de l’IA. Pour les informations les plus précises et à jour, consultez la version anglaise.

