In Entwicklung · MVP

Die Plugins werden gerade intern pilotiert und ändern sich noch. Skills, Hooks, Befehle und Installationsschritte können sich zwischen Versionen ohne Ankündigung ändern. Codex ist noch nicht getestet. Feedback und Probleme bitte an das zdrei.com-Entwicklungsteam.

Plugin-Marketplace für Claude Code und Codex

So schreiben wir Code. Jetzt auch die Agents.

AI-Agents schreiben schnell Code, aber sie wissen nicht, wie wir Code schreiben. Dieser Marketplace gibt jedem Agent in einem zdrei.com-Projekt unsere Philosophie von Code und Architektur mit: automatisch und immer in der aktuellen Version.

  1. Marketplace hinzufügen einmalig, mit eurem Deploy Token
    claude plugin marketplace add "https://<token-user>:<token>@git.z3.ag/zdrei.com/product/p1599-ai-marketplace.git"
  2. Plugin installieren Version 0.4.0
    claude plugin install zdrei-core@zdrei

Bei zdrei.com übernehmen die Managed Settings beide Schritte, inklusive Auto-Update. Wer von Hand installiert, schaltet danach Auto-Update ein: /plugin → Marketplaces → zdrei. Alle Installationswege, auch für Codex

WissenGuideline

Die vollständigen Coding Guidelines und ADRs, beim Sessionstart geladen.

ArbeitsweiseSkills

develop und setup machen die Golden Rules zum Workflow.

Harte ChecksHooks

PHP-Lint, PHP-CS-Fixer und PHPStan laufen automatisch.

UnabhängigReview

Ein Agent findet, ein zweiter bestätigt oder verwirft.

Idee

Fünf Grundsätze

Eine Guideline, kein Regelkatalog

Der Agent arbeitet mit den vollständigen zdrei.com Coding Guidelines. Die Golden Rules stehen vorn und begründen jede Detailregel.

Philosophie wird Arbeitsweise

Die Golden Rules prägen, wie der Agent arbeitet, nicht nur was er prüft: erst verstehen und planen (1.5), Generisches vom Spezifischen trennen (1.6), gleiche Begriffe für Gleiches (1.2).

Tools prüfen Deterministisches

Formatierung, Typisierung und die PHP-Regeln aus z3/sdk erzwingen PHP-CS-Fixer und PHPStan. Die AI beurteilt, was Urteilsvermögen braucht: Struktur, Benennung, generisches Design.

Finden und Bestätigen sind getrennt

Ein Review-Befund zählt erst, wenn ein unabhängiger Agent ihn am Code überprüft hat.

Eine Quelle, überall verteilt

Die Guideline wird an einer Stelle gepflegt und erreicht jedes Projekt über Plugin-Updates. Projekte ergänzen eigene Regeln, sie kopieren und ändern unsere nicht.

Guideline, Abschnitt 1

Die Golden Rules

Wähle eine Regel, um zu sehen, was sie verlangt und wo das Plugin sie anwendet.

Beispiel

Ein Feature in einem bestehenden Projekt

