Référence CLI
Le CLI menestrel se lance sans installation via npx menestrel <commande>. Toutes les commandes acceptent --lang fr|en et --json.
menestrel init
Section intitulée « menestrel init »Branche un site Astro existant : écrit cms.config.ts, un .env non versionné, et affiche les extraits à coller dans la config Astro et le layout. Les écritures sont idempotentes, un second passage ne casse rien.
| Option | Description |
|---|---|
--token <cmt_...> |
Token admin du projet, posé dans le .env. |
--yes |
N’interroge pas, accepte les écritures par défaut. |
menestrel sync
Section intitulée « menestrel sync »Pousse le schéma décrit dans cms.config.ts vers le serveur.
| Option | Description |
|---|---|
--config <fichier> |
Chemin de la config (défaut cms.config.ts). |
--rename <a=b> |
Déclare un renommage de collection ou de champ. Répétable. |
--dry-run |
Affiche le diff sans rien pousser. |
--allow-deletions |
Autorise les suppressions destructives (sinon refus, code 3). |
--yes |
N’interroge pas avant de pousser. |
menestrel import
Section intitulée « menestrel import »Migre un site existant : scanne src/content/ et src/data/, mappe vers le schéma, envoie les médias dédupliqués, crée et publie les entrées. Reprenable après interruption.
| Option | Description |
|---|---|
--config <fichier> |
Chemin de la config. |
--input <dossier> |
Racine à scanner (défaut : le dossier courant). |
--dry-run |
Scanne et mappe sans rien écrire. |
--yes |
Lance l’import sans confirmation. |
menestrel export
Section intitulée « menestrel export »Ressort les contenus : content/ en Markdown, data/ en JSON à l’identique, media/ avec les originaux, plus un README bilingue.
| Option | Description |
|---|---|
--out <dossier> |
Dossier de sortie (défaut ./menestrel-export). Alias : --output. |
--no-media |
N’exporte pas les binaires, la référence est conservée. |
menestrel pull
Section intitulée « menestrel pull »Télécharge le snapshot publié dans .menestrel/snapshot/ pour un build hors-ligne.
| Option | Description |
|---|---|
--output <dossier> |
Dossier cible (défaut .menestrel/snapshot). |
--snapshot-id <snap_...> |
Épingle un snapshot précis au lieu du dernier publié. |
--demo |
Écrit une fixture de démonstration, sans réseau ni token. |
Codes de sortie
Section intitulée « Codes de sortie »| Code | Sens |
|---|---|
0 |
Succès. |
1 |
Erreur interne ou réseau. |
2 |
Config invalide. |
3 |
Suppression refusée sans --allow-deletions. |
4 |
Conflit de version ou migration en cours. |
5 |
Authentification : token manquant, invalide, ou projet ne correspondant pas. |