Was ist CodeGuard?
CodeGuard ist ein deterministisches Code-Quality-Tool für .NET-Teams. Es analysiert eure Solution lokal gegen ein Regelwerk aus 126 kuratierten eingebauten Regeln und beliebig vielen eigenen, die ihr in einer kleinen LINQ-ähnlichen DSL formuliert.
Was CodeGuard liefert
- CLI als selbst-enthaltenes Binary für Windows, Linux und macOS, einsetzbar in jeder CI ohne installiertes .NET.
- Windows-Installer für eure Devs, der CLI und VS Code Extension in einem Setup bündelt.
- VS Code Extension mit Syntax-Highlighting und Autovervollständigung für die DSL.
- Offizielle GitHub Action
bochmann-software/codeguard@v1, die in zwei Zeilen YAML eingebunden wird. - 120+ eingebaute Regeln in 12 Kategorien, darunter ASP.NET-Konventionen, Async-Best-Practices, Naming, Architecture, Komplexitäts-Schwellen, Testability, Dokumentation und Error-Handling.
- Output in vier Formaten für unterschiedliche CI-Workflows: Konsole, JSON, SARIF v2.1 für GitHub Code Scanning und GitLab SAST, sowie GitHub-Annotations für PR-Inline-Kommentare.
Drei Designentscheidungen
Deterministisch
Gleicher Source, gleiche Regelmenge, gleiche Findings. Auf jeder Maschine, zu jeder Tageszeit. Wenn der Build gestern grün war, ist er heute auch grün.
Lokal
Die Analyse läuft auf der Dev-Maschine oder dem CI-Runner. Source-Code verlässt eure Umgebung nicht.
Architektur als First-Class-Citizen
Coupling, Vererbung, Abhängigkeiten und Komplexitäts-Metriken sind direkt im Schema verfügbar. Layering-Regeln und Banned-References formuliert ihr als zwei bis drei Zeilen DSL.
@name "Domain layer must not reference Web layer"
@severity error
@category "Architecture"
from t in Types
where t.Namespace.StartsWith("Acme.Domain")
where t.UsedTypes.Any(u => u.Namespace.StartsWith("Acme.Web"))
select t
Wer es nutzen sollte
CodeGuard rechnet sich besonders bei .NET-Teams ab drei Entwicklern mit gemeinsamem Codebesitz und einer wachsenden Codebasis, in der Konventionen in PRs schwer durchzusetzen sind.
Nächste Schritte
- Quick Start: erste Analyse in fünf Minuten
- Vergleich mit Alternativen: wie wir uns gegenüber Roslyn, SonarQube und NDepend positionieren
- Plan-Übersicht: was CodeGuard kostet