Prevu CLI
Prevu stellt eine persistente Linux-VM bereit, in die Sie per SSH einsteigen, Ports freigeben und über eine öffentliche URL erreichen können. Die prevu CLI ist die einzige unterstützte Schnittstelle (keine "Infrastruktur-Tools").
Dieses Skill ist die Referenz: Installation, Befehlsübersicht, Ausgabeformat, Exit-Codes, mit tiefergehenden Details in references/*.md. Für die mehrschrittigen, benutzerorientierten Arbeitsabläufe (Spiegeln einer lokalen Entwicklung in eine telefonprüfbare Vorschau, Teilen eines WIP-Branches) siehe das Skill prevu-flows – laden Sie es, wenn der Benutzer ein Szenario beschreibt, anstatt einen einzelnen Befehl.
Installation + Anmeldung
npm install -g @prevu/cli
prevu --version # 0.2.0+ (Slug-only URLs und env exec benötigen 0.2.0+)
prevu auth login # Token von https://app.prevu.cloud/keys einfügen
Erfordert Node >= 20. Das Token wird unter ~/.prevu/config.json (Modus 0600) gespeichert.
Für CI / Nicht-TTY:
export PREVU_TOKEN=prv_...
Auflösungsreihenfolge: --token-Flag -> PREVU_TOKEN-Umgebungsvariable -> ~/.prevu/config.json.
PREVU_API_URL standardmäßig auf https://app.prevu.cloud. Überschreiben Sie mit --api-url nur für selbst gehostete Prevu-APIs.
Befehlsübersicht
| Namespace | Befehl | Detail in |
|---|---|---|
| auth | login / logout / whoami | references/auth.md |
| env | list, get, create, destroy | references/env.md |
| env | wait | references/env.md + references/lifecycle.md |
| env | ssh, ssh-command, exec | references/env.md |
| env | urls | references/env.md |
| env | service start/list/logs/restart/stop | references/env.md |
| env | expose, unexpose | references/env.md |
| keys | list | references/keys.md |
Führen Sie prevu <namespace> --help für die integrierte Hilfe aus.
Ausgabeformat – übergeben Sie immer --format json beim Parsen
Die Standardausgabe ist eine menschenlesbare Tabelle; für jeden skriptgesteuerten Aufruf übergeben Sie --format json. Das Envelope-Format ist festgelegt:
// Erfolg
{ "data": { ... } }
// Fehler
{ "error": { "type": "auth", "message": "...", "hint": "..." } }
NO_COLOR=1 oder --no-color entfernt ANSI im Tabellenmodus. JSON ist immer ohne Farbe.
Exit-Codes (diese parsen, nicht den stderr-Text)
| Code | Typ | Bedeutung |
|---|---|---|
| 0 | Erfolg | fortsetzen |
| 1 | Allgemein | ausgeben und abbrechen |
| 2 | Nutzung | falsche Flags – korrigieren und erneut versuchen |
| 3 | Authentifizierung | Benutzer auffordern, prevu auth login auszuführen |
| 4 | nicht_gefunden | Umgebung/Schlüssel existiert nicht; erstellen oder andere wählen |
| 5 | Konflikt | existiert bereits/falscher Status – normalerweise harmlos |
| 6 | Ratenbegrenzung | mindestens 30s warten und erneut versuchen |
| 7 | Server | vorübergehend; einmal erneut versuchen |
| 8 | Zeitüberschreitung | env wait abgelaufen – Dashboard öffnen |
Idiomatische Wiederherstellungsskizze:
prevu env get my-project --format json >/dev/null 2>&1
case $? in
0) ;; # existiert
4) prevu env create my-project --format json ;;
3) echo "Führen Sie \`prevu auth login\` aus" >&2; exit 1 ;;
*) exit 1 ;;
esac
Harte Regeln – bitte nicht brechen
- Umgebungen sind persistente kostenpflichtige Produkte. Nutzen Sie sie bewusst wieder; niemals automatisch nach TTL oder Sitzungsende zerstören.
- Eine Umgebung pro Projekt, nicht pro Aufgabe. Verwenden Sie denselben Slug über mehrere Sitzungen hinweg; der Benutzer kehrt in denselben Arbeitsbereich zurück.
- HTTPS-Exposition für Browser-Vorschauen verwenden (Standard). TCP-Modus ist für Nicht-HTTP-Dienste wie Postgres.
- Öffentliche URLs prominent anzeigen. Der Benutzer ist oft auf seinem Telefon; vergraben Sie die URL nicht in der Shell-Ausgabe.
env servicefür langlebige App-Prozesse verwenden. Schreiben Sie nicht manuellnohup, PID-Dateien oder breitepkill -f-Befehle.- Die CLI/API ist die einzige unterstützte Schnittstelle. Versuchen Sie nicht, "Infrastruktur-Tools" darauf anzuwenden.
Wann tiefergehende Details laden
references/auth.md– Anmeldeabläufe, wo das Token lebt, Wiederherstellung von Exit-Code 3.references/env.md– alle env-Unterbefehle mit Eingaben, Beispielen und SSH-Schlüsselauflösungsregeln.references/keys.md– gespeichertes SSH-Schlüsselmodell, Deduplizierung, wann--ssh-key-idTastenanschläge spart.references/lifecycle.md– Statuszustandsmaschine, wannwaitzurückkehrt, und Anleitung für zerstörerische Aktionen.references/troubleshooting.md– konkrete Fehlermodi und deren Korrekturen.
Wann dieses Skill NICHT laden
- Reine lokale Dateibearbeitungen oder schreibgeschützte Repository-Arbeiten – Prevu ist zum Ausführen von Code remote.
- Produktionsbereitstellungen / CI – Prevu ist Staging.
- Alles, bei dem der Benutzer explizit "bleib auf meinem Laptop" gesagt hat.
Arbeitsablaufszenarien leben in prevu-flows
Wenn der Benutzer nach spiegle meine Entwicklung auf mein Telefon, lass mich vom Mobilgerät aus eine Vorschau anzeigen, teile diesen Branch als URL, ich bin nicht am Rechner, codiere weiter fragt – laden Sie das Skill prevu-flows anstelle von (oder zusätzlich zu) diesem. Diese Abläufe verbinden die Befehle hier zu einer mehrschrittigen Schleife mit den richtigen Standardwerten.