In einem TYPO3-Projekt sollen Referenzen nach Branche filterbar werden. Das Projekt wurde einmal mit /zdrei-core:setup eingerichtet.

    Kleine Änderungen brauchen weniger: Ein Tippfehler braucht weder Plan noch Review, die Checks nach jedem Edit laufen trotzdem. Den Plan zu bestätigen ist eine Empfehlung; bei „mach einfach“ legt der Agent los.

    Plugin zdrei-core

    Komponenten

    Plugins im Marketplace

    PluginVersionInstall-IDZweck
    zdrei-core0.4.0zdrei-core@zdreizdrei.com Golden Rules und PHP Coding Guidelines: immer geladen, als Workflow angewandt, durch Hooks und unabhängiges Review durchgesetzt.
    security-auditc1c8a8csecurity-audit@zdreiCloudflares Security-Audit-Skill (MIT), auf einen geprüften Commit gepinnt. Wird als Abhängigkeit von zdrei-core automatisch installiert.

    Unterstützung je Tool

    EbeneKomponenteClaude CodeCodex
    Wissenskills/guideline mit Coding Guidelines und ADRsPer Hook beim Sessionstart, Skill bei BedarfSkill
    Workflowskills/develop, skills/setupSkillsSkills
    Harte Checkshooks/hooks.jsonHooksNoch nicht verifiziert
    Unabhängiges Reviewskills/review mit zwei AgentsSkill + SubagentsSkill, zwei Durchgänge
    Hooks

    Wann welche PHP-Checks laufen

    Das hängt davon ab, ob das Projekt den zdrei.com-Builder hat.

    Skill security

    Security-Review aus drei Quellen

    /zdrei-core:security kombiniert vorhandene Werkzeuge, statt alles selbst zu bauen. Standard ist das Review einer Änderung; ein vollständiges Audit läuft nur auf ausdrücklichen Wunsch.

    QuelleWas sie beiträgtVerfügbar in
    security-reviewEingebaut in Claude Code. Schnelles Review der offenen Änderungen auf dem Branch.Claude Code
    security-auditCloudflares Methode: Trust Boundaries, Angriffsklassen, Candidate Gate, unabhängige Validierung. Auf Wunsch das vollständige Audit in sechs Phasen.Claude Code; in Codex nur separat installiert
    php-typo3-hotspots.mdWo PHP-, TYPO3- und Symfony-Projekte typischerweise brechen.Überall

    Ein Befund zählt nur, wenn er einen niedriger privilegierten Akteur, die Eingabe, die verletzte Grenze und ein konkretes Ergebnis benennt. Das vollständige Audit nutzt viele Agents, braucht Node.js für die Validatoren und schreibt seinen Bericht nach ~/security-audit-skill/<repo>/run-<N>, außerhalb des Projekts.

    Installation

    Den Marketplace einbinden

    Das Repository ist privat. Zugriff gibt es über einen lesenden Deploy Token (Scope read_repository): einen für zdrei.com und je einen pro Kunde, damit jeder Zugang einzeln widerrufen werden kann. Der Token ist Teil der Marketplace-URL.

    Standardweg für zdrei.com. Ein Admin mit Owner-Rolle trägt dieses JSON einmal ein unter claude.ai → Organization settings → Claude Code → Managed settings (alternativ als managed-settings.json oder per MDM).

    {
      "extraKnownMarketplaces": {
        "zdrei": {
          "source": {
            "source": "git",
            "url": "https://<token-user>:<token>@git.z3.ag/zdrei.com/product/p1599-ai-marketplace.git"
          },
          "autoUpdate": true
        }
      },
      "enabledPlugins": {
        "zdrei-core@zdrei": true
      }
    }
    • Claude Code registriert den Marketplace und installiert zdrei-core beim nächsten Sessionstart. Niemand muss einen Befehl ausführen oder den Token kennen.
    • Automatische Updates sind an und lassen sich nicht versehentlich abschalten.
    • Der verwaltete Eintrag ersetzt einen von Hand angelegten Marketplace namens zdrei.
    • Prüfen: Claude Code starten, /plugin zeigt zdrei und zdrei-core; /status listet Enterprise managed settings.

    Gilt nur für Claude Code und für alle in der Organisation. Codex-Nutzer installieren von Hand.

    Regeln für den Token
    • Den Marketplace nie mit --scope project hinzufügen. Die URL samt Token landet sonst in .claude/settings.json des Projekts und wird committet.
    • Den Token nie in ein Repository, Ticket oder einen Chat schreiben. Er liegt im Klartext in ~/.claude/settings.json und ~/.claude/plugins/known_marketplaces.json.
    • Der Token kann nur dieses Repository lesen, das keine Secrets enthält. Wird er bekannt: widerrufen und neu ausgeben.
    Support

    Fehlerbehebung

    Die häufigsten Probleme nach Symptom. Jeder Eintrag hat einen eigenen Link, den du im Chat oder Ticket teilen kannst.

    › Pluginzdrei-core zeigt „failed to load“nach Token-Wechsel

    Die Marketplace-URL zeigt noch auf den alten Token. Zuerst den Marketplace aktualisieren:

    claude plugin marketplace update zdrei

    Hilft das nicht, den Marketplace ersetzen wie unter Token wechseln beschrieben. Die URL in den Settings nie von Hand ändern.

    › PluginNeue Version kommt nicht anPlugin bleibt alt
    • Auto-Update ist aus: /plugin → Marketplaces → zdrei → Enable auto-update.
    • Der Token wurde widerrufen. Installierte Plugins laufen weiter, Updates schlagen fehl. Neuen Token wie unter Token wechseln eintragen.
    • Die version in plugin.json wurde nicht erhöht. Nutzer bekommen nur dann eine neue Version.

    Sofort aktualisieren:

    claude plugin marketplace update zdrei
    claude plugin update zdrei-core@zdrei
    › HookKein Hinweis auf eine neue Versionbeim Sessionstart
    • Der SessionStart-Hook prüft höchstens einmal am Tag. Ein neues Release erscheint also frühestens am nächsten Tag als Hinweis.
    • Er fragt die Tags per SSH ab (git@git.z3.ag:…). Wer nur per Deploy Token zugreift, bekommt keinen Hinweis; die Prüfung schlägt still fehl.
    • Abhilfe: Umgebungsvariable ZDREI_MARKETPLACE_URL auf die HTTPS-Adresse ohne Token setzen und den Token im Schlüsselbund ablegen (Ohne Token im Klartext).
    › HookPHP-Checks laufen nichtnach einem PHP-Edit
    • php ist nicht im PATH der Claude-Code-Session. Dann überspringen die Hooks alle Checks ohne Meldung. Prüfen mit ! which php.
    • Nur Dateien mit der Endung .php lösen die Checks aus.
    • Ohne bin/builder laufen PHP-CS-Fixer und PHPStan nur, wenn sie im bin-dir aus composer.json liegen (Standard vendor/bin) und ihre Konfiguration im Projekt-Root liegt. Siehe PHP-Checks.
    • /zdrei-core:setup prüft das Tooling des Projekts und zeigt, was fehlt.
    › Hook„still reports findings after 3 attempts“Agent hört auf

    Der Stop-Hook schickt Befunde von bin/builder analyse:php höchstens dreimal hintereinander an den Agent zurück. Danach gibt er an dich ab. Befunde selbst ansehen und beheben, nicht unterdrücken und die PHPStan-Konfiguration nicht ändern:

    bin/builder analyse:php
    › Setupzdrei-core fehlt in /pluginnach dem Rollout
    • Managed Settings greifen erst beim nächsten Sessionstart. Claude Code neu starten.
    • /status muss Enterprise managed settings als Quelle zeigen. Fehlt die Zeile, ist das Gerät nicht in der Organisation angemeldet.
    • Bei Kunden ohne Managed Settings: von Hand installieren, siehe Claude Code von Hand.
    › Codexsecurity-audit fehlt in Codex/zdrei-core:security

    Codex installiert Cloudflares Skill nicht automatisch als Abhängigkeit. Einmal separat installieren, siehe Codex.

    Quelle

    Guideline und ADRs

    skills/guideline/references/coding-guidelines.md ist eine Kopie von doc/1_Guidelines/coding-guidelines.md aus p1453-z3-coding-styleguide, die ADRs kommen aus doc/5_Architecture/adr/. Geändert wird dort, nie hier. /update-guideline kopiert beides aus demselben Commit.

    Priorität beim Anwenden

    1. Golden Rules zuerst. Passt eine Detailregel nicht, wird im Sinne der Golden Rules entschieden.
    2. zdrei.com ADRs erklären Strukturregeln. Akzeptierte ADRs sind verbindlich, vorgeschlagene noch nicht.
    3. Projektregeln in AGENTS.md, CLAUDE.md, GLOSSARY.md und Projekt-ADRs ergänzen und gewinnen bei ausdrücklichem Widerspruch.
    4. Tools setzen Deterministisches durch. Befunde werden behoben, nie unterdrückt.

    Abschnitte der Guideline

    Die Golden Rules (Abschnitt 1) stehen oben. Die Links öffnen den Abschnitt im Repository.

    Nr.AbschnittKern
    2.1Project StructurePSR-4, zentrales tests/-Verzeichnis, Pakete unter packages/; 2.1.1 hierarchisches Composer-Setup; 2.1.2 Test-Setup nach Typ und Paket.
    2.2Naming ConventionsPascalCase für Klassen, camelCase für Methoden und Variablen, UPPER_SNAKE_CASE für Konstanten.
    2.3Services, Classes, and MethodsEine Verantwortung pro Klasse. Eine Funktion orchestriert oder führt einen Schritt aus. Klassen sind standardmäßig final; erweitert wird per Decorator.
    2.4Booleans & Namingis, has, should, can für boolesche Methoden und Variablen.
    2.5Early ReturnsFrüh zurückkehren, kein else, kein ! in booleschen Prüfungen.
    2.6Clean ComparisonsStrikte Vergleiche mit ===, saubere Zähl- und Leer-Prüfungen, keine Yoda Conditions.
    2.7Comments and DocumentationKommentare erklären das Warum, nicht das Was. Immer auf Englisch.
    2.8Blank Line Before ReturnEine Leerzeile trennt return von der Logik davor.
    2.9Gather Data Before AssignmentErst alle Daten sammeln, dann zuweisen oder ausgeben.
    2.10Return Value in VariableRückgabewerte erst in eine sprechende Variable, das erleichtert das Debugging.
    2.11Constants, Enums, and ConfigurationKonfiguration zuerst. Ein fester Wert ist eine Konstante, eine feste Menge ein Enum.
    2.12Static Analysis with PHPStanLevel max für neue Projekte, zdrei.com-Regelsatz, keine Baseline.
    2.13Code Style with PHP-CS-FixerNiemand formatiert von Hand. Symfony Coding Standard mit zdrei.com-Abweichungen.
    2.14Dependency InversionAbhängigkeiten auf Abstraktionen an Systemgrenzen. Das Interface gehört dem Konsumenten.
    3.1Commit MessagesFormat [TYPE] #<issue> Beschreibung /s<Minuten>.
    3.2Commit Early, Push OftenKleine, lauffähige Commits; spätestens am Ende des Tages pushen.

    Architecture Decision Records

    Im Plugin zitiert als zdrei.com ADR-NNNN, damit sie nicht mit den ADRs des Projekts verwechselt werden.

    Für Maintainer

    Release-Checkliste

    Nutzer bekommen eine neue Version nur, wenn sich version ändert. Der Haken wird nur in deinem Browser gespeichert.

    0 von 7 erledigt

    Lokal entwickeln

    claude --plugin-dir ./plugins/zdrei-core

    Nach Änderungen /reload-plugins ausführen.

    Versionen

    Changelog

    Quelle: CHANGELOG.md

    zdrei-core 0.4.0 unreleased

    • Coding Guidelines und ADRs aus p1453-z3-coding-styleguide, Commit f05c3cf: neuer Abschnitt 2.1.2 Test Setup; Klassen standardmäßig final und keine Constructor Injection in abstrakten Klassen (2.3); neue ADRs 0008–0010 (Proposed).

    zdrei-core 0.3.0 unreleased

    • Coding Guidelines und ADRs aus p1453-z3-coding-styleguide, Commit 2eac3c7: neuer Abschnitt 2.1.1 Hierarchical Composer Setup, Projektstruktur in 2.1 auf die Basis jedes Projekts reduziert, ADRs verlinken direkt auf Guideline-Abschnitte.
    • zdrei.com ADRs 0001–0007 als Teil des guideline-Skills; Sessionstart, Reviewer und Verifier verweisen darauf.

    zdrei-core 0.2.0 unreleased

    • Neuer Skill security: Change-Review mit security-review, Cloudflares Methode und PHP/TYPO3/Symfony-Hotspots; vollständiges Audit auf ausdrücklichen Wunsch.
    • Neuer Marketplace-Eintrag security-audit, gepinnt auf c1c8a8c, automatisch als Abhängigkeit installiert.
    • develop und review empfehlen das Security-Review bei sicherheitsrelevanten Änderungen.

    zdrei-core 0.1.0 unreleased

    • MVP: vollständige Coding Guidelines (Commit 379d45d) als Skill und Sessionstart-Kontext.
    • Skills develop, review, setup; Agents golden-rules-reviewer und golden-rules-verifier.
    • Hooks: PHP-Lint nach PHP-Edits, bin/builder fix:php + analyse:php am Ende jedes Turns (höchstens 3 Runden).
    • Update-Hinweis beim Sessionstart auf Basis der zdrei-core--v*-Tags.