Bevor ihr eine Regel komplett neu schreibt, lohnt sich ein Blick, ob es sie schon gibt. Der Tab Beispiele auf der Seite Regeln ist ein durchsuchbarer Katalog der kuratierten Beispielregeln von CodeCharter, zentral gepflegt und für alle Organisationen gleich. Ihr könnt ihn durchsuchen, den vollständigen Quelltext jeder Regel lesen und eine Regel unter einem selbst gewählten Slug in euer eigenes Regelwerk übernehmen. Derselbe Katalog ist auch über die Kommandozeile und über einen KI-Assistenten erreichbar, sodass sich die Frage "gibt es das schon?" überall beantworten lässt, wo ihr gerade arbeitet.
Was der Katalog enthält
Der Katalog enthält die eingebauten Beispielregeln von CodeCharter: funktionsfähige
.ccr-Regeln mit Testspezifikation, die gängige Muster aus Kategorien wie Namensgebung,
Struktur, Dokumentation und SOLID-Design abdecken. Sie werden zentral kuratiert, nicht
von eurer Organisation verfasst, und erscheinen deshalb bei jedem Kunden identisch.
Nutzt sie unverändert, indem ihr sie einem Profil hinzufügt,
oder übernehmt eine als Ausgangspunkt und passt sie an eure eigenen
Konventionen an.
Eure eigenen Regeln liegen getrennt davon im Tab Meine; wie ihr diese anlegt, bearbeitet und veröffentlicht, steht unter Regeln verwalten.
Durchsuchen und filtern
Öffnet den Tab Beispiele auf der Seite Regeln. Das Suchfeld gleicht gegen Name, Kategorie und Regelinhalt ab und aktualisiert die Liste während der Eingabe. Die Facetten Kategorie und Schweregrad grenzen die Ergebnisse weiter ein; wählt einen oder mehrere Werte, um zu filtern. Jede Ergebniskarte zeigt Name, Slug, Kategorie und Standard-Schweregrad der Regel.
Eine Katalogregel lesen
Wählt eine Karte, um die Detailseite zu öffnen. Sie zeigt Slug, veröffentlichte Version und Schweregrad der Regel und teilt sich in zwei Bereiche:
.ccr-Quelltext: die eigentliche Regellogik, mit einer Kopieren-Schaltfläche.- Spezifikation: die Testspezifikation (Treffer und Nicht-Treffer), umschaltbar zwischen gerenderter Vorschau und dem rohen Markdown.
Eine Regel übernehmen
Wählt auf einer Karte oder der Detailseite Übernehmen, um die Regel in euer
eigenes Regelwerk zu kopieren. Der Dialog schlägt einen freien Ziel-Slug auf Basis des
Katalog-Slugs vor (mit dem Suffix -copy, dann -copy-2 und so weiter, falls dieser
Slug in eurer Organisation bereits vergeben ist) und prüft den von euch gewählten Slug
während der Eingabe gegen eure vorhandenen Regeln.
Das Bestätigen legt in eurem Tab Meine eine neue Regel unter dem Ziel-Slug an; Quelltext, Spezifikation, Kategorie und Schweregrad der Katalogregel werden dabei in ihren ersten Entwurf kopiert. Von hier an verhält sie sich genau wie eine selbst geschriebene Regel: Öffnet sie im Regeleditor, führt die Spezifikation aus, passt DSL oder Spezifikation nach Bedarf an und veröffentlicht eine Version, sobald sie fertig ist.
Die Übernahme ist eine einmalige Momentaufnahme. Die neue Regel behält keine fortlaufende Verbindung zur Katalogregel oder ihrer Version: Spätere Änderungen an der Katalogregel wirken sich nicht auf eine bereits übernommene Regel aus, und eure übernommene Regel erscheint an keiner Stelle im Katalog als Variante des Originals. Wenn ihr eine neuere Version einer bereits übernommenen Katalogregel möchtet, übernehmt sie erneut unter einem anderen Slug und vergleicht beide, oder gleicht die Änderung von Hand ab.
Suche über die Kommandozeile
codecharter rules search durchsucht denselben Katalog auf demselben Weg, sodass sich
die Frage "gibt es das schon?" auch aus einem Terminal oder Skript heraus beantworten
lässt, ohne das Portal zu öffnen:
codecharter rules search "unused parameter" --category naming --severity warn
Die Suchanfrage ist ein Freitext-Argument; lasst es weg, um den Katalog in einer stabilen Reihenfolge zu durchblättern. Optionen:
| Option | Zweck |
|---|---|
--scope |
Zu durchsuchender Bestand: example (der kuratierte Katalog, Standard) oder mine (eure eigenen Regeln). |
--category |
Kategoriefilter, wiederholbar (ODER-Verknüpfung). |
--severity |
Schweregradfilter, wiederholbar (ODER-Verknüpfung): info, warn, error. |
--tag |
Tag-Filter, wiederholbar; ein Treffer muss jedes übergebene Tag tragen. |
--in-profile |
Beschränkt auf Regeln, die in einem Profil verwendet (true) oder nicht verwendet (false) werden. |
--page / --page-size |
Seitensteuerung; Seitengröße standardmäßig 25, maximal 100. |
--portal-url |
Basis-URL des Portals (Standard: das gehostete Portal). |
--api-key |
Bearer-API-Key; ohne Angabe wird auf die installierte Lizenz zurückgegriffen. |
Der Befehl gibt die gefundenen Regeln mit Slug, Kategorie, Schweregrad, letzter Version
(oder unpublished), der Anzahl referenzierender Profile und einem Relevanz-Score aus,
gefolgt von den Facettenzahlen für Kategorie, Schweregrad und Tag. Er endet mit
Exitcode 0, sobald die Suche abgeschlossen ist, unabhängig von der Trefferzahl, und mit
2 bei einem Nutzungsfehler, einem nicht erreichbaren Portal oder einem fehlenden
Zugangsdatum.
Suche über einen KI-Assistenten
Der MCP-Server stellt denselben Katalog über das Werkzeug
search_rules bereit. Ein Assistent mit installiertem CodeCharter-MCP-Server sollte
search_rules aufrufen, bevor er scaffold_rule verwendet, wenn ihr ihn bittet, eine
neue Regel zu schreiben: Ein Treffer bedeutet, eine vorhandene Regel anzupassen statt
dieselbe Prüfung ein zweites Mal zu schreiben. search_rules akzeptiert einen
Freitext-query sowie dieselben Filter scope, categories, severities, tags und
in_profile wie die Kommandozeile und liefert Treffer zusammen mit Facettenzahlen zurück,
sodass der Assistent eine engere Suche vorschlagen kann, statt zu raten. Die vollständige
Werkzeugreferenz und den Ablauf, in den search_rules eingebettet ist, findet ihr unter
MCP-Regelautorisierung.
Von der übernommenen Regel zur CI
Eine übernommene Regel startet genau wie eine neu angelegte: als Entwurf in eurem Tab Meine. So bringt ihr sie zum Einsatz:
- Öffnet sie im Regeleditor, passt Quelltext oder Spezifikation nach Bedarf an und führt die Spezifikation aus.
- Veröffentlicht eine Version, sobald die Spezifikation besteht (siehe Veröffentlichen).
- Fügt die veröffentlichte Regel einem Profil hinzu und veröffentlicht eine Profilversion: genau die referenzieren eure CI-Pipelines.
Weiterführend
- Regeln verwalten: der Tab Meine, der Regeleditor und das Veröffentlichen.
- Profile verwalten: veröffentlichte Regeln für die CI bündeln.
- Alle eingebauten Regeln: die vollständige Referenzliste der Katalogregeln.
- MCP-Regelautorisierung:
search_rulesund der übrige KI-gestützte Autorisierungsablauf.