.kanman/verify.json

Alle Schlüssel des Verify-Manifests: der lokale Prüfbefehl für jede Änderung und die Namen der CI-Variablen, die ein Executor erhalten darf.

Das Verify-Manifest legt fest, wie eine Änderung lokal geprüft wird, bevor sie an CI und das Outcome-Gate geht. Es liegt unter .kanman/verify.json im Wurzelverzeichnis des Repositorys, neben .kanman/acceptance.json.

Der Prüfbefehl ist dafür gedacht, nach einem Versuch des Executors zu laufen, bevor der Pull Request geöffnet oder aktualisiert wird. Sein Ergebnis ist das Gate verify_local im Nachweispaket.

Kommt in einem späteren Release

kanman liest .kanman/verify.json und führt das Gate verify_local in einem späteren Release aus. Bis dahin hat die Datei keine Wirkung: Die Änderung wird durch die Akzeptanz-Spec, Ihre CI und den Reviewer-Run geprüft. Sie können die Datei schon jetzt anlegen.

Beispiel

Das Manifest des Demo-Repositorys kanman-ai/pilot-sandbox:

{
  "version": 1,
  "cwd": ".",
  "setup": "npm ci",
  "command": "npm run lint && npm run typecheck && npm test",
  "env": {
    "CI": "true"
  },
  "ci_var_keys": []
}

Schlüssel

Schlüssel Typ Pflicht Standard Beschreibung
version Zahl ja Immer 1.
cwd String nein . Arbeitsverzeichnis für setup und command, relativ zum Repository. Praktisch in Monorepos.
setup String nein Befehl, der einmal vor command läuft, zum Beispiel um Abhängigkeiten zu installieren.
command String ja Der lokale Prüfbefehl, zum Beispiel npm run lint && npm test. Ein Exit-Code ungleich null lässt das Gate verify_local scheitern.
env Objekt aus Strings nein {} Einfache Umgebungsvariablen für setup und command. Tragen Sie hier nie Secrets ein.
ci_var_keys Liste von Strings nein [] Namen der CI-Variablen, die der Executor erhalten darf. Nur Namen: Die Werte bleiben in Ihrem CI oder Vault und werden zur Laufzeit eingespielt.
timeout_seconds Ganzzahl nein 600 Maximale Laufzeit von setup plus command. Höchstens 1800.

Unbekannte Schlüssel werden ignoriert.

Secrets und CI-Variablen

Kommt in einem späteren Release

Die Weitergabe von CI-Variablen an den Executor kommt in einem späteren Release. Bis dahin erhält der Executor keine Secrets aus ci_var_keys oder secret_names.

ci_var_keys listet die einzigen Variablen, die kanman an den Executor weitergeben darf. Die Liste wird mit secret_names der Team-Richtlinie abgeglichen (siehe Richtlinien-Einstellungen): Eine Variable muss an beiden Stellen erlaubt sein. Werte werden nie im Manifest, im Run, im Nachweispaket oder im Audit-Log gespeichert, dort erscheinen nur die Namen.

{
  "version": 1,
  "command": "make lint test",
  "ci_var_keys": ["NPM_TOKEN", "SENTRY_DSN_TEST"],
  "timeout_seconds": 900
}

Achtung

Lassen Sie ci_var_keys möglichst leer. Ein Prüfbefehl, der Produktionszugangsdaten braucht, ist ein Zeichen dafür, dass Tests die Sandbox verlassen. Siehe Sandbox und Secrets.

Ohne Verify-Manifest

Das Manifest ist optional. Ohne es verlässt sich kanman auf Ihren CI-Status und den Reviewer-Run. Sobald das Gate verify_local verfügbar ist, fallen mit dem Manifest Lint- und Typfehler auf, bevor es einen Pull Request gibt. Das spart CI-Minuten und Nacharbeit.

Verwandte Seiten

Zuletzt aktualisiert: January 1, 0001

kanman öffnen