Dokumentation durchsuchen

Projektstruktur

Jeder Ordner und jede Datei, die BMAD+ in einem Projekt und auf deinem Rechner anlegt, welcher Befehl sie erzeugt und ob sie dir gehört, BMAD+ sie verwaltet oder als Zustand unberührt bleiben soll.

Auf dieser Seite
  1. Die Karte
  2. Was wem gehört
  3. Was unter Versionskontrolle gehört
  4. Was uninstall entfernt und behält
  5. Beispiel

BMAD+ schreibt an ein paar gut benannte Stellen und sonst nirgends. Wer weiß, was was ist, beantwortet die drei praktischen Fragen: Was darf ich bearbeiten, was sollte ich einchecken und was wird bei einer Deinstallation entfernt. Diese Seite kartiert alle.

Die Karte

Ein Projekt mit mehreren Packs nach etwas Nutzung (Ordner entstehen, wenn die Befehle laufen, die sie anlegen)
your-project/
├── AGENTS.md                      common spine for every assistant
├── CLAUDE.md, GEMINI.md, ...      one adapter per selected tool
├── .agents/
│   ├── skills/                    agents, packs and skills (agent-*, pack-*, bmad-plus-*, ...)
│   ├── data/role-triggers.yaml    auto-activation rules
│   └── memory/                    project memory (Memory pack)
├── _bmad/
│   ├── config.yaml                your settings
│   ├── module.yaml, module-help.csv
│   ├── .bmad-plus-install.json    install manifest (ownership hashes)
│   └── update-policy.json         only after update-policy
├── _bmad-output/                  deliverables written by agents and commands
│   ├── discovery/  build/         created by install
│   └── uat/  review/  assurance/  design/  dev-studio/  osint-reports/  ready-to-integrate/
├── .bmad/                         local state: caches, locks, receipts, journals, Python environments
├── .bmad-plus/                    durable run state: swarm/ and nexus/
├── docs/                          created empty by install
└── backups/                       only with the Backup pack

Was wem gehört

Eigentum wird festgehalten, nicht geraten. Bei der Installation speichert BMAD+ einen Inhalts-Hash jeder Datei, die es unter .agents/ kopiert, sowie von _bmad/module.yaml und _bmad/module-help.csv: Diese Liste ist das Datei-Inventar im Manifest. Eine Datei, deren Hash noch passt, gehört BMAD+: update frischt sie auf, uninstall entfernt sie. Eine Datei, die du geändert hast oder die BMAD+ nie geliefert hat, gehört dir: update behält sie und meldet einen Konflikt, uninstall lässt sie stehen. Deine Einstellungen, dein Gedächtnis und die Ergebnisse in _bmad-output/ stehen nie im Inventar.

