CodeGuard

codeguard validate

Eine einzelne .cgr-Regel-Datei parsen und gegen das Schema prüfen.

codeguard validate

codeguard validate <file>

<file> ist der Pfad zu einer einzelnen .cgr-Datei. Der Befehl parsed die Datei, kompiliert die LINQ-Expression gegen das Schema und gibt die Metadaten aus, sobald alles passt.

Beispiel

codeguard validate .codeguard/rules/repository-naming.cgr

Output bei Erfolg:

Rule 'Repository class must end in Repository' parsed successfully
  Severity: error
  Category: Naming
  Description: Repositories must have a 'Repository' suffix for discoverability

Bei einem Fehler:

Validation failed: Unknown property 'IsAsyncMethod' on MethodModel at line 8

Exit-Codes

  • 0: Regel gültig.
  • 2: Validierungsfehler (Parse-, Schema- oder Compile-Fehler).

Empfohlene Verwendung

Als Pre-Commit-Hook für Regel-Dateien

#!/bin/sh
for file in $(git diff --cached --name-only --diff-filter=ACMR | grep '\.cgr$'); do
    codeguard validate "$file" || exit 1
done

So fängt ihr Tippfehler in .cgr-Files bevor der CI-Lauf sie sieht.