CLI-Referenz
Alle scribe-Befehle und -Flags: status, validate, translate, delete, history, studio, export-static.
View as MarkdownDie scribe-Binärdatei ist im Paket enthalten und steht nach der Installation direkt im PATH zur Verfügung. Alle Befehle akzeptieren --config <path> (Standard ist scribe.config.ts im aktuellen Arbeitsverzeichnis). Vor der Ausführung werden zunächst .env und danach .env.local eingelesen (bestehende Umgebungsvariablen haben Vorrang).
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
Pro Inhaltstyp: Anzahl der englischen Dokumente, gefolgt von der Anzahl der Übersetzungen pro Gebietsschema (Locale) sowie dem Speicherpfad. Ein schneller Überblick über die Abdeckung.
scribe validate
Validiert das gesamte Projekt: Schemas, integrierte Felder, crossValidate-Hooks, die MDX-Kompilierung der englischen Texte und der gespeicherten Übersetzungen, Relationen, Regeln in _redirects.json, lokalisierte Slug-Suffixe und fehlende Bild-Assets (sofern assetsDir konfiguriert ist). Gibt pro Problem eine Zeile aus und bricht bei Fehlern mit einem Exit-Code ungleich null ab. So lässt sich der Befehl ideal als Gatekeeper für Ihren Build-Prozess nutzen. Die vollständige Liste der Prüfungen finden Sie unter Content-Modell.
scribe translate
Übersetzt fehlende und veraltete Seiten mit Gemini (erfordert GEMINI_API_KEY). Wenn Sie den Befehl ohne Flags im Terminal ausführen, fragt er interaktiv nach Inhaltstyp, Locale-Preset, Strategie und Übersetzungsmodus. Für Skripte können Sie folgende Flags übergeben:
| Flag | Standard | Beschreibung |
|---|---|---|
--type <id,id> | alle Typen | Einer oder mehrere Inhaltstypen (durch Kommas getrennt). |
--locale <code>... | alle nicht-standard Locales | Ziel-Locales (durch Leerzeichen getrennt). Überschreibt --preset. |
--preset <name> | - | Eine localePresets-Gruppe aus der Konfiguration. |
--slug <en-slug> | - | Ein einzelnes englisches Dokument. |
--strategy <all|missing-only> | all | all = veraltet und fehlend; missing-only überspringt die Neuübersetzung veralteter Inhalte. |
--batch / --direct | batch | Übersetzungsmodus. Batch schickt alles über die Gemini Batch API (halbiert die Token-Kosten); Direct macht pro Seite einen API-Aufruf für sofortige Ergebnisse. |
--resume | - | Prüft anstehende Batch-Jobs, liest fertige ein und reicht keine neuen ein. |
--concurrency <n> | 3 | Parallele Übersetzungsanfragen (nur im Direct-Modus). |
--model <id> | gemini-3.1-pro | Überschreibt das Gemini-Modell. |
--dry-run | - | Gibt die Arbeitsliste aus, ohne die API aufzurufen oder Daten zu schreiben. Zeigt geschätzte Token-Zahlen und USD-Kosten pro Element sowie als Gesamtsumme. |
--force | - | Erzwingt die Übersetzung, selbst wenn der englische Hash übereinstimmt. |
--no-progress | - | Einfache zeilenweise Logs statt der interaktiven Fortschrittsanzeige. |
Interaktive Durchläufe zeigen einen Live-Fortschrittsbalken mit dem Status der Batch-Jobs, Ergebnissen pro Element, fortlaufenden Input/Output-Token-Zahlen und den geschätzten Kosten in USD (inklusive Thinking-Tokens). Batch-Jobs werden im Store gespeichert, bevor das Polling beginnt. Ein Abbruch mit Strg+C ist daher absolut sicher. Beim nächsten Durchlauf (oder mit --resume) werden sie einfach wieder aufgenommen, ohne dass etwas doppelt eingereicht wird. Der Befehl gibt einen Exit-Code ungleich null zurück, falls ein Element fehlschlägt. Weitere Details finden Sie unter Übersetzung.
scribe delete
scribe delete <type> <en-slug> [--dry-run] [--yes]
Löscht einen Eintrag samt allem, was daran hängt, gesteuert durch die Referenz-Kaskade. Der Befehl berechnet vorab einen Plan und gibt diesen nach Bereichen gruppiert aus: kaskadierte Löschungen, getrennte Relationen, betroffene Asset-Dateien, Store-Einträge pro Locale (Übersetzungen und Snapshots) sowie eventuelle Blockaden. Vor der Ausführung wird mit y/N um Bestätigung gebeten. Die eigentliche Ausführung führt dann exakt diesen Plan durch (Quelldatei, Store-Zeilen, Asset-Dateien und Rewrite-Operationen für getrennte Relationen) und absolut nichts anderes.
| Flag | Beschreibung |
|---|---|
--dry-run | Gibt den Plan aus und beendet sich mit Code 0, ohne etwas zu löschen. |
--yes | Überspringt die Bestätigungsabfrage (nützlich für Skripte). |
Der onTargetDelete-Modus einer Relation (restrict, detach, cascade) und der onDelete-Modus eines Asset-Feldes (delete, keep) entscheiden darüber, wie der Plan aussieht. Die Feldoptionen sind unter Content-Modell dokumentiert. Wenn ein Plan auf Blockaden stößt (zum Beispiel eine restrict-Referenz oder eine erforderliche Einzelrelation, die ins Leere laufen würde), werden diese ausgegeben. Der Befehl bricht dann mit Exit-Code 1 ab, ohne etwas zu löschen. Das Studio bietet denselben Plan über einen Lösch-Button an.
scribe history <type> <en-slug> [locale]
Die englische Snapshot-Timeline für ein bestimmtes Dokument. Sie zeigt an, wann jeder Snapshot erfasst wurde, wie sein Content-Hash lautet und welche Locale-Übersetzungen daraus erstellt wurden. Übergeben Sie ein Locale, um die Ergebnisse zu filtern.
scribe studio
Eine lokale, schreibgeschützte Web-Benutzeroberfläche (Standard ist http://127.0.0.1:3600, änderbar mit --port). Sie zeigt die Übersetzungsabdeckung pro Typ und Locale sowie die aktuelle Arbeitsliste für fehlende oder veraltete Inhalte. Zudem gibt es Details pro Dokument: Frontmatter mit übersetzbaren oder strukturellen Markierungen, die gespeicherte Übersetzung inklusive Metadaten (Modell, Datum, Hash) und den englischen Snapshot, auf dem sie basiert. Die UI schreibt niemals Daten. Die Bearbeitung bleibt komplett Ihrem Editor und Git überlassen.
scribe export-static
Schreibt rohe MDX-Dateien (Frontmatter und Body, pro Locale) in ein statisches Verzeichnis. Dies ist ideal, um Crawler- oder LLM-freundliche Klartextversionen Ihrer Seiten bereitzustellen:
| Flag | Standard | Beschreibung |
|---|---|---|
--out <dir> | public | Ausgabeverzeichnis. |
--extension <ext> | mdx | Dateiendung für die exportierten Dateien. |
--type <id,id> | alle routingfähigen Typen | Inhaltstypen (durch Kommas getrennt). |
--locale <code>... | alle Locales | Locales, die exportiert werden sollen. |
Verwaltete Ausgabe-Stammverzeichnisse werden vor dem Schreiben geleert. Dokumente, die in der Datei _redirects.json als Redirect-Quellen dienen, werden übersprungen.
scribe version
Gibt die installierte Version von scribe-cms aus (alternativ --version oder -V).