From fe6eb043d40a4a6aaae6fecf9b72ec0c8437a29e Mon Sep 17 00:00:00 2001 From: "alexandre.azouri" Date: Mon, 11 May 2026 12:08:14 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20ajouter=20la=20gestion=20du=20fichier?= =?UTF-8?q?=20module.yaml=20pour=20collecter=20les=20m=C3=A9tadonn=C3=A9es?= =?UTF-8?q?=20des=20agents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/installer/modules/official-modules.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/installer/modules/official-modules.js b/tools/installer/modules/official-modules.js index 615daba86..0b4da145f 100644 --- a/tools/installer/modules/official-modules.js +++ b/tools/installer/modules/official-modules.js @@ -370,6 +370,18 @@ class OfficialModules { if (fileTrackingCallback) fileTrackingCallback(helpTarget); } + // Place module.yaml at the module root so manifest generation can + // collect module-level agent metadata and settings scope. + if (resolved.moduleYamlPath) { + const moduleYamlTarget = path.join(targetPath, 'module.yaml'); + await fs.copy(resolved.moduleYamlPath, moduleYamlTarget, { overwrite: true }); + if (fileTrackingCallback) fileTrackingCallback(moduleYamlTarget); + } else if (resolved.synthesizedModuleYaml) { + const moduleYamlTarget = path.join(targetPath, 'module.yaml'); + await fs.writeFile(moduleYamlTarget, resolved.synthesizedModuleYaml, 'utf8'); + if (fileTrackingCallback) fileTrackingCallback(moduleYamlTarget); + } + // Create directories declared in module.yaml (strategies 1-4 may have these) if (!options.skipModuleInstaller) { await this.createModuleDirectories(resolved.code, bmadDir, options);