Zum Inhalt springen

Die CLI beziehen

Wie Sie die CLI heute bekommen: kein npm-Paket, kein Download — die CLI wird aus dem Quellbaum der Plattform gebaut; ohne Zugang bleibt die API.

3 Minuten LesezeitCLIStand: 25.10.2026

Auf dieser Seite

Bevor Sie loslegen

Für wen
Entwicklerinnen und Entwickler, die Vorgänge lieber mit einem Befehl als mit einem curl-Aufruf anstoßen
Voraussetzung
Zugang zum Quellbaum der Plattform, Node ab Version 24 und pnpm; ohne Quellbaum genügt curl gegen dieselben Routen
Ort
Kommandozeile

Nach dieser Anleitung liegt die Kommandozeile szenera gebaut auf Ihrem Rechner, und szenera --help zeigt alle Befehle. Sie erfahren zuerst, was es heute an Bezugswegen gibt — und was nicht.

Der Ist-Zustand

Die Kommandozeile ist das Paket @szenera/cli im Quellbaum der Plattform. Es trägt die Fassung 0.1.0, ist nicht auf npm veröffentlicht und liegt keinem Release als Download bei — die Release-Abläufe der Plattform erzeugen Container-Abbilder und Geräte-Software, aber kein CLI-Artefakt. Wer den Quellbaum hat, baut die CLI daraus. Wer ihn nicht hat, arbeitet mit curl gegen dieselben Routen: Jeder Befehl ist ein API-Aufruf, und die Befehlsseiten nennen zu jedem Befehl die Route und das Recht, das er braucht. Über eine künftige Veröffentlichung sagt diese Seite nichts; sie beschreibt, was heute gilt.

Das Paket enthält die Befehle für Organisationen. Die Befehle des Plattformbetriebs gehören zu einem eigenen, internen Werkzeug und sind nicht Teil von szenera.

Schritte

  1. Installieren Sie die Abhängigkeiten des Quellbaums vollständig, nie nur für ein Teilpaket:

    pnpm install
    
  2. Bauen Sie das Paket. Der Bau legt dist/ samt der ausführbaren Datei dist/main.js an:

    pnpm --filter @szenera/cli build
    
  3. Rufen Sie die gebaute Datei direkt auf. Ohne Befehl und mit --help zeigt sie die Übersicht aller Befehle aus dem Register:

    node packages/cli/dist/main.js --help
    
  4. Verknüpfen Sie die Datei optional als szenera, damit die Beispiele der übrigen Seiten wörtlich gelten. Das Paket erklärt szenera als Programmnamen für dist/main.js; ein Symlink in ein Verzeichnis Ihres Suchpfads genügt:

    ln -s "$(pwd)/packages/cli/dist/main.js" ~/.local/bin/szenera
    szenera --help
    

Optionen

Zwei Aufrufformen im Überblick:

node packages/cli/dist/main.js <befehl>    # gebaut
szenera <befehl>                            # verknüpft

Wer die Exit-Codes auswertet — in einem Skript, in der CI —, ruft die Datei direkt auf und nie über pnpm run: pnpm run verschluckt Exit-Codes und meldet jeden Fehlschlag als 1.

Ergebnis prüfen

  • szenera --help (oder node packages/cli/dist/main.js --help) listet 136 Befehle in Gruppen wie asset, scene, device, api und endet mit dem Block „Überall gültig“ (--help, --profile=<name>, --json, --table, --raw).
  • szenera <befehl> --help zeigt Stellungen, Flaggen und Beispiele eines Befehls. Beides kommt aus dem Register, nicht aus gepflegtem Text; --help meldet sich nie an und braucht kein Profil.
  • In der Sitzungsliste der API gibt sich die CLI später als szenera-cli/0.1.0 zu erkennen — das ist die Fassung, die auch in Fehlermeldungen zum Vertrag steht.

Wenn etwas nicht klappt

Symptom Bedeutung Lösung
node packages/cli/dist/main.js meldet, die Datei existiere nicht Der Bau fehlt; dist/ entsteht erst durch pnpm --filter @szenera/cli build. Schritt 2 ausführen.
Der Aufruf bricht mit einem Syntax- oder Modulfehler ab, bevor ein Befehl läuft Die Node-Version ist zu alt; der Quellbaum verlangt Node ab 24. Node 24 oder neuer verwenden, dann neu bauen.
Ein Skript sieht bei jedem Fehler Exit 1 Der Aufruf läuft über pnpm run, und das verschluckt die Codes. Die Datei direkt über node aufrufen; siehe Ausgabe als JSON und Exit-Codes.
szenera health endet mit „Keine Konfiguration gefunden" Die CLI läuft, weiß aber nicht, mit welcher Umgebung sie sprechen soll. Ein Profil anlegen oder SZENERA_BASE_URL setzen; siehe Profile und Ausweis.
szenera kennt einen Befehl wie tenant list oder incident create nicht Das ist ein Befehl des Plattformbetriebs; er gehört nicht zu szenera. Siehe Befehle für den Plattformbetrieb.

Weiterführendes