Jeder Ort, wer ihn anlegt und ob du ihn bearbeitest
PfadAngelegt vonZum Bearbeiten für dich?Hinweise
AGENTS.md, CLAUDE.md, GEMINI.md, CONVENTIONS.md, .cursor/rules/bmad-plus.mdc, .codex/AGENTS.md, .opencode/AGENTS.mdinstall, von update aufgefrischtNicht vorgesehenAus der Registry generiert. Änderst du eine, behält BMAD+ deine Version und frischt sie nicht mehr auf. Siehe die Seite zu den Adaptern.
.agents/skills/install, updateNein: gehört BMAD+Ein Ordner pro Agent (agent-*), pro Pack (pack-<name>) und pro Skill (bmad-plus-*, dev-studio, design, ...). Geänderte Dateien bleiben als Konflikte erhalten.
.agents/data/role-triggers.yamlinstall, updateNein: gehört BMAD+Die Regeln zur automatischen Aktivierung von Agentenrollen.
.agents/memory/install mit dem Memory-Pack; Agenten schreiben hineinJadecisions.md, lessons.md, patterns.md, context.md, ein Ordner sessions/ und ein Verweis .brain-link auf das genutzte Brain. Vorhandene Dateien werden nie überschrieben, uninstall behält den Ordner.
_bmad/config.yamlinstallJaDeine Einstellungen; siehe die Konfigurationsseite. Von uninstall behalten.
_bmad/module.yaml, _bmad/module-help.csvinstall, updateNein: gehört BMAD+Modulbeschreibung und Hilfeindex, im Inventar geführt.
_bmad/.bmad-plus-install.jsoninstall, updateNie von HandDas Manifest: Version, Packs, Tools, Sprache, Ausführungsmodus, Adapter-Fingerabdrücke und Datei-Inventar. Ist es unlesbar, kopiert install es nach .bmad-plus-install.json.corrupt.bak, bevor es repariert wird.
_bmad/update-policy.jsonupdate-policy (wenn du eine Richtlinie speicherst)Über den BefehlFehlt sie, gilt die Standardrichtlinie: notify. Eine ungültige Datei lässt die Update-Befehle die Arbeit verweigern.
_bmad/review-rules.yaml, _bmad/assurance/, _bmad/ai-processing-register.yamlDu, oder assurance init und ai-register initJaDie projekteigenen Review-Regeln, Assurance-Cases und das Register der KI-Integrationen. Keine davon existiert, bevor du sie anlegst.
_bmad-output/discovery/, _bmad-output/build/install (leer)JaHier landen Produkt-Briefing, PRD, Architektur und Stories. Nie im Inventar, daher nie entfernt.
_bmad-output/uat/uat-Befehle, AgentenSpecs und Triage: ja. Seiten: neu erzeugenspecs/, pages/, results/, triage/, checks/ und ORDER.md. Ergebnisse stammen von den Testenden; bearbeite sie nicht.
_bmad-output/review/<id>/review-BefehleNein: Belegescope.json, checklist.md, findings.json, findings.anchored.json, coverage.json, continue.json, compare.json zu einem Review.
_bmad-output/assurance/assurance-BefehleNein: BelegeDas per Hash verkettete Register (runs.jsonl) eines Assurance-Cases.
_bmad-output/design/, _bmad-output/dev-studio/, _bmad-output/osint-reports/, _bmad-output/ready-to-integrate/Atelier und intake, Dev Studio, Shadow, MakerJaDesign-Briefings und -Reviews, Dev-Studio-Berichte (<workflow-id>.md), OSINT-Dossiers und paketierte Agenten. Ein von intake render geschriebenes Briefing trägt eine Eigentumszeile und wird vom Befehl neu geschrieben: Bearbeite die Antworten, nicht das Briefing.
.bmad/update-check.jsonupdate-checkNie von HandEin 24-Stunden-Cache der letzten Registry-Antwort, mit Wartezeit vor einem neuen Versuch nach einem Fehler. Gefahrlos löschbar: Er wird neu aufgebaut.
.bmad/update.lockinstall, update (während sie laufen)Nur wenn veraltetVerhindert zwei gleichzeitige Installationen oder Updates. doctor meldet, wann sie veraltet ist (Besitzer weg oder älter als 60 Minuten), und nennt die zu löschende Datei.
.bmad/updates/<receipt-id>/updateNie von Handreceipt.json und backups/ eines Updates. Das liest update --restore <receipt-id>; behalte sie, solange du zurückwollen könntest.
.bmad/venv/<pack>/install --provision-pythonNie von HandDie isolierte Python-Umgebung eines Packs, das eine braucht (SEO).
.bmad/memory/mem-BefehleNie von Handjournal.ndjson, pattern-scores.json und die Protokolle zu Promotionen und Ergebnissen: das Memory-Journal.
.bmad-plus/swarm/runs/<run-id>/, .bmad-plus/swarm/reports/swarm-BefehleNie von HandEin Ordner pro Schwarm-Lauf (Definition, Karten, Briefings, Antworten, Auszählung). Der Befehl schreibt nur unter diesem Baum. Füge Antworten mit swarm save hinzu.
.bmad-plus/nexus/runs/nexus-BefehleNie von HandDer maßgebliche Zustand dauerhafter Task-Läufe. Daneben kann eine .bmad-plus/orchestrator-state.yaml liegen, nur als Navigationsübersicht.
backups/Backup Manager (Backup-Pack)JaZIP-Archive des Projekts mit Zeitstempel. Das Backup-Pack schließt diesen Ordner aus seinen eigenen Archiven aus.
~/.bmad-plus/brain/install mit dem Memory-Pack (wenn kein anderes Brain gefunden wird), scanJaAußerhalb des Projekts, in deinem Home-Ordner: das globale Brain, das alle deine Projekte teilen. Von uninstall nie angefasst.

Was unter Versionskontrolle gehört

