JSON & Automatisierung
Die CLI ist dafür gemacht, per Skript gesteuert zu werden. Übergebe --json für maschinenlesbare Ausgabe, nutze sie in CI mit einem Token und ermittle das Schema jedes Befehls zur Laufzeit.
Der andere Empfänger dieser Ausgabe ist ein KI-Coding-Agent — Deployment aus Claude Code zeigt die JSON-Log-Befehle, die er ausführt, um ein Deployment zu prüfen.
--json überall
Füge --json zu jedem Befehl hinzu, um strukturierte Ausgabe zu erhalten. Die CLI schaltet auch automatisch auf JSON um, wenn stdout kein TTY ist.
lizard ps --json
lizard secrets list --json
lizard metrics --jsonStreaming-Befehle
Bei Streaming-Befehlen (lizard up ohne --detach) gibt --json pro Zeile genau ein JSON-Objekt aus:
{ "event": "log", "line": "Step 1/8 : FROM node:20" }
{ "event": "log", "line": "..." }
{ "event": "deployed", "status": "running", "url": "https://app.onlizard.com" }Der Build-Stream endet mit done oder error. Ohne --ci gibt lizard up anschließend ein abschließendes Ereignis deployed, failed oder deploying mit status aus. Nur deployed enthält url (dies kann null sein).
logs --json ist eine Momentaufnahme, kein Stream
lizard logs --json gibt die letzten 200 Zeilen zurück (überschreibbar mit --tail N, maximal 1000) und beendet sich dann. Warte nicht darauf, wenn du weitere Ausgabe erwartest. Für einen bestimmten Vorfall verwende --restart latest oder --restart <id>.
Schema-Erkennung
Gib die exakten Argumente, Optionen und Exit-Codes eines beliebigen Befehls aus:
lizard --help --json # whole tree + global flags + exit codes
lizard service set --help --json # one commandDie Form der Antwort ist { cli, version, agents, command: { arguments, options, subcommands }, globalOptions, exitCodes }. Da sie aus deiner installierten Binärdatei erzeugt wird, passt sie immer zu deiner Version — ziehe sie fest codierten Flags vor.
CI / Headless-Nutzung
Authentifiziere dich mit einem Token und verknüpfe das Projekt explizit (headless up erstellt kein Projekt automatisch):
# Set LIZARD_TOKEN through your CI secret store.
lizard init --name my-project
lizard add --service api # first run only; skip when the service exists
lizard up --ci --service api --detachPrüfe Exit-Codes, um deine Pipeline zu verzweigen:
| Code | Bedeutung |
|---|---|
0 | erfolgreich |
1 | allgemeiner Fehler |
2 | Authentifizierung — Token fehlt/abgelaufen |
3 | nicht gefunden |
4 | Zeitüberschreitung |
5 | abgebrochen |
--wait sorgt dafür, dass redeploy auf den Build wartet und darauf, dass das neue Deployment bereit ist. Ohne diese Option beendet sich der JSON-Modus mit 0, sobald Lizard die Build-Anfrage akzeptiert hat.
if lizard redeploy --service api --wait --json; then
echo "Deploy succeeded"
else
status=$?
echo "Deploy failed with code $status" >&2
lizard logs --build --json || true
exit "$status"
fiAktualisiert