Zum Inhalt springen

Regeln aus dem CodeCharter-Katalog suchen und übernehmen

Durchsuchen Sie den kuratierten CodeCharter-Regelkatalog, bevor Sie eine neue Regel schreiben, und übernehmen Sie eine passende Regel in Ihr eigenes Regelwerk.

Bevor Sie eine Regel komplett neu schreiben, 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. Sie können ihn durchsuchen, den vollständigen Quelltext jeder Regel lesen und eine Regel unter einem selbst gewählten Slug in Ihr 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 Sie gerade arbeiten.

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 Ihrer Organisation verfasst, und erscheinen deshalb bei jedem Kunden identisch. Nutzen Sie sie unverändert, indem Sie sie einem Profil hinzufügen, oder übernehmen Sie eine als Ausgangspunkt und passen Sie sie an Ihre eigenen Konventionen an.

Ihre eigenen Regeln liegen getrennt davon im Tab Meine; wie Sie diese anlegen, bearbeiten und veröffentlichen, steht unter Regeln verwalten.

Durchsuchen und filtern

Öffnen Sie 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ählen Sie einen oder mehrere Werte, um zu filtern. Jede Ergebniskarte zeigt Name, Slug, Kategorie und Standard-Schweregrad der Regel.

Eine Katalogregel lesen

Klicken Sie auf 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

Klicken Sie auf einer Karte oder der Detailseite auf Übernehmen, um die Regel in Ihr 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 Ihrer Organisation bereits vergeben ist) und prüft den von Ihnen gewählten Slug während der Eingabe gegen Ihre vorhandenen Regeln.

Das Bestätigen legt in Ihrem 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: Öffnen Sie sie im Regeleditor, führen Sie die Spezifikation aus, passen Sie DSL oder Spezifikation nach Bedarf an und veröffentlichen Sie 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 Ihre übernommene Regel erscheint an keiner Stelle im Katalog als Variante des Originals. Wenn Sie eine neuere Version einer bereits übernommenen Katalogregel möchten, übernehmen Sie sie erneut unter einem anderen Slug und vergleichen Sie beide, oder gleichen Sie 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; lassen Sie 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 (Ihre 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 Sie ihn bitten, 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, finden Sie unter MCP-Regelautorisierung.

Von der übernommenen Regel zur CI

Eine übernommene Regel startet genau wie eine neu angelegte: als Entwurf in Ihrem Tab Meine. So bringen Sie sie zum Einsatz:

  1. Öffnen Sie sie im Regeleditor, passen Sie Quelltext oder Spezifikation nach Bedarf an und führen Sie die Spezifikation aus.
  2. Veröffentlichen Sie eine Version, sobald die Spezifikation besteht (siehe Veröffentlichen).
  3. Fügen Sie die veröffentlichte Regel einem Profil hinzu und veröffentlichen Sie eine Profilversion: genau die referenzieren Ihre CI-Pipelines.

Weiterführend