Zum Hauptinhalt springen
Version: 0.1

prokodo verify

Projektdateien hochladen und einen Cloud-Verifizierungslauf starten, oder ein veröffentlichtes npm-Paket direkt per Name verifizieren. Funktioniert sofort — keine Konfigurationsdatei erforderlich.

prokodo verify [Datei] [Optionen]

Voraussetzungen

Nur ein gültiger API-Schlüssel ist erforderlich (via prokodo auth login oder PROKODO_API_KEY). Eine .prokodo/config.json ist optional — der Projekttyp wird automatisch erkannt.

Optionen

FlagTypStandardBeschreibung
[Datei]StringVeröffentlichter npm-Paketname (@scope/name oder @scope/name@1.2.3). Dateipfade noch nicht unterstützt.
--type <typ>StringAuto-ErkennungProjekttyp überschreiben. Pflicht bei Angabe eines npm-Paketnamens.
--ref <ref>StringGit-Ref, Branch oder Commit-SHA
--timeout <sek>Number300Zeitlimit in Sekunden überschreiben
--no-logsBooleanfalseLive-Log-Streaming deaktivieren

Projekttypen

TypWann automatisch erkanntStandardmäßig hochgeladene Dateien
n8n-nodepackage.json hängt von n8n, n8n-core usw. absrc/, package.json, tsconfig.json
n8n-workflowNoch nicht unterstützt — folgt in einem kommenden Release

Ablauf

Lokaler Projektmodus (Standard — kein positionales Argument):

1. Lauf-Kontext auflösen:
a. CLI --type Flag
b. .prokodo/config.json (optional)
c. package.json Auto-Erkennung
d. Standard: n8n-node
2. Git-Remote-URL erkennen (nicht fatal)
3. --timeout validieren (muss positiv und endlich sein)
4. Dateien einsammeln (include-Liste)
5. API-Schlüssel auflösen (Flag → Umgebungsvariable → Zugangsdatei)
6. POST /api/cli/v1/verify/runs { projectType, packageName, files }
7. Status pollen und Live-Logs streamen (außer bei --no-logs)
8. Endergebnis abrufen
9. Zusammenfassung ausgeben / JSON emittieren
10. Exit 0 (bestanden) oder 1 (fehlgeschlagen/Timeout)

npm-Paketmodus (prokodo verify @scope/name --type n8n-node):

1. Positionales Argument als npm-Paket-Referenz erkennen
2. --type validieren (in diesem Modus Pflicht)
3. --timeout validieren
4. API-Schlüssel auflösen
5. POST /api/cli/v1/verify/runs { projectType, packageRef } (kein Datei-Upload)
6. Server lädt das Paket vom npm-Registry
7. Status pollen und Live-Logs streamen (außer bei --no-logs)
8. Endergebnis abrufen
9. Zusammenfassung ausgeben / JSON emittieren
10. Exit 0 (bestanden) oder 1 (fehlgeschlagen/Timeout)

Beispiele

# Projekttyp automatisch erkennen und verifizieren
prokodo verify

# Projekttyp explizit setzen
prokodo verify --type n8n-node

# Veröffentlichtes npm-Paket verifizieren
prokodo verify @scope/my-n8n-node --type n8n-node
prokodo verify @scope/my-n8n-node@1.2.3 --type n8n-node
ℹ Starte Verifizierungslauf…
Run-ID: run_abc123
Projekttyp: n8n-node (auto)
Dateien: 24
[12:00:01] Strukturprüfung läuft…
[12:00:03] Abhängigkeiten werden aufgelöst…
[12:00:08] Prüfungen abgeschlossen.

✓ Verifizierung bestanden: Alle Prüfungen erfolgreich
Genutzte Credits: 1
# Lauf mit aktuellem Git-Branch markieren
prokodo verify --ref $(git rev-parse --abbrev-ref HEAD)

# Bestimmte veröffentlichte Version eines Pakets verifizieren
prokodo verify @scope/my-n8n-node@2.1.0 --type n8n-node

# Timeout erhöhen für große Projekte
prokodo verify --timeout 600

# Log-Streaming deaktivieren (nützlich in CI)
prokodo verify --no-logs

# Ergebnis mit jq verarbeiten
prokodo verify --json 2>/dev/null | jq .passed
prokodo verify --json 2>/dev/null | jq '[.checks[] | select(.passed == false)]'

JSON-Ausgabeschema

FeldTypBeschreibung
runIdstringEindeutige Lauf-ID
passedbooleantrue = alle Prüfungen bestanden
summarystringMenschenlesbare Zusammenfassung
checks{ name, passed, message? }[]Einzelne Prüfergebnisse
creditsUsednumberTatsächlich verbrauchte Credits
status"success" | "failed" | "timeout" | "rejected"Abschluss-Status

Ablehnungscodes

Wenn der Cloud-Runner den Lauf ablehnt, enthält die Fehlermeldung einen Grundcode:

CodeBedeutung
INSUFFICIENT_CREDITSKontoguthaben nicht ausreichend
CONCURRENCY_CAP_REACHEDMaximale gleichzeitige Läufe erreicht
INVALID_PAYLOADHochgeladenes Archiv konnte nicht verarbeitet werden
RUNNER_ERRORInterner Cloud-Fehler
TIMEOUTLauf hat Zeitlimit überschritten
NOT_IMPLEMENTEDFeature noch nicht aktiviert

Log-Streaming

Standardmäßig streamt verify Log-Zeilen des Cloud-Laufs in Echtzeit nach stderr. Verwende --no-logs, um dies zu unterdrücken, oder leite stderr um:

# Logs sichtbar lassen, aber JSON-Ergebnis erfassen
prokodo verify --json 2>&1 1>/tmp/ergebnis.json

Eingeschlossene Dateien steuern

Standardmäßig verwendet die CLI die include-Liste für den erkannten Projekttyp:

ProjekttypStandard-Include
n8n-nodesrc/, package.json, tsconfig.json
n8n-workflowNoch nicht unterstützt — folgt in einem kommenden Release

include kann in .prokodo/config.json überschrieben werden:

{
"projectType": "n8n-node",
"include": ["src", "package.json", "tsconfig.json", "assets"],
"timeout": 300
}
tipp

include auf Quelldateien beschränken — node_modules, dist und Test-Fixtures ausschließen, um Läufe schnell und krediteffizient zu halten.

Exit-Codes

CodeUrsache
0Verifizierung bestanden
1Verifizierung fehlgeschlagen
1Timeout beim Warten auf Lauf-Abschluss
2Ungültiger --type-Wert
2--type fehlt im npm-Paketmodus
2Ungültiger --timeout-Wert
2Keine Dateien zum Hochladen gefunden
2Kein API-Schlüssel konfiguriert