From efc2152ad89c109d3112df6b736ccca6486abca7 Mon Sep 17 00:00:00 2001 From: sno Date: Sun, 22 Feb 2026 15:09:57 +0100 Subject: [PATCH] feat(monorepo): fix project_name resolution and variable leakage --- .../4-implementation/code-review/instructions.xml | 1 + src/core/tasks/workflow.xml | 15 +++++++++------ .../workflows/advanced-elicitation/workflow.xml | 1 + .../installers/lib/ide/shared/context-logic.js | 3 ++- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/bmm/workflows/4-implementation/code-review/instructions.xml b/src/bmm/workflows/4-implementation/code-review/instructions.xml index 0ce1584f4..0d0707599 100644 --- a/src/bmm/workflows/4-implementation/code-review/instructions.xml +++ b/src/bmm/workflows/4-implementation/code-review/instructions.xml @@ -29,6 +29,7 @@ 🚫 Error: Project context must only contain alphanumeric characters, dots, dashes, underscores, or slashes. HALT + Override project_name to {project_suffix} Override output_folder to {project-root}/_bmad-output/{project_suffix} diff --git a/src/core/tasks/workflow.xml b/src/core/tasks/workflow.xml index 2b5503135..59cac7d3e 100644 --- a/src/core/tasks/workflow.xml +++ b/src/core/tasks/workflow.xml @@ -18,8 +18,8 @@ - - {{monorepo_context_logic}} + + Resolve system variables (date:system-generated) and paths ({project-root}, {installed_path}) @@ -27,11 +27,14 @@ Load config_source (REQUIRED for all modules) Load external config from config_source path Resolve all {config_source}: references with values from config - Resolve system variables (date:system-generated) and paths ({project-root}, {installed_path}) - Ask user for input of any variables that are still unknown + Ask user for input of any variables that are still unknown - + + {{monorepo_context_logic}} + + + Instructions: Read COMPLETE file from path OR embedded list (REQUIRED) If template path → Read COMPLETE template file If validation path → Note path for later loading when needed @@ -39,7 +42,7 @@ Data files (csv, json) → Store paths only, load on-demand when instructions reference them - + Resolve default_output_file path with all variables and {{date}} Create output directory if doesn't exist If template-workflow → Write template to output file with placeholders diff --git a/src/core/workflows/advanced-elicitation/workflow.xml b/src/core/workflows/advanced-elicitation/workflow.xml index bca783a09..7764cfd11 100644 --- a/src/core/workflows/advanced-elicitation/workflow.xml +++ b/src/core/workflows/advanced-elicitation/workflow.xml @@ -47,6 +47,7 @@ HALT + Override project_name to {project_suffix} Override output_folder to {project-root}/_bmad-output/{project_suffix} Override planning_artifacts to {project-root}/_bmad-output/{project_suffix} Override implementation_artifacts to {project-root}/_bmad-output/{project_suffix} diff --git a/tools/cli/installers/lib/ide/shared/context-logic.js b/tools/cli/installers/lib/ide/shared/context-logic.js index c25751920..cf26a8ff6 100644 --- a/tools/cli/installers/lib/ide/shared/context-logic.js +++ b/tools/cli/installers/lib/ide/shared/context-logic.js @@ -36,7 +36,8 @@ const MONOREPO_CONTEXT_LOGIC = ` HALT - + + Override project_name = {project_suffix} Override output_folder = {project-root}/_bmad-output/{project_suffix} Override planning_artifacts = {output_folder}/planning-artifacts Override implementation_artifacts = {output_folder}/implementation-artifacts