Référence CLI
La liste complète des commandes et options scribe : status, validate, translate, delete, history, studio, export-static.
View as MarkdownL'exécutable scribe est inclus dans le paquet et s'ajoute à votre variable PATH après l'installation. Toutes les commandes acceptent l'option --config <path> (par défaut : scribe.config.ts situé dans le dossier de travail). Elles lisent les fichiers .env puis .env.local avant de s'exécuter (les variables d'environnement existantes ont la priorité).
scribe status
scribe validate
scribe translate [flags]
scribe delete <type> <en-slug> [--dry-run] [--yes]
scribe history <type> <en-slug> [locale]
scribe studio [--port 3600]
scribe export-static [flags]
scribe version
scribe status
Affiche un bilan rapide de l'état des traductions. Pour chaque type de contenu, vous obtenez le nombre de documents en anglais, le nombre de traductions par langue, ainsi que le chemin d'accès au stockage.
scribe validate
Vérifie l'intégrité de tout le projet : schémas, champs intégrés, hooks crossValidate, compilation MDX des textes anglais et des traductions enregistrées, relations, règles du fichier _redirects.json, suffixes des slugs localisés, et images manquantes (si assetsDir est configuré). La commande affiche une ligne par problème détecté et renvoie un code d'erreur non nul en cas d'échec. Elle peut donc bloquer votre processus de build si nécessaire. Consultez la section modèle de contenu pour découvrir la liste complète des vérifications.
scribe translate
Traduit les pages manquantes ou obsolètes à l'aide de Gemini (nécessite GEMINI_API_KEY). Si vous lancez la commande sans aucune option dans le terminal, elle vous demande de manière interactive le type de contenu, les paramètres régionaux, la stratégie voulue et le mode de traduction. Dans vos scripts, utilisez ces options :
| Option | Par défaut | Description |
|---|---|---|
--type <id,id> | tous les types | Un ou plusieurs types de contenus (séparés par des virgules). |
--locale <code>... | toutes les langues cibles | Les langues à traduire (séparées par des espaces). Écrase l'option --preset. |
--preset <name> | - | Un groupe issu de localePresets défini dans la configuration. |
--slug <en-slug> | - | Un document spécifique en anglais. |
--strategy <all|missing-only> | all | all traite tout ce qui manque ou n'est plus à jour. missing-only ignore les traductions devenues obsolètes. |
--batch / --direct | batch | Mode de traduction. Le mode batch envoie tout via l'API Batch de Gemini pour réduire le coût des jetons de 50 %. Le mode direct effectue des requêtes page par page pour des résultats immédiats. |
--resume | - | Vérifie les tâches batch en attente, intègre celles qui sont terminées et n'envoie rien de nouveau. |
--concurrency <n> | 3 | Nombre de requêtes de traduction en parallèle (uniquement en mode direct). |
--model <id> | gemini-3.1-pro | Remplacer le modèle Gemini utilisé. |
--dry-run | - | Affiche la liste des tâches à accomplir sans contacter l'API ni modifier les fichiers. Fournit également une estimation du nombre de jetons et du coût en dollars, par élément et au global. |
--force | - | Force la retraduction, même si le hachage du texte anglais est identique. |
--no-progress | - | Affiche un simple journal ligne par ligne au lieu de l'interface de progression en direct. |
Les exécutions interactives affichent une barre de progression en temps réel avec le statut des tâches en lot, les résultats élément par élément, le décompte des jetons (entrants et sortants) et le coût estimé en dollars (jetons de réflexion inclus). Les tâches en mode batch sont sauvegardées avant que la vérification ne commence. Une interruption avec Ctrl+C est donc sans danger : la prochaine exécution (ou l'utilisation de --resume) reprendra le travail là où il s'est arrêté sans envoyer de doublons. La commande renvoie une erreur si au moins un élément échoue. Plus de détails dans la section traduction.
scribe delete
scribe delete <type> <en-slug> [--dry-run] [--yes]
Supprime une entrée ainsi que tous ses éléments dépendants en suivant les règles de cascade. Le système prépare d'abord un plan d'action et l'affiche par catégories : suppressions en cascade, relations détachées, fichiers multimédias impactés, totaux de la base de données par langue (traductions et instantanés), ainsi que tout point de blocage éventuel. Il demande ensuite confirmation par y/N avant d'agir. L'exécution applique très précisément ce plan (fichier source, lignes de la base, ressources et réécriture des détachements) sans rien modifier d'autre.
| Option | Description |
|---|---|
--dry-run | Affiche le plan d'action puis s'arrête (sans rien supprimer). |
--yes | Ignore la demande de confirmation (pratique pour les scripts). |
Le mode onTargetDelete d'une relation (restrict, detach, cascade) ainsi que le mode onDelete d'un champ média (delete, keep) déterminent la façon dont le plan se déroule. Consultez le modèle de contenu pour connaître les options disponibles. Si un plan rencontre un obstacle (comme une référence de type restrict ou une relation unique obligatoire qui se retrouverait orpheline), il affiche le problème et s'arrête sur une erreur 1, sans rien supprimer. Le studio propose exactement la même logique d'analyse via son bouton de suppression.
scribe history <type> <en-slug> [locale]
Affiche l'historique des instantanés anglais d'un document. Vous y verrez la date de capture de chaque version, l'empreinte de son contenu (hachage) et les langues vers lesquelles elle a été traduite. Ajoutez une langue en argument pour filtrer les résultats.
scribe studio
Lance une interface web locale en lecture seule (par défaut sur http://127.0.0.1:3600, modifiable avec --port). L'outil affiche l'état de la traduction par type et par langue, la liste du travail en attente (manquant ou obsolète) ainsi que les détails de chaque document. Vous y retrouverez le frontmatter avec ses balises de traduction ou de structure, le texte traduit enregistré, ses métadonnées (modèle, date, hachage) et la version anglaise d'origine. Cette interface n'écrit jamais de données. Les modifications continuent de se faire dans votre éditeur de code et via git.
scribe export-static
Génère des fichiers MDX bruts (frontmatter et corps du texte, pour chaque langue) dans un répertoire statique. C'est la solution idéale pour fournir des versions textuelles de vos pages adaptées aux robots d'indexation et aux LLM.
| Option | Par défaut | Description |
|---|---|---|
--out <dir> | public | Dossier de destination. |
--extension <ext> | mdx | L'extension des fichiers exportés. |
--type <id,id> | tous les types routables | Types de contenus séparés par des virgules. |
--locale <code>... | toutes les langues | Langues cibles de l'exportation. |
Les dossiers de destination gérés par cet outil sont vidés avant l'écriture. Les documents qui servent de source de redirection dans _redirects.json sont ignorés.
scribe version
Affiche la version actuelle de scribe-cms (équivalent à --version ou -V).