Dieser Leitfaden setzt voraus, dass du beides hast:
- Einen aktiven Account — siehe Registrierung und Trial, zwei Minuten.
- Die CLI lokal verfügbar — siehe Windows-Installer oder Standalone-CLI, rechne mit etwa zehn Minuten beim ersten Setup inklusive Lizenz-Hinterlegung.
Ab da nimmt der hier beschriebene Lauf rund fünf Minuten.
Wir gehen das einmal an einer echten Solution durch. Eigene Regeln sind dafür nicht nötig – die mitgelieferten Default-Pakete reichen für den ersten Lauf.
1. CLI testen
codecharter --version
Wenn das eine Versionsnummer ausgibt, ist die CLI verfügbar. Falls du "command not found" bekommst, ist die CLI noch nicht installiert – Anleitung unter Installation.
2. In dein Solution-Verzeichnis wechseln
cd ~/code/your-solution
ls *.sln
CodeCharter analysiert auf Solution-Ebene. Wenn keine .sln- oder .slnx-Datei
vorhanden ist, kannst du auf ein einzelnes Projekt zeigen, aber
Solution ist der Default-Fall.
3. Default-Regelpaket aktivieren
Ohne .codecharter-Verzeichnis im Repo lädt die CLI eine Default-Konfiguration
mit den eingebauten Regelpaketen. Wenn du deine eigene Konfiguration hast,
landet sie typisch unter .codecharter/ im Repo-Root.
Für den ersten Lauf brauchst du nichts vorbereiten, die Default-Pakete sind eingebaut.
4. Analyse starten
codecharter analyze . --output console
Das scannt deine Solution gegen die eingebauten Regeln. Auf einer mittelgroßen Codebasis dauert das beim ersten Mal 20-60 Sekunden, danach mit Cache wenige Sekunden.
Du siehst etwas wie:
CodeCharter 1.4.0
Analyzing src/Acme.Web/Acme.Web.sln (124 projects)
Acme.Web/Controllers/ProductsController.cs:42
[warn] Async-Method-Without-CancellationToken
Add 'CancellationToken cancellationToken = default' as the last parameter
Acme.Web/Services/PriceCalculator.cs:18
[warn] DateTime-Direct-Usage
Inject TimeProvider via constructor and call GetUtcNow()
...
Done in 28.4s. 17 findings (3 errors, 14 warnings)
Wenn der Exit-Code 0 ist (nur Warnungen, keine Errors), war der Lauf erfolgreich.
5. JSON-Output für weitere Verarbeitung
codecharter analyze . --output json --output-file findings.json
Das schreibt eine maschinenlesbare Datei. Format-Details unter Output-Formate.
Was als nächstes
- Erste eigene Regel schreiben: siehe Erste eigene Regel
- Ein Finding fixen: siehe Erstes Finding fixen
- In die CI einbauen: siehe GitHub Actions