CLI

Développement, comptes, packages signés et maintenance d’une instance ou d’un runtime.

Sur cette page

Exécuter une commande

Depuis le dépôt compilé, pnpm cms charge .env puis apps/cms/dist/cli.js. Sans argument, le binaire affiche l’aide ; --help et l’aide d’une commande n’ouvrent pas PostgreSQL. Dans une distribution runtime, invoquez son dist/cli.js avec la configuration explicite du site. Le lancement normal du runtime géré passe par son superviseur. Une commande réussie retourne le code 0, un échec le code 1.

Terminal
pnpm cms help

Les aides, le scaffolding, plugin:pack, theme:pack, pack:sign, pack:import et language:sign restent autonomes sans base. Les commandes applicatives vérifient et appliquent les migrations avant l’action ; un diagnostic de nouvelle version n’est donc pas une lecture sans effet. Sans connexion configurée, serve lance l’assistant PostgreSQL avant l’application.

Commandes par domaine

DomaineCommandes
Instanceserve, doctor, install, migrate, migrate:status, jobs:run, jobs:list [page], cache:clear
Développementdev [répertoire-source], build [répertoire-source]
Comptesuser:create fichier.json ou user:create -
Runtime géréupdate [archive.tar.gz manifeste.json] [--channel stable|beta|development]
Créerplugin:create <id> <nouveau-dossier>, block:create <id> <nouveau-dossier>, theme:create <id> <nouveau-dossier>
Extensionsplugin:pack, plugin:list, plugin:install, plugin:update, plugin:updates, plugin:activate, plugin:deactivate, plugin:remove
Commande d’extensionplugin:command <id> <name> [input.json]
Thèmestheme:pack, theme:list, theme:install, theme:update, theme:updates, theme:rollback <operation-id>, theme:activate, theme:remove
Sauvegardesbackup, backup:list, backup:verify, restore, restore:recovery
Packs de démarragepack:sign, pack:import
Langueslanguage:sign, language:list, language:import, language:history, language:rollback

install lit CMS_SITE_TITLE, CMS_ADMIN_NAME, CMS_ADMIN_EMAIL et CMS_ADMIN_PASSWORD ainsi que le token d’installation configuré. Injectez les secrets hors du dépôt. plugin:command exécute une commande déclarée par une extension active dans le contexte système de l’exploitant CLI ; elle ne représente pas une session utilisateur.

Développement et commandes opérateur

dev et build exigent un workspace source avec ses dépendances installées. dev refuse le mode production, surveille les sources, reconstruit puis redémarre le serveur. Un échec de compilation le garde arrêté jusqu’à correction ; rechargez le navigateur après un build. Ces commandes ne convertissent pas une archive compilée en workspace et n’installent pas de service système.

user:create reçoit name, email, password et roleIds dans un fichier privé 0600 de 64 Ko maximum, ou sur l’entrée standard avec -. CMS_OPERATOR_EMAIL désigne un compte actif autorisé à gérer les utilisateurs et à attribuer les rôles demandés ; le service vérifie ces droits et journalise l’opérateur. Ne placez pas le mot de passe dans les arguments. jobs:list retourne 25 tâches par page sans leur payload ; cache:clear reste limité au cache du site configuré.

Scaffolding et packaging

Terminal
pnpm cms plugin:create agency.example /chemin/neuf/example
pnpm cms block:create agency.notice /chemin/neuf/notice
pnpm cms theme:create agency.theme /chemin/neuf/theme
pnpm cms plugin:pack extensions/official/directory/dist .local/directory.cms-plugin
pnpm cms theme:pack themes/minimal-child/dist .local/minimal.cms-theme

Les projets générés sont TypeScript strict avec un SDK local explicite. Le dossier cible et le fichier de package doivent être nouveaux. Deux arguments facultatifs signent le package : identifiant de l’éditeur, puis chemin de clé privée. --allow-unverified autorise explicitement un package non vérifié à l’installation.

Sauvegardes et reprise

Terminal
pnpm cms backup
pnpm cms backup:verify /chemin/vers/la/sauvegarde
pnpm cms restore /chemin/vers/la/sauvegarde

restore exige une base vide et un nouveau stockage. restore:recovery <backup-id> --confirm-replace restaure une installation arrêtée avec remplacement explicite et protections de reprise. Les sessions et actions en attente sont révoquées. Préparez et testez la procédure dans un environnement isolé avant toute opération réelle.

Les mises à jour gérées du core passent par l’administration ou cms update, avec le runtime autonome. theme:rollback vise un identifiant d’opération de thème, pas une restauration complète. Aucun rollback automatique générique des migrations de plugin n’est fourni.

Mettre à jour un runtime actif

cms update utilise le serveur en cours d’exécution. Fournissez CMS_ORIGIN et CMS_SESSION_TOKEN via l’environnement privé : le token vient du cookie d’une connexion réelle, après MFA si nécessaire. Le compte doit posséder updates.manage. La CLI lit la session et le CSRF, refuse les redirections et exige HTTPS hors boucle locale. Un checkout source ou une image Docker conserve son pipeline de livraison externe.

Sans archive, la commande consulte les versions et l’historique. Avec archive et manifest, elle importe, vérifie, sauvegarde puis attend le superviseur. stable est le canal par défaut ; beta et development exigent leur option explicite et doivent correspondre au canal signé. Une expiration de session ou un délai dépassé n’annule pas l’opération : consultez son historique avant toute reprise.

Construire et qualifier une distribution

Terminal
pnpm build
pnpm package:runtime /chemin/hors-depot/stable /chemin/prive/cle.pem --channel stable

Les archives signées sont propres au système et à l’architecture, et n’incluent ni Node.js ni PostgreSQL. Les canaux de publication exigent un état Git propre ; --development-snapshot marque une capture de test. Conservez les données et secrets hors des versions immuables. Node.js 22.12 ou supérieur, tar et les clients PostgreSQL compatibles restent requis.

Le packaging macOS arm64 et les parcours Linux arm64/x64 ont des recettes reproductibles. Les fixtures Linux couvrent CLI, archive autonome, image native, mise à jour signée, sauvegarde et retour au code et aux données précédents après un démarrage raté. Ces preuves ne qualifient pas l’origine HTTPS, les cookies ou le déploiement Coolify d’un site réel, et ne constituent pas une publication de release.

Rechercher dans les guides

Saisissez un mot-clé.

↑↓ ParcourirEntrée OuvrirEsc Fermer