CLI-Referenz
Kommandozeilenschnittstelle für die Wippy-Runtime.
Globale Flags
Verfügbar bei allen Befehlen:
| Flag | Kurz | Beschreibung |
|---|---|---|
--config |
Konfigurationsdatei (Standard: .wippy.yaml) | |
--verbose |
-v |
Debug-Logging aktivieren |
--very-verbose |
Debug mit Stack-Traces | |
--console |
-c |
Farbige Konsolenausgabe |
--silent |
-s |
Konsolenausgabe deaktivieren |
--event-streams |
-e |
Logs an den Event-Bus streamen |
--profiler |
-p |
pprof auf localhost:6060 aktivieren |
--memory-limit |
-m |
Speicherlimit (z.B. 1G, 512M) |
Priorität des Speicherlimits: --memory-limit Flag > GOMEMLIMIT Umgebungsvariable > 1GB Standard.
wippy init
Eine neue Lock-Datei erstellen.
wippy init
wippy init --src-dir ./src --modules-dir .wippy
| Flag | Kurz | Standard | Beschreibung |
|---|---|---|---|
--src-dir |
-d |
./src | Quellverzeichnis |
--modules-dir |
.wippy | Modulverzeichnis | |
--lock-file |
-l |
wippy.lock | Pfad zur Lock-Datei |
wippy run
Die Runtime starten oder einen Befehl ausführen.
wippy run # Runtime starten
wippy run list # Verfügbare Befehle auflisten
wippy run test # Tests ausführen
wippy run snapshot.wapp # Aus Pack-Datei ausführen
wippy run acme/http # Modul aus dem Hub ausführen
wippy run acme/http@1.2.3 # Bestimmte Version ausführen
wippy run --exec app:worker # Runtime starten und einen einzelnen Prozess ausführen
| Flag | Kurz | Beschreibung |
|---|---|---|
--override |
-o |
Entry-Werte überschreiben (namespace:entry:field=value) |
--exec |
-x |
Prozess ausführen und beenden (namespace:entry) |
--host |
Terminal-Host-ID für --exec (automatisch erkannt, wenn nur ein terminal.host existiert) |
|
--registry |
Registry-URL für Hub-Module |
wippy lint
Lua-Code auf Typfehler und Warnungen prüfen.
wippy lint
wippy lint --level warning
wippy lint --json
wippy lint --rules
Validiert alle Lua-Entries: function.lua, library.lua, process.lua, workflow.lua (einschließlich ihrer .bc-Varianten).
| Flag | Kurz | Standard | Beschreibung |
|---|---|---|---|
--lock-file |
-l |
wippy.lock |
Pfad zur Lock-Datei |
--level |
warning |
Minimaler Schweregrad: error, warning, hint |
|
--ns |
Filter nach Namespace-Mustern (z.B. app, lib.*) |
||
--code |
Filter nach Fehlercodes (z.B. E0001,E0004) |
||
--rules |
false |
Style-/Quality-Lint-Regeln aktivieren | |
--summary |
false |
Ausgabe nach Fehlercode gruppieren | |
--limit |
0 |
Maximal angezeigte Diagnosen (0 = unbegrenzt) | |
--json |
false |
JSON-Ausgabe | |
--no-color |
false |
Farbige Ausgabe deaktivieren | |
--cache-reset |
false |
Lua-Cache vor dem Linten leeren |
wippy add
Eine Modulabhängigkeit hinzufügen.
wippy add acme/http
wippy add acme/http@1.2.3
wippy add acme/http@latest
| Flag | Kurz | Standard | Beschreibung |
|---|---|---|---|
--lock-file |
-l |
wippy.lock | Pfad zur Lock-Datei |
--registry |
Registry-URL |
wippy install
Abhängigkeiten aus der Lock-Datei installieren.
wippy install # Alle installieren
wippy install acme/http # Bestimmtes Modul installieren
wippy install --refresh acme/http # Bestimmtes Modul neu laden
| Flag | Kurz | Standard | Beschreibung |
|---|---|---|---|
--lock-file |
-l |
wippy.lock | Pfad zur Lock-Datei |
--refresh |
false | Jedes Modul neu herunterladen, Cache umgehen | |
--force |
false | Alias für --refresh |
|
--repair |
false | Alias für --refresh |
|
--registry |
Registry-URL |
wippy update
Abhängigkeiten aktualisieren und Lock-Datei neu generieren.
wippy update # Alle aktualisieren
wippy update acme/http # Bestimmtes Modul aktualisieren
wippy update acme/http demo/sql # Mehrere aktualisieren
| Flag | Kurz | Standard | Beschreibung |
|---|---|---|---|
--lock-file |
-l |
wippy.lock | Pfad zur Lock-Datei |
--src-dir |
-d |
./src | Quellverzeichnis |
--modules-dir |
.wippy | Modulverzeichnis | |
--registry |
Registry-URL |
wippy pack
Ein Snapshot-Pack (.wapp-Datei) erstellen.
wippy pack snapshot.wapp
wippy pack release.wapp --description "Release 1.0"
wippy pack app.wapp --embed app:assets --bytecode **
| Flag | Kurz | Beschreibung |
|---|---|---|
--lock-file |
-l |
Pfad zur Lock-Datei |
--description |
-d |
Pack-Beschreibung |
--tags |
-t |
Pack-Tags (kommagetrennt) |
--meta |
Benutzerdefinierte Metadaten (key=value) | |
--embed |
fs.directory-Entries einbetten (Muster) | |
--list |
fs.directory-Entries auflisten (Trockenlauf) | |
--exclude-ns |
Namespaces ausschließen (Muster) | |
--exclude |
Entries ausschließen (Muster) | |
--bytecode |
Lua zu Bytecode kompilieren (** für alle) |
wippy publish
Modul im Hub veröffentlichen.
wippy publish
wippy publish --version 1.0.0
wippy publish --dry-run
Liest aus wippy.yaml im aktuellen Verzeichnis.
| Flag | Beschreibung |
|---|---|
--version |
Zu veröffentlichende Version |
--dry-run |
Validieren ohne zu veröffentlichen |
--label |
Als veränderbares Label statt Version veröffentlichen |
--release-notes |
Release-Notizen |
--protected |
Version als geschützt markieren |
--embed |
fs.directory-Entries nach ID oder Name einbetten |
--config |
Pfad zum Verzeichnis mit wippy.yaml (Standard: .) |
--registry |
Registry-URL |
wippy search
Module im Hub suchen.
wippy search http
wippy search "sql driver" --limit 20
wippy search auth --json
| Flag | Standard | Beschreibung |
|---|---|---|
--json |
false | Ausgabe als JSON |
--limit |
20 | Maximale Ergebnisse |
--registry |
Registry-URL |
wippy auth
Registry-Authentifizierung verwalten.
wippy auth login
wippy auth login
wippy auth login --token YOUR_TOKEN
| Flag | Beschreibung |
|---|---|
--token |
API-Token |
--registry |
Registry-URL |
--local |
Zugangsdaten lokal speichern |
wippy auth logout
wippy auth logout
| Flag | Beschreibung |
|---|---|
--registry |
Registry-URL |
--local |
Lokale Zugangsdaten entfernen |
wippy auth status
wippy auth status
wippy auth status --json
| Flag | Beschreibung |
|---|---|
--json |
Ausgabe als JSON |
wippy readme
README eines Moduls aus dem Hub abrufen.
wippy readme wippy/terminal
wippy readme wippy/terminal@1.2.3
wippy readme --json wippy/terminal@latest
| Flag | Beschreibung |
|---|---|
--json |
Ausgabe als JSON |
--registry |
Registry-URL (Standard: aus Zugangsdaten) |
wippy registry
Registry-Einträge abfragen und inspizieren.
wippy registry list
wippy registry list
wippy registry list --kind "function.lua.*"
wippy registry list --ns "app.*" --json
wippy registry list --meta "type=api" --meta "enabled=true"
| Flag | Kurz | Beschreibung |
|---|---|---|
--kind |
-k |
Nach Art filtern (Glob-Muster) |
--ns |
-n |
Nach Namespace filtern (Glob-Muster) |
--name |
Nach Name filtern (Glob-Muster) | |
--meta |
Nach Metadaten filtern (wiederholbar) | |
--json |
Ausgabe als JSON | |
--yaml |
Ausgabe als YAML | |
--lock-file |
-l |
Pfad zur Lock-Datei |
Metadaten-Operatoren für --meta:
| Operator | Bedeutung |
|---|---|
field=value |
Exakte Übereinstimmung |
field~regex |
Regex-Übereinstimmung |
field*substr |
Enthält Teilstring |
field^prefix |
Beginnt mit Präfix |
field$suffix |
Endet mit Suffix |
wippy registry show
wippy registry show app:http:handler
wippy registry show app:config --yaml
| Flag | Kurz | Beschreibung |
|---|---|---|
--field |
-f |
Bestimmtes Feld anzeigen |
--json |
Ausgabe als JSON | |
--yaml |
Ausgabe als YAML | |
--raw |
Rohe Ausgabe | |
--lock-file |
-l |
Pfad zur Lock-Datei |
wippy version
Versionsinformationen ausgeben.
wippy version
wippy version --short
Benutzerdefinierte Befehle
Jeder process.lua- oder process.wasm-Entry kann als benannter Befehl registriert werden, indem command-Metadaten hinzugefügt werden:
entries:
- name: test_runner
kind: process.lua
meta:
command:
name: test
short: Run application tests
source: file://runner.lua
method: main
modules:
- io
- registry
- funcs
Ausführen mit:
wippy run test
Alle verfügbaren Befehle auflisten:
wippy run list
Befehl-Metadatenfelder
| Feld | Erforderlich | Beschreibung |
|---|---|---|
name |
Ja | Befehlsname, verwendet mit wippy run <name> |
short |
Nein | Kurzbeschreibung, angezeigt in wippy run list |
main |
Nein | Diesen Entry als Standardbefehl markieren (automatisch ausgewählt von Packs und Hub-Modulen, die einen einzigen Befehl ausliefern) |
Jede Art von Prozess-Entry funktioniert (process.lua, process.wasm). Der Befehlsname muss über alle geladenen Entries eindeutig sein. Argumente nach dem Befehlsnamen werden an den Prozess weitergegeben.
Beispiele
Entwicklungs-Workflow
# Projekt initialisieren
wippy init
wippy add wippy/http wippy/sql
wippy install
# Auf Fehler prüfen
wippy lint
# Mit Debug-Ausgabe ausführen
wippy run -c -v
# Konfiguration für lokale Entwicklung überschreiben
wippy run -o app:db:host=localhost -o app:db:port=5432
Produktions-Deployment
# Release-Pack mit Bytecode erstellen
wippy pack release.wapp --bytecode ** --exclude-ns test.**
# Aus Pack mit Speicherlimit ausführen
wippy run release.wapp -m 2G
Debugging
# Einzelnen Prozess ausführen
wippy run --exec app:worker
# Mit aktiviertem Profiler
wippy run -p -v
# Dann: go tool pprof http://localhost:6060/debug/pprof/heap
Abhängigkeitsverwaltung
# Neue Abhängigkeit hinzufügen
wippy add acme/http@latest
# Erneut herunterladen erzwingen
wippy install --force
# Bestimmtes Modul aktualisieren
wippy update acme/http
Veröffentlichung
# Im Hub anmelden
wippy auth login
# Modul validieren
wippy publish --dry-run
# Veröffentlichen
wippy publish --version 1.0.0 --release-notes "Initial release"
Konfigurationsdatei
.wippy.yaml für persistente Einstellungen erstellen:
logger:
encoding: console
logmanager:
min_level: -1 # Debug
profiler:
enabled: true
address: localhost:6060
override:
app:gateway:addr: ":9090"
app:db:host: "localhost"
Siehe auch
- Konfiguration - Referenz zur Konfigurationsdatei
- Observability - Monitoring und Logging