CodeCharter ist ein deterministisches Code-Quality-Tool für .NET-Teams. Es analysiert Ihre Solution lokal gegen ein Regelwerk aus 120+ kuratierten eingebauten Regeln und beliebig vielen eigenen, die Sie in einer kleinen LINQ-ähnlichen DSL formulieren.
Was CodeCharter liefert
- CLI als eigenständige, self-contained Distribution für Windows, Linux und macOS, einsetzbar in jeder CI ohne installiertes .NET.
- Versionierte Regelprofile aus dem Portal (zum Beispiel
codecharter/csharp-all), die über.codecharter/config.ymlund ein Lockfile gepinnt und als signierte Bundles ausgeliefert werden, für reproduzierbare Analysen. - Windows-Installer für Ihre Entwickler, 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 mit wenigen Zeilen YAML eingebunden wird. - MCP-Server direkt in der CLI (
codecharter mcp), mit Einrichtung über einen einzigen Befehl (codecharter mcp install) für Claude Code, Cursor, Claude Desktop, Windsurf und Gemini. - 120+ eingebaute Regeln in mehreren 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 (konsumiert von GitHub Code Scanning und GitLab SAST), sowie GitHub-Annotations, die direkt im Pull-Request-Diff angezeigt werden.
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 Entwickler-Maschine oder dem CI-Runner. Source-Code verlässt Ihre 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 formulieren Sie 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.FullName.StartsWith("Acme.Domain")
where t.UsedTypes.Any(u => u.Namespace.FullName.StartsWith("Acme.Web"))
select t
Wer es nutzen sollte
CodeCharter rechnet sich besonders bei .NET-Teams ab drei Entwicklern mit gemeinsamem Codebesitz und einer wachsenden Codebasis, in der Konventionen in PRs schwer durchzusetzen sind.
Wie CodeCharter ausgeliefert wird
| Distribution | Was enthalten ist |
|---|---|
| CLI (Standalone) | Der vollständige Analyzer als self-contained Archiv; kein installiertes .NET nötig. |
| Windows-Installer | Die CLI plus VS-Code-Extension und PATH-Einrichtung; benötigt die .NET-9-Runtime (der Installer bietet deren Installation an). |
| VS-Code-Extension | Editor-Integration, die die CLI ausführt und live DSL-Feedback gibt. |
| GitHub Action | Führt das veröffentlichte CodeCharter-Container-Image (oder eine lokal installierte CLI) aus und veröffentlicht Annotations am Pull Request. |
Details zur Einrichtung unter Installation.
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 CodeCharter kostet. Jeder CLI-Befehl benötigt eine gültige Lizenz; neue Accounts starten mit einer 7-Tage-Testphase.