registry.yaml als einzige Quelle der Wahrheit: Pack-Felder, uses_skills, external_module, pipelines, intake, Prüfungen, Generiertes und wie ein Team mit Maker einen Agent oder ein Pack ergänzt.
Hinter jeder Liste, Zahl und generierten Anweisungsdatei von BMAD+ steht eine einzige Datei: registry.yaml im Stamm des BMAD+-Quell-Repositorys. Sie deklariert die Packs, ihre Agenten, Skills, Datendateien, das Installationslayout, Laufzeiten und Compliance-Tags, die Adapter, die Datenverarbeitungs-Doktrin und mehr. Alles Nachgelagerte wird daraus generiert, sodass eine Liste, eine Zahl oder ein Adapter nicht von den Deklarationen abweichen kann. Diese Seite richtet sich an alle, die diesen Vertrag verstehen, die generierten Dateien mit Zuversicht lesen oder BMAD+ in einem Fork oder einer Team-Distribution erweitern wollen.
Hinweis· Eine Datei des Quell-Repositorys
Das npm-Paket liefert die generierten Ergebnisse (die Pack-Definitionen in der CLI, module.yaml, die Adapter) und die Generator-Skripte tools/build/generate.js, generate-adapters.js und intake-contract.js, aber nicht registry.yaml selbst. Ein installiertes Projekt enthält die Registry also nie; es enthält AGENTS.md, _bmad/module.yaml und die Skills. Um die Registry zu ändern, arbeitest du in einem Klon des BMAD+-Repositorys.
Codename, Anzeigename, Version (gegen package.json geprüft), die BMAD-METHOD-Version, von der es abstammt, und ob der Upstream-Hinweis beibehalten werden muss.
targets
Die Rückgratdatei, der Integrationsvertrag (execution: host-managed, lifecycle_events: not-integrated), das optionale Prozess-Backend (command, codex-exec, Supervisor im Vordergrund, keine Zeitplanung), die sieben Adapter und die unterstützten Modellfamilien (claude, gpt, gemini, local).
runtimes
Node.js 20 oder neuer; Python 3.11 oder neuer mit uv und einem pipx-Fallback für die optionale Bereitstellung.
memory
Die Gedächtnisbereiche (Projektdateien, Portfolio) und die vier Leitplanken.
eval
Die Bewertungs-Gates (Replay bei Pull Requests; native Host-Läufe bei Modellwechseln).
data_handling
Die Doktrin hinter der Datenverarbeitungs-Seite: jeder Fluss, der die Maschine verlassen kann, mit seiner Einwilligungsgrundlage.
packs
Die zehn Packs und alles in der nächsten Tabelle.
Felder eines Packs
Feld
Was es deklariert
order, display_name, cli, summary
Installations- und Anzeigereihenfolge, Namen, die genauen Zeichenfolgen des Installers. Zahlen in einer Zusammenfassung werden über Platzhalter abgeleitet: Der Generator lehnt eine von Hand getippte Zahl von Agenten, Skills, Workflows oder Packs in diesen Feldern ab.
required, runtime
Core ist required: true. Die Laufzeiten, die ein Pack braucht (node, und python für SEO).
agents, personas
Die Agent-IDs, die der Installer registriert, und die sichtbare Persona jedes Agenten (Name, Rolle, Beschreibung).
skills, data
Skill-Verzeichnisse und Datendateien, die das Pack installiert.
install_layout, pack_dir, doctor
loose kopiert Agent-Verzeichnisse nach .agents/skills/; packaged kopiert ein Pack-Verzeichnis (pack-<name>), das seine Agenten enthält. doctor listet die Agent-Dateien und Pflichtressourcen, die bmad-plus doctor prüft.
uses_skills
Die Skill-IDs, die ein Pack oder eine Persona steuert (siehe unten).
external_module
Skills aus einem festgenagelten npm-Paket (siehe unten).
pipelines
Geordnete Schritte mit je einem Gate (siehe unten).
intake
Die Fragebogen-Datei des Packs (siehe die Intake-Seite).
governance, required_keys, optional_keys
Für OSINT: das Rechtsgrundlagen-Gate samt Vorlagen und die API-Schlüssel.
cohabitation_warning
Ein Satz dazu, wie sich das Pack mit einem anderen überschneidet. Der Installer zeigt ihn, und er wird als - Cohabitation (<pack>): ... unter den Registry-Fakten von Rückgrat und Adaptern ausgegeben.
compliance_tags
Rahmenwerke, auf die sich ein Pack bezieht (zum Beispiel GDPR und EU-AI-Act bei OSINT).
Ein Pack oder eine Persona listet die Skill-IDs, die sie steuert. Der Generator löst jede ID auf: Sie muss ein Skill eines beliebigen Packs, eines external_module oder von Core sein, und eine ID, die niemand liefert, lässt den Build scheitern. Die Rückgrat-Liste zeigt dann - drives: design, design-review, redesign hinter der Persona, und die generierten Anweisungen sagen dem Agent, vor dem Handeln das SKILL.md jedes gelisteten Skills zu lesen. Hier die echte Deklaration der Persona des Design-Packs.
Ein Pack kann seine Skills aus einem veröffentlichten Paket statt aus dem BMAD+-Baum beziehen. Das Design-Pack ist das erste: Seine drei Skills stammen aus design-skill, festgenagelt auf die exakte Version 0.2.1. Das Paket ist eine exakte Abhängigkeit von BMAD+ und steht in der Datenverarbeitungs-Doktrin. Beim Build löst der Generator das Paket auf, prüft, dass seine Version der deklarierten entspricht und dass skills/<id>/SKILL.md für jeden gelisteten Skill existiert. Bei der Installation löst BMAD+ das Paket aus seiner eigenen Installation auf, lehnt eine abweichende Version ab und kopiert nur das Verzeichnis skills/ des Pakets nach .agents/skills/<id>/, über dieselbe verwaltete, hash-inventarisierte Kopie wie jede andere Datei (kein Symlink wird verfolgt). Der Tarball liefert außerdem ein Linker-Kommandozeilenwerkzeug, das BMAD+ nie ausführt. bmad-plus doctor verlangt die drei SKILL.md; die Deinstallation entfernt die kopierten Skills zusammen mit den übrigen verwalteten Dateien.
Ein Pack kann Pipelines deklarieren: eine geordnete Abfolge seiner eigenen Workflows oder Agenten, jeder Schritt mit einem Gate (require_approval, notify_only oder auto). Nexus führt eine deklarierte Pipeline Schritt für Schritt mit dem konfigurierten Checkpoint-Verhalten aus, nach dem Intake des Packs. Pipeline-IDs müssen im Pack eindeutig sein, und jeder Schritt nennt genau einen workflow oder einen agent, der im Pack existiert. In 0.23.0 deklariert kein Pack eine Pipeline: Das Feld existiert, wird validiert und vom Autopilot verstanden und ist für Packs da, die es brauchen. Das Beispiel ist das Format aus der Spezifikation, kein mitgelieferter Inhalt.
Format einer Pipeline nach der Spezifikation docs/specs/core-orchestration.md (eine Datei des Quell-Repositorys, nicht im npm-Paket enthalten)
.agents/data/role-triggers.yaml steuert den Rollenwechsel. Die Prüfung npm run check:triggers (im Quell-Repository) validiert sie gegen die Registry: Ein Schlüssel der obersten Ebene muss ein Core-Agent-Kurzname (strategist, architect-dev, quality, orchestrator) oder eine Pack-ID sein; default_role muss einer der auto_triggers des Schlüssels sein; jede Rolle hat eine nicht leere patterns-Liste; contexts und reasoning sind, falls vorhanden, Listen von snake_case-Bezeichnern; unter einem Pack-Schlüssel ist jede Rollen-ID eine Persona- oder Pipeline-ID dieses Packs; und ein exakt wiederholtes Muster in zwei Rollen desselben Schlüssels ist ein Fehler. Drei Core-Kontexte verweisen auf die Funktionen dieser Seite: swarm_declared und panel_requested (Parallel Supervisor) sowie pack_pipeline_declared (Autopilot).
Was generiert wird und die Prüfungen, die es ehrlich halten#
Befehle in einer BMAD+-Quellkopie
Befehl
Was er tut
npm run build
Führt tools/build/generate.js aus und schreibt die Pack-Definitionen in tools/cli/lib/packs.js und src/bmad-plus/module.yaml aus der Registry.
npm run build:check
Scheitert, wenn die Registry diese beiden Dateien nicht mehr reproduziert, wenn product.version von package.json abweicht oder wenn ein deklarierter Pfad, Skill, externes Modul oder Intake falsch ist.
node tools/build/generate-adapters.js --adopt
Erzeugt AGENTS.md und die Adapter-Dateien neu (CLAUDE.md, GEMINI.md, .cursor-Regeln, .codex- und .opencode-Dateien, CONVENTIONS.md). --check prüft sie ohne zu schreiben.
npm run check:counts
Durchsucht die ausgelieferten Oberflächen nach von Hand getippten Zahlen („N agents“, „N workflows“, „N packs“) und scheitert an jeder, die dem widerspricht, was Registry und Dateien ergeben. Eine Zahl wird gegen ihr Subjekt geprüft: 38 stimmt für Dev-Studio-Workflows und ist für Agenten falsch.
npm run check:triggers
Validiert die Rollen-Auslöser wie oben beschrieben.
Ein Skill ist ein Ordner mit einer SKILL.md: einem Kopfbereich mit name und description (die sagt, wann er zu nutzen ist, in Worten, die dein Assistent erkennen kann), dann das Verfahren. Längeres Material liegt in einem Ordner ref/ daneben, Vorlagen in templates/. Jeder Agent ist auch ein Skill: agent-strategist/SKILL.md ist Atlas. Der Host lädt das benötigte SKILL.md, deshalb zählt die Beschreibung: Sie lässt einen Assistenten den Skill wählen. Die sechs Core-Skills unten werden mit jeder Installation geliefert.
Die Core-Skills
Skill
Was er tut
Gesteuert von
bmad-plus-autopilot
Nexus führt Discovery, Build und Ship mit Checkpoints aus; zuerst der Intake jedes beteiligten Packs.
Nexus (AP)
bmad-plus-parallel
Erkennt unabhängige Aufgaben und überwacht sie (starten, beobachten, anhalten, neu starten, umverteilen, eskalieren); enthält den Schwarm-Abschnitt.
Nexus (PL)
bmad-plus-swarm
Moderator-Protokoll für Panel-, Jury- und Fanout-Schwärme im Budget.
Nexus Parallel Supervisor
bmad-plus-intake
Protokoll für bmad-plus intake: planen, wenige Fragen stellen, erfassen, rendern.
Jedes Pack mit Intake; Autopilot
bmad-plus-uat
Menschliches Abnahmeprotokoll: Spezifikation schreiben, Seite bauen, lesen, klassifizieren, Gate.
Sentinel (RB, RR, RG); Autopilot
bmad-plus-sync
Protokoll zur einmaligen Prüfung des installierten Rahmenwerks pro Sitzung; für Maintainer Pakete zur Prüfung von Upstream-Änderungen (keine automatische Upstream-Übernahme).
Alle; Maintainer
Weitere Skills kommen mit ihren Packs: dev-studio (der Dispatcher des Packs), die aus design-skill kopierten Skills design, design-review und redesign, die Skills bmad-osint-investigate und bmad-osint-investigator des OSINT-Pakets. Die Packs SEO und Design tragen außerdem ein Router-SKILL.md, das reagiert, wenn du /seo oder /design in eine Nachricht schreibst; das sind Anfrage-Schlüsselwörter, keine von deinem Client registrierten Slash-Befehle.
Maker ist der Agent Creator des Maker-Packs. Er entwirft mit dir einen Agent in vier Phasen (Discovery, Design mit deiner Freigabe, Generierung, Validierung) und schreibt ein Paket unter _bmad-output/ready-to-integrate/. Seine Fähigkeiten: CA Agent erstellen, QA Schnell-Agent mit weniger Fragen, EA das SKILL.md eines vorhandenen Agenten direkt an Ort und Stelle bearbeiten (ohne diesen Ordner), VA ein Agent-Paket validieren (Format, Manifest, eindeutige Fähigkeitscodes, Qualität der Auslöser), PA für die Integration verpacken, TP die Vorlage zeigen.
Was Maker schreibt
Datei
Inhalt
agents/agent-<name>/SKILL.md
Der Agent: Überblick, Identität, Kommunikationsstil, Prinzipien, Fähigkeitentabelle mit Zwei-Buchstaben-Codes, Aktivierungsschritte.
Ein fertig einfügbarer Ausschnitt für die Tabelle packs: der registry.yaml (Reihenfolge, Anzeigename, Icon, CLI-Eintrag, Laufzeit, Zusammenfassung, Agenten, Personas, Skills, Installationslayout, Compliance-Tags, benötigte Schlüssel).
INTEGRATION.md
Integrationsanleitung: zu kopierende Dateien, der zu ergänzende Registry-Eintrag, die Zeile für den Hilfe-Index, die Abfolge aus Neugenerierung und Prüfung, eine Test-Installation.
Hinweis· Makers Integrationshinweis folgt der Registry
Das von Maker geschriebene INTEGRATION.md geht von der Registry aus: Es verlangt, den Eintrag aus pack-definition.yaml unter packs: in registry.yaml einzutragen, die daraus generierten Dateien nie zu bearbeiten (tools/cli/lib/packs.js, die Pack-Metadaten von src/bmad-plus/module.yaml, AGENTS.md und die übrigen Adapter), eine Zeile in src/bmad-plus/module-help.csv von Hand zu ergänzen, neu zu generieren und die Drift-Prüfungen auszuführen. Die folgenden Schritte entsprechen derselben Reihenfolge.
01
Den Agent erstellen und validieren
Fordere CA bei Maker an, beantworte seine Discovery-Fragen, bestätige die Design-Tabelle und führe VA auf dem Ergebnis aus.
02
In einen Klon des Repositorys kopieren
Lege den Agent-Ordner unter src/bmad-plus/agents/ ab (loser Agent) oder in ein Pack-Verzeichnis (gepacktes Pack).
03
In registry.yaml deklarieren
Ergänze oder erweitere ein Pack: agents, personas (mit uses_skills, falls es Skills steuert), skills, install_layout, doctor und bei Bedarf intake, pipelines, cohabitation_warning. Füge Rollen-Auslöser in role-triggers.yaml unter der Pack-ID hinzu, wenn du automatische Aktivierung willst.
04
Neu generieren und prüfen
Führe npm run build, node tools/build/generate-adapters.js --adopt, dann npm run build:check, npm run check:counts und npm run check:triggers aus. Jeder Fehler nennt das zu korrigierende Feld.
05
In einem Wegwerf-Projekt installieren
Führe den Installer aus deinem Klon mit --packs core,<your-pack> aus und danach doctor: Er darf keinen Fehler melden. Der Installationsvertrag des Repositorys (npm run test:install-contract) prüft dasselbe für jedes Pack.
In einem installierten Projekt kannst du ohne Klon trotzdem eigene Skill-Ordner unter .agents/skills/ ablegen. BMAD+ behandelt Dateien, die es nicht installiert hat, als deine: bmad-plus doctor meldet sie als ohne Besitzer (eine Warnung, kein Fehler), und Update wie Deinstallation lassen sie stehen. Sie sind nicht in der Agent-Liste eingetragen, das Rückgrat erwähnt sie also nicht; ergänze eine Zeile in deiner eigenen Anweisungsdatei oder im Adapter, wenn der Assistent sie finden soll.
Nutze es mit installiertem Maker-Pack. Das Paket wird nach _bmad-output/ready-to-integrate/ geschrieben; sonst wird nichts geändert.
In deinem KI-Assistenten
Maker, erstelle einen Kundensupport-Agent für unser Team: Er sortiert eingehende Tickets, entwirft Antworten in unserem Ton und eskaliert alles zur Abrechnung an einen Menschen. Stelle mir deine Discovery-Fragen in einem Block, zeige mir die Design-Tabelle (Name, Rollen, Fähigkeiten mit Zwei-Buchstaben-Codes, Auslöser, Abhängigkeiten) und warte auf meine Freigabe, bevor du generierst. Validiere dann das Paket und sage mir, was in der Registry noch zu deklarieren ist.
Das solltest du erhalten Ein Fragenblock, eine von dir freigegebene Design-Vorschau, dann _bmad-output/ready-to-integrate/ mit dem SKILL.md des Agenten, seinem Manifest, einem Pack-Ausschnitt und einem Integrationshinweis, gefolgt von der Validierungs-Checkliste (Format, Manifestfelder, eindeutige Fähigkeitscodes, Qualität der Auslöser). Nichts wird installiert oder registriert, bevor du es tust.