CLI-Referenzverbatra doctor

verbatra doctor

Prüfe die Projekteinrichtung, ohne einen Provider aufzurufen oder einen API-Key zu lesen.

Maschinell übersetzte Seite

Diese Seite wurde automatisch übersetzt und kann daher Fehler oder seltsame Formulierungen enthalten. Die englische Version ist die maßgebliche Quelle. Das englische Original lesen.

Verfügbar ab 0.9.0

Dafür wird verbatra 0.9.0 oder neuer benötigt. Frühere Versionen haben es nicht, überprüfe daher deine installierte Version mit verbatra --version und aktualisiere, falls sie älter ist.

Beantworte eine Frage, bevor du irgendetwas anderes ausführst: Ist dieses Projekt korrekt eingerichtet? doctor prüft die Konfiguration, den Format-Adapter, den Provider, die API-Key-Variable und die Quell-Locale-Datei und meldet dann alle gefundenen Probleme auf einmal. Es kostet nichts: kein Provider wird konstruiert, keine Netzwerkanfrage gestellt, keine Datei geschrieben, und kein API-Key-Wert wird je gelesen.

Greif danach bei einem frischen Checkout, direkt nach verbatra init, oder immer dann, wenn ein anderer Befehl fehlgeschlagen ist und du die vollständige Liste statt des ersten Fehlers willst. verbatra check ist die günstigste Prüfung, sobald ein Projekt schon funktioniert, aber es liest die Locale-Dateien und bricht beim ersten Fehler des gesamten Laufs ab, kann dir also nicht sagen, was an einem Projekt ohne Quelldatei falsch ist.

Synopsis

verbatra doctor [flags]

Flags

FlagArgumentStandardWirkung
--cwd<path>aktuelles VerzeichnisKonfiguration und Locale-Dateien von diesem Verzeichnis aus auflösen
--config<path>wird gesuchtdiese Konfigurationsdatei laden, statt eine zu suchen
--jsonkeinsauseinen JSON-Envelope auf stdout ausgeben, der den Bericht unter result trägt; die menschenlesbare Fehlerzeile geht weiter auf stderr

Was geprüft wird

PrüfungBesteht, wenn
Configurationeine Konfigurationsdatei gefunden wurde und die Validierung besteht
Format adapterdas konfigurierte format zu einem Datei-Adapter auflöst
Providerdie konfigurierte provider.id zu einer Provider-Factory auflöst
API key environment variabledie Variable gesetzt ist, aus der dieser Provider seinen Key liest
Source locale filedie Quell-Locale-Datei unter ihrem aufgelösten Pfad existiert

Jede Prüfung läuft auch dann, wenn eine frühere fehlgeschlagen ist; ein Lauf meldet also jedes unabhängige Problem. Die einzige Ausnahme ist die Konfiguration selbst: Kann sie nicht geladen werden, melden die vier Prüfungen, die sie brauchen, skip statt eines Urteils, das sie nicht erreichen konnten.

Drei Details sind wichtig:

  • Der API-Key wird nur über den Namen geprüft. doctor fragt, ob die Variable gesetzt ist, nie was sie enthält. Der Wert wird nicht gelesen, nicht ausgegeben und nirgendwohin gesendet. Welche Variable welcher Provider nutzt, steht unter Provider.
  • Der Provider openai-compatible ist die Ausnahme. Er fällt auf einen Platzhalter-Key zurück, eine fehlende Variable ist also in Ordnung. Er schlägt nur fehl, wenn deine Konfiguration über provider.options.apiKeyEnvVar eine eigene Variable benennt und diese nicht gesetzt ist.
  • Eine fehlende Ziel-Locale-Datei ist kein Problem: verbatra translate legt sie an. Eine fehlende Quell-Locale-Datei schon, denn jeder andere Befehl scheitert daran.

Wie verbatra translate lädt doctor .env.local und dann .env aus dem Arbeitsverzeichnis, bevor es die Umgebung ansieht; ein Key in einer dotenv-Datei zählt also als gesetzt.

Beispiele

# report every setup problem at once
verbatra doctor

# validate a project in another directory, with an explicit config
verbatra doctor --cwd apps/web --config verbatra.config.ts

# machine-readable report for a CI preflight step
verbatra doctor --json

Ein Lauf mit zwei Problemen sieht so aus:

verbatra doctor
  [ok  ] Configuration: Loaded /app/verbatra.config.ts.
  [ok  ] Format adapter: Format "i18next-json" resolves to an adapter.
  [ok  ] Provider: Provider "anthropic" resolves to a factory.
  [fail] API key environment variable: The ANTHROPIC_API_KEY environment variable is not set.
  [fail] Source locale file: The source locale file was not found at /app/locales/en.json.
2 problems found (run verbatra doctor again after fixing them)

Exit-Codes

CodeBedeutung
0jede Prüfung ist bestanden
1mindestens eine Prüfung ist fehlgeschlagen (der vollständige Bericht wird trotzdem ausgegeben)
2konnte nicht laufen: ein Verwendungsfehler oder ein explizit angegebener --config-Pfad, der nicht existiert

Exit 1 heißt "es lief, und es wurden Probleme gefunden". Exit 2 ist dafür reserviert, dass doctor überhaupt nicht laufen kann. Deshalb ist eine per Suche nicht gefundene Konfigurationsdatei eine fehlgeschlagene Prüfung und Exit 1, während ein --config-Pfad ins Leere Exit 2 ergibt.

Siehe auch

Edit on GitHub