Ein Verzeichnis durchlaufen, Projekte finden, Stack und Aktivität erkennen und im globalen Gedächtnis indexieren, damit BMAD+ dein ganzes Portfolio kennt.
scan beantwortet die Frage „Welche Projekte habe ich, und welche nutzen schon BMAD+?“. Es durchläuft ein Verzeichnis, erkennt Projektwurzeln, schätzt den Stack, stuft jedes Projekt als aktiv, pausiert oder archiviert ein und legt pro Projekt eine kleine Karte im globalen Gedächtnis ab, dem persönlichen Gedächtnisordner, den alle deine Projekte teilen (~/.bmad-plus/brain). Es ist für alle, die viele Repositories führen und möchten, dass ein Agent, meist Zecher, sie alle kennt.
Ein Ordner ist eine Projektwurzel, wenn er eine dieser Dateien enthält, in dieser Reihenfolge geprüft: package.json, Cargo.toml, pyproject.toml, requirements.txt, go.mod, composer.json, Gemfile, pom.xml, build.gradle. In ein Projekt, dessen Wurzel gefunden wurde, steigt der Lauf nicht weiter hinab.
Ein Ordner unterhalb des Startpunkts, der ein Verzeichnis .git, aber keine dieser Dateien hat, ist ebenfalls ein Projekt, mit dem Stack „Unknown“. Das Startverzeichnis selbst zählt nur über die Markierungsdateien.
Der Stack kommt von der Markierung: Rust, Python, Go, PHP, Ruby, Java oder Java/Kotlin, und bei package.json eines von Next.js, Nuxt, React, Vue.js, Svelte, Express, Fastify, Electron, Tauri (in dieser Reihenfolge gegen dependencies und devDependencies geprüft), sonst Node.js.
Diese Ordner werden übersprungen: node_modules, .git, vendor, __pycache__, dist, build, .next, .nuxt, .svelte-kit, target, .venv, venv, .cache, .output, coverage, .turbo, .angular sowie die Windows-Systemordner $RECYCLE.BIN, System Volume Information, Windows, Program Files, Program Files (x86), ProgramData, AppData, Recovery, PerfLogs. Jeder andere Ordner, dessen Name mit einem Punkt beginnt, wird ebenfalls übersprungen. Nicht lesbare Ordner werden still übergangen.
Die Aktivität ist die Änderungszeit des Projektordners selbst. Sie ändert sich, wenn direkt darin Einträge hinzukommen oder wegfallen, nicht wenn du eine tiefer liegende Datei bearbeitest; ein reges Projekt kann also trotzdem „paused“ anzeigen. Passe --active-days und --paused-days an, wenn die Bezeichnungen nicht zu deiner Arbeitsweise passen.
Die Spalte BMAD+ zeigt ein Häkchen, wenn das Projekt einen Ordner .agents oder _bmad hat.
Eine Karte pro indexiertem Projekt: path, name, hash, stack, status, bmad_installed, has_git, last_scanned (ein Datum). Der 8-stellige Hash stammt vom Projektpfad; derselbe Projektordner zweimal gescannt aktualisiert seine Karte, statt eine zweite anzulegen.
.bmad-plus/brain/projects-index.md
Eine Markdown-Tabelle aller Karten im Ordner projects/ (nicht nur der aktuellen Runde), neu geschrieben nach jedem Scan, der etwas indexiert.
Die gescannten Projekte werden nur gelesen, nie verändert. Der Ort des Gedächtnisses ist fest, ~/.bmad-plus/brain: scan folgt weder der Variable BMAD_PLUS_BRAIN noch einem Portfolio-Ordner _brain, den install verknüpft haben könnte. Es erfolgt keine Netzwerkanfrage.
Jedes normale Ende: indexiert, nichts gefunden, abgebrochen und auch „Directory not found“.
1
Ein unerwarteter Fehler ist durchgeschlagen (die CLI gibt BMAD+: <message> aus). scan setzt keinen anderen Code.
Hinweis· Verlass dich in Skripten nicht auf den Exit-Code
Ein falscher Pfad endet nach der Fehlermeldung trotzdem mit Code 0. Prüfe in einem Skript das Verzeichnis selbst, bevor du scan aufrufst, und übergib --yes, damit nichts auf eine Antwort wartet.
Scan eines Arbeitsordners mit --yes (simuliert)Simuliert
$ npx bmad-plus scan ~/work --depth 3 --yesBMAD+ Project ScannerFound 3 project(s) Legend: ● active modified < 30 days ago (2 found) ◐ paused modified 30–180 days ago (1 found) ○ archived modified > 180 days ago (0 found) # Status BMAD+ Stack Name Path ────────────────────────────────────────────────────────────────────────────────────────── 1 ● active ✓ Next.js invoice-app /home/me/work/invoice-app 2 ● active · Python etl-jobs /home/me/work/etl-jobs 3 ◐ paused · Unknown notes-site /home/me/work/notes-site✅ 3 project(s) indexed in /home/me/.bmad-plus/brain/projects📋 Project index updated: /home/me/.bmad-plus/brain/projects-index.mdScan complete! 🧠
npx bmad-plus scan ~/work --depth 3 --yes
Beispielhafter Ablauf, nicht bei einem echten Lauf aufgezeichnet. Quelle: Zusammengesetzt aus den Meldungsvorlagen in tools/cli/commands/scan.js; Farben, Emojis und der Rahmen der Prompt-Bibliothek ausgelassen. Namen und Pfade sind erfunden.
Lies die Tabelle von links nach rechts: Nummer, Aktivitätsklasse, ob BMAD+ installiert ist, erkannter Stack, Projektname (aus package.json, falls vorhanden, sonst der Ordnername, auf 20 Zeichen gekürzt) und Pfad (auf die letzten 37 Zeichen gekürzt, wenn er länger als 40 ist). Ohne --yes fragt scan stattdessen: alles indexieren, Projekte aus einer Liste wählen oder überspringen.
Einen Arbeitsordner indexieren und Projekte ohne BMAD+ finden#
Du hältst etwa ein Dutzend Repositories unter einem Ordner und möchtest die Liste der aktiven, in denen BMAD+ nicht installiert ist.
In deinem KI-Assistenten
Führe `npx bmad-plus scan ~/work --yes` aus. Lies danach ~/.bmad-plus/brain/projects-index.md und liste die Projekte mit Status active und leerer BMAD+-Spalte auf.
Das solltest du erhalten Der Befehl gibt Legende und Tabelle aus, schreibt pro Projekt eine Karte <hash>.yaml und schreibt projects-index.md neu. Der Assistent liest diese Tabelle (Spalten Status, Name, Stack, BMAD+, Path; Häkchen heißt installiert, Punkt nicht installiert) und liefert die aktiven Zeilen mit Punkt. Der Index umfasst alle Karten im Gedächtnis, kann also auch Projekte aus früheren Scans oder Installationen nennen.
Zecher scannen lassen, mit deiner Freigabe pro Projekt#
Erfordert das Pack memory. Das ist der eigene Scan-Ablauf des Agenten, der dich zu jedem Projekt fragt, nicht der Befehl oben.
In deinem KI-Assistenten
Zecher, scanne die Projekte in ~/work.
Das solltest du erhalten Zecher durchläuft den Ordner, zeigt eine Tabelle (Projekt, Stack, Status, BMAD+, zuletzt geändert) und fragt zu jedem Projekt: bestätigen, bearbeiten, überspringen oder dort BMAD+ installieren. Nur bestätigte Projekte werden nach ~/.bmad-plus/brain/projects/<hash>.yaml geschrieben, der Index wird aktualisiert, und Zecher meldet, wie viele indexiert, neu und aktualisiert wurden.