verbatra doctor
Prüfe die Projekteinrichtung, ohne einen Provider aufzurufen oder einen API-Key zu lesen.
Maschinell übersetzte Seite
Verfügbar ab 0.9.0
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
| Flag | Argument | Standard | Wirkung |
|---|---|---|---|
--cwd | <path> | aktuelles Verzeichnis | Konfiguration und Locale-Dateien von diesem Verzeichnis aus auflösen |
--config | <path> | wird gesucht | diese Konfigurationsdatei laden, statt eine zu suchen |
--json | keins | aus | einen JSON-Envelope auf stdout ausgeben, der den Bericht unter result trägt; die menschenlesbare Fehlerzeile geht weiter auf stderr |
Was geprüft wird
| Prüfung | Besteht, wenn |
|---|---|
| Configuration | eine Konfigurationsdatei gefunden wurde und die Validierung besteht |
| Format adapter | das konfigurierte format zu einem Datei-Adapter auflöst |
| Provider | die konfigurierte provider.id zu einer Provider-Factory auflöst |
| API key environment variable | die Variable gesetzt ist, aus der dieser Provider seinen Key liest |
| Source locale file | die 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.
doctorfragt, 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-compatibleist 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 überprovider.options.apiKeyEnvVareine eigene Variable benennt und diese nicht gesetzt ist. - Eine fehlende Ziel-Locale-Datei ist kein Problem:
verbatra translatelegt 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 --jsonEin 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
| Code | Bedeutung |
|---|---|
0 | jede Prüfung ist bestanden |
1 | mindestens eine Prüfung ist fehlgeschlagen (der vollständige Bericht wird trotzdem ausgegeben) |
2 | konnte 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
verbatra initerzeugt die Konfiguration und die.env.example, diedoctorprüft.verbatra checkist das Drift-Gate, sobald die Einrichtung steht.- Die Konfigurationsdatei dokumentiert jeden Key, den
doctorvalidiert. - Provider listet die API-Key-Variable, die jeder Provider liest.