Qui a écrit quoi, quelles licences, quels fichiers BMAD+ possède dans votre projet et comment il le prouve, ce que gardent mise à jour et désinstallation, l’encadrement d’OSINT.
Faire confiance à un outil qui modifie votre projet se ramène à quelques questions dont on peut vérifier les réponses. À qui est ce travail, et sous quelle licence ? Quels fichiers l’outil considère-t-il comme siens, et comment les distingue-t-il des vôtres ? Que garde-t-il quand vous le mettez à jour ou le retirez ? Qu’est-ce qui est volontairement restreint ? Cette page répond à chacune, avec le fichier ou la commande qui permet de vérifier.
BMAD+ est créé par Laurent Rochetta. C’est un projet communautaire indépendant dérivé de BMAD-METHOD (MIT) de BMad Code, LLC ; il n’est ni affilié, ni approuvé, ni certifié par BMad Code, LLC, et BMad, BMad Method et BMad Core sont des marques de BMad Code, LLC. La base déclarée est BMAD-METHOD v6.6.0. Les inspirations et les éléments adaptés sont crédités là où ils servent, et le tableau sépare ce que l’auteur du projet a écrit de ce qui vient d’ailleurs.
Provenance de chaque partie
Partie
Origine
Conditions
Code BMAD+ et agents Core
Écrits pour BMAD+ par Laurent Rochetta, sur la méthode de BMAD-METHOD v6.6.0 (agents multi-rôles dérivés des rôles amont).
MIT, copyright 2026 Laurent Rochetta ; la notice MIT de BMAD-METHOD est conservée.
Dev Studio
La réécriture par l’auteur d’un ensemble de rôles dérivé de BMAD-METHOD : six personas et 38 workflows dont les instructions d’exécution sont des adaptations originales de BMAD+, avec la filiation reconnue. Examiner des idées amont plus récentes est distinct d’affirmer qu’une version amont entière est intégrée.
MIT.
SEO, Backup, Animated
Créés par l’auteur, au sein de sa société Oveanet ; la base SEO a été étendue en SEO Engine à trois agents de BMAD+.
MIT.
Maker
Écrit par l’auteur.
MIT.
Memory (Zecher)
Écrit par l’auteur ; l’architecture de mémoire s’inspire de sa méthode de portefeuille _brain/. Les quatre garde-fous de conduite adaptent les lignes directrices communautaires de forrestchang (hébergées désormais chez multica-ai/andrej-karpathy-skills), inspirées des conseils d’Andrej Karpathy. Cette inspiration n’implique ni paternité ni approbation d’Andrej Karpathy.
L’amont déclare MIT ; aucun LICENSE autonome n’existait à la révision examinée, et la notice le dit sans inventer de ligne de copyright.
Shield
27 agents de conformité et 11 workflows adaptés des compétences GRC de Hemant Naik.
MIT, copyright 2026 Hemant Naik, reproduit dans les notices tierces.
OSINT
Pipeline et assistants Python fondés sur smixs/osint-skill. L’intégration Apify s’inspire des agent skills d’Apify.
MIT, copyright 2026 Serge Shima, pour la compétence OSINT. Le dépôt Apify déclare Apache-2.0 (un ancien README qui l’appelait MIT a été corrigé) ; les notices ne relicencient pas l’assistant sous Apache et n’impliquent aucun abonnement Apify.
Design (Atelier)
Les trois compétences viennent de design-skill, le paquet npm de l’auteur lui-même (github.com/lrochetta/design-skill), épinglé à la version 0.2.1 ; BMAD+ ajoute la persona, l’intake et le routage.
Chacun garde sa propre licence ; elles figurent dans le SBOM CycloneDX de la version.
Le texte complet des licences et les notes d’examen sont dans THIRD-PARTY-LICENSES.md, livré dans le paquet npm et dans le dépôt à l’adresse github.com/lrochetta/BMAD-PLUS ↗, à côté de LICENSE (MIT, copyright 2026 Laurent Rochetta). Les notices décrivent le matériel source embarqué ou adapté ; elles ne prétendent pas que chaque fichier livré correspond à l’octet près à une révision amont.
Quels fichiers BMAD+ possède, et comment il le sait#
Chaque fichier que l’installateur écrit est enregistré avec son hash SHA-256 dans le manifeste _bmad/.bmad-plus-install.json (un fileInventory). Un fichier appartient à BMAD+ tant que ses octets correspondent encore au hash enregistré ; une fois que vous le modifiez, il est à vous. Les adaptateurs sont suivis séparément par un hash de leur contenu aux fins de ligne normalisées. Cet inventaire de propriété pilote trois comportements : doctor signale les écarts, la mise à jour préserve les fichiers modifiés, et la désinstallation ne retire que ce qui est encore identique à l’octet près.
L’inventaire tel que le rapporte doctor
$ npx bmad-plus doctor --json{ "schemaVersion": 1, "status": "ok", "versions": { "installed": "0.23.0", "cli": "0.23.0", "published": null }, "inventory": { "status": "complete", "trackedFiles": 39 },# Extrait, remis en forme sur moins de lignes. `published` vaut toujours null : doctor n’interroge jamais npm.
npx bmad-plus doctor --json
Sortie capturée lors d’une exécution réelle. Source: Rejoué sur un serveur de test le 2026-10-18 avec la source 0.23.0 (tools/cli/bmad-plus-cli.js) dans un projet Git jetable
Ce que dit doctor d’un fichier
Code de contrôle
Niveau
Sens
file.unchanged
ok
Le fichier correspond toujours au hash enregistré.
file.modified
avertissement
Le fichier diffère du hash enregistré : votre modification est conservée et signalée.
file.unowned
avertissement
Un fichier dans un dossier BMAD+ que le manifeste ne liste pas : le vôtre.
file.missing, file.unreadable
erreur
Un fichier requis a disparu ou ne peut pas être lu.
N’ajoute que les fichiers, packs et outils manquants. _bmad/config.yaml est fusionné : les clés existantes l’emportent, les valeurs par défaut manquantes sont ajoutées, les réponses explicites de l’assistant remplacent.
Installer une autre version
Refusé. Un retour en arrière est refusé ; une montée de version passe par update.
Un fichier que vous avez modifié est préservé. Un fichier que vous avez écrit vous-même est préservé par une installation interactive et par update ; install --yes le copie d’abord en <file>.bak, puis le remplace. Les anciens fichiers de l’installateur sont sauvegardés en <file>.bak ; --tools none ne touche pas à la configuration des outils.
Mise à jour
Les fichiers modifiés depuis leur hash enregistré et les fichiers non possédés sont préservés et signalés ; les fichiers qu’une version ne livre plus sont retirés après une sauvegarde restaurable ; un reçu et des sauvegardes sont écrits sous .bmad/updates/<id>/.
Manifeste corrompu
Sauvegardé en _bmad/.bmad-plus-install.json.corrupt.bak.
Fichiers de mémoire
decisions.md, lessons.md et patterns.md ne sont jamais écrasés, sessions/ jamais supprimé, vos modifications de identity.yaml conservées ; seul autoconfig réécrit context.md (voir sa page).
Un cerveau existant
Relié, jamais copié ni réécrit.
Liens sur le chemin
Les écritures et suppressions refusent les liens symboliques et les jonctions.
Ce que la désinstallation retire et ce qu’elle garde#
La désinstallation ne retire que les fichiers dont BMAD+ est propriétaire : ceux identiques à l’octet près à ce qu’il a livré, les adaptateurs dont le hash correspond et qui portent la marque d’installation, les compétences copiées depuis un paquet externe comme design-skill, et le manifeste. Elle retire les dossiers vides qu’il possédait et ne supprime jamais récursivement. Elle garde _bmad/config.yaml, la mémoire du projet, _bmad-output/, les fichiers que vous avez modifiés et ceux qu’elle ne connaît pas. Elle refuse les chemins liés, et sans terminal elle exige --yes. Sur un manifeste invalide, elle sort avec 1. La recette de la 0.23.0 incluait cette vérification : une note témoin posée dans .agents/memory/ a survécu, et les compétences de design copiées avaient disparu.
La désinstallation de la recette (sortie de l’installateur en français)
$ New-Item -ItemType Directory -Path .\demo-app\.agents\memory -Force$ Set-Content -LiteralPath .\demo-app\.agents\memory\context.md -Value 'BMAD+ 0.23.0 memory witness' -Encoding utf8$ npx bmad-plus uninstall --yes --directory .\demo-appT BMAD+ Uninstaller• BMAD+ v0.23.0 (installé le 2026-10-18)• Packs sélectionnés: core, designo ✅ BMAD+ supprimé (106 éléments)— La mémoire, les réglages et les fichiers inconnus ou modifiés ont été conservés.$ Get-Content -LiteralPath .\demo-app\.agents\memory\context.mdBMAD+ 0.23.0 memory witness$ Test-Path .\demo-app\.agents\skills\design\SKILL.mdFalse
Rechercher une personne nommée est un traitement de données personnelles, et le profilage ou l’inférence de personnalité est réglementé (articles 4(4), 22 et 9 du RGPD, et lois équivalentes comme le RGPD britannique, la LGPD et le CCPA/CPRA). « Accessible publiquement » ne veut pas dire qu’aucune règle ne s’applique. Le projet a décidé le 2026-07-02 de garder le pack et de l’encadrer plutôt que de le retirer. La porte de la phase moins 1 s’applique à tout chemin direct vers des données personnelles (investigation complète, collecte LinkedIn, Instagram et Facebook, profil de personnalité, enrichissement de contact) : avant chacun, l’agent consigne une base légale (article 6, et une condition de l’article 9(2) pour le profilage de personnalité), une finalité précise (un « trouve tout » ouvert est rejeté), le responsable de traitement, une durée de conservation et la façon dont les demandes d’accès et d’effacement sont honorées, avec le gabarit assets/lawful-basis-record.md. Si vous ne pouvez pas énoncer une base et une finalité, l’agent refuse l’opération sur la personne nommée et propose des alternatives non personnelles : recherche sur une entreprise, un produit ou un marché, ou une entité publique. Une recherche rapide sur un pseudonyme public, la commande de diagnostic et les chemins d’outillage sont exemptés.
Chaque dossier s’ouvre sur l’avertissement « AI-generated OSINT output - may contain errors; not legal advice. The operator is the data controller and is responsible for the lawful basis (GDPR Art. 6/9), platform Terms of Service, and human verification before any decision. » L’agent ne profile jamais un particulier sans base consignée, note chaque fait de A à D et dépense au plus 0,50 dollar sans demander. Aucune clé de fournisseur n’est obligatoire à elle seule : une clé de n’importe quel fournisseur (APIFY_API_TOKEN, Perplexity, Exa, Tavily, Jina et d’autres) suffit, et le pack n’envoie des requêtes à un fournisseur qu’une fois sa clé définie (voir le traitement des données). L’avis juridique est osint-agent-package/skills/bmad-osint-investigate/osint/references/gdpr-osint.md dans le dépôt.
Shield : chaque rapport est marqué généré par IA et « Not legal advice ». Une affirmation d’assurance étayée signifie qu’un contrôle nommé a réussi, jamais une certification, et une correspondance de contrôles dans une revue est une invitation à regarder.
Revues et recette : une revue clean signifie aucun constat ouvert dans un périmètre entièrement couvert, pas une preuve que le code est correct ; la porte de recette dit « human-observed: complete, current and triaged » et n’établit pas que le testeur a regardé au bon endroit.
Essaims : les unités simulées ne sont pas des personnes ; les taux sont une borne haute ; les citations ne sont pas des témoignages ; la génération de médias payants n’est jamais couverte par un budget.
Pas de runtime de modèle propre (le seul programme qu’elle peut lancer est une commande ou une exécution Codex que déclare un plan Nexus), pas de processus en arrière-plan, pas de télémétrie, pas de mise à jour automatique silencieuse, pas de correction automatique issue d’une revue, pas d’extension d’IDE, pas de publication sur des forges. Ce sont des limites délibérées, pas des manques en attente d’une version.
Écritures hors du projet : la CLI écrit dans le dossier du projet ; scan écrit des fiches de projet dans le cerveau global, ~/.bmad-plus/brain/, le pack Memory écrit dans le cerveau qu’il a relié, et update --latest lance npm exec dans un dossier temporaire du système. Elle n’écrit jamais sans y être invitée dans l’organisation propre d’un cerveau de portefeuille.
Voir exactement ce que BMAD+ a mis dans un projet#
À utiliser avant de commiter les fichiers installés, avant un audit, ou avant de retirer BMAD+. L’assistant ne fait que lire et lancer doctor, en lecture seule.
Dans votre assistant IA
Lance npx bmad-plus doctor --json et lis _bmad/.bmad-plus-install.json. Dis-moi la version installée, les packs et les outils, combien de fichiers BMAD+ suit, quels fichiers diffèrent de leur hash enregistré et quels fichiers des dossiers BMAD+ il ne possède pas. Dis-moi ensuite ce que npx bmad-plus uninstall --yes retirerait et ce qu’il garderait. Ne change rien.
Ce que vous devriez obtenir Un court rapport factuel : version, packs, outils, inventory.status et le nombre de fichiers suivis, la liste des avertissements file.modified et file.unowned, et une prévision de la désinstallation (retirés : fichiers gérés identiques à l’octet près, adaptateurs correspondants et manifeste ; gardés : _bmad/config.yaml, mémoire, _bmad-output/, fichiers modifiés et inconnus). Rien n’est écrit.