Referenz / CLI
Maschinell übersetzte Seite
CLI-Referenz
Alle Unterbefehle von verbatra und die globalen Flags, die sie teilen, dazu wie die CLI deine Umgebung liest und .env-Dateien lädt.
@verbatra/cli liefert das verbatra-Binary, einen dünnen Wrapper über @verbatra/sdk.
Befehle
Diese Befehle erledigen die Arbeit:
init
.env.example für dieses Projekt anlegen.extract
translate
watch
check
diff
report
report provenance listet, welche Übersetzungen eine Maschine geschrieben und welche eine Person geprüft hat.doctor
pseudo
types
export
import
tmx
studio
mcp
Installieren und aufrufen
Installiere @verbatra/cli als Dev-Dependency:
npm install --save-dev @verbatra/cliStarte das Binary anschließend über deinen Paketmanager:
npx @verbatra/cli <command>Du brauchst Node.js ^22.22.0 || >=24 (CLI 0.12.x akzeptiert ^22.18.0 || >=24).
Willst du einen Befehl vor der Installation ausprobieren? npx @verbatra/cli <command> (npm) oder pnpm dlx @verbatra/cli <command> (pnpm) funktionieren beide ohne vorherige lokale Installation. Nutze immer den Namen mit Scope: der Name verbatra ohne Scope gehört auf npm nicht zu diesem Projekt.
Globale Flags
Diese Flags bedeuten bei jedem Befehl, der sie nimmt, dasselbe. Die Befehlsseiten führen deshalb nur ihre eigenen Flags auf. Die letzte Spalte nennt die Befehle, die ein Flag nicht nehmen.
| Flag | Argument | Standard | Wirkung | Nicht bei |
|---|---|---|---|---|
--cwd | <path> | aktuelles Verzeichnis | startet hier die Konfigurationssuche und löst die Pfade, die du übergibst, dagegen auf; Locale-Dateien werden gegen das Verzeichnis der gefundenen Konfiguration aufgelöst; init schreibt seine Dateien dorthin | keinem |
--config | <path> | danach suchen | lädt diese Konfigurationsdatei, statt nach einer zu suchen; siehe die Suchreihenfolge | init |
--json | keins | aus | gibt einen maschinenlesbaren Envelope auf stdout aus, eine Zeile pro Datensatz; Fehler gehen weiter nach stderr | mcp, studio |
-q, --quiet | keins | aus | gibt nur Ergebnisse, Warnungen und Fehler aus: keinen Fortschritt, keine Hinweise, keine Infozeilen; wirkt vor oder nach dem Befehlsnamen | keinem |
--no-color | keins | Farbe im Terminal | färbt die Ausgabe nie ein; siehe Terminalausgabe | keinem |
-h, --help | keins | aus | gibt die Hilfe des Programms oder des Befehls aus und endet mit 0 | keinem |
-V, --version | keins | aus | gibt die Version der CLI aus und endet mit 0 | keinem |
Ein unbekannter Befehl oder ein unbekanntes Flag endet mit 2, ebenso ein nacktes verbatra ohne Befehl: Es gibt die Hilfe auf stderr aus und schlägt verbatra init vor, wenn keine Konfiguration gefunden wird. mcp schreibt nie auf stdout, weil stdout sein Protokollkanal ist, und lehnt --json deshalb mit USAGE_ ab. Ab 0.12.0 endet ein --cwd, das kein vorhandenes Verzeichnis nennt, bei jedem Befehl mit 2 und INVALID_, bevor etwas gelesen oder geschrieben wird.
Umgebungsdateien
translate, watch, doctor, studio und mcp laden .env.local und dann .env aus dem Arbeitsverzeichnis, bevor sie laufen. Liegt die Konfiguration, die die Suche gefunden hat, in einem übergeordneten Verzeichnis, laden sie danach dieselben zwei Dateien auch von dort; mit --config lesen sie nur das Arbeitsverzeichnis. Wechselt ein MCP-Client seine Roots, lädt der MCP-Server beide Dateien auch aus der neuen Projektwurzel. doctor --literals ist die Ausnahme: Dieser Aufruf liest keinen API-Key und lädt deshalb keine der beiden Dateien. Eine bereits in deiner echten Umgebung gesetzte Variable gewinnt immer, danach die Dateien des Arbeitsverzeichnisses, dann die des Konfigurationsverzeichnisses, und ein Wert in .env.local gewinnt gegen dieselbe Variable in .env. API-Keys werden nur aus der Umgebung gelesen, nie aus der Konfigurationsdatei oder einem Flag: siehe Provider. Die nur lesenden Befehle (check, diff, report), die Übergabe-Befehle (export, import), extract, init, pseudo, types und tmx rufen nie einen Provider auf und laden keine .env-Dateien.
.gitignore-Einträge
Ein echter Lauf von translate, watch, import, tmx import oder pseudo ergänzt außerdem eine vorhandene .gitignore in der Projektwurzel um die fehlenden Einträge aus .env, .env.local, .verbatra-local/ und verbatra.cache.json und nennt sie auf stderr (--json und --quiet lassen diese Zeile weg). Das geschieht, sobald die Konfiguration geladen ist, ein Lauf, der danach scheitert, hat es also schon getan. Ein Dry Run lässt die Datei in Ruhe, und keiner dieser Befehle legt eine an; das macht verbatra init. Eine .gitignore, die ein symbolischer Link aus dem Projekt hinaus ist, bleibt unverändert, mit einer Warnung, die --json und --quiet beibehalten.
Terminalausgabe
Farbe, Spinner, --quiet und die Variablen, die sie steuern, findest du unter Terminalausgabe.
Exit-Codes
Der Exit-Code-Vertrag und seine Randfälle stehen auf Exit-Codes und JSON-Ausgabe. Jede Befehlsseite nennt nur die Codes, die dieser Befehl zurückgibt.
Auf GitHub bearbeiten