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, was er mit dem JSON eines fehlgeschlagenen Builds macht.
--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 Stream endet mit done oder error / failed. lizard up gibt zusätzlich ein abschließendes Ereignis deployed / failed / deploying mit status und url aus (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, 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 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 |
if lizard redeploy --service api --json; then
echo "Deploy succeeded"
else
status=$?
echo "Deploy failed with code $status" >&2
lizard logs --build --json || true
exit "$status"
fi