Skip to content

Erste Analyse in 5 Minuten (nach Installation)

Von "Account angelegt, CLI installiert" zu "läuft auf eurer Solution" in fünf Minuten.

Dieser Leitfaden setzt voraus, dass du beides hast:

  1. Einen aktiven Account — siehe Registrierung und Trial, zwei Minuten.
  2. 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