Zum Inhalt springen

Einstieg ins Schreiben eigener CodeCharter-Regeln

Wegweiser durch die Doku zum Schreiben eigener CodeCharter-Regeln.

Eigene Regeln sind das, was CodeCharter vom statischen Checker zum Team-Tool macht. Wo ihr anfangt, hängt davon ab, wie tief ihr schon im Thema seid.

Erstes Mal eine eigene Regel schreiben

Erste eigene Regel im Quick-Start führt euch durch den kompletten Workflow: Datei anlegen, validieren, in ein Regelverzeichnis legen, das eure .codecharter/config.yml unter rules: deklariert, laufen lassen. Wenn ihr einfach eine lauffähige Ausgangsbasis zum Ausprobieren möchtet, legt codecharter init das rules/-Verzeichnis mit zwei Beispiel-.ccr-Dateien an und deklariert es für euch unter rules:. Ältere .cgr-Dateien von vor der Umbenennung zu CodeCharter werden weiterhin aus Kompatibilitätsgründen gelesen.

Die DSL kennenlernen

Hello-World-DSL ist die kleinstmögliche sinnvolle Regel, Zeile für Zeile erklärt. Danach lohnt sich Datei-Struktur zum Aufbau des rules/-Verzeichnisses und Syntax-Übersicht als kompakte Sprach-Referenz.

Regeln testen

codecharter test führt .spec.md-Spec-Dateien mit erwarteten Treffern und Nicht-Treffern gegen eine Regel aus, mit CI-tauglichen Exit-Codes. codecharter test <regel>.ccr --scaffold erzeugt eine Starter-Spec neben der Regel-Datei.

Tiefer einsteigen

Wenn ihr schon mit der DSL vertraut seid, sind die nächsten vier Seiten interessant:

  • DSL-Grammatik: Grammatik-Referenz in EBNF-naher Notation, wenn ihr genau wissen wollt, was der Parser akzeptiert.
  • Prädikat-Katalog: vollständige Liste aller Properties pro Code-Modell-Entität.
  • Regel-Beispiele: Galerie fertig komponierter Regeln, nach Use-Case sortiert.
  • KI-gestütztes Regel-Authoring: wie der KI-Assistent im Editor Regeln und Specs schreibt und gegen Spec-Läufe härtet.

Offline-Zugriff auf diese Dokumentation

Die Referenz zum Regelschreiben steckt auch direkt in der CLI, ihr könnt sie also im Terminal lesen, ohne einen Browser zu öffnen. codecharter docs listet die vier verfügbaren Themen auf (getting-started, dsl-grammar, predicates, rule-examples), codecharter docs <thema> gibt das Thema aus. Themennamen werden tolerant aufgelöst, ein eindeutiger Präfix oder ein kleiner Tippfehler reicht aus:

codecharter docs predicates
codecharter docs dsl --format plain

--format steuert die Ausgabe: md (Standard, rohes Markdown), plain (Markdown-Formatierung entfernt) oder json (Thema und Inhalt als JSON-Objekt, praktisch für Tooling).

Editor- und KI-Unterstützung

Die VS-Code-Extension bringt Syntax-Highlighting und Auto-Vervollständigung für .ccr-Dateien mit. Wenn ihr Regeln mit einem KI-Assistenten schreibt, beschreibt MCP-Regel-Authoring den MCP-Server und seine Authoring-Tools (validate_rule, scaffold_rule, dry_run_rule, test_rule_spec).

Regeln mit dem Team teilen

Fertige Regeln verteilt ihr über Plattform-Profile. Lokale Regeln importieren zeigt, wie ihr eure .ccr-Dateien mit codecharter push hochladet.

Konventionen für gute Regeln

Best Practices behandelt, was gute eigene Regeln von schlechten unterscheidet.