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.