install ändert .gitignore nicht: Was du nicht ignorierst, erscheint in git status. Die Entscheidung liegt bei dir; die Tabelle oben liefert die Fakten dafür. Im aufgezeichneten Abnahmelauf ignorierte das Demoprojekt die installierten Pfade bereits, und git status --short blieb nach der Installation leer.

  • Teilenswert mit dem Team: _bmad/config.yaml (gemeinsames Verhalten), .agents/memory/ (gemeinsame Entscheidungen und Erkenntnisse), die Ergebnisse in _bmad-output/ und _bmad/update-policy.json, wenn die Richtlinie eine Teamregel ist.
  • Aus dem Paket reproduzierbar, daher kann ein Team sie lieber ignorieren: .agents/skills/, .agents/data/, die generierten Adapter-Dateien. Wer das Projekt klont, führt dann einmal install aus.
  • Lokaler Zustand, der auf einem anderen Rechner nichts bedeutet: .bmad/ und .bmad-plus/.

Hinweis Das ist ein Vorschlag

Diese Aufteilung folgt dem Entstehen und Nutzen jedes Ortes; BMAD+ selbst schreibt keine Versionskontroll-Richtlinie vor.

Was uninstall entfernt und behält

Wirkung von uninstall
EntferntBehalten
Dateien, die byteweise dem entsprechen, was BMAD+ unter .agents/skills/ und .agents/data/ liefert, einschließlich der aus dem Design-Paket kopierten Skills.agents/memory/, _bmad/config.yaml, _bmad-output/, jede geänderte Datei, jede Datei, die BMAD+ nicht geliefert hat
Die Moduldateien, das Installationsmanifest und die Adapter, die noch den Installationsmarker und einen passenden Fingerabdruck tragen (AGENTS.md, CLAUDE.md, ...).bmad/, .bmad-plus/ (Lauf-Zustand und Belege) und ~/.bmad-plus/brain
Leer gewordene Ordner werden entfernt; nichts wird rekursiv gelöschtAlles unter einem symbolischen Link oder einer Junction: uninstall fasst verlinkte Pfade nicht an
Uninstall in der Praxis
npx bmad-plus uninstall --yes --directory .\demo-app
T   BMAD+ Uninstaller
•  BMAD+ v0.23.0 (installé le 2026-10-18)
•  Packs sélectionnés: core, design
—  La mémoire, les réglages et les fichiers inconnus ou modifiés ont été conservés.
Die Zeile mit der Zahl entfernter Elemente fehlt absichtlich: Der erste aufgezeichnete Lauf, der einen Fehler aufdeckte, der die Design-Skills stehen ließ, zeigte eine Zahl, die nach der Korrektur nicht mehr gilt.

Ausgabe eines echten Laufs. Quelle: Aufgezeichnet in zwei Abnahmeläufen der 0.23.0 am 2026-10-18 (Kopfzeilen, dann die Erwartung von Schritt 7); der Installer lief auf Französisch

Beispiel

Lokalen Zustand aufräumen, ohne etwas Wichtiges zu verlieren

Der Projektordner ist nach Monaten voller Updates und Schwarm-Läufe unübersichtlich, und du willst wissen, was sich gefahrlos löschen lässt.

In deinem KI-Assistenten
Liste auf, was unter .bmad und .bmad-plus in diesem Projekt liegt, sag, was jedes Element ist, und nenne, was ich löschen kann, ohne Projektgedächtnis, Einstellungen oder die Möglichkeit zu verlieren, ein Update wiederherzustellen.

Das solltest du erhalten Eine treffende Antwort trennt drei Gruppen. update-check.json ist ein Cache und wird beim nächsten Check neu aufgebaut. updates/<receipt-id>/ enthält die Backups, die update --restore braucht; lösche nur Belege, zu denen du nie zurückkehrst. update.lock löschst du nur, wenn doctor ihn als veraltet meldet. .bmad/memory/ enthält das Ereignisjournal und die Ergebnisse, die mem recall und mem observe lesen, und swarm/runs/ und nexus/runs/ sind die Belege vergangener Läufe: Lösche sie nur, wenn du diesen Verlauf und diese Belege nicht mehr brauchst. Das Markdown-Projektgedächtnis liegt in .agents/memory/ und die Einstellungen in _bmad/config.yaml; nichts davon wird berührt.

Siehe auch