diff --git a/src/core/_module-installer/install-config.yaml b/src/core/_module-installer/install-config.yaml index c46ae284..fb897918 100644 --- a/src/core/_module-installer/install-config.yaml +++ b/src/core/_module-installer/install-config.yaml @@ -5,26 +5,32 @@ prompt: - "This will impact all selected modules, either additions or upgrades." bmad_folder: - prompt: "What is the root that all modules should be installed to?" + prompt: "What is the root folder for BMAD installation? (Recommended: .bmad)" default: ".bmad" result: "{value}" + regex: "^[a-zA-Z0-9._-]{1,20}$" user_name: - prompt: "What is your name?" + prompt: "What shall the agents call you?" default: "BMad" result: "{value}" communication_language: - prompt: "Preferred Chat Language?" + prompt: "Preferred Chat Language/Style? (English, Mandarin, English Pirate, etc...)" default: "English" result: "{value}" document_output_language: prompt: "Preferred Document Output Language?" - default: "English" + default: "{communication_language}" result: "{value}" output_folder: prompt: "Where should the generated output default save location be?" default: "docs" result: "{project-root}/{value}" + +install_user_docs: + prompt: "Install user documentation and optimized agent intelligence to each selected modules docs folder?" + default: true + result: "{value}" diff --git a/src/core/_module-installer/installer.js b/src/core/_module-installer/installer.js index c8b20bb4..2fef9562 100644 --- a/src/core/_module-installer/installer.js +++ b/src/core/_module-installer/installer.js @@ -49,14 +49,6 @@ async function configureForIDE(ide) { // Claude Code specific Core configurations break; } - case 'cursor': { - // Cursor specific Core configurations - break; - } - case 'windsurf': { - // Windsurf specific Core configurations - break; - } // Add more IDEs as needed default: { // No specific configuration needed diff --git a/src/core/agents/bmad-master.agent.yaml b/src/core/agents/bmad-master.agent.yaml index b1a3c180..efba6450 100644 --- a/src/core/agents/bmad-master.agent.yaml +++ b/src/core/agents/bmad-master.agent.yaml @@ -3,7 +3,7 @@ agent: metadata: - id: "bmad/core/agents/bmad-master.md" + id: "{bmad_folder}/core/agents/bmad-master.md" name: "BMad Master" title: "BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator" icon: "🧙" @@ -17,22 +17,22 @@ agent: # Agent-specific critical actions critical_actions: - - "Load into memory {project-root}/bmad/core/config.yaml and set variable project_name, output_folder, user_name, communication_language" + - "Load into memory {project-root}/{bmad_folder}/core/config.yaml and set variable project_name, output_folder, user_name, communication_language" - "Remember the users name is {user_name}" - "ALWAYS communicate in {communication_language}" # Agent menu items menu: - trigger: "list-tasks" - action: "list all tasks from {project-root}/bmad/_cfg/task-manifest.csv" + action: "list all tasks from {project-root}/{bmad_folder}/_cfg/task-manifest.csv" description: "List Available Tasks" - trigger: "list-workflows" - action: "list all workflows from {project-root}/bmad/_cfg/workflow-manifest.csv" + action: "list all workflows from {project-root}/{bmad_folder}/_cfg/workflow-manifest.csv" description: "List Workflows" - trigger: "party-mode" - workflow: "{project-root}/bmad/core/workflows/party-mode/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.yaml" description: "Group chat with all agents" # Empty prompts section (no custom prompts for this agent) diff --git a/src/core/agents/bmad-web-orchestrator.agent.xml b/src/core/agents/bmad-web-orchestrator.agent.xml index d63210ee..f9832a4c 100644 --- a/src/core/agents/bmad-web-orchestrator.agent.xml +++ b/src/core/agents/bmad-web-orchestrator.agent.xml @@ -1,7 +1,7 @@ - + Load this complete web bundle XML - you are the BMad Orchestrator, first agent in this bundle - CRITICAL: This bundle contains ALL agents as XML nodes with id="bmad/..." and ALL workflows/tasks as nodes findable by type + CRITICAL: This bundle contains ALL agents as XML nodes with id="{bmad_folder}/..." and ALL workflows/tasks as nodes findable by type and id Greet user as BMad Orchestrator and display numbered list of ALL menu items from menu section below STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text @@ -15,7 +15,7 @@ When menu item has: workflow="workflow-id" 1. Find workflow node by id in this bundle (e.g., <workflow id="workflow-id">) - 2. CRITICAL: Always LOAD bmad/core/tasks/workflow.xml if referenced + 2. CRITICAL: Always LOAD {bmad_folder}/core/tasks/workflow.xml if referenced 3. Execute the workflow content precisely following all steps 4. Save outputs after completing EACH workflow step (never batch) 5. If workflow id is "todo", inform user it hasn't been implemented yet @@ -48,7 +48,7 @@ When menu item has: validate-workflow="workflow-id" - 1. MUST LOAD bmad/core/tasks/validate-workflow.xml + 1. MUST LOAD {bmad_folder}/core/tasks/validate-workflow.xml 2. Execute all validation instructions from that file 3. Check workflow's validation property for schema 4. Identify file to validate or ask user to specify diff --git a/src/core/tasks/adv-elicit.xml b/src/core/tasks/adv-elicit.xml index 1a628e04..e36a360d 100644 --- a/src/core/tasks/adv-elicit.xml +++ b/src/core/tasks/adv-elicit.xml @@ -1,4 +1,4 @@ - + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER DO NOT skip steps or change the sequence diff --git a/src/core/tasks/index-docs.xml b/src/core/tasks/index-docs.xml index 3a485d18..33069d07 100644 --- a/src/core/tasks/index-docs.xml +++ b/src/core/tasks/index-docs.xml @@ -1,4 +1,4 @@ - MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER diff --git a/src/core/tasks/validate-workflow.xml b/src/core/tasks/validate-workflow.xml index 8ee7059c..8ce5d0f8 100644 --- a/src/core/tasks/validate-workflow.xml +++ b/src/core/tasks/validate-workflow.xml @@ -1,4 +1,4 @@ - + Run a checklist against a document with thorough analysis and produce a validation report diff --git a/src/core/tasks/workflow.xml b/src/core/tasks/workflow.xml index 9edc0c4d..2bb093bc 100644 --- a/src/core/tasks/workflow.xml +++ b/src/core/tasks/workflow.xml @@ -1,4 +1,4 @@ - + Execute given workflow by loading its configuration, following instructions, and producing output diff --git a/src/core/tools/shard-doc.xml b/src/core/tools/shard-doc.xml index e5e892c0..32c3d84e 100644 --- a/src/core/tools/shard-doc.xml +++ b/src/core/tools/shard-doc.xml @@ -1,4 +1,4 @@ - Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool diff --git a/src/core/workflows/brainstorming/README.md b/src/core/workflows/brainstorming/README.md index a90f63cb..fa724151 100644 --- a/src/core/workflows/brainstorming/README.md +++ b/src/core/workflows/brainstorming/README.md @@ -35,7 +35,7 @@ workflow brainstorming --data /path/to/context.md ### Configuration -The workflow leverages configuration from `/bmad/cis/config.yaml`: +The workflow leverages configuration from `/{bmad_folder}/cis/config.yaml`: - **output_folder**: Where session results are saved - **user_name**: Session participant identification @@ -185,7 +185,7 @@ The workflow includes 36 techniques organized into 7 categories: ## Requirements - No special software requirements -- Access to the CIS module configuration (`/bmad/cis/config.yaml`) +- Access to the CIS module configuration (`/{bmad_folder}/cis/config.yaml`) - Active participation and engagement throughout the interactive session - Optional: Domain context document for focused brainstorming diff --git a/src/core/workflows/brainstorming/instructions.md b/src/core/workflows/brainstorming/instructions.md index 7e5a1a24..0f1400bf 100644 --- a/src/core/workflows/brainstorming/instructions.md +++ b/src/core/workflows/brainstorming/instructions.md @@ -3,8 +3,8 @@ ## Workflow -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project_root}/bmad/core/workflows/brainstorming/workflow.yaml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project_root}/{bmad_folder}/core/workflows/brainstorming/workflow.yaml @@ -254,7 +254,7 @@ Analyze the session to identify deeper patterns: 2. **Surface key insights** - What realizations emerged during the process? -> insights_learnings 3. **Note surprising connections** - What unexpected relationships were discovered? -> insights_learnings -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml key_themes, insights_learnings diff --git a/src/core/workflows/brainstorming/workflow.yaml b/src/core/workflows/brainstorming/workflow.yaml index 3c667ca3..38dff0ad 100644 --- a/src/core/workflows/brainstorming/workflow.yaml +++ b/src/core/workflows/brainstorming/workflow.yaml @@ -4,7 +4,7 @@ description: "Facilitate interactive brainstorming sessions using diverse creati author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/cis/config.yaml" +config_source: "{project-root}/{bmad_folder}/cis/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" date: system-generated @@ -18,7 +18,7 @@ recommended_inputs: # Example: data="{path}/context.md" provides domain-specific guidance # Module path and component files -installed_path: "{project-root}/bmad/core/workflows/brainstorming" +installed_path: "{project-root}/{bmad_folder}/core/workflows/brainstorming" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" @@ -33,11 +33,11 @@ web_bundle: name: "brainstorming" description: "Facilitate interactive brainstorming sessions using diverse creative techniques. This workflow facilitates interactive brainstorming sessions using diverse creative techniques. The session is highly interactive, with the AI acting as a facilitator to guide the user through various ideation methods to generate and refine creative solutions." author: "BMad" - template: "bmad/core/workflows/brainstorming/template.md" - instructions: "bmad/core/workflows/brainstorming/instructions.md" - brain_techniques: "bmad/core/workflows/brainstorming/brain-methods.csv" + template: "{bmad_folder}/core/workflows/brainstorming/template.md" + instructions: "{bmad_folder}/core/workflows/brainstorming/instructions.md" + brain_techniques: "{bmad_folder}/core/workflows/brainstorming/brain-methods.csv" use_advanced_elicitation: true web_bundle_files: - - "bmad/core/workflows/brainstorming/instructions.md" - - "bmad/core/workflows/brainstorming/brain-methods.csv" - - "bmad/core/workflows/brainstorming/template.md" + - "{bmad_folder}/core/workflows/brainstorming/instructions.md" + - "{bmad_folder}/core/workflows/brainstorming/brain-methods.csv" + - "{bmad_folder}/core/workflows/brainstorming/template.md" diff --git a/src/core/workflows/party-mode/instructions.md b/src/core/workflows/party-mode/instructions.md index b7b68303..b317b7b9 100644 --- a/src/core/workflows/party-mode/instructions.md +++ b/src/core/workflows/party-mode/instructions.md @@ -1,6 +1,6 @@ # Party Mode - Multi-Agent Discussion Instructions -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml This workflow orchestrates group discussions between all installed BMAD agents diff --git a/src/core/workflows/party-mode/workflow.yaml b/src/core/workflows/party-mode/workflow.yaml index f858f61f..d6fd24fb 100644 --- a/src/core/workflows/party-mode/workflow.yaml +++ b/src/core/workflows/party-mode/workflow.yaml @@ -4,13 +4,13 @@ description: "Orchestrates group discussions between all installed BMAD agents, author: "BMad" # Critical data sources - manifest and config overrides -agent_manifest: "{project-root}/bmad/_cfg/agent-manifest.csv" -agent_overrides: "{project-root}/bmad/_cfg/agents/*.customize.yaml" +agent_manifest: "{project-root}/{bmad_folder}/_cfg/agent-manifest.csv" +agent_overrides: "{project-root}/{bmad_folder}/_cfg/agents/*.customize.yaml" date: system-generated # This is an interactive action workflow - no template output template: false -instructions: "{project-root}/bmad/core/workflows/party-mode/instructions.md" +instructions: "{project-root}/{bmad_folder}/core/workflows/party-mode/instructions.md" # Exit conditions exit_triggers: diff --git a/src/modules/bmb/_module-installer/install-config.yaml b/src/modules/bmb/_module-installer/install-config.yaml index 13077c27..7bb2bd5c 100644 --- a/src/modules/bmb/_module-installer/install-config.yaml +++ b/src/modules/bmb/_module-installer/install-config.yaml @@ -10,18 +10,20 @@ prompt: "Happy Building - Build the Modules, Workflows and Agents of your dreams ## communication_language ## output_folder ## bmad_folder +## install_user_docs +## kb_install custom_agent_location: prompt: "Where do custom agents get created?" - default: "bmad/agents" + default: "{bmad_folder}/custom/agents" result: "{project-root}/{value}" custom_workflow_location: prompt: "Where do custom workflows get stored?" - default: "bmad/workflows" + default: "{bmad_folder}/custom/workflows" result: "{project-root}/{value}" custom_module_location: prompt: "Where do custom modules get stored?" - default: "bmad" + default: "{bmad_folder}/custom/modules" result: "{project-root}/{value}" diff --git a/src/modules/bmb/agents/bmad-builder.agent.yaml b/src/modules/bmb/agents/bmad-builder.agent.yaml index c01f2ec2..65236211 100644 --- a/src/modules/bmb/agents/bmad-builder.agent.yaml +++ b/src/modules/bmb/agents/bmad-builder.agent.yaml @@ -3,7 +3,7 @@ agent: metadata: - id: bmad/bmb/agents/bmad-builder.md + id: "{bmad_folder}/bmb/agents/bmad-builder.md" name: BMad Builder title: BMad Builder icon: 🧙 @@ -22,37 +22,37 @@ agent: # help and exit are auto-injected, don't define them here menu: - trigger: audit-workflow - workflow: "{project-root}/bmad/bmb/workflows/audit-workflow/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmb/workflows/audit-workflow/workflow.yaml" description: Audit existing workflows for BMAD Core compliance and best practices - trigger: convert - workflow: "{project-root}/bmad/bmb/workflows/convert-legacy/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmb/workflows/convert-legacy/workflow.yaml" description: Convert v4 or any other style task agent or template to a workflow - trigger: create-agent - workflow: "{project-root}/bmad/bmb/workflows/create-agent/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmb/workflows/create-agent/workflow.yaml" description: Create a new BMAD Core compliant agent - trigger: create-module - workflow: "{project-root}/bmad/bmb/workflows/create-module/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmb/workflows/create-module/workflow.yaml" description: Create a complete BMAD compatible module (custom agents and workflows) - trigger: create-workflow - workflow: "{project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmb/workflows/create-workflow/workflow.yaml" description: Create a new BMAD Core workflow with proper structure - trigger: edit-agent - workflow: "{project-root}/bmad/bmb/workflows/edit-agent/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmb/workflows/edit-agent/workflow.yaml" description: Edit existing agents while following best practices - trigger: edit-module - workflow: "{project-root}/bmad/bmb/workflows/edit-module/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmb/workflows/edit-module/workflow.yaml" description: Edit existing modules (structure, agents, workflows, documentation) - trigger: edit-workflow - workflow: "{project-root}/bmad/bmb/workflows/edit-workflow/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmb/workflows/edit-workflow/workflow.yaml" description: Edit existing workflows while following best practices - trigger: redoc - workflow: "{project-root}/bmad/bmb/workflows/redoc/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmb/workflows/redoc/workflow.yaml" description: Create or update module documentation diff --git a/src/modules/bmb/workflows/audit-workflow/checklist.md b/src/modules/bmb/workflows/audit-workflow/checklist.md index c599fc09..95980ba2 100644 --- a/src/modules/bmb/workflows/audit-workflow/checklist.md +++ b/src/modules/bmb/workflows/audit-workflow/checklist.md @@ -45,7 +45,7 @@ ## Web Bundle Validation (if applicable) - [ ] web_bundle section present if workflow needs deployment -- [ ] All paths in web_bundle use bmad/-relative format (NOT {project-root}) +- [ ] All paths in web_bundle use {bmad_folder}/-relative format (NOT {project-root}) - [ ] No {config_source} variables in web_bundle section - [ ] instructions file listed in web_bundle_files array - [ ] template file listed in web_bundle_files (if document workflow) @@ -53,7 +53,7 @@ - [ ] All data files (CSV, JSON, YAML) listed in web_bundle_files - [ ] All called workflows have their .yaml files in web_bundle_files - [ ] **CRITICAL**: If workflow invokes other workflows, existing_workflows field is present -- [ ] existing_workflows maps workflow variables to bmad/-relative paths correctly +- [ ] existing_workflows maps workflow variables to {bmad_folder}/-relative paths correctly - [ ] All files referenced in instructions tags listed in web_bundle_files - [ ] No files listed in web_bundle_files that don't exist - [ ] Web bundle metadata (name, description, author) matches top-level metadata diff --git a/src/modules/bmb/workflows/audit-workflow/instructions.md b/src/modules/bmb/workflows/audit-workflow/instructions.md index 4a29b15d..6dfc4b99 100644 --- a/src/modules/bmb/workflows/audit-workflow/instructions.md +++ b/src/modules/bmb/workflows/audit-workflow/instructions.md @@ -1,7 +1,7 @@ # Audit Workflow - Workflow Quality Audit Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/audit-workflow/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmb/workflows/audit-workflow/workflow.yaml @@ -33,7 +33,7 @@ **Required variables:** - - `config_source: "{project-root}/bmad/[module]/config.yaml"` + - `config_source: "{project-root}/{bmad_folder}/[module]/config.yaml"` - `output_folder: "{config_source}:output_folder"` - `user_name: "{config_source}:user_name"` - `communication_language: "{config_source}:communication_language"` @@ -182,7 +182,7 @@ **Path Validation:** - - [ ] All paths use bmad/-relative format (NOT {project-root}) + - [ ] All paths use {bmad_folder}/-relative format (NOT {project-root}) - [ ] No {config_source} variables in web_bundle section - [ ] Paths match actual file locations @@ -200,7 +200,7 @@ Verify each called workflow.yaml is in web_bundle_files **CRITICAL**: Check if existing_workflows field is present when workflows are invoked If invoke-workflow calls exist, existing_workflows MUST map workflow variables to paths - Example: If instructions use {core_brainstorming}, web_bundle needs: existing_workflows: - core_brainstorming: "bmad/core/workflows/brainstorming/workflow.yaml" + Example: If instructions use {core_brainstorming}, web_bundle needs: existing_workflows: - core_brainstorming: "{bmad_folder}/core/workflows/brainstorming/workflow.yaml" **File Reference Scan:** Scan instructions.md for file references in action tags diff --git a/src/modules/bmb/workflows/audit-workflow/workflow.yaml b/src/modules/bmb/workflows/audit-workflow/workflow.yaml index f8afab2a..b01c55cc 100644 --- a/src/modules/bmb/workflows/audit-workflow/workflow.yaml +++ b/src/modules/bmb/workflows/audit-workflow/workflow.yaml @@ -4,14 +4,14 @@ description: "Comprehensive workflow quality audit - validates structure, config author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Module path and component files -installed_path: "{project-root}/bmad/bmb/workflows/audit-workflow" +installed_path: "{project-root}/{bmad_folder}/bmb/workflows/audit-workflow" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmb/workflows/convert-legacy/README.md b/src/modules/bmb/workflows/convert-legacy/README.md index bc5e8411..2583c8a5 100644 --- a/src/modules/bmb/workflows/convert-legacy/README.md +++ b/src/modules/bmb/workflows/convert-legacy/README.md @@ -84,7 +84,7 @@ convert-legacy/ - Prompts for target module (bmm, bmb, cis, custom) - Determines proper installation paths using v6 conventions - Shows target location for user confirmation -- Ensures all paths use `{project-root}/bmad/` format +- Ensures all paths use `{project-root}/{bmad_folder}/` format ### Phase 2: Conversion Strategy (Step 4) @@ -126,7 +126,7 @@ convert-legacy/ **Template-to-Workflow Conversion (5c)** - Converts YAML template sections to workflow steps -- Maps `elicit: true` flags to `{project-root}/bmad/core/tasks/adv-elicit.xml` tags +- Maps `elicit: true` flags to `{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml` tags - Transforms conditional sections to flow control - Creates proper template.md from content structure - Integrates v4 create-doc.md task patterns @@ -218,7 +218,7 @@ Converted items follow v6 conventions: **Issue**: Path conversion errors -- **Solution**: Ensure all references use `{project-root}/bmad/` format +- **Solution**: Ensure all references use `{project-root}/{bmad_folder}/` format - **Check**: Review conversion mappings for proper path patterns **Issue**: Sub-workflow invocation fails @@ -252,8 +252,8 @@ To customize this workflow: For issues or questions: -- Review the workflow creation guide at `/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md` -- Check conversion mappings at `/bmad/bmb/data/v4-to-v6-mappings.yaml` +- Review the workflow creation guide at `/{bmad_folder}/bmb/workflows/create-workflow/workflow-creation-guide.md` +- Check conversion mappings at `/{bmad_folder}/bmb/data/v4-to-v6-mappings.yaml` - Validate output using `checklist.md` - Consult BMAD v6 documentation for proper conventions diff --git a/src/modules/bmb/workflows/convert-legacy/checklist.md b/src/modules/bmb/workflows/convert-legacy/checklist.md index d33dcb90..8220e274 100644 --- a/src/modules/bmb/workflows/convert-legacy/checklist.md +++ b/src/modules/bmb/workflows/convert-legacy/checklist.md @@ -37,7 +37,7 @@ - [ ] File paths use {project-root} variables - [ ] Config values use {config_source}: pattern - [ ] Agent follows naming conventions (kebab-case for files) -- [ ] ALL paths reference {project-root}/bmad/{{module}}/ locations, NOT src/ +- [ ] ALL paths reference {project-root}/{bmad_folder}/{{module}}/ locations, NOT src/ - [ ] exec, data, run-workflow commands point to final BMAD installation paths ### For Template/Workflow Conversions @@ -48,7 +48,7 @@ - [ ] All sections converted to workflow steps - [ ] Section hierarchy maintained in instructions - [ ] Variables ({{var}}) preserved in template.md -- [ ] Elicitation points (elicit: true) converted to {project-root}/bmad/core/tasks/adv-elicit.xml +- [ ] Elicitation points (elicit: true) converted to {project-root}/{bmad_folder}/core/tasks/adv-elicit.xml - [ ] Conditional sections preserved with if="" attributes - [ ] Repeatable sections converted to repeat="" attributes diff --git a/src/modules/bmb/workflows/convert-legacy/instructions.md b/src/modules/bmb/workflows/convert-legacy/instructions.md index f8377535..7b1d3e1e 100644 --- a/src/modules/bmb/workflows/convert-legacy/instructions.md +++ b/src/modules/bmb/workflows/convert-legacy/instructions.md @@ -1,7 +1,7 @@ # Convert Legacy - v4 to v6 Conversion Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml - Communicate in {communication_language} throughout the conversion process @@ -70,8 +70,8 @@ For Modules: Enter custom module code (kebab-case): Determine installation path based on type and module IMPORTANT: All paths must use final BMAD installation locations, not src paths! -Show user the target location: {project-root}/bmad/{{target_module}}/{{item_type}}/{{item_name}} -Note: Files will be created in bmad/ but all internal paths will reference {project-root}/bmad/ locations +Show user the target location: {project-root}/{bmad_folder}/{{target_module}}/{{item_type}}/{{item_name}} +Note: Files will be created in {bmad_folder}/ but all internal paths will reference {project-root}/{bmad_folder}/ locations Proceed with this location? (y/n) @@ -150,16 +150,16 @@ For Modules: - Convert task dependencies to workflow references - Map template dependencies to v6 workflows - Preserve checklist and data file references - - CRITICAL: All paths must use {project-root}/bmad/{{module}}/ NOT src/ + - CRITICAL: All paths must use {project-root}/{bmad_folder}/{{module}}/ NOT src/ Generate the converted v6 agent YAML file (.agent.yaml) Example path conversions: -- exec="{project-root}/bmad/{{target_module}}/tasks/task-name.md" -- run-workflow="{project-root}/bmad/{{target_module}}/workflows/workflow-name/workflow.yaml" -- data="{project-root}/bmad/{{target_module}}/data/data-file.yaml" +- exec="{project-root}/{bmad_folder}/{{target_module}}/tasks/task-name.md" +- run-workflow="{project-root}/{bmad_folder}/{{target_module}}/workflows/workflow-name/workflow.yaml" +- data="{project-root}/{bmad_folder}/{{target_module}}/data/data-file.yaml" - Save to: bmad/{{target_module}}/agents/{{agent_name}}.agent.yaml (physical location) + Save to: {bmad_folder}/{{target_module}}/agents/{{agent_name}}.agent.yaml (physical location) Note: The build process will later compile this to .md with XML format Continue to Validation @@ -172,7 +172,7 @@ For Modules: - Any special behaviors - workflow: {project-root}/bmad/bmb/workflows/create-agent/workflow.yaml + workflow: {project-root}/{bmad_folder}/bmb/workflows/create-agent/workflow.yaml inputs: - agent_name: {{extracted_name}} - agent_purpose: {{extracted_purpose}} @@ -193,7 +193,7 @@ For Modules: 2. Convert template sections to instructions.md: - Each YAML section → workflow step - - `elicit: true` → `{project-root}/bmad/core/tasks/adv-elicit.xml` tag + - `elicit: true` → `{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml` tag - Conditional sections → `if="condition"` attribute - Repeatable sections → `repeat="for-each"` attribute - Section instructions → step content @@ -212,7 +212,7 @@ For Modules: ```yaml # Critical variables from config -config_source: '{project-root}/bmad/{{target_module}}/config.yaml' +config_source: '{project-root}/{bmad_folder}/{{target_module}}/config.yaml' output_folder: '{config_source}:output_folder' user_name: '{config_source}:user_name' communication_language: '{config_source}:communication_language' @@ -220,7 +220,7 @@ date: system-generated ``` - workflow: {project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml + workflow: {project-root}/{bmad_folder}/bmb/workflows/create-workflow/workflow.yaml inputs: - workflow_name: {{template_name}} - workflow_type: document @@ -239,7 +239,7 @@ date: system-generated Create module blueprint with all components - workflow: {project-root}/bmad/bmb/workflows/create-module/workflow.yaml + workflow: {project-root}/{bmad_folder}/bmb/workflows/create-module/workflow.yaml inputs: - module_name: {{module_name}} - components: {{component_list}} @@ -277,7 +277,7 @@ date: system-generated 4. Handle special v4 patterns: - - 1-9 elicitation menus → v6 {project-root}/bmad/core/tasks/adv-elicit.xml + - 1-9 elicitation menus → v6 {project-root}/{bmad_folder}/core/tasks/adv-elicit.xml - Agent permissions → note in instructions - YOLO mode → autonomous flag or optional steps - Critical notices → workflow.yaml comments @@ -286,7 +286,7 @@ date: system-generated ```yaml # Critical variables from config -config_source: '{project-root}/bmad/{{target_module}}/config.yaml' +config_source: '{project-root}/{bmad_folder}/{{target_module}}/config.yaml' output_folder: '{config_source}:output_folder' user_name: '{config_source}:user_name' communication_language: '{config_source}:communication_language' @@ -294,7 +294,7 @@ date: system-generated ``` - workflow: {project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml + workflow: {project-root}/{bmad_folder}/bmb/workflows/create-workflow/workflow.yaml inputs: - workflow_name: {{task_name}} - workflow_type: {{confirmed_workflow_type}} diff --git a/src/modules/bmb/workflows/convert-legacy/workflow.yaml b/src/modules/bmb/workflows/convert-legacy/workflow.yaml index ac9f91b6..48229803 100644 --- a/src/modules/bmb/workflows/convert-legacy/workflow.yaml +++ b/src/modules/bmb/workflows/convert-legacy/workflow.yaml @@ -4,7 +4,7 @@ description: "Converts legacy BMAD v4 or similar items (agents, workflows, modul author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -15,19 +15,19 @@ recommended_inputs: - legacy_file: "Path to v4 agent, workflow, or module to convert" # Module path and component files -installed_path: "{project-root}/bmad/bmb/workflows/convert-legacy" +installed_path: "{project-root}/{bmad_folder}/bmb/workflows/convert-legacy" template: false # This is an action/meta workflow - no template needed instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" # Output configuration - Creates converted items in appropriate module locations -default_output_folder: "{project-root}/bmad/{{target_module}}/{{item_type}}/{{item_name}}" +default_output_folder: "{project-root}/{bmad_folder}/{{target_module}}/{{item_type}}/{{item_name}}" # Sub-workflows that may be invoked for conversion sub_workflows: - - create_agent: "{project-root}/bmad/bmb/workflows/create-agent/workflow.yaml" - - create_workflow: "{project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml" - - create_module: "{project-root}/bmad/bmb/workflows/create-module/workflow.yaml" + - create_agent: "{project-root}/{bmad_folder}/bmb/workflows/create-agent/workflow.yaml" + - create_workflow: "{project-root}/{bmad_folder}/bmb/workflows/create-workflow/workflow.yaml" + - create_module: "{project-root}/{bmad_folder}/bmb/workflows/create-module/workflow.yaml" standalone: true diff --git a/src/modules/bmb/workflows/create-agent/README.md b/src/modules/bmb/workflows/create-agent/README.md index ba513c98..143b6f71 100644 --- a/src/modules/bmb/workflows/create-agent/README.md +++ b/src/modules/bmb/workflows/create-agent/README.md @@ -86,20 +86,20 @@ workflow create-agent **Standalone Agents:** -- Source: `bmad/agents/{filename}.agent.yaml` -- Compiled: `bmad/agents/{filename}.md` +- Source: `{bmad_folder}/agents/{filename}.agent.yaml` +- Compiled: `{bmad_folder}/agents/{filename}.md` **Module Agents:** - Source: `src/modules/{module}/agents/{filename}.agent.yaml` -- Compiled: `bmad/{module}/agents/{filename}.md` +- Compiled: `{bmad_folder}/{module}/agents/{filename}.md` ### YAML Structure ```yaml agent: metadata: - id: bmad/{module}/agents/{filename}.md + id: {bmad_folder}/{module}/agents/{filename}.md name: Agent Name title: Agent Title icon: 🤖 @@ -117,7 +117,7 @@ agent: ### Optional Customize File -Location: `bmad/_cfg/agents/{module}-{filename}.customize.yaml` +Location: `{bmad_folder}/_cfg/agents/{module}-{filename}.customize.yaml` Allows persona and menu overrides that persist through updates. diff --git a/src/modules/bmb/workflows/create-agent/agent-architecture.md b/src/modules/bmb/workflows/create-agent/agent-architecture.md index f025cdde..04f4c823 100644 --- a/src/modules/bmb/workflows/create-agent/agent-architecture.md +++ b/src/modules/bmb/workflows/create-agent/agent-architecture.md @@ -31,7 +31,7 @@ _LLM-Optimized Technical Documentation for Agent Building_ **Required Attributes:** -- `id` - Unique path identifier (e.g., "bmad/bmm/agents/analyst.md") +- `id` - Unique path identifier (e.g., "{bmad_folder}/bmm/agents/analyst.md") - `name` - Agent's name (e.g., "Mary", "John", "Helper") - `title` - Professional title (e.g., "Business Analyst", "Security Engineer") - `icon` - Single emoji representing the agent @@ -60,7 +60,7 @@ _LLM-Optimized Technical Documentation for Agent Building_ ```xml - Load into memory {project-root}/bmad/{module}/config.yaml and set variables + Load into memory {project-root}/{bmad_folder}/{module}/config.yaml and set variables Remember the users name is {user_name} ALWAYS communicate in {communication_language} @@ -77,7 +77,7 @@ _LLM-Optimized Technical Documentation for Agent Building_ You MUST follow all rules in instructions.md on EVERY interaction - Load into memory {project-root}/bmad/{module}/config.yaml and set variables + Load into memory {project-root}/{bmad_folder}/{module}/config.yaml and set variables Remember the users name is {user_name} ALWAYS communicate in {communication_language} @@ -162,9 +162,9 @@ _LLM-Optimized Technical Documentation for Agent Building_ ```xml - {project-root}/bmad/{module-code} + {project-root}/{bmad_folder}/{module-code} {module-path}/config.yaml - {project-root}/bmad/{module-code}/workflows + {project-root}/{bmad_folder}/{module-code}/workflows ``` @@ -186,7 +186,7 @@ Example: `{config_source}:output_folder` ### Path Construction ``` -Good: {project-root}/bmad/{module}/agents/ +Good: {project-root}/{bmad_folder}/{module}/agents/ Bad: /absolute/path/to/agents/ Bad: ../../../relative/paths/ ``` @@ -197,7 +197,7 @@ Bad: ../../../relative/paths/ ```xml - + Create Product Requirements Document @@ -210,7 +210,7 @@ Bad: ../../../relative/paths/ ### Task Commands ```xml - + Validate document ``` @@ -219,8 +219,8 @@ Bad: ../../../relative/paths/ ```xml + exec="{project-root}/{bmad_folder}/core/tasks/create-doc.md" + tmpl="{project-root}/{bmad_folder}/bmm/templates/brief.md"> Create project brief ``` @@ -229,8 +229,8 @@ Bad: ../../../relative/paths/ ```xml + exec="{project-root}/{bmad_folder}/bmm/tasks/daily-standup.xml" + data="{project-root}/{bmad_folder}/_cfg/agent-manifest.csv"> Run daily standup ``` @@ -295,7 +295,7 @@ Bad: ../../../relative/paths/ - + @@ -395,7 +395,7 @@ When building agents: ```xml - Load into memory {project-root}/bmad/{module}/config.yaml + Load into memory {project-root}/{bmad_folder}/{module}/config.yaml Remember the users name is {user_name} ALWAYS communicate in {communication_language} @@ -404,7 +404,7 @@ When building agents: ### Module Agent Pattern ```xml - diff --git a/src/modules/bmb/workflows/create-agent/agent-command-patterns.md b/src/modules/bmb/workflows/create-agent/agent-command-patterns.md index 84d64911..c44dd3b1 100644 --- a/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +++ b/src/modules/bmb/workflows/create-agent/agent-command-patterns.md @@ -67,14 +67,14 @@ Execute complete multi-step processes ```xml + run-workflow="{project-root}/{bmad_folder}/bmm/workflows/prd/workflow.yaml"> Create Product Requirements Document + workflow="{project-root}/{bmad_folder}/bmm/workflows/prd/workflow.yaml"> Validate PRD Against Checklist @@ -112,14 +112,14 @@ Execute single operations ```xml + exec="{project-root}/{bmad_folder}/core/tasks/validate-workflow.xml"> Validate document against checklist + exec="{project-root}/{bmad_folder}/mmm/tasks/daily-standup.xml" + data="{project-root}/{bmad_folder}/_cfg/agent-manifest.csv"> Run agile team standup ``` @@ -137,15 +137,15 @@ Generate documents from templates ```xml + exec="{project-root}/{bmad_folder}/core/tasks/create-doc.md" + tmpl="{project-root}/{bmad_folder}/bmm/templates/brief.md"> Produce Project Brief + exec="{project-root}/{bmad_folder}/core/tasks/create-doc.md" + tmpl="{project-root}/{bmad_folder}/bmm/templates/competitor.md" + data="{project-root}/{bmad_folder}/_data/market-research.csv"> Produce Competitor Analysis ``` @@ -174,7 +174,7 @@ Direct prompts embedded in commands (Simple agents) ```xml + action="list all tasks from {project-root}/{bmad_folder}/_cfg/task-manifest.csv"> List Available Tasks @@ -227,7 +227,7 @@ For multiline/complex prompts, define them separately and reference by id: + data="{project-root}/{bmad_folder}/_data/sources.csv"> Conduct Literature Review @@ -407,23 +407,23 @@ The `data` attribute can be added to ANY command type to provide supplementary i ```xml + run-workflow="{project-root}/{bmad_folder}/core/workflows/brainstorming/workflow.yaml" + data="{project-root}/{bmad_folder}/core/workflows/brainstorming/brain-methods.csv"> Creative Brainstorming Session + data="{project-root}/{bmad_folder}/_data/performance-metrics.json"> Analyze Performance Metrics + exec="{project-root}/{bmad_folder}/core/tasks/create-doc.md" + tmpl="{project-root}/{bmad_folder}/bmm/templates/report.md" + data="{project-root}/{bmad_folder}/_data/quarterly-results.csv"> Generate Quarterly Report ``` @@ -572,14 +572,14 @@ The `data` attribute can be added to ANY command type to provide supplementary i ```xml + run-workflow="{project-root}/{bmad_folder}/{module}/workflows/{workflow}/workflow.yaml"> {Action} {Object Description} + workflow="{project-root}/{bmad_folder}/{module}/workflows/{workflow}/workflow.yaml"> Validate {Object Description} ``` @@ -588,7 +588,7 @@ The `data` attribute can be added to ANY command type to provide supplementary i ```xml + exec="{project-root}/{bmad_folder}/{module}/tasks/{task}.md"> {Action Description} ``` @@ -597,8 +597,8 @@ The `data` attribute can be added to ANY command type to provide supplementary i ```xml + exec="{project-root}/{bmad_folder}/core/tasks/create-doc.md" + tmpl="{project-root}/{bmad_folder}/{module}/templates/{template}.md"> Create {Document Name} ``` @@ -631,7 +631,7 @@ The `data` attribute can be added to ANY command type to provide supplementary i ### Complete Self-Contained Agent ```xml - + @@ -688,14 +688,14 @@ The `data` attribute can be added to ANY command type to provide supplementary i + data="{project-root}/{bmad_folder}/_data/market-data.csv"> Analyze Competition + exec="{project-root}/{bmad_folder}/core/tasks/create-doc.md" + tmpl="{project-root}/{bmad_folder}/research/templates/report.md"> Generate Research Report @@ -721,7 +721,7 @@ For agents that primarily use embedded logic: + data="{project-root}/{bmad_folder}/_data/dataset.csv"> Analyze Dataset diff --git a/src/modules/bmb/workflows/create-agent/agent-types.md b/src/modules/bmb/workflows/create-agent/agent-types.md index 529202b8..6fdf4cd0 100644 --- a/src/modules/bmb/workflows/create-agent/agent-types.md +++ b/src/modules/bmb/workflows/create-agent/agent-types.md @@ -8,10 +8,10 @@ BMAD agents come in three distinct types, each designed for different use cases ### Standalone Agents (Simple & Expert) -Live in their own dedicated directories under `bmad/agents/`: +Live in their own dedicated directories under `{bmad_folder}/agents/`: ``` -bmad/agents/ +{bmad_folder}/agents/ ├── my-helper/ # Simple agent │ ├── my-helper.agent.yaml # Agent definition │ └── my-helper.md # Built XML (generated) @@ -28,10 +28,10 @@ bmad/agents/ ### Module Agents -Part of a module system under `bmad/{module}/agents/`: +Part of a module system under `{bmad_folder}/{module}/agents/`: ``` -bmad/bmm/agents/ +{bmad_folder}/bmm/agents/ ├── product-manager.agent.yaml ├── product-manager.md # Built XML ├── business-analyst.agent.yaml @@ -44,7 +44,7 @@ bmad/bmm/agents/ **Purpose:** Self-contained, standalone agents with embedded capabilities -**Location:** `bmad/agents/{agent-name}/` +**Location:** `{bmad_folder}/agents/{agent-name}/` **Characteristics:** @@ -105,7 +105,7 @@ agent: **Purpose:** Specialized agents with domain expertise and sidecar resources -**Location:** `bmad/agents/{agent-name}/` with sidecar directory +**Location:** `{bmad_folder}/agents/{agent-name}/` with sidecar directory **Characteristics:** @@ -168,7 +168,7 @@ agent: **Complete Directory Structure:** ``` -bmad/agents/expert-agent/ +{bmad_folder}/agents/expert-agent/ ├── expert-agent.agent.yaml # Agent YAML source ├── expert-agent.md # Built XML (generated) └── expert-agent-sidecar/ # Sidecar resources @@ -183,7 +183,7 @@ bmad/agents/expert-agent/ **Purpose:** Full-featured agents belonging to a module with access to workflows and resources -**Location:** `bmad/{module}/agents/` +**Location:** `{bmad_folder}/{module}/agents/` **Characteristics:** @@ -216,20 +216,20 @@ agent: communication_style: '...' principles: ['...'] critical_actions: - - 'Load config from {project-root}/bmad/{module}/config.yaml' + - 'Load config from {project-root}/{bmad_folder}/{module}/config.yaml' menu: - trigger: create-prd - workflow: '{project-root}/bmad/bmm/workflows/prd/workflow.yaml' + workflow: '{project-root}/{bmad_folder}/bmm/workflows/prd/workflow.yaml' description: 'Create PRD' - trigger: validate - exec: '{project-root}/bmad/core/tasks/validate-workflow.xml' + exec: '{project-root}/{bmad_folder}/core/tasks/validate-workflow.xml' description: 'Validate document' ``` **XML Structure (built):** ```xml - + Product Management Expert ... @@ -237,12 +237,12 @@ agent: ... - Load config from {project-root}/bmad/{module}/config.yaml + Load config from {project-root}/{bmad_folder}/{module}/config.yaml Show numbered menu - Create PRD - Validate document + Create PRD + Validate document Exit diff --git a/src/modules/bmb/workflows/create-agent/checklist.md b/src/modules/bmb/workflows/create-agent/checklist.md index 7d213989..544ba1a5 100644 --- a/src/modules/bmb/workflows/create-agent/checklist.md +++ b/src/modules/bmb/workflows/create-agent/checklist.md @@ -11,7 +11,7 @@ ### Core Components -- [ ] `metadata.id` points to final compiled path: `bmad/{{module}}/agents/{{agent}}.md` +- [ ] `metadata.id` points to final compiled path: `{bmad_folder}/{{module}}/agents/{{agent}}.md` - [ ] `metadata.module` matches the module folder (e.g., `bmm`, `bmb`, `cis`) - [ ] Principles are an array (preferred) or string with clear values @@ -34,12 +34,12 @@ - [ ] `prompts` defined when using `action: "#id"` - [ ] `critical_actions` present if custom activation steps are needed -- [ ] Customize file (if created) located at `{project-root}/bmad/_cfg/agents/{{module}}-{{agent}}.customize.yaml` +- [ ] Customize file (if created) located at `{project-root}/{bmad_folder}/_cfg/agents/{{module}}-{{agent}}.customize.yaml` ## Build Verification - [ ] Run compile to build `.md`: `npm run install:bmad` → "Compile Agents" (or `bmad install` → Compile) -- [ ] Confirm compiled file exists at `{project-root}/bmad/{{module}}/agents/{{agent}}.md` +- [ ] Confirm compiled file exists at `{project-root}/{bmad_folder}/{{module}}/agents/{{agent}}.md` ## Final Quality diff --git a/src/modules/bmb/workflows/create-agent/instructions.md b/src/modules/bmb/workflows/create-agent/instructions.md index 97b41de9..49d712cb 100644 --- a/src/modules/bmb/workflows/create-agent/instructions.md +++ b/src/modules/bmb/workflows/create-agent/instructions.md @@ -1,8 +1,8 @@ # Build Agent - Interactive Agent Builder Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/create-agent/workflow.yaml -Study YAML agent examples in: {project-root}/bmad/bmm/agents/ for patterns +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmb/workflows/create-agent/workflow.yaml +Study YAML agent examples in: {project-root}/{bmad_folder}/bmm/agents/ for patterns Communicate in {communication_language} throughout the agent creation process @@ -11,7 +11,7 @@ Do you want to brainstorm agent ideas first? [y/n] - Invoke brainstorming workflow: {project-root}/bmad/core/workflows/brainstorming/workflow.yaml + Invoke brainstorming workflow: {project-root}/{bmad_folder}/core/workflows/brainstorming/workflow.yaml Pass context data: {installed_path}/brainstorm-context.md Wait for brainstorming session completion Use brainstorming output to inform agent identity and persona development in following steps @@ -51,19 +51,19 @@ Discover which module system fits best (bmm, bmb, cis, or custom) Store as {{target_module}} for path determination - Agent will be saved to: bmad/{{target_module}}/agents/ + Agent will be saved to: {bmad_folder}/{{target_module}}/agents/ Explain this will be their personal agent, not tied to a module - Agent will be saved to: bmad/agents/{{agent-name}}/ + Agent will be saved to: {bmad_folder}/agents/{{agent-name}}/ All sidecar files will be in the same folder Determine agent location: -- Module Agent → bmad/{{module}}/agents/{{agent-name}}.agent.yaml -- Standalone Agent → bmad/agents/{{agent-name}}/{{agent-name}}.agent.yaml +- Module Agent → {bmad_folder}/{{module}}/agents/{{agent-name}}.agent.yaml +- Standalone Agent → {bmad_folder}/agents/{{agent-name}}/{{agent-name}}.agent.yaml Keep agent naming/identity details for later - let them emerge naturally through the creation process @@ -197,8 +197,8 @@ menu: # For cross-module workflow references (advanced): - trigger: [another capability] - workflow: "{project-root}/bmad/SOURCE_MODULE/workflows/path/to/workflow.yaml" - workflow-install: "{project-root}/bmad/THIS_MODULE/workflows/vendored/path/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/SOURCE_MODULE/workflows/path/to/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/THIS_MODULE/workflows/vendored/path/workflow.yaml" description: [description] ````` @@ -238,7 +238,7 @@ This is typically used when creating specialized modules that reuse common workf agent: metadata: - id: bmad/{{target_module}}/agents/{{agent_filename}}.md + id: {bmad_folder}/{{target_module}}/agents/{{agent_filename}}.md name: {{agent_name}} # The name chosen together title: {{agent_title}} # From the role that emerged icon: {{agent_icon}} # The perfect emoji diff --git a/src/modules/bmb/workflows/create-agent/workflow.yaml b/src/modules/bmb/workflows/create-agent/workflow.yaml index 5f2bce59..14b4c53a 100644 --- a/src/modules/bmb/workflows/create-agent/workflow.yaml +++ b/src/modules/bmb/workflows/create-agent/workflow.yaml @@ -4,7 +4,7 @@ description: "Interactive workflow to build BMAD Core compliant agents (YAML sou author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" custom_agent_location: "{config_source}:custom_agent_location" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -17,22 +17,22 @@ communication_styles: "{installed_path}/communication-styles.md" # Optional docs that help understand agent patterns recommended_inputs: - - example_agents: "{project-root}/bmad/bmm/agents/" + - example_agents: "{project-root}/{bmad_folder}/bmm/agents/" - agent_activation_rules: "{project-root}/src/utility/models/agent-activation-ide.xml" # Module path and component files -installed_path: "{project-root}/bmad/bmb/workflows/create-agent" +installed_path: "{project-root}/{bmad_folder}/bmb/workflows/create-agent" template: false # This is an interactive workflow - no template needed instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" # Output configuration - YAML agents compiled to .md at install time -# Module agents: Save to bmad/{{target_module}}/agents/ +# Module agents: Save to {bmad_folder}/{{target_module}}/agents/ # Standalone agents: Save to custom_agent_location/ -module_output_file: "{project-root}/bmad/{{target_module}}/agents/{{agent_filename}}.agent.yaml" +module_output_file: "{project-root}/{bmad_folder}/{{target_module}}/agents/{{agent_filename}}.agent.yaml" standalone_output_file: "{custom_agent_location}/{{agent_filename}}.agent.yaml" # Optional user override file (auto-created by installer if missing) -config_output_file: "{project-root}/bmad/_cfg/agents/{{target_module}}-{{agent_filename}}.customize.yaml" +config_output_file: "{project-root}/{bmad_folder}/_cfg/agents/{{target_module}}-{{agent_filename}}.customize.yaml" standalone: true @@ -41,9 +41,9 @@ web_bundle: description: "Interactive workflow to build BMAD Core compliant agents (simple, expert, or module types) with optional brainstorming for agent ideas, proper persona development, activation rules, and command structure" author: "BMad" web_bundle_files: - - "bmad/bmb/workflows/create-agent/instructions.md" - - "bmad/bmb/workflows/create-agent/checklist.md" - - "bmad/bmb/workflows/create-agent/agent-types.md" - - "bmad/bmb/workflows/create-agent/agent-architecture.md" - - "bmad/bmb/workflows/create-agent/agent-command-patterns.md" - - "bmad/bmb/workflows/create-agent/communication-styles.md" + - "{bmad_folder}/bmb/workflows/create-agent/instructions.md" + - "{bmad_folder}/bmb/workflows/create-agent/checklist.md" + - "{bmad_folder}/bmb/workflows/create-agent/agent-types.md" + - "{bmad_folder}/bmb/workflows/create-agent/agent-architecture.md" + - "{bmad_folder}/bmb/workflows/create-agent/agent-command-patterns.md" + - "{bmad_folder}/bmb/workflows/create-agent/communication-styles.md" diff --git a/src/modules/bmb/workflows/create-module/README.md b/src/modules/bmb/workflows/create-module/README.md index 59f0e054..36ed4422 100644 --- a/src/modules/bmb/workflows/create-module/README.md +++ b/src/modules/bmb/workflows/create-module/README.md @@ -71,7 +71,7 @@ workflow create-module --input module-brief-{name}-{date}.md ### Generated Directory ``` -bmad/{module-code}/ +{bmad_folder}/{module-code}/ ├── agents/ # Agent definitions ├── workflows/ # Workflow processes ├── tasks/ # Reusable tasks diff --git a/src/modules/bmb/workflows/create-module/checklist.md b/src/modules/bmb/workflows/create-module/checklist.md index 48e45aa1..5a809268 100644 --- a/src/modules/bmb/workflows/create-module/checklist.md +++ b/src/modules/bmb/workflows/create-module/checklist.md @@ -19,7 +19,7 @@ ## Directory Structure -### Source Directories (bmad/{module-code}/) +### Source Directories ({bmad_folder}/{module-code}/) - [ ] `/agents` directory created (even if empty) - [ ] `/workflows` directory created (even if empty) diff --git a/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml b/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml index 7665f121..19462d3e 100644 --- a/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +++ b/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml @@ -80,7 +80,7 @@ prompt: # EXAMPLE: Static path # module_data_path: -# result: "{project-root}/bmad/{{MODULE_CODE}}/data" +# result: "{project-root}/{bmad_folder}/{{MODULE_CODE}}/data" # ============================================================================ # YOUR MODULE CONFIGURATION FIELDS diff --git a/src/modules/bmb/workflows/create-module/instructions.md b/src/modules/bmb/workflows/create-module/instructions.md index 80e533db..41c41386 100644 --- a/src/modules/bmb/workflows/create-module/instructions.md +++ b/src/modules/bmb/workflows/create-module/instructions.md @@ -1,8 +1,8 @@ # Build Module - Interactive Module Builder Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/create-module/workflow.yaml -Study existing modules in: {project-root}/bmad/ for patterns +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmb/workflows/create-module/workflow.yaml +Study existing modules in: {project-root}/{bmad_folder}/ for patterns Communicate in {communication_language} throughout the module creation process @@ -28,7 +28,7 @@ Do you have a module brief or should we create one? [have/create/skip] - Invoke module-brief workflow: {project-root}/bmad/bmb/workflows/module-brief/workflow.yaml + Invoke module-brief workflow: {project-root}/{bmad_folder}/bmb/workflows/module-brief/workflow.yaml Wait for module brief completion Load the module brief to use as blueprint @@ -64,7 +64,7 @@ 2. **Module code** - Generate kebab-case from name following patterns: - Multi-word descriptive names → shortened kebab-case - Domain-specific terms → recognizable abbreviations - - Present suggested code and confirm it works for paths like bmad/{{code}}/agents/ + - Present suggested code and confirm it works for paths like {bmad_folder}/{{code}}/agents/ 3. **Module purpose** - Refine their description into 1-2 clear sentences 4. **Target audience** - Infer from context or ask if unclear @@ -322,7 +322,7 @@ prompt: # EXAMPLE Static path: # data_path: -# result: "{project-root}/bmad/{{module_code}}/data" +# result: "{project-root}/{bmad_folder}/{{module_code}}/data" {{generated_config_fields_from_step_4}} ``` @@ -446,7 +446,7 @@ bmad install {{module_code}} ## Configuration -The module can be configured in `bmad/{{module_code}}/config.yaml` +The module can be configured in `{bmad_folder}/{{module_code}}/config.yaml` Key settings: {{configuration_options}} diff --git a/src/modules/bmb/workflows/create-module/module-structure.md b/src/modules/bmb/workflows/create-module/module-structure.md index 56c76f63..e958048a 100644 --- a/src/modules/bmb/workflows/create-module/module-structure.md +++ b/src/modules/bmb/workflows/create-module/module-structure.md @@ -24,7 +24,7 @@ src/modules/{module-code}/ └── README.md # Module documentation # INSTALLED MODULE (in target project) -{project-root}/bmad/{module-code}/ +{project-root}/{bmad_folder}/{module-code}/ ├── agents/ # Compiled agent files (.md) ├── workflows/ # Workflow instances ├── tasks/ # Task files @@ -145,8 +145,8 @@ For modules that need workflows from other modules but want to remain standalone ```yaml menu: - trigger: command-name - workflow: '{project-root}/bmad/SOURCE_MODULE/workflows/path/workflow.yaml' - workflow-install: '{project-root}/bmad/THIS_MODULE/workflows/vendored/workflow.yaml' + workflow: '{project-root}/{bmad_folder}/SOURCE_MODULE/workflows/path/workflow.yaml' + workflow-install: '{project-root}/{bmad_folder}/THIS_MODULE/workflows/vendored/workflow.yaml' description: 'Command description' ``` @@ -216,7 +216,7 @@ module_version: result: '1.0.0' data_path: - result: '{project-root}/bmad/module-code/data' + result: '{project-root}/{bmad_folder}/module-code/data' ``` **Key Points:** diff --git a/src/modules/bmb/workflows/create-module/workflow.yaml b/src/modules/bmb/workflows/create-module/workflow.yaml index 448da46b..0d4d3c3d 100644 --- a/src/modules/bmb/workflows/create-module/workflow.yaml +++ b/src/modules/bmb/workflows/create-module/workflow.yaml @@ -4,7 +4,7 @@ description: "Interactive workflow to build complete BMAD modules with agents, w author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" custom_module_location: "{config_source}:custom_module_location" communication_language: "{config_source}:communication_language" user_name: "{config_source}:user_name" @@ -14,22 +14,22 @@ module_structure_guide: "{installed_path}/module-structure.md" installer_templates: "{installed_path}/installer-templates/" # Use existing build workflows -agent_builder: "{project-root}/bmad/bmb/workflows/create-agent/workflow.yaml" -workflow_builder: "{project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml" -brainstorming_workflow: "{project-root}/bmad/core/workflows/brainstorming/workflow.yaml" +agent_builder: "{project-root}/{bmad_folder}/bmb/workflows/create-agent/workflow.yaml" +workflow_builder: "{project-root}/{bmad_folder}/bmb/workflows/create-workflow/workflow.yaml" +brainstorming_workflow: "{project-root}/{bmad_folder}/core/workflows/brainstorming/workflow.yaml" brainstorming_context: "{installed_path}/brainstorm-context.md" # Optional docs that help understand module patterns recommended_inputs: - module_brief: "{output_folder}/module-brief-*.md" - brainstorming_results: "{output_folder}/brainstorming-*.md" - - bmm_module: "{project-root}/bmad/bmm/" - - cis_module: "{project-root}/bmad/cis/" - - existing_agents: "{project-root}/bmad/*/agents/" - - existing_workflows: "{project-root}/bmad/*/workflows/" + - bmm_module: "{project-root}/{bmad_folder}/bmm/" + - cis_module: "{project-root}/{bmad_folder}/cis/" + - existing_agents: "{project-root}/{bmad_folder}/*/agents/" + - existing_workflows: "{project-root}/{bmad_folder}/*/workflows/" # Module path and component files -installed_path: "{project-root}/bmad/bmb/workflows/create-module" +installed_path: "{project-root}/{bmad_folder}/bmb/workflows/create-module" template: false # This is an interactive scaffolding workflow instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmb/workflows/create-workflow/README.md b/src/modules/bmb/workflows/create-workflow/README.md index acdfadb6..6cf040af 100644 --- a/src/modules/bmb/workflows/create-workflow/README.md +++ b/src/modules/bmb/workflows/create-workflow/README.md @@ -159,7 +159,7 @@ The brainstorming phase invokes the CIS brainstorming workflow to: ### Generated Workflow Folder Creates a complete workflow folder at: -`{project-root}/bmad/{{target_module}}/workflows/{{workflow_name}}/` +`{project-root}/{bmad_folder}/{{target_module}}/workflows/{{workflow_name}}/` ### Files Created @@ -267,9 +267,9 @@ To modify this workflow: For issues or questions: -- Review `/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md` -- Check existing workflows in `/bmad/bmm/workflows/` for examples -- Validate against `/bmad/bmb/workflows/create-workflow/checklist.md` +- Review `/{bmad_folder}/bmb/workflows/create-workflow/workflow-creation-guide.md` +- Check existing workflows in `/{bmad_folder}/bmm/workflows/` for examples +- Validate against `/{bmad_folder}/bmb/workflows/create-workflow/checklist.md` - Consult BMAD Method v6 documentation --- diff --git a/src/modules/bmb/workflows/create-workflow/checklist.md b/src/modules/bmb/workflows/create-workflow/checklist.md index bc52c7ba..e0a48508 100644 --- a/src/modules/bmb/workflows/create-workflow/checklist.md +++ b/src/modules/bmb/workflows/create-workflow/checklist.md @@ -61,7 +61,7 @@ - [ ] web_bundle section present if needed - [ ] Name, description, author copied from main config -- [ ] All file paths converted to bmad/-relative format +- [ ] All file paths converted to {bmad_folder}/-relative format - [ ] NO {config_source} variables in web bundle - [ ] NO {project-root} prefixes in paths - [ ] Instructions path listed correctly diff --git a/src/modules/bmb/workflows/create-workflow/instructions.md b/src/modules/bmb/workflows/create-workflow/instructions.md index 0cfa0242..86f72bf2 100644 --- a/src/modules/bmb/workflows/create-workflow/instructions.md +++ b/src/modules/bmb/workflows/create-workflow/instructions.md @@ -1,7 +1,7 @@ # Build Workflow - Workflow Builder Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/create-workflow/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmb/workflows/create-workflow/workflow.yaml You MUST fully understand the workflow creation guide at: {workflow_creation_guide} Study the guide thoroughly to follow ALL conventions for optimal human-AI collaboration Communicate in {communication_language} throughout the workflow creation process @@ -13,7 +13,7 @@ Invoke brainstorming workflow to explore ideas and design concepts: -- Workflow: {project-root}/bmad/core/workflows/brainstorming/workflow.yaml +- Workflow: {project-root}/{bmad_folder}/core/workflows/brainstorming/workflow.yaml - Context data: {installed_path}/brainstorm-context.md - Purpose: Generate creative workflow ideas, explore different approaches, and clarify requirements @@ -255,7 +255,7 @@ Include: ```yaml # Critical variables from config -config_source: '{project-root}/bmad/{{target_module}}/config.yaml' +config_source: '{project-root}/{bmad_folder}/{{target_module}}/config.yaml' output_folder: '{config_source}:output_folder' user_name: '{config_source}:user_name' communication_language: '{config_source}:communication_language' @@ -277,13 +277,13 @@ name: 'workflow-name' description: 'Clear purpose statement' # Paths -installed_path: '{project-root}/bmad/module/workflows/name' +installed_path: '{project-root}/{bmad_folder}/module/workflows/name' template: '{installed_path}/template.md' instructions: '{installed_path}/instructions.md' validation: '{installed_path}/checklist.md' # Critical variables from config -config_source: '{project-root}/bmad/module/config.yaml' +config_source: '{project-root}/{bmad_folder}/module/config.yaml' output_folder: '{config_source}:output_folder' user_name: '{config_source}:user_name' communication_language: '{config_source}:communication_language' @@ -314,7 +314,7 @@ Load and use the template at: {template_instructions} Generate the instructions.md file following the workflow creation guide: 1. ALWAYS include critical headers: - - Workflow engine reference: {project-root}/bmad/core/tasks/workflow.xml + - Workflow engine reference: {project-root}/{bmad_folder}/core/tasks/workflow.xml - workflow.yaml reference: must be loaded and processed 2. Structure with tags containing all steps @@ -328,7 +328,7 @@ Generate the instructions.md file following the workflow creation guide: 4. Use proper XML tags from guide: - Execution: , , , , - - Output: , {project-root}/bmad/core/tasks/adv-elicit.xml, , + - Output: , {project-root}/{bmad_folder}/core/tasks/adv-elicit.xml, , - Flow: , , 5. Best practices from guide: @@ -616,15 +616,15 @@ If yes: - Web bundles are self-contained and cannot use config_source variables - All files must be explicitly listed in web_bundle_files -- File paths use bmad/ root (not {project-root}) +- File paths use {bmad_folder}/ root (not {project-root}) Configure web_bundle section in workflow.yaml: 1. Copy core workflow metadata (name, description, author) -2. Convert all file paths to bmad/-relative paths: +2. Convert all file paths to {bmad_folder}/-relative paths: - Remove {project-root}/ prefix - Remove {config_source} references (use hardcoded values) - - Example: "{project-root}/bmad/bmm/workflows/x" → "bmad/bmm/workflows/x" + - Example: "{project-root}/{bmad_folder}/bmm/workflows/x" → "{bmad_folder}/bmm/workflows/x" 3. List ALL referenced files by scanning: @@ -642,8 +642,8 @@ If yes: **Critical: Workflow Dependencies** - If instructions call another workflow, that workflow's yaml MUST be in web_bundle_files - - Example: `{project-root}/bmad/core/workflows/x/workflow.yaml` - → Add "bmad/core/workflows/x/workflow.yaml" to web_bundle_files + - Example: `{project-root}/{bmad_folder}/core/workflows/x/workflow.yaml` + → Add "{bmad_folder}/core/workflows/x/workflow.yaml" to web_bundle_files 4. Create web_bundle_files array with complete list @@ -654,24 +654,24 @@ web_bundle: name: '{workflow_name}' description: '{workflow_description}' author: '{author}' - instructions: 'bmad/{module}/workflows/{workflow}/instructions.md' - validation: 'bmad/{module}/workflows/{workflow}/checklist.md' - template: 'bmad/{module}/workflows/{workflow}/template.md' + instructions: '{bmad_folder}/{module}/workflows/{workflow}/instructions.md' + validation: '{bmad_folder}/{module}/workflows/{workflow}/checklist.md' + template: '{bmad_folder}/{module}/workflows/{workflow}/template.md' # Any data files (no config_source) - data_file: 'bmad/{module}/workflows/{workflow}/data.csv' + data_file: '{bmad_folder}/{module}/workflows/{workflow}/data.csv' web_bundle_files: - - 'bmad/{module}/workflows/{workflow}/instructions.md' - - 'bmad/{module}/workflows/{workflow}/checklist.md' - - 'bmad/{module}/workflows/{workflow}/template.md' - - 'bmad/{module}/workflows/{workflow}/data.csv' + - '{bmad_folder}/{module}/workflows/{workflow}/instructions.md' + - '{bmad_folder}/{module}/workflows/{workflow}/checklist.md' + - '{bmad_folder}/{module}/workflows/{workflow}/template.md' + - '{bmad_folder}/{module}/workflows/{workflow}/data.csv' # Add every single file referenced anywhere # CRITICAL: If this workflow invokes other workflows, use existing_workflows # This signals the bundler to recursively include those workflows' web_bundles existing_workflows: - - workflow_variable_name: 'bmad/path/to/workflow.yaml' + - workflow_variable_name: '{bmad_folder}/path/to/workflow.yaml' ``` **Example with existing_workflows:** @@ -681,14 +681,14 @@ web_bundle: name: 'brainstorm-game' description: 'Game brainstorming with CIS workflow' author: 'BMad' - instructions: 'bmad/bmm/workflows/brainstorm-game/instructions.md' + instructions: '{bmad_folder}/bmm/workflows/brainstorm-game/instructions.md' template: false web_bundle_files: - - 'bmad/bmm/workflows/brainstorm-game/instructions.md' - - 'bmad/mmm/workflows/brainstorm-game/game-context.md' - - 'bmad/core/workflows/brainstorming/workflow.yaml' + - '{bmad_folder}/bmm/workflows/brainstorm-game/instructions.md' + - '{bmad_folder}/mmm/workflows/brainstorm-game/game-context.md' + - '{bmad_folder}/core/workflows/brainstorming/workflow.yaml' existing_workflows: - - core_brainstorming: 'bmad/core/workflows/brainstorming/workflow.yaml' + - core_brainstorming: '{bmad_folder}/core/workflows/brainstorming/workflow.yaml' ``` **What existing_workflows does:** @@ -696,13 +696,13 @@ web_bundle: - Tells the bundler this workflow invokes another workflow - Bundler recursively includes the invoked workflow's entire web_bundle - Essential for meta-workflows that orchestrate other workflows -- Maps workflow variable names to their bmad/-relative paths +- Maps workflow variable names to their {bmad_folder}/-relative paths Validate web bundle completeness: - Ensure no {config_source} variables remain - Verify all file paths are listed -- Check that paths are bmad/-relative +- Check that paths are {bmad_folder}/-relative - If workflow uses , add to existing_workflows web_bundle_config diff --git a/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md b/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md index 826af3a4..2bf10bf4 100644 --- a/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +++ b/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md @@ -25,7 +25,7 @@ Create a folder with these files: # workflow.yaml (REQUIRED) name: 'my-workflow' description: 'What this workflow does' -installed_path: '{project-root}/bmad/module/workflows/my-workflow' +installed_path: '{project-root}/{bmad_folder}/module/workflows/my-workflow' template: '{installed_path}/template.md' instructions: '{installed_path}/instructions.md' default_output_file: '{output_folder}/output.md' @@ -44,7 +44,7 @@ standalone: true ```markdown # instructions.md -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: workflow.yaml @@ -61,13 +61,13 @@ That's it! To execute, tell the BMAD agent: `workflow path/to/my-workflow/` ### Tasks vs Workflows -| Aspect | Task | Workflow | -| -------------- | ------------------ | ----------------------- | -| **Purpose** | Single operation | Multi-step process | -| **Format** | XML | Folder with YAML config | -| **Location** | `/src/core/tasks/` | `/bmad/*/workflows/` | -| **User Input** | Minimal | Extensive | -| **Output** | Variable | Usually documents | +| Aspect | Task | Workflow | +| -------------- | ------------------ | ----------------------------- | +| **Purpose** | Single operation | Multi-step process | +| **Format** | XML | Folder with YAML config | +| **Location** | `/src/core/tasks/` | `/{bmad_folder}/*/workflows/` | +| **User Input** | Minimal | Extensive | +| **Output** | Variable | Usually documents | ### Workflow Types @@ -104,7 +104,7 @@ name: 'workflow-name' description: 'Clear purpose statement' # Paths -installed_path: '{project-root}/bmad/module/workflows/name' +installed_path: '{project-root}/{bmad_folder}/module/workflows/name' template: '{installed_path}/template.md' # or false instructions: '{installed_path}/instructions.md' # or false validation: '{installed_path}/checklist.md' # optional @@ -641,7 +641,7 @@ the technology stack recommendations. Please choose: web, mobile, or desktop.The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: workflow.yaml @@ -855,7 +855,7 @@ _Generated on {{date}}_ **Output:** - `` - Save checkpoint -- `{project-root}/bmad/core/tasks/adv-elicit.xml` - Trigger AI enhancement +- `{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml` - Trigger AI enhancement - `` - Important info - `` - Show example @@ -904,7 +904,7 @@ _Generated on {{date}}_ Create functional and non-functional requirements. requirements - {project-root}/bmad/core/tasks/adv-elicit.xml + {project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -1194,7 +1194,7 @@ Web bundles allow workflows to be deployed as self-contained packages for web en 1. **Self-Contained**: No external dependencies 2. **No Config Variables**: Cannot use `{config_source}` references 3. **Complete File List**: Every referenced file must be listed -4. **Relative Paths**: Use `bmad/` root paths (no `{project-root}`) +4. **Relative Paths**: Use `{bmad_folder}/` root paths (no `{project-root}`) ### Creating a Web Bundle @@ -1206,20 +1206,20 @@ web_bundle: description: 'Workflow description' author: 'Your Name' - # Core files (bmad/-relative paths) - instructions: 'bmad/module/workflows/workflow/instructions.md' - validation: 'bmad/module/workflows/workflow/checklist.md' - template: 'bmad/module/workflows/workflow/template.md' + # Core files ({bmad_folder}/-relative paths) + instructions: '{bmad_folder}/module/workflows/workflow/instructions.md' + validation: '{bmad_folder}/module/workflows/workflow/checklist.md' + template: '{bmad_folder}/module/workflows/workflow/template.md' # Data files (no config_source allowed) - data_file: 'bmad/module/workflows/workflow/data.csv' + data_file: '{bmad_folder}/module/workflows/workflow/data.csv' # Complete file list - CRITICAL! web_bundle_files: - - 'bmad/module/workflows/workflow/instructions.md' - - 'bmad/module/workflows/workflow/checklist.md' - - 'bmad/module/workflows/workflow/template.md' - - 'bmad/module/workflows/workflow/data.csv' + - '{bmad_folder}/module/workflows/workflow/instructions.md' + - '{bmad_folder}/module/workflows/workflow/checklist.md' + - '{bmad_folder}/module/workflows/workflow/template.md' + - '{bmad_folder}/module/workflows/workflow/data.csv' # Include ALL referenced files ``` @@ -1227,7 +1227,7 @@ web_bundle: 1. **Remove Config Dependencies**: - Replace `{config_source}:variable` with hardcoded values - - Convert `{project-root}/bmad/` to `bmad/` + - Convert `{project-root}/{bmad_folder}/` to `{bmad_folder}/` 2. **Inventory All Files**: - Scan instructions.md for file references @@ -1236,7 +1236,7 @@ web_bundle: 3. **Test Completeness**: - Ensure no missing file references - - Verify all paths are relative to bmad/ + - Verify all paths are relative to {bmad_folder}/ ### Example: Complete Web Bundle @@ -1246,37 +1246,37 @@ web_bundle: description: 'Requirements analysis workflow' author: 'BMad Team' - instructions: 'bmad/bmm/workflows/analyze-requirements/instructions.md' - validation: 'bmad/bmm/workflows/analyze-requirements/checklist.md' - template: 'bmad/bmm/workflows/analyze-requirements/template.md' + instructions: '{bmad_folder}/bmm/workflows/analyze-requirements/instructions.md' + validation: '{bmad_folder}/bmm/workflows/analyze-requirements/checklist.md' + template: '{bmad_folder}/bmm/workflows/analyze-requirements/template.md' # Data files - techniques_data: 'bmad/bmm/workflows/analyze-requirements/techniques.csv' - patterns_data: 'bmad/bmm/workflows/analyze-requirements/patterns.json' + techniques_data: '{bmad_folder}/bmm/workflows/analyze-requirements/techniques.csv' + patterns_data: '{bmad_folder}/bmm/workflows/analyze-requirements/patterns.json' # Sub-workflow reference - validation_workflow: 'bmad/bmm/workflows/validate-requirements/workflow.yaml' + validation_workflow: '{bmad_folder}/bmm/workflows/validate-requirements/workflow.yaml' standalone: true web_bundle_files: # Core workflow files - - 'bmad/bmm/workflows/analyze-requirements/instructions.md' - - 'bmad/bmm/workflows/analyze-requirements/checklist.md' - - 'bmad/bmm/workflows/analyze-requirements/template.md' + - '{bmad_folder}/bmm/workflows/analyze-requirements/instructions.md' + - '{bmad_folder}/bmm/workflows/analyze-requirements/checklist.md' + - '{bmad_folder}/bmm/workflows/analyze-requirements/template.md' # Data files - - 'bmad/bmm/workflows/analyze-requirements/techniques.csv' - - 'bmad/bmm/workflows/analyze-requirements/patterns.json' + - '{bmad_folder}/bmm/workflows/analyze-requirements/techniques.csv' + - '{bmad_folder}/bmm/workflows/analyze-requirements/patterns.json' # Sub-workflow and its files - - 'bmad/bmm/workflows/validate-requirements/workflow.yaml' - - 'bmad/bmm/workflows/validate-requirements/instructions.md' - - 'bmad/bmm/workflows/validate-requirements/checklist.md' + - '{bmad_folder}/bmm/workflows/validate-requirements/workflow.yaml' + - '{bmad_folder}/bmm/workflows/validate-requirements/instructions.md' + - '{bmad_folder}/bmm/workflows/validate-requirements/checklist.md' # Shared templates referenced in instructions - - 'bmad/bmm/templates/requirement-item.md' - - 'bmad/bmm/templates/validation-criteria.md' + - '{bmad_folder}/bmm/templates/requirement-item.md' + - '{bmad_folder}/bmm/templates/validation-criteria.md' ``` ## Troubleshooting @@ -1305,4 +1305,4 @@ web_bundle: _For implementation details, see:_ - `/src/core/tasks/workflow.xml` - Execution engine -- `/bmad/bmm/workflows/` - Production examples +- `/{bmad_folder}/bmm/workflows/` - Production examples diff --git a/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md b/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md index 955e6075..cc492b0b 100644 --- a/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +++ b/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md @@ -1,7 +1,7 @@ # PRD Workflow Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-related}/bmad/{module-code}/workflows/{workflow}/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-related}/{bmad_folder}/{module-code}/workflows/{workflow}/workflow.yaml Communicate in {communication_language} throughout the workflow process diff --git a/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml b/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml index a597483a..b43dea0f 100644 --- a/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +++ b/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml @@ -20,7 +20,7 @@ recommended_inputs: # optional, can be omitted - example_input: "{project-root}/{path/to/file.md}" # Module path and component files -installed_path: "{project-root}/bmad/{module-code}/workflows/{workflow-code}" +installed_path: "{project-root}/{bmad_folder}/{module-code}/workflows/{workflow-code}" template: "{installed_path}/template.md" # optional, can be omitted instructions: "{installed_path}/instructions.md" # optional, can be omitted validation: "{installed_path}/checklist.md" # optional, can be omitted @@ -43,23 +43,23 @@ web_bundle: #optional, can be omitted description: "{WORKFLOW_DESCRIPTION}" author: "BMad" - # Core workflow files (paths relative to bmad/ root) - instructions: "bmad/{module-code}/workflows/{workflow-code}/instructions.md" - validation: "bmad/{module-code}/workflows/{workflow-code}/checklist.md" - template: "bmad/{module-code}/workflows/{workflow-code}/template.md" # if document workflow + # Core workflow files (paths relative to {bmad_folder}/ root) + instructions: "{bmad_folder}/{module-code}/workflows/{workflow-code}/instructions.md" + validation: "{bmad_folder}/{module-code}/workflows/{workflow-code}/checklist.md" + template: "{bmad_folder}/{module-code}/workflows/{workflow-code}/template.md" # if document workflow # Reference any data files or additional workflows (no config_source allowed) - # brain_techniques: "bmad/{module-code}/workflows/{workflow-code}/data-file.csv" - # sub_workflow: "bmad/{module-code}/workflows/other-workflow/workflow.yaml" + # brain_techniques: "{bmad_folder}/{module-code}/workflows/{workflow-code}/data-file.csv" + # sub_workflow: "{bmad_folder}/{module-code}/workflows/other-workflow/workflow.yaml" # CRITICAL: List ALL files used by this workflow # This includes instructions, validation, templates, data files, # and any files referenced within those files web_bundle_files: - - "bmad/{module-code}/workflows/{workflow-code}/instructions.md" - - "bmad/{module-code}/workflows/{workflow-code}/checklist.md" - - "bmad/{module-code}/workflows/{workflow-code}/template.md" + - "{bmad_folder}/{module-code}/workflows/{workflow-code}/instructions.md" + - "{bmad_folder}/{module-code}/workflows/{workflow-code}/checklist.md" + - "{bmad_folder}/{module-code}/workflows/{workflow-code}/template.md" # Add ALL referenced files here - examine instructions.md and template.md # for any file paths and include them all - # - "bmad/{module-code}/workflows/{workflow-code}/data/example.csv" - # - "bmad/{module-code}/templates/shared-template.md" + # - "{bmad_folder}/{module-code}/workflows/{workflow-code}/data/example.csv" + # - "{bmad_folder}/{module-code}/templates/shared-template.md" diff --git a/src/modules/bmb/workflows/create-workflow/workflow.yaml b/src/modules/bmb/workflows/create-workflow/workflow.yaml index 6ead450a..c5ed1bec 100644 --- a/src/modules/bmb/workflows/create-workflow/workflow.yaml +++ b/src/modules/bmb/workflows/create-workflow/workflow.yaml @@ -4,7 +4,7 @@ description: "Interactive workflow builder that guides creation of new BMAD work author: "BMad Builder" # Critical variables -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" custom_workflow_location: "{config_source}:custom_workflow_location" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -17,11 +17,11 @@ template_checklist: "{workflow_template_path}/checklist.md" # Optional input docs recommended_inputs: - - existing_workflows: "{project-root}/bmad/*/workflows/" - - bmm_workflows: "{project-root}/bmad/bmm/workflows/" + - existing_workflows: "{project-root}/{bmad_folder}/*/workflows/" + - bmm_workflows: "{project-root}/{bmad_folder}/bmm/workflows/" # Module path and component files -installed_path: "{project-root}/bmad/bmb/workflows/create-workflow" +installed_path: "{project-root}/{bmad_folder}/bmb/workflows/create-workflow" template: false # This is an action workflow - no template needed instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" @@ -33,7 +33,7 @@ workflow_template_path: "{installed_path}/workflow-template" # Output configuration - Creates the new workflow folder with all files # If workflow belongs to a module: Save to module's workflows folder # If standalone workflow: Save to custom_workflow_location/{{workflow_name}} -module_output_folder: "{project-root}/bmad/{{target_module}}/workflows/{{workflow_name}}" +module_output_folder: "{project-root}/{bmad_folder}/{{target_module}}/workflows/{{workflow_name}}" standalone_output_folder: "{custom_workflow_location}/{{workflow_name}}" standalone: true diff --git a/src/modules/bmb/workflows/edit-agent/checklist.md b/src/modules/bmb/workflows/edit-agent/checklist.md index b0c0df90..aeb5625b 100644 --- a/src/modules/bmb/workflows/edit-agent/checklist.md +++ b/src/modules/bmb/workflows/edit-agent/checklist.md @@ -46,7 +46,7 @@ Use this checklist to validate agent edits meet BMAD Core standards. ## Menu Handler Validation - [ ] menu-handlers section is present -- [ ] Workflow handler loads {project-root}/bmad/core/tasks/workflow.xml +- [ ] Workflow handler loads {project-root}/{bmad_folder}/core/tasks/workflow.xml - [ ] Workflow handler passes yaml path as 'workflow-config' parameter - [ ] Handlers check for attributes (workflow, exec, tmpl, data, action) - [ ] Handler logic is complete and follows patterns diff --git a/src/modules/bmb/workflows/edit-agent/instructions.md b/src/modules/bmb/workflows/edit-agent/instructions.md index e6c4a047..2ea4a9a9 100644 --- a/src/modules/bmb/workflows/edit-agent/instructions.md +++ b/src/modules/bmb/workflows/edit-agent/instructions.md @@ -1,7 +1,7 @@ # Edit Agent - Agent Editor Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/edit-agent/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmb/workflows/edit-agent/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them Communicate all responses in {communication_language} diff --git a/src/modules/bmb/workflows/edit-agent/workflow.yaml b/src/modules/bmb/workflows/edit-agent/workflow.yaml index 708cd4b1..4c6d8f67 100644 --- a/src/modules/bmb/workflows/edit-agent/workflow.yaml +++ b/src/modules/bmb/workflows/edit-agent/workflow.yaml @@ -4,27 +4,27 @@ description: "Edit existing BMAD agents while following all best practices and c author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" communication_language: "{config_source}:communication_language" user_name: "{config_source}:user_name" # Required Data Files - Critical for understanding agent conventions -agent_types: "{project-root}/bmad/bmb/workflows/create-agent/agent-types.md" -agent_architecture: "{project-root}/bmad/bmb/workflows/create-agent/agent-architecture.md" -agent_commands: "{project-root}/bmad/bmb/workflows/create-agent/agent-command-patterns.md" -communication_styles: "{project-root}/bmad/bmb/workflows/create-agent/communication-styles.md" +agent_types: "{project-root}/{bmad_folder}/bmb/workflows/create-agent/agent-types.md" +agent_architecture: "{project-root}/{bmad_folder}/bmb/workflows/create-agent/agent-architecture.md" +agent_commands: "{project-root}/{bmad_folder}/bmb/workflows/create-agent/agent-command-patterns.md" +communication_styles: "{project-root}/{bmad_folder}/bmb/workflows/create-agent/communication-styles.md" # Workflow execution engine reference -workflow_execution_engine: "{project-root}/bmad/core/tasks/workflow.xml" +workflow_execution_engine: "{project-root}/{bmad_folder}/core/tasks/workflow.xml" # Optional docs that can be used to understand the target agent recommended_inputs: - target_agent: "Path to the agent.yaml or agent.md file to edit" - - example_agents: "{project-root}/bmad/bmm/agents/" + - example_agents: "{project-root}/{bmad_folder}/bmm/agents/" - agent_activation_rules: "{project-root}/src/utility/models/agent-activation-ide.xml" # Module path and component files -installed_path: "{project-root}/bmad/bmb/workflows/edit-agent" +installed_path: "{project-root}/{bmad_folder}/bmb/workflows/edit-agent" template: false # This is an action workflow - no template needed instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmb/workflows/edit-module/README.md b/src/modules/bmb/workflows/edit-module/README.md index 4f9337ea..af95542e 100644 --- a/src/modules/bmb/workflows/edit-module/README.md +++ b/src/modules/bmb/workflows/edit-module/README.md @@ -106,7 +106,7 @@ Modules can share workflows: ```yaml # In agent menu item: -workflow: '{project-root}/bmad/other-module/workflows/shared-workflow/workflow.yaml' +workflow: '{project-root}/{bmad_folder}/other-module/workflows/shared-workflow/workflow.yaml' ``` Common patterns: @@ -151,7 +151,7 @@ Changes are reviewed and approved by you before being applied. - Can configure web bundles - Are the development source of truth -**Installed modules** (in bmad/): +**Installed modules** (in {bmad_folder}/): - Are deployed to target projects - Use config.yaml for user customization diff --git a/src/modules/bmb/workflows/edit-module/checklist.md b/src/modules/bmb/workflows/edit-module/checklist.md index 472253a5..88d68711 100644 --- a/src/modules/bmb/workflows/edit-module/checklist.md +++ b/src/modules/bmb/workflows/edit-module/checklist.md @@ -5,7 +5,7 @@ Use this checklist to validate module edits meet BMAD Core standards. ## Module Structure Validation - [ ] Module has clear 3-letter code (bmm, bmb, cis, etc.) -- [ ] Module is in correct location (src/modules/ for source, bmad/ for installed) +- [ ] Module is in correct location (src/modules/ for source, {bmad_folder}/ for installed) - [ ] agents/ directory exists - [ ] workflows/ directory exists - [ ] config.yaml exists in module root @@ -128,7 +128,7 @@ Use this checklist to validate module edits meet BMAD Core standards. - [ ] Web bundles configured in workflow.yaml files - [ ] All referenced files included in web_bundle_files -- [ ] Paths are bmad/-relative (not project-root) +- [ ] Paths are {bmad_folder}/-relative (not project-root) - [ ] No config_source references in web bundles - [ ] Invoked workflows included in dependencies diff --git a/src/modules/bmb/workflows/edit-module/instructions.md b/src/modules/bmb/workflows/edit-module/instructions.md index 20f4b083..d580e164 100644 --- a/src/modules/bmb/workflows/edit-module/instructions.md +++ b/src/modules/bmb/workflows/edit-module/instructions.md @@ -1,7 +1,7 @@ # Edit Module - Module Editor Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/edit-module/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmb/workflows/edit-module/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them Communicate all responses in {communication_language} @@ -9,7 +9,7 @@ -What is the path to the module you want to edit? (provide path to module directory like bmad/bmm/ or src/modules/bmm/) +What is the path to the module you want to edit? (provide path to module directory like {bmad_folder}/bmm/ or src/modules/bmm/) Load the module directory structure completely: @@ -185,7 +185,7 @@ Let the conversation flow naturally. Build a shared vision of what "better" look **If setting up cross-module integration:** - Identify which workflows from other modules are needed -- Show how to reference workflows properly: {project-root}/bmad/{{module}}/workflows/{{workflow}}/workflow.yaml +- Show how to reference workflows properly: {project-root}/{bmad_folder}/{{module}}/workflows/{{workflow}}/workflow.yaml - Document the integration in README - Ensure dependencies are clear - Consider adding example usage diff --git a/src/modules/bmb/workflows/edit-module/workflow.yaml b/src/modules/bmb/workflows/edit-module/workflow.yaml index c8061bf4..bab6aa7a 100644 --- a/src/modules/bmb/workflows/edit-module/workflow.yaml +++ b/src/modules/bmb/workflows/edit-module/workflow.yaml @@ -4,28 +4,28 @@ description: "Edit existing BMAD modules (structure, agents, workflows, document author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" communication_language: "{config_source}:communication_language" user_name: "{config_source}:user_name" # Required Data Files - Critical for understanding module conventions -module_structure_guide: "{project-root}/bmad/bmb/workflows/create-module/module-structure.md" +module_structure_guide: "{project-root}/{bmad_folder}/bmb/workflows/create-module/module-structure.md" # Related workflow editors -agent_editor: "{project-root}/bmad/bmb/workflows/edit-agent/workflow.yaml" -workflow_editor: "{project-root}/bmad/bmb/workflows/edit-workflow/workflow.yaml" +agent_editor: "{project-root}/{bmad_folder}/bmb/workflows/edit-agent/workflow.yaml" +workflow_editor: "{project-root}/{bmad_folder}/bmb/workflows/edit-workflow/workflow.yaml" # Optional docs that can be used to understand the target module recommended_inputs: - target_module: "Path to the module directory to edit" - - bmm_module: "{project-root}/bmad/bmm/" - - bmb_module: "{project-root}/bmad/bmb/" - - cis_module: "{project-root}/bmad/cis/" - - existing_agents: "{project-root}/bmad/*/agents/" - - existing_workflows: "{project-root}/bmad/*/workflows/" + - bmm_module: "{project-root}/{bmad_folder}/bmm/" + - bmb_module: "{project-root}/{bmad_folder}/bmb/" + - cis_module: "{project-root}/{bmad_folder}/cis/" + - existing_agents: "{project-root}/{bmad_folder}/*/agents/" + - existing_workflows: "{project-root}/{bmad_folder}/*/workflows/" # Module path and component files -installed_path: "{project-root}/bmad/bmb/workflows/edit-module" +installed_path: "{project-root}/{bmad_folder}/bmb/workflows/edit-module" template: false # This is an action workflow - no template needed instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmb/workflows/edit-workflow/instructions.md b/src/modules/bmb/workflows/edit-workflow/instructions.md index f273063d..d2ca8c28 100644 --- a/src/modules/bmb/workflows/edit-workflow/instructions.md +++ b/src/modules/bmb/workflows/edit-workflow/instructions.md @@ -1,7 +1,7 @@ # Edit Workflow - Workflow Editor Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/edit-workflow/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmb/workflows/edit-workflow/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them Communicate all responses in {communication_language} @@ -24,7 +24,7 @@ - Workflow creation guide: {workflow_creation_guide} - Workflow execution engine: {workflow_execution_engine} -- Study example workflows from: {project-root}/bmad/bmm/workflows/ +- Study example workflows from: {project-root}/{bmad_folder}/bmm/workflows/ Analyze the workflow deeply: @@ -205,7 +205,7 @@ Let the conversation flow naturally. Build a shared vision of what "better" look - Identify all files the workflow depends on - Check for invoked workflows (must be included) -- Verify paths are bmad/-relative +- Verify paths are {bmad_folder}/-relative - Remove config_source dependencies - Build complete file list diff --git a/src/modules/bmb/workflows/edit-workflow/workflow.yaml b/src/modules/bmb/workflows/edit-workflow/workflow.yaml index edb4e357..6b4877ae 100644 --- a/src/modules/bmb/workflows/edit-workflow/workflow.yaml +++ b/src/modules/bmb/workflows/edit-workflow/workflow.yaml @@ -4,21 +4,21 @@ description: "Edit existing BMAD workflows while following all best practices an author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" communication_language: "{config_source}:communication_language" user_name: "{config_source}:user_name" # Required Data Files - Critical for understanding workflow conventions -workflow_creation_guide: "{project-root}/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md" -workflow_execution_engine: "{project-root}/bmad/core/tasks/workflow.xml" +workflow_creation_guide: "{project-root}/{bmad_folder}/bmb/workflows/create-workflow/workflow-creation-guide.md" +workflow_execution_engine: "{project-root}/{bmad_folder}/core/tasks/workflow.xml" # Optional docs that can be used to understand the target workflow recommended_inputs: - target_workflow: "Path to the workflow.yaml file to edit" - - workflow_examples: "{project-root}/bmad/bmm/workflows/" + - workflow_examples: "{project-root}/{bmad_folder}/bmm/workflows/" # Module path and component files -installed_path: "{project-root}/bmad/bmb/workflows/edit-workflow" +installed_path: "{project-root}/{bmad_folder}/bmb/workflows/edit-workflow" template: false # This is an action workflow - no template needed instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmb/workflows/module-brief/README.md b/src/modules/bmb/workflows/module-brief/README.md index 4a8b0c20..453ca9ef 100644 --- a/src/modules/bmb/workflows/module-brief/README.md +++ b/src/modules/bmb/workflows/module-brief/README.md @@ -254,8 +254,8 @@ To customize this workflow: For issues or questions: -- Review the workflow creation guide at `/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md` -- Study existing module examples in `/bmad/` for patterns and inspiration +- Review the workflow creation guide at `/{bmad_folder}/bmb/workflows/create-workflow/workflow-creation-guide.md` +- Study existing module examples in `/{bmad_folder}/` for patterns and inspiration - Validate output using `checklist.md` - Consult module structure guide at `create-module/module-structure.md` diff --git a/src/modules/bmb/workflows/module-brief/instructions.md b/src/modules/bmb/workflows/module-brief/instructions.md index 6f45ac42..abd3ac45 100644 --- a/src/modules/bmb/workflows/module-brief/instructions.md +++ b/src/modules/bmb/workflows/module-brief/instructions.md @@ -1,7 +1,7 @@ # Module Brief Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmb/workflows/module-brief/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmb/workflows/module-brief/workflow.yaml Communicate in {communication_language} throughout the module brief creation process diff --git a/src/modules/bmb/workflows/module-brief/workflow.yaml b/src/modules/bmb/workflows/module-brief/workflow.yaml index 6db8eed9..2386eed7 100644 --- a/src/modules/bmb/workflows/module-brief/workflow.yaml +++ b/src/modules/bmb/workflows/module-brief/workflow.yaml @@ -4,7 +4,7 @@ description: "Create a comprehensive Module Brief that serves as the blueprint f author: "BMad Builder" # Critical variables -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -13,11 +13,11 @@ date: system-generated # Optional input docs that enhance module planning recommended_inputs: - brainstorming_results: "{output_folder}/brainstorming-*.md" - - existing_modules: "{project-root}/bmad/" - - module_examples: "{project-root}/bmad/bmb/workflows/create-module/module-structure.md" + - existing_modules: "{project-root}/{bmad_folder}/" + - module_examples: "{project-root}/{bmad_folder}/bmb/workflows/create-module/module-structure.md" # Module path and component files -installed_path: "{project-root}/bmad/bmb/workflows/module-brief" +installed_path: "{project-root}/{bmad_folder}/bmb/workflows/module-brief" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmb/workflows/redoc/README.md b/src/modules/bmb/workflows/redoc/README.md index a6de7438..24614abd 100644 --- a/src/modules/bmb/workflows/redoc/README.md +++ b/src/modules/bmb/workflows/redoc/README.md @@ -28,11 +28,11 @@ workflow redoc When prompted, provide one of: -- **Module path**: `bmad/bmm` (documents entire module: root, workflows, agents) -- **Workflows folder**: `bmad/bmm/workflows` (documents all workflows) -- **Agents folder**: `bmad/bmm/agents` (documents all agents) -- **Single workflow**: `bmad/bmm/workflows/product-brief` (documents one workflow) -- **Single agent**: `bmad/bmm/agents/prd-agent.md` (documents one agent) +- **Module path**: `{bmad_folder}/bmm` (documents entire module: root, workflows, agents) +- **Workflows folder**: `{bmad_folder}/bmm/workflows` (documents all workflows) +- **Agents folder**: `{bmad_folder}/bmm/agents` (documents all agents) +- **Single workflow**: `{bmad_folder}/bmm/workflows/product-brief` (documents one workflow) +- **Single agent**: `{bmad_folder}/bmm/agents/prd-agent.md` (documents one agent) ## Inputs diff --git a/src/modules/bmb/workflows/redoc/instructions.md b/src/modules/bmb/workflows/redoc/instructions.md index dfbfbaf1..b5df1373 100644 --- a/src/modules/bmb/workflows/redoc/instructions.md +++ b/src/modules/bmb/workflows/redoc/instructions.md @@ -1,6 +1,6 @@ # ReDoc Workflow Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {project-root}/src/modules/bmb/workflows/redoc/workflow.yaml Communicate in {communication_language} throughout the documentation process This is an AUTONOMOUS workflow - minimize user interaction unless clarification is absolutely required diff --git a/src/modules/bmb/workflows/redoc/workflow.yaml b/src/modules/bmb/workflows/redoc/workflow.yaml index 8205d2ba..6443c275 100644 --- a/src/modules/bmb/workflows/redoc/workflow.yaml +++ b/src/modules/bmb/workflows/redoc/workflow.yaml @@ -4,7 +4,7 @@ description: "Autonomous documentation system that maintains module, workflow, a author: "BMad" # Critical variables -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" diff --git a/src/modules/bmgd/README.md b/src/modules/bmgd/README.md index ab83797b..8116b54e 100644 --- a/src/modules/bmgd/README.md +++ b/src/modules/bmgd/README.md @@ -135,7 +135,7 @@ bmgd/ ## Configuration -After installation, configure the module in `bmad/bmgd/config.yaml` +After installation, configure the module in `{bmad_folder}/bmgd/config.yaml` Key settings: diff --git a/src/modules/bmgd/_module-installer/install-config.yaml b/src/modules/bmgd/_module-installer/install-config.yaml index 675261f9..cfffc90e 100644 --- a/src/modules/bmgd/_module-installer/install-config.yaml +++ b/src/modules/bmgd/_module-installer/install-config.yaml @@ -16,6 +16,8 @@ prompt: ## document_output_language ## output_folder ## bmad_folder +## install_user_docs +## kb_install game_project_name: prompt: "What is the name of your game project?" @@ -23,18 +25,18 @@ game_project_name: result: "{value}" game_design_docs: - prompt: "Where should game design documents (GDD, narrative, etc.) be stored?" - default: "docs/design" + prompt: "Where should game design and planning documents (GDD, narrative, etc.) be stored?" + default: "{output_folder}/design" result: "{project-root}/{value}" -game_tech_docs: - prompt: "Where should game technical documentation be stored?" - default: "docs/technical" +tech_docs: + prompt: "Where should technical reference documents be stored?" + default: "{output_folder}/technical" result: "{project-root}/{value}" -game_story_location: - prompt: "Where should game development stories be stored?" - default: "docs/stories" +dev_ephemeral_location: + prompt: "Where should ephemeral development artifacts be stored (stories, epics, temp context, etc...)?" + default: "{bmad_folder}-ephemeral" result: "{project-root}/{value}" game_dev_experience: @@ -51,7 +53,8 @@ game_dev_experience: specified_framework: prompt: "Which game development framework or engine do you want to install support for?" - default: "unity" + default: ["unity", "unreal", "godot", "other"] + required: true result: "{value}" multi-select: - value: "unity" @@ -60,8 +63,8 @@ specified_framework: label: "Unreal Engine" - value: "godot" label: "Godot" - - value: "custom" + - value: "other" label: "Custom / Other" data_path: - result: "{project-root}/bmad/bmgd/data" + result: "{project-root}/{bmad_folder}/bmgd/data" diff --git a/src/modules/bmgd/agents/game-architect.agent.yaml b/src/modules/bmgd/agents/game-architect.agent.yaml index dde1f526..2d6ba5f5 100644 --- a/src/modules/bmgd/agents/game-architect.agent.yaml +++ b/src/modules/bmgd/agents/game-architect.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmgd/agents/game-architect.md + id: "{bmad_folder}/bmgd/agents/game-architect.md" name: Cloud Dragonborn title: Game Architect icon: 🏛️ @@ -19,10 +19,10 @@ agent: menu: - trigger: correct-course - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/correct-course/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/correct-course/workflow.yaml" description: Course Correction Analysis - trigger: create-architecture - workflow: "{project-root}/bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmgd/workflows/3-technical/game-architecture/workflow.yaml" description: Produce a Scale Adaptive Game Architecture diff --git a/src/modules/bmgd/agents/game-designer.agent.yaml b/src/modules/bmgd/agents/game-designer.agent.yaml index 113efb99..eb8f46b4 100644 --- a/src/modules/bmgd/agents/game-designer.agent.yaml +++ b/src/modules/bmgd/agents/game-designer.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmgd/agents/game-designer.md + id: "{bmad_folder}/bmgd/agents/game-designer.md" name: Samus Shepard title: Game Designer icon: 🎲 @@ -19,17 +19,17 @@ agent: menu: - trigger: brainstorm-game - workflow: "{project-root}/bmad/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml" description: 1. Guide me through Game Brainstorming - trigger: create-game-brief - workflow: "{project-root}/bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmgd/workflows/1-preproduction/game-brief/workflow.yaml" description: 3. Create Game Brief - trigger: create-gdd - workflow: "{project-root}/bmad/bmgd/workflows/2-design/gdd/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmgd/workflows/2-design/gdd/workflow.yaml" description: 4. Create Game Design Document (GDD) - trigger: narrative - workflow: "{project-root}/bmad/bmgd/workflows/2-design/narrative/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmgd/workflows/2-design/narrative/workflow.yaml" description: 5. Create Narrative Design Document (story-driven games) diff --git a/src/modules/bmgd/agents/game-dev.agent.yaml b/src/modules/bmgd/agents/game-dev.agent.yaml index 3718988b..103902f4 100644 --- a/src/modules/bmgd/agents/game-dev.agent.yaml +++ b/src/modules/bmgd/agents/game-dev.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmgd/agents/game-dev.md + id: "{bmad_folder}/bmgd/agents/game-dev.md" name: Link Freeman title: Game Developer icon: 🕹️ @@ -19,16 +19,16 @@ agent: menu: - trigger: develop-story - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/dev-story/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/dev-story/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/dev-story/workflow.yaml" description: "Execute Dev Story workflow, implementing tasks and tests, or performing updates to the story" - trigger: code-review - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/code-review/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/code-review/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/code-review/workflow.yaml" description: "Perform a thorough clean context QA code review on a story flagged Ready for Review" - trigger: story-done - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-done/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/story-done/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-done/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/story-done/workflow.yaml" description: "Mark story done after DoD complete" diff --git a/src/modules/bmgd/agents/game-scrum-master.agent.yaml b/src/modules/bmgd/agents/game-scrum-master.agent.yaml index 29832bc1..85c21a20 100644 --- a/src/modules/bmgd/agents/game-scrum-master.agent.yaml +++ b/src/modules/bmgd/agents/game-scrum-master.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmgd/agents/game-scrum-master.md + id: "{bmad_folder}/bmgd/agents/game-scrum-master.md" name: Max title: Game Dev Scrum Master icon: 🎯 @@ -22,49 +22,49 @@ agent: menu: - trigger: sprint-planning - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/sprint-planning/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/sprint-planning/workflow.yaml" description: Generate or update sprint-status.yaml from epic files - trigger: epic-tech-context - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/epic-tech-context/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/epic-tech-context/workflow.yaml" description: (Optional) Use the GDD and Architecture to create an Epic-Tech-Spec for a specific epic - trigger: validate-epic-tech-context - validate-workflow: "{project-root}/bmad/bmgd/workflows/4-production/epic-tech-context/workflow.yaml" + validate-workflow: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/epic-tech-context/workflow.yaml" description: (Optional) Validate latest Tech Spec against checklist - trigger: create-story-draft - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/create-story/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/create-story/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/create-story/workflow.yaml" description: Create a Story Draft for a game feature - trigger: validate-create-story - validate-workflow: "{project-root}/bmad/bmgd/workflows/4-production/create-story/workflow.yaml" + validate-workflow: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/create-story/workflow.yaml" description: (Optional) Validate Story Draft with Independent Review - trigger: story-context - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-context/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/story-context/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-context/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/story-context/workflow.yaml" description: (Optional) Assemble dynamic Story Context (XML) from latest docs and code and mark story ready for dev - trigger: validate-story-context - validate-workflow: "{project-root}/bmad/bmgd/workflows/4-production/story-context/workflow.yaml" + validate-workflow: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/story-context/workflow.yaml" description: (Optional) Validate latest Story Context XML against checklist - trigger: story-ready-for-dev - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/story-ready/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-ready/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/story-ready/workflow.yaml" description: (Optional) Mark drafted story ready for dev without generating Story Context - trigger: epic-retrospective - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/retrospective/workflow.yaml" - data: "{project-root}/bmad/_cfg/agent-manifest.csv" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/retrospective/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/retrospective/workflow.yaml" + data: "{project-root}/{bmad_folder}/_cfg/agent-manifest.csv" description: (Optional) Facilitate team retrospective after a game development epic is completed - trigger: correct-course - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" - workflow-install: "{project-root}/bmad/bmgd/workflows/4-production/correct-course/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course/workflow.yaml" + workflow-install: "{project-root}/{bmad_folder}/bmgd/workflows/4-production/correct-course/workflow.yaml" description: (Optional) Navigate significant changes during game dev sprint diff --git a/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md b/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md index e27f344c..4b524b5c 100644 --- a/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +++ b/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md @@ -1,4 +1,4 @@ -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} This is a meta-workflow that orchestrates the CIS brainstorming workflow with game-specific context and additional game design techniques diff --git a/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml b/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml index 712dcfe6..468a8bb1 100644 --- a/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +++ b/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml @@ -4,7 +4,7 @@ description: "Facilitate game brainstorming sessions by orchestrating the CIS br author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -13,7 +13,7 @@ game_dev_experience: "{config_source}:game_dev_experience" date: system-generated # Module path and component files -installed_path: "{project-root}/bmad/bmgd/workflows/1-preproduction/brainstorm-game" +installed_path: "{project-root}/{bmad_folder}/bmgd/workflows/1-preproduction/brainstorm-game" template: false instructions: "{installed_path}/instructions.md" @@ -22,7 +22,7 @@ game_context: "{installed_path}/game-context.md" game_brain_methods: "{installed_path}/game-brain-methods.csv" # CORE brainstorming workflow to invoke -core_brainstorming: "{project-root}/bmad/core/workflows/brainstorming/workflow.yaml" +core_brainstorming: "{project-root}/{bmad_folder}/core/workflows/brainstorming/workflow.yaml" standalone: true @@ -30,12 +30,12 @@ web_bundle: name: "brainstorm-game" description: "Facilitate game brainstorming sessions by orchestrating the CIS brainstorming workflow with game-specific context, guidance, and additional game design techniques." author: "BMad" - instructions: "bmad/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md" + instructions: "{bmad_folder}/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md" template: false web_bundle_files: - - "bmad/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md" - - "bmad/bmgd/workflows/1-preproduction/brainstorm-game/game-context.md" - - "bmad/bmgd/workflows/1-preproduction/brainstorm-game/game-brain-methods.csv" - - "bmad/core/workflows/brainstorming/workflow.yaml" + - "{bmad_folder}/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md" + - "{bmad_folder}/bmgd/workflows/1-preproduction/brainstorm-game/game-context.md" + - "{bmad_folder}/bmgd/workflows/1-preproduction/brainstorm-game/game-brain-methods.csv" + - "{bmad_folder}/core/workflows/brainstorming/workflow.yaml" existing_workflows: - - core_brainstorming: "bmad/core/workflows/brainstorming/workflow.yaml" + - core_brainstorming: "{bmad_folder}/core/workflows/brainstorming/workflow.yaml" diff --git a/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md b/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md index d6b675e7..bf23d32a 100644 --- a/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md +++ b/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md @@ -1,6 +1,6 @@ # Game Brief - Interactive Workflow Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml b/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml index 43bfc19e..1bdcec88 100644 --- a/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +++ b/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml @@ -4,7 +4,7 @@ description: "Interactive game brief creation workflow that guides users through author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -21,7 +21,7 @@ recommended_inputs: - reference_games: "List of inspiration games (optional)" # Module path and component files -installed_path: "{project-root}/bmad/bmgd/workflows/1-preproduction/game-brief" +installed_path: "{project-root}/{bmad_folder}/bmgd/workflows/1-preproduction/game-brief" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" @@ -35,10 +35,10 @@ web_bundle: name: "game-brief" description: "Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration" author: "BMad" - instructions: "bmad/bmgd/workflows/1-preproduction/game-brief/instructions.md" - validation: "bmad/bmgd/workflows/1-preproduction/game-brief/checklist.md" - template: "bmad/bmgd/workflows/1-preproduction/game-brief/template.md" + instructions: "{bmad_folder}/bmgd/workflows/1-preproduction/game-brief/instructions.md" + validation: "{bmad_folder}/bmgd/workflows/1-preproduction/game-brief/checklist.md" + template: "{bmad_folder}/bmgd/workflows/1-preproduction/game-brief/template.md" web_bundle_files: - - "bmad/bmgd/workflows/1-preproduction/game-brief/instructions.md" - - "bmad/bmgd/workflows/1-preproduction/game-brief/checklist.md" - - "bmad/bmgd/workflows/1-preproduction/game-brief/template.md" + - "{bmad_folder}/bmgd/workflows/1-preproduction/game-brief/instructions.md" + - "{bmad_folder}/bmgd/workflows/1-preproduction/game-brief/checklist.md" + - "{bmad_folder}/bmgd/workflows/1-preproduction/game-brief/template.md" diff --git a/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md b/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md index d0da8c66..0c5f9d4a 100644 --- a/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +++ b/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md @@ -2,7 +2,7 @@ -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} @@ -34,7 +34,7 @@ This workflow requires: game brief, and may reference market research or brownfi - + mode: data data_request: project_config @@ -221,7 +221,7 @@ Get core game concept and vision. Guide user to define the primary game mechanics that players will interact with throughout the game primary_mechanics -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml Guide user to describe their control scheme and input method (keyboard/mouse, gamepad, touchscreen, etc.), including key bindings or button layouts if known @@ -239,7 +239,7 @@ For each {{placeholder}} in the fragment, elicit and capture that information. GAME_TYPE_SPECIFIC_SECTIONS -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -304,7 +304,7 @@ For each {{placeholder}} in the fragment, elicit and capture that information. Work with user to translate game features into development epics, following level-appropriate guidelines (Level 1: 1 epic/1-10 stories, Level 2: 1-2 epics/5-15 stories, Level 3: 2-5 epics/12-40 stories, Level 4: 5+ epics/40+ stories) epics -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -325,7 +325,7 @@ For each {{placeholder}} in the fragment, elicit and capture that information. epic\_{{epic_number}}\_details -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -403,7 +403,7 @@ Your choice: - {project-root}/bmad/bmm/workflows/2-plan-workflows/narrative/workflow.yaml + {project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/narrative/workflow.yaml Pass GDD context to narrative workflow Exit current workflow (narrative will hand off to solutioning when done) @@ -497,7 +497,7 @@ Which would you like to proceed with? - {project-root}/bmad/bmm/workflows/2-plan-workflows/narrative/workflow.yaml + {project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/narrative/workflow.yaml Pass GDD context to narrative workflow diff --git a/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml b/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml index 92b8cad5..9b4cdb82 100644 --- a/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +++ b/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml @@ -4,7 +4,7 @@ description: "Game Design Document workflow for all game project levels - from s author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -13,7 +13,7 @@ game_dev_experience: "{config_source}:game_dev_experience" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmgd/workflows/2-design/gdd" +installed_path: "{project-root}/{bmad_folder}/bmgd/workflows/2-design/gdd" instructions: "{installed_path}/instructions-gdd.md" template: "{installed_path}/gdd-template.md" game_types_csv: "{installed_path}/game-types.csv" @@ -50,32 +50,32 @@ web_bundle: name: "gdd" description: "Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance." author: "BMad" - instructions: "bmad/bmgd/workflows/2-design/gdd/instructions-gdd.md" + instructions: "{bmad_folder}/bmgd/workflows/2-design/gdd/instructions-gdd.md" web_bundle_files: - - "bmad/bmgd/workflows/2-design/gdd/instructions-gdd.md" - - "bmad/bmgd/workflows/2-design/gdd/gdd-template.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types.csv" - - "bmad/bmgd/workflows/2-design/gdd/game-types/action-platformer.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/adventure.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/card-game.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/fighting.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/horror.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/idle-incremental.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/metroidvania.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/moba.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/party-game.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/puzzle.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/racing.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/rhythm.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/roguelike.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/rpg.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/sandbox.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/shooter.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/simulation.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/sports.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/strategy.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/survival.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/text-based.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/tower-defense.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/turn-based-tactics.md" - - "bmad/bmgd/workflows/2-design/gdd/game-types/visual-novel.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/instructions-gdd.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/gdd-template.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types.csv" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/action-platformer.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/adventure.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/card-game.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/fighting.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/horror.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/idle-incremental.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/metroidvania.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/moba.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/party-game.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/puzzle.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/racing.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/rhythm.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/roguelike.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/rpg.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/sandbox.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/shooter.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/simulation.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/sports.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/strategy.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/survival.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/text-based.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/tower-defense.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/turn-based-tactics.md" + - "{bmad_folder}/bmgd/workflows/2-design/gdd/game-types/visual-novel.md" diff --git a/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md b/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md index 070410e5..11d6a310 100644 --- a/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +++ b/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md @@ -2,7 +2,7 @@ -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already completed the GDD workflow Communicate all responses in {communication_language} This workflow creates detailed narrative content for story-driven games @@ -143,7 +143,7 @@ For 3-Act: Describe each act/section for your game: act_breakdown -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -162,7 +162,7 @@ Format: Your story beats: story_beats -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml Describe the pacing and flow of your narrative. @@ -195,7 +195,7 @@ For each protagonist include: Your protagonist(s): protagonists -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -233,7 +233,7 @@ For each character include: Your supporting characters: supporting_characters -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -281,7 +281,7 @@ Your world: Your history: history_backstory -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml diff --git a/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml b/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml index 2587ee05..2853b51d 100644 --- a/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +++ b/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml @@ -4,7 +4,7 @@ description: "Narrative design workflow for story-driven games and applications. author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -13,7 +13,7 @@ game_dev_experience: "{config_source}:game_dev_experience" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmgd/workflows/2-design/narrative" +installed_path: "{project-root}/{bmad_folder}/bmgd/workflows/2-design/narrative" instructions: "{installed_path}/instructions-narrative.md" template: "{installed_path}/narrative-template.md" @@ -32,7 +32,7 @@ web_bundle: name: "narrative" description: "Narrative design workflow for story-driven games and applications. Creates comprehensive narrative documentation including story structure, character arcs, dialogue systems, and narrative implementation guidance." author: "BMad" - instructions: "bmad/bmgd/workflows/2-design/narrative/instructions-narrative.md" + instructions: "{bmad_folder}/bmgd/workflows/2-design/narrative/instructions-narrative.md" web_bundle_files: - - "bmad/bmgd/workflows/2-design/narrative/instructions-narrative.md" - - "bmad/bmgd/workflows/2-design/narrative/narrative-template.md" + - "{bmad_folder}/bmgd/workflows/2-design/narrative/instructions-narrative.md" + - "{bmad_folder}/bmgd/workflows/2-design/narrative/narrative-template.md" diff --git a/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md b/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md index b78b74c5..587b6bdc 100644 --- a/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +++ b/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md @@ -2,7 +2,7 @@ -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level} The goal is ARCHITECTURAL DECISIONS that prevent AI agent conflicts, not detailed implementation specs @@ -363,7 +363,7 @@ Provided by Starter: {{yes_if_from_starter}} decision_record -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -393,7 +393,7 @@ Provided by Starter: {{yes_if_from_starter}} project_structure -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -467,7 +467,7 @@ Provided by Starter: {{yes_if_from_starter}} novel_pattern_designs -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -560,7 +560,7 @@ Enforcement: "All agents MUST follow this pattern" implementation_patterns -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -614,7 +614,7 @@ Enforcement: "All agents MUST follow this pattern" architecture_document -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml diff --git a/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml b/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml index 55ed1c61..29034e8f 100644 --- a/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +++ b/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml @@ -4,7 +4,7 @@ description: "Collaborative game architecture workflow for AI-agent consistency. author: "BMad" # Critical variables -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -37,7 +37,7 @@ input_file_patterns: sharded: "{output_folder}/docs/index.md" # Module path and component files -installed_path: "{project-root}/bmad/bmgd/workflows/3-technical/game-architecture" +installed_path: "{project-root}/{bmad_folder}/bmgd/workflows/3-technical/game-architecture" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" template: "{installed_path}/architecture-template.md" diff --git a/src/modules/bmgd/workflows/4-production/code-review/instructions.md b/src/modules/bmgd/workflows/4-production/code-review/instructions.md index e277df46..bc738e12 100644 --- a/src/modules/bmgd/workflows/4-production/code-review/instructions.md +++ b/src/modules/bmgd/workflows/4-production/code-review/instructions.md @@ -1,7 +1,7 @@ # Senior Developer Review - Workflow Instructions ````xml -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} @@ -376,7 +376,7 @@ Review was saved to story file, but sprint-status.yaml may be out of sync. - Run validation checklist at {installed_path}/checklist.md using {project-root}/bmad/core/tasks/validate-workflow.xml + Run validation checklist at {installed_path}/checklist.md using {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml Report workflow completion. diff --git a/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml b/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml index 75644b44..36f6ed0d 100644 --- a/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml @@ -4,7 +4,7 @@ description: "Perform a Senior Developer code review on a completed story flagge author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -13,7 +13,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/code-review" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/code-review" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" @@ -23,7 +23,7 @@ template: false # Variables (can be provided by caller) variables: story_path: "" # Optional: Explicit path to story file. If not provided, finds first story with status "review" - story_dir: "{config_source}:dev_story_location" # Directory containing story files + story_dir: "{config_source}:dev_ephemeral_location" # Directory containing story files tech_spec_search_dir: "{project-root}/docs" tech_spec_glob_template: "tech-spec-epic-{{epic_num}}*.md" arch_docs_search_dirs: | diff --git a/src/modules/bmgd/workflows/4-production/correct-course/checklist.md b/src/modules/bmgd/workflows/4-production/correct-course/checklist.md index b42b2381..1cbe1bf0 100644 --- a/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +++ b/src/modules/bmgd/workflows/4-production/correct-course/checklist.md @@ -1,6 +1,6 @@ # Change Navigation Checklist -This checklist is executed as part of: {project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +This checklist is executed as part of: {project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course/workflow.yaml Work through each section systematically with the user, recording findings and impacts diff --git a/src/modules/bmgd/workflows/4-production/correct-course/instructions.md b/src/modules/bmgd/workflows/4-production/correct-course/instructions.md index 8c5f964c..5ab184aa 100644 --- a/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +++ b/src/modules/bmgd/workflows/4-production/correct-course/instructions.md @@ -1,7 +1,7 @@ # Correct Course - Sprint Change Management Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml b/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml index 69b4e541..28c43a17 100644 --- a/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml @@ -3,7 +3,7 @@ name: "correct-course" description: "Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation" author: "BMad Method" -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -11,7 +11,7 @@ user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course" template: false instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmgd/workflows/4-production/create-story/instructions.md b/src/modules/bmgd/workflows/4-production/create-story/instructions.md index e5b8182a..8c274302 100644 --- a/src/modules/bmgd/workflows/4-production/create-story/instructions.md +++ b/src/modules/bmgd/workflows/4-production/create-story/instructions.md @@ -1,7 +1,7 @@ # Create Story - Workflow Instructions (Spec-compliant, non-interactive by default) ````xml -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Generate all documents in {document_output_language} This workflow creates or updates the next user story from epics/PRD and architecture context, saving to the configured stories directory and optionally invoking Story Context. @@ -39,7 +39,7 @@ - Resolve variables from config_source: story_dir (dev_story_location), output_folder, user_name, communication_language. If story_dir missing and {{non_interactive}} == false → ASK user to provide a stories directory and update variable. If {{non_interactive}} == true and missing, HALT with a clear message. + Resolve variables from config_source: story_dir (dev_ephemeral_location), output_folder, user_name, communication_language. If story_dir missing and {{non_interactive}} == false → ASK user to provide a stories directory and update variable. If {{non_interactive}} == true and missing, HALT with a clear message. Create {{story_dir}} if it does not exist Resolve installed component paths from workflow.yaml: template, instructions, validation Resolve recommended inputs if present: epics_file, prd_file, architecture_file @@ -240,7 +240,7 @@ Will update existing story file rather than creating new one. - Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml + Validate against checklist at {installed_path}/checklist.md using {bmad_folder}/core/tasks/validate-workflow.xml Save document unconditionally (non-interactive default). In interactive mode, allow user confirmation. diff --git a/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml b/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml index 179a5173..1889ef0f 100644 --- a/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml @@ -3,21 +3,21 @@ description: "Create the next user story markdown from epics/PRD and architectur author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/create-story" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/create-story" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" # Variables and inputs variables: - story_dir: "{config_source}:dev_story_location" # Directory where stories are stored + story_dir: "{config_source}:dev_ephemeral_location" # Directory where stories are stored epics_file: "{output_folder}/epics.md" # Preferred source for epic/story breakdown prd_file: "{output_folder}/PRD.md" # Fallback for requirements architecture_file: "{output_folder}/architecture.md" # Optional architecture context diff --git a/src/modules/bmgd/workflows/4-production/dev-story/AUDIT-REPORT.md b/src/modules/bmgd/workflows/4-production/dev-story/AUDIT-REPORT.md index 528e03eb..a20aa3e0 100644 --- a/src/modules/bmgd/workflows/4-production/dev-story/AUDIT-REPORT.md +++ b/src/modules/bmgd/workflows/4-production/dev-story/AUDIT-REPORT.md @@ -26,7 +26,7 @@ The dev-story workflow is well-structured and follows most BMAD v6 standards. Th The workflow.yaml contains all required standard config variables: -- ✓ `config_source: "{project-root}/bmad/bmm/config.yaml"` - Correctly defined +- ✓ `config_source: "{project-root}/{bmad_folder}/bmm/config.yaml"` - Correctly defined - ✓ `output_folder: "{config_source}:output_folder"` - Pulls from config_source - ✓ `user_name: "{config_source}:user_name"` - Pulls from config_source - ✓ `communication_language: "{config_source}:communication_language"` - Pulls from config_source @@ -67,7 +67,7 @@ These variables appear to be pulling from config.yaml but are not explicitly def ### Unused Variables (Bloat) -1. **context_path** - Defined as `"{config_source}:dev_story_location"` but never used. This duplicates `story_dir` functionality. +1. **context_path** - Defined as `"{config_source}:dev_ephemeral_location"` but never used. This duplicates `story_dir` functionality. --- @@ -140,7 +140,7 @@ The workflow correctly sets `web_bundle: false`. This is the expected configurat ### Unused YAML Fields 1. **context_path** (line 11 in workflow.yaml) - - Defined as: `"{config_source}:dev_story_location"` + - Defined as: `"{config_source}:dev_ephemeral_location"` - Never referenced in instructions.md - Duplicates functionality of `story_dir` variable - **Recommendation:** Remove this variable as `story_dir` serves the same purpose diff --git a/src/modules/bmgd/workflows/4-production/dev-story/instructions.md b/src/modules/bmgd/workflows/4-production/dev-story/instructions.md index bb165afe..5f7d1304 100644 --- a/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +++ b/src/modules/bmgd/workflows/4-production/dev-story/instructions.md @@ -1,7 +1,7 @@ # Develop Story - Workflow Instructions ```xml -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} @@ -227,7 +227,7 @@ Story is marked Ready for Review in file, but sprint-status.yaml may be out of s - Optionally run the workflow validation task against the story using {project-root}/bmad/core/tasks/validate-workflow.xml + Optionally run the workflow validation task against the story using {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml Prepare a concise summary in Dev Agent Record → Completion Notes Communicate to {user_name} that story implementation is complete and ready for review diff --git a/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml b/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml index 6a610e1d..12efac62 100644 --- a/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml @@ -3,13 +3,13 @@ description: "Execute a story by implementing tasks/subtasks, writing tests, val author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" -story_dir: "{config_source}:dev_story_location" +story_dir: "{config_source}:dev_ephemeral_location" run_until_complete: "{config_source}:run_until_complete" run_tests_command: "{config_source}:run_tests_command" date: system-generated @@ -19,7 +19,7 @@ story_file: "" # Explicit story path; auto-discovered if empty context_file: "{story_dir}/{{story_key}}.context.xml" # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/dev-story" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/dev-story" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md b/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md index 0c4c4c65..346d8dbe 100644 --- a/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +++ b/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md @@ -1,7 +1,7 @@ # Tech Spec Validation Checklist ```xml - + Overview clearly ties to PRD goals Scope explicitly lists in-scope and out-of-scope Design lists all services/modules with responsibilities diff --git a/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md b/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md index 57a7c280..15988c3b 100644 --- a/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +++ b/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md @@ -1,7 +1,7 @@ ```xml -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} This workflow generates a comprehensive Technical Specification from PRD and Architecture, including detailed design, NFRs, acceptance criteria, and traceability mapping. @@ -157,7 +157,7 @@ Continuing to regenerate tech spec... - Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml + Validate against checklist at {installed_path}/checklist.md using {bmad_folder}/core/tasks/validate-workflow.xml Load the FULL file: {{output_folder}}/sprint-status.yaml diff --git a/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml b/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml index d1e11068..fbd986cc 100644 --- a/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml @@ -3,7 +3,7 @@ description: "Generate a comprehensive Technical Specification from PRD and Arch author: "BMAD BMM" # Critical variables -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -47,7 +47,7 @@ input_file_patterns: sharded: "{output_folder}/docs/index.md" # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/epic-tech-context" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/epic-tech-context" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmgd/workflows/4-production/retrospective/instructions.md b/src/modules/bmgd/workflows/4-production/retrospective/instructions.md index a8de8e34..6376c36a 100644 --- a/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +++ b/src/modules/bmgd/workflows/4-production/retrospective/instructions.md @@ -1,7 +1,7 @@ # Retrospective - Epic Completion Review Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmm/workflows/4-implementation/retrospective/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml b/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml index e0b7d805..84f751d9 100644 --- a/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml @@ -3,7 +3,7 @@ name: "retrospective" description: "Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic" author: "BMad" -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -11,7 +11,7 @@ user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/retrospective" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/retrospective" template: false instructions: "{installed_path}/instructions.md" @@ -19,7 +19,7 @@ mode: interactive trigger: "Run AFTER completing an epic" required_inputs: - - agent_manifest: "{project-root}/bmad/_cfg/agent-manifest.csv" + - agent_manifest: "{project-root}/{bmad_folder}/_cfg/agent-manifest.csv" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version @@ -46,7 +46,7 @@ input_file_patterns: # Required files sprint_status_file: "{output_folder}/sprint-status.yaml" -story_directory: "{config_source}:dev_story_location" +story_directory: "{config_source}:dev_ephemeral_location" retrospectives_folder: "{output_folder}/retrospectives" output_artifacts: diff --git a/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md b/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md index ff9ebf25..6a1d76d1 100644 --- a/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +++ b/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md @@ -1,7 +1,7 @@ # Sprint Planning - Sprint Status Generator -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmm/workflows/4-implementation/sprint-planning/workflow.yaml ## 📚 Document Discovery - Full Epic Loading diff --git a/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml b/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml index 8616413d..d348e473 100644 --- a/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml @@ -3,14 +3,14 @@ description: "Generate and manage the sprint status tracking file for Phase 4 im author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/sprint-planning" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/sprint-planning" instructions: "{installed_path}/instructions.md" template: "{installed_path}/sprint-status-template.yaml" validation: "{installed_path}/checklist.md" @@ -24,7 +24,7 @@ variables: # Tracking system configuration tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello story_location: "{project-root}/docs/stories" # Relative path for file-system, Future will support URL for Jira/Linear/Trello - story_location_absolute: "{config_source}:dev_story_location" # Absolute path for file operations + story_location_absolute: "{config_source}:dev_ephemeral_location" # Absolute path for file operations # Source files (file-system only) epics_location: "{output_folder}" # Directory containing epic*.md files diff --git a/src/modules/bmgd/workflows/4-production/story-context/checklist.md b/src/modules/bmgd/workflows/4-production/story-context/checklist.md index bb59a9c2..d2f77cea 100644 --- a/src/modules/bmgd/workflows/4-production/story-context/checklist.md +++ b/src/modules/bmgd/workflows/4-production/story-context/checklist.md @@ -1,7 +1,7 @@ # Story Context Assembly Checklist ```xml - + Story fields (asA/iWant/soThat) captured Acceptance criteria list matches story draft exactly (no invention) Tasks/subtasks captured as task list diff --git a/src/modules/bmgd/workflows/4-production/story-context/context-template.xml b/src/modules/bmgd/workflows/4-production/story-context/context-template.xml index b337ac9a..c2988e09 100644 --- a/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +++ b/src/modules/bmgd/workflows/4-production/story-context/context-template.xml @@ -1,4 +1,4 @@ - + {{epic_id}} {{story_id}} diff --git a/src/modules/bmgd/workflows/4-production/story-context/instructions.md b/src/modules/bmgd/workflows/4-production/story-context/instructions.md index 515d1335..6b218acc 100644 --- a/src/modules/bmgd/workflows/4-production/story-context/instructions.md +++ b/src/modules/bmgd/workflows/4-production/story-context/instructions.md @@ -1,7 +1,7 @@ ```xml -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} Generate all documents in {document_output_language} @@ -181,7 +181,7 @@ All stories are either still in backlog or already marked ready/in-progress/done Validate output context file structure and content - Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml + Validate against checklist at {installed_path}/checklist.md using {bmad_folder}/core/tasks/validate-workflow.xml diff --git a/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml b/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml index 3e7e5bbf..97c722a0 100644 --- a/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml @@ -4,16 +4,16 @@ description: "Assemble a dynamic Story Context XML by pulling latest documentati author: "BMad" # Critical variables -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" -story_path: "{config_source}:dev_story_location" +story_path: "{config_source}:dev_ephemeral_location" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/story-context" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-context" template: "{installed_path}/context-template.xml" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" @@ -21,7 +21,7 @@ validation: "{installed_path}/checklist.md" # Variables and inputs variables: story_path: "" # Optional: Explicit story path. If not provided, finds first story with status "drafted" - story_dir: "{config_source}:dev_story_location" + story_dir: "{config_source}:dev_ephemeral_location" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version diff --git a/src/modules/bmgd/workflows/4-production/story-done/instructions.md b/src/modules/bmgd/workflows/4-production/story-done/instructions.md index 2827c8f7..32ac01b4 100644 --- a/src/modules/bmgd/workflows/4-production/story-done/instructions.md +++ b/src/modules/bmgd/workflows/4-production/story-done/instructions.md @@ -1,6 +1,6 @@ # Story Approved Workflow Instructions (DEV Agent) -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} diff --git a/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml b/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml index 87176a5a..2a994e73 100644 --- a/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml @@ -4,20 +4,20 @@ description: "Marks a story as done (DoD complete) and moves it from its current author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/story-done" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-done" instructions: "{installed_path}/instructions.md" # Variables and inputs variables: story_path: "" # Explicit path to story file - story_dir: "{config_source}:dev_story_location" # Directory where stories are stored + story_dir: "{config_source}:dev_ephemeral_location" # Directory where stories are stored # Output configuration - no output file, just status updates default_output_file: "" diff --git a/src/modules/bmgd/workflows/4-production/story-ready/instructions.md b/src/modules/bmgd/workflows/4-production/story-ready/instructions.md index 59b0fddd..65cb0ec6 100644 --- a/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +++ b/src/modules/bmgd/workflows/4-production/story-ready/instructions.md @@ -1,6 +1,6 @@ # Story Ready Workflow Instructions (SM Agent) -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml b/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml index 2aa8fb2b..2d80f19b 100644 --- a/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +++ b/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml @@ -4,20 +4,20 @@ description: "Marks a drafted story as ready for development and moves it from T author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmgd/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmgd/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/story-ready" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-ready" instructions: "{installed_path}/instructions.md" # Variables and inputs variables: story_path: "" # Explicit path to story file - story_dir: "{config_source}:dev_story_location" # Directory where stories are stored + story_dir: "{config_source}:dev_ephemeral_location" # Directory where stories are stored # Output configuration - no output file, just status updates default_output_file: "" diff --git a/src/modules/bmm/_module-installer/install-config.yaml b/src/modules/bmm/_module-installer/install-config.yaml index a21c8966..fbe38973 100644 --- a/src/modules/bmm/_module-installer/install-config.yaml +++ b/src/modules/bmm/_module-installer/install-config.yaml @@ -14,17 +14,14 @@ prompt: ## communication_language ## output_folder ## bmad_folder +## install_user_docs +## kb_install project_name: prompt: "What is the title of your project you will be working on?" default: "{directory_name}" result: "{value}" -include_game_planning: - prompt: "Include Game Planning Agents and Workflows?" - default: false - result: "{value}" - user_skill_level: prompt: - "What is your technical experience level?" @@ -42,29 +39,19 @@ user_skill_level: tech_docs: prompt: "Where is Technical Documentation located within the project?" - default: "docs" + default: "{output_folder}/technical" result: "{project-root}/{value}" -dev_story_location: - prompt: "Where should development stories be stored?" - default: "docs/stories" +dev_ephemeral_location: + prompt: "Where should ephemeral development artifacts be stored (stories, epics, temp context, etc...)?" + default: "{bmad_folder}-ephemeral" result: "{project-root}/{value}" -install_user_docs: - prompt: "Install user documentation to project directory?" - default: true - result: "{value}" - # TEA Agent Configuration tea_use_mcp_enhancements: - prompt: "Enable Playwright MCP capabilities (healing, exploratory, verification)?" + prompt: "Enable Test Architect Playwright MCP capabilities (healing, exploratory, verification)?" default: false result: "{value}" -# kb_location: -# prompt: "Where should bmad knowledge base articles be stored?" -# default: "~/bmad/bmm/kb.md" -# result: "{value}" - # desired_mcp_tools: # prompt: # - "Which MCP Tools will you be using? (Select all that apply)" diff --git a/src/modules/bmm/_module-installer/installer.js b/src/modules/bmm/_module-installer/installer.js index c44f9092..744b95d3 100644 --- a/src/modules/bmm/_module-installer/installer.js +++ b/src/modules/bmm/_module-installer/installer.js @@ -63,9 +63,9 @@ async function install(options) { } // Create dev story location if configured - if (config['dev_story_location']) { + if (config['dev_ephemeral_location']) { // Strip {project-root}/ prefix if present - const storyConfig = config['dev_story_location'].replace('{project-root}/', ''); + const storyConfig = config['dev_ephemeral_location'].replace('{project-root}/', ''); const storyPath = path.join(projectRoot, storyConfig); if (!(await fs.pathExists(storyPath))) { logger.log(chalk.yellow(`Creating story directory: ${storyConfig}`)); diff --git a/src/modules/bmm/agents/analyst.agent.yaml b/src/modules/bmm/agents/analyst.agent.yaml index b118f6ad..c1f84c2b 100644 --- a/src/modules/bmm/agents/analyst.agent.yaml +++ b/src/modules/bmm/agents/analyst.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmm/agents/analyst.md + id: "{bmad_folder}/bmm/agents/analyst.md" name: Mary title: Business Analyst icon: 📊 @@ -19,25 +19,25 @@ agent: menu: - trigger: workflow-init - workflow: "{project-root}/bmad/bmm/workflows/workflow-status/init/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/init/workflow.yaml" description: Start a new sequenced workflow path - trigger: workflow-status - workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow.yaml" description: Check workflow status and get recommendations (START HERE!) - trigger: brainstorm-project - workflow: "{project-root}/bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml" description: Guide me through Brainstorming - trigger: product-brief - workflow: "{project-root}/bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/1-analysis/product-brief/workflow.yaml" description: Produce Project Brief - trigger: document-project - workflow: "{project-root}/bmad/bmm/workflows/document-project/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/document-project/workflow.yaml" description: Generate comprehensive documentation of an existing Project - trigger: research - workflow: "{project-root}/bmad/bmm/workflows/1-analysis/research/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/1-analysis/research/workflow.yaml" description: Guide me through Research diff --git a/src/modules/bmm/agents/architect.agent.yaml b/src/modules/bmm/agents/architect.agent.yaml index a57253b4..1768e8c6 100644 --- a/src/modules/bmm/agents/architect.agent.yaml +++ b/src/modules/bmm/agents/architect.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmm/agents/architect.md + id: "{bmad_folder}/bmm/agents/architect.md" name: Winston title: Architect icon: 🏗️ @@ -19,19 +19,19 @@ agent: menu: - trigger: workflow-status - workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow.yaml" description: Check workflow status and get recommendations - trigger: create-architecture - workflow: "{project-root}/bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/3-solutioning/architecture/workflow.yaml" description: Produce a Scale Adaptive Architecture - trigger: validate-architecture - validate-workflow: "{project-root}/bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml" - checklist: "{project-root}/bmad/bmm/workflows/3-solutioning/architecture/checklist.md" + validate-workflow: "{project-root}/{bmad_folder}/bmm/workflows/3-solutioning/architecture/workflow.yaml" + checklist: "{project-root}/{bmad_folder}/bmm/workflows/3-solutioning/architecture/checklist.md" document: "{output_folder}/architecture.md" description: Validate Architecture Document - trigger: solutioning-gate-check - workflow: "{project-root}/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml" description: Validate solutioning complete, ready for Phase 4 (Level 2-4 only) diff --git a/src/modules/bmm/agents/dev.agent.yaml b/src/modules/bmm/agents/dev.agent.yaml index c5ce56e7..896f6e9c 100644 --- a/src/modules/bmm/agents/dev.agent.yaml +++ b/src/modules/bmm/agents/dev.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmm/agents/dev.md + id: "{bmad_folder}/bmm/agents/dev.md" name: Amelia title: Developer Agent icon: 💻 @@ -27,17 +27,17 @@ agent: menu: - trigger: workflow-status - workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow.yaml" description: "Check workflow status and get recommendations" - trigger: develop-story - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/dev-story/workflow.yaml" description: "Execute Dev Story workflow, implementing tasks and tests, or performing updates to the story" - trigger: story-done - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-done/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-done/workflow.yaml" description: "Mark story done after DoD complete" - trigger: code-review - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/code-review/workflow.yaml" description: "Perform a thorough clean context QA code review on a story flagged Ready for Review" diff --git a/src/modules/bmm/agents/pm.agent.yaml b/src/modules/bmm/agents/pm.agent.yaml index f75e5cc8..c627c588 100644 --- a/src/modules/bmm/agents/pm.agent.yaml +++ b/src/modules/bmm/agents/pm.agent.yaml @@ -3,7 +3,7 @@ agent: metadata: - id: bmad/bmm/agents/pm.md + id: "{bmad_folder}/bmm/agents/pm.md" name: John title: Product Manager icon: 📋 @@ -24,37 +24,37 @@ agent: # help and exit are auto-injected, don't define them here menu: - trigger: workflow-init - workflow: "{project-root}/bmad/bmm/workflows/workflow-status/init/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/init/workflow.yaml" description: Start a new sequenced workflow path - trigger: workflow-status - workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow.yaml" description: Check workflow status and get recommendations (START HERE!) - trigger: create-prd - workflow: "{project-root}/bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/prd/workflow.yaml" description: Create Product Requirements Document (PRD) for Level 2-4 projects - trigger: create-epics-and-stories - workflow: "{project-root}/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml" description: Break PRD requirements into implementable epics and stories - trigger: validate-prd - validate-workflow: "{project-root}/bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml" - checklist: "{project-root}/bmad/bmm/workflows/2-plan-workflows/prd/checklist.md" + validate-workflow: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/prd/workflow.yaml" + checklist: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/prd/checklist.md" document: "{output_folder}/PRD.md" description: Validate PRD + Epics + Stories completeness and quality - trigger: tech-spec - workflow: "{project-root}/bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml" description: Create Tech Spec for Level 0-1 (sometimes Level 2) projects - trigger: validate-tech-spec - validate-workflow: "{project-root}/bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml" - checklist: "{project-root}/bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md" + validate-workflow: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml" + checklist: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/checklist.md" document: "{output_folder}/tech-spec.md" description: Validate Technical Specification Document - trigger: correct-course - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course/workflow.yaml" description: Course Correction Analysis diff --git a/src/modules/bmm/agents/sm.agent.yaml b/src/modules/bmm/agents/sm.agent.yaml index 27cb1b6b..56cd65ca 100644 --- a/src/modules/bmm/agents/sm.agent.yaml +++ b/src/modules/bmm/agents/sm.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmm/agents/sm.md + id: "{bmad_folder}/bmm/agents/sm.md" name: Bob title: Scrum Master icon: 🏃 @@ -22,46 +22,46 @@ agent: menu: - trigger: workflow-status - workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow.yaml" description: Check workflow status and get recommendations - trigger: sprint-planning - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/sprint-planning/workflow.yaml" description: Generate or update sprint-status.yaml from epic files - trigger: epic-tech-context - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml" description: (Optional) Use the PRD and Architecture to create a Epic-Tech-Spec for a specific epic - trigger: validate-epic-tech-context - validate-workflow: "{project-root}/bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml" + validate-workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml" description: (Optional) Validate latest Tech Spec against checklist - trigger: create-story - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/create-story/workflow.yaml" description: Create a Draft Story - trigger: validate-create-story - validate-workflow: "{project-root}/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml" + validate-workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/create-story/workflow.yaml" description: (Optional) Validate Story Draft with Independent Review - trigger: story-context - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-context/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-context/workflow.yaml" description: (Optional) Assemble dynamic Story Context (XML) from latest docs and code and mark story ready for dev - trigger: validate-story-context - validate-workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-context/workflow.yaml" + validate-workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-context/workflow.yaml" description: (Optional) Validate latest Story Context XML against checklist - trigger: story-ready-for-dev - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-ready/workflow.yaml" description: (Optional) Mark drafted story ready for dev without generating Story Context - trigger: epic-retrospective - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml" - data: "{project-root}/bmad/_cfg/agent-manifest.csv" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/retrospective/workflow.yaml" + data: "{project-root}/{bmad_folder}/_cfg/agent-manifest.csv" description: (Optional) Facilitate team retrospective after an epic is completed - trigger: correct-course - workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course/workflow.yaml" description: (Optional) Execute correct-course task diff --git a/src/modules/bmm/agents/tea.agent.yaml b/src/modules/bmm/agents/tea.agent.yaml index 543001bd..134a419d 100644 --- a/src/modules/bmm/agents/tea.agent.yaml +++ b/src/modules/bmm/agents/tea.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmm/agents/tea.md + id: "{bmad_folder}/bmm/agents/tea.md" name: Murat title: Master Test Architect icon: 🧪 @@ -17,43 +17,43 @@ agent: - Testing is feature work. Prioritize unit/integration over E2E. Flakiness is critical debt. ATDD tests first, AI implements, suite validates. critical_actions: - - "Consult {project-root}/bmad/bmm/testarch/tea-index.csv to select knowledge fragments under `knowledge/` and load only the files needed for the current task" - - "Load the referenced fragment(s) from `{project-root}/bmad/bmm/testarch/knowledge/` before giving recommendations" - - "Cross-check recommendations with the current official Playwright, Cypress, Pact, and CI platform documentation; fall back to {project-root}/bmad/bmm/testarch/test-resources-for-ai-flat.txt only when deeper sourcing is required" + - "Consult {project-root}/{bmad_folder}/bmm/testarch/tea-index.csv to select knowledge fragments under `knowledge/` and load only the files needed for the current task" + - "Load the referenced fragment(s) from `{project-root}/{bmad_folder}/bmm/testarch/knowledge/` before giving recommendations" + - "Cross-check recommendations with the current official Playwright, Cypress, Pact, and CI platform documentation; fall back to {project-root}/{bmad_folder}/bmm/testarch/test-resources-for-ai-flat.txt only when deeper sourcing is required" menu: - trigger: workflow-status - workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow.yaml" description: Check workflow status and get recommendations - trigger: framework - workflow: "{project-root}/bmad/bmm/workflows/testarch/framework/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/testarch/framework/workflow.yaml" description: Initialize production-ready test framework architecture - trigger: atdd - workflow: "{project-root}/bmad/bmm/workflows/testarch/atdd/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/testarch/atdd/workflow.yaml" description: Generate E2E tests first, before starting implementation - trigger: automate - workflow: "{project-root}/bmad/bmm/workflows/testarch/automate/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/testarch/automate/workflow.yaml" description: Generate comprehensive test automation - trigger: test-design - workflow: "{project-root}/bmad/bmm/workflows/testarch/test-design/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/testarch/test-design/workflow.yaml" description: Create comprehensive test scenarios - trigger: trace - workflow: "{project-root}/bmad/bmm/workflows/testarch/trace/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/testarch/trace/workflow.yaml" description: Map requirements to tests (Phase 1) and make quality gate decision (Phase 2) - trigger: nfr-assess - workflow: "{project-root}/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/testarch/nfr-assess/workflow.yaml" description: Validate non-functional requirements - trigger: ci - workflow: "{project-root}/bmad/bmm/workflows/testarch/ci/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/testarch/ci/workflow.yaml" description: Scaffold CI/CD quality pipeline - trigger: test-review - workflow: "{project-root}/bmad/bmm/workflows/testarch/test-review/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/testarch/test-review/workflow.yaml" description: Review test quality using comprehensive knowledge base and best practices diff --git a/src/modules/bmm/agents/tech-writer.agent.yaml b/src/modules/bmm/agents/tech-writer.agent.yaml index c14f485b..ab75d9e8 100644 --- a/src/modules/bmm/agents/tech-writer.agent.yaml +++ b/src/modules/bmm/agents/tech-writer.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmm/agents/tech-writer.md + id: "{bmad_folder}/bmm/agents/tech-writer.md" name: paige title: Technical Writer icon: 📚 @@ -20,7 +20,7 @@ agent: critical_actions: - "CRITICAL: Load COMPLETE file {project-root}/src/modules/bmm/workflows/techdoc/documentation-standards.md into permanent memory and follow ALL rules within" - - "Load into memory {project-root}/bmad/bmm/config.yaml and set variables" + - "Load into memory {project-root}/{bmad_folder}/bmm/config.yaml and set variables" - "Remember the user's name is {user_name}" - "ALWAYS communicate in {communication_language}" - "ALWAYS write documentation in {document_output_language}" @@ -29,7 +29,7 @@ agent: menu: - trigger: document-project - workflow: "{project-root}/bmad/bmm/workflows/document-project/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/document-project/workflow.yaml" description: Comprehensive project documentation (brownfield analysis, architecture scanning) - trigger: create-api-docs diff --git a/src/modules/bmm/agents/ux-designer.agent.yaml b/src/modules/bmm/agents/ux-designer.agent.yaml index c0d5c4ea..c5e32629 100644 --- a/src/modules/bmm/agents/ux-designer.agent.yaml +++ b/src/modules/bmm/agents/ux-designer.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/bmm/agents/ux-designer.md + id: "{bmad_folder}/bmm/agents/ux-designer.md" name: Sally title: UX Designer icon: 🎨 @@ -19,15 +19,15 @@ agent: menu: - trigger: workflow-status - workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow.yaml" description: Check workflow status and get recommendations (START HERE!) - trigger: create-design - workflow: "{project-root}/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml" description: Conduct Design Thinking Workshop to Define the User Specification - trigger: validate-design - validate-workflow: "{project-root}/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml" - checklist: "{project-root}/bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md" + validate-workflow: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml" + checklist: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md" document: "{output_folder}/ux-spec.md" description: Validate UX Specification and Design Artifacts diff --git a/src/modules/bmm/docs/agents-guide.md b/src/modules/bmm/docs/agents-guide.md index eb8ecf8f..c68aec2e 100644 --- a/src/modules/bmm/docs/agents-guide.md +++ b/src/modules/bmm/docs/agents-guide.md @@ -629,14 +629,14 @@ You can customize any agent's personality without modifying core agent files. ### Location -**Customization Directory:** `{project-root}/bmad/_cfg/agents/` +**Customization Directory:** `{project-root}/{bmad_folder}/_cfg/agents/` **Naming Convention:** `{module}-{agent-name}.customize.yaml` **Examples:** ``` -bmad/_cfg/agents/ +{bmad_folder}/_cfg/agents/ ├── bmm-pm.customize.yaml ├── bmm-dev.customize.yaml ├── cis-storyteller.customize.yaml @@ -736,9 +736,9 @@ Other agents collaborate with PM's specialized perspective. ```bash # Create customization file at: -# {project-root}/bmad/_cfg/agents/{module}-{agent-name}.customize.yaml +# {project-root}/{bmad_folder}/_cfg/agents/{module}-{agent-name}.customize.yaml -# Example: bmad/_cfg/agents/bmm-pm.customize.yaml +# Example: {bmad_folder}/_cfg/agents/bmm-pm.customize.yaml ``` **Step 2: Regenerate Agent Manifest** diff --git a/src/modules/bmm/docs/brownfield-guide.md b/src/modules/bmm/docs/brownfield-guide.md index a5ca1509..8f206241 100644 --- a/src/modules/bmm/docs/brownfield-guide.md +++ b/src/modules/bmm/docs/brownfield-guide.md @@ -137,7 +137,7 @@ If you have documentation but files are huge (>500 lines, 10+ level 2 sections): ```bash # Load BMad Master or any agent - bmad/core/tools/shard-doc.xml --input docs/massive-doc.md + {bmad_folder}/core/tools/shard-doc.xml --input docs/massive-doc.md ``` - Splits on level 2 sections by default @@ -147,7 +147,7 @@ If you have documentation but files are huge (>500 lines, 10+ level 2 sections): 2. **Then:** Run `index-docs` task to create navigation: ```bash - bmad/core/tasks/index-docs.xml --directory ./docs + {bmad_folder}/core/tasks/index-docs.xml --directory ./docs ``` 3. **Finally:** Validate quality - if sharded docs still seem incomplete/outdated → Run `document-project` @@ -210,7 +210,7 @@ If you have **good, current documentation** but it's in massive files: ```bash # For each massive doc (>500 lines or 10+ level 2 sections) -bmad/core/tools/shard-doc.xml \ +{bmad_folder}/core/tools/shard-doc.xml \ --input docs/api-documentation.md \ --output docs/api/ \ --level 2 # Split on ## headers (default) @@ -219,7 +219,7 @@ bmad/core/tools/shard-doc.xml \ **Step 2: Generate index** ```bash -bmad/core/tasks/index-docs.xml --directory ./docs +{bmad_folder}/core/tasks/index-docs.xml --directory ./docs ``` **Step 3: Validate** diff --git a/src/modules/bmm/docs/enterprise-agentic-development.md b/src/modules/bmm/docs/enterprise-agentic-development.md index d82a8e0d..682b676c 100644 --- a/src/modules/bmm/docs/enterprise-agentic-development.md +++ b/src/modules/bmm/docs/enterprise-agentic-development.md @@ -419,7 +419,7 @@ Team C (2 devs): Analytics feature (3 epics) **Problem:** Teams customize BMad (agents, workflows, configs) but don't want personal tooling in main repo. -**Anti-pattern:** Adding `bmad/` to `.gitignore` breaks IDE tools, submodule management. +**Anti-pattern:** Adding `{bmad_folder}/` to `.gitignore` breaks IDE tools, submodule management. ### The Solution: Git Submodules @@ -457,7 +457,7 @@ git commit -m "Add BMM as submodule" git clone https://github.com/your-org/your-project.git cd your-project git submodule update --init --recursive -# Make personal customizations in bmad/ +# Make personal customizations in {bmad_folder}/ ``` ### Daily Workflow @@ -466,7 +466,7 @@ git submodule update --init --recursive ```bash cd /path/to/your-project -# BMad available at ./bmad/, load agents normally +# BMad available at ./{bmad_folder}/, load agents normally ``` **Update personal config:** diff --git a/src/modules/bmm/docs/faq.md b/src/modules/bmm/docs/faq.md index f6ffdb98..52a619f5 100644 --- a/src/modules/bmm/docs/faq.md +++ b/src/modules/bmm/docs/faq.md @@ -403,7 +403,7 @@ See [IDE Setup Guides](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/do ### Q: Can I customize agents? -**A:** Yes! Agents are installed as markdown files with XML-style content (optimized for LLMs, readable by any model). Create customization files in `bmad/_cfg/agents/[agent-name].customize.yaml` to override default behaviors while keeping core functionality intact. See agent documentation for customization options. +**A:** Yes! Agents are installed as markdown files with XML-style content (optimized for LLMs, readable by any model). Create customization files in `{bmad_folder}/_cfg/agents/[agent-name].customize.yaml` to override default behaviors while keeping core functionality intact. See agent documentation for customization options. **Note:** While source agents in this repo are YAML, they install as `.md` files with XML-style tags - a format any LLM can read and follow. diff --git a/src/modules/bmm/docs/party-mode.md b/src/modules/bmm/docs/party-mode.md index 588851d8..41c15a0a 100644 --- a/src/modules/bmm/docs/party-mode.md +++ b/src/modules/bmm/docs/party-mode.md @@ -27,7 +27,7 @@ Type `/bmad:core:workflows:party-mode` (or `*party-mode` from any agent), and su **The basics:** -1. Party mode reads `bmad/_cfg/agent-manifest.csv` +1. Party mode reads `{bmad_folder}/_cfg/agent-manifest.csv` 2. Loads ALL installed agents (already includes your customizations from install) 3. BMad Master orchestrates - picks 2-3 relevant agents per message based on topic 4. Agents respond in character, can agree/disagree/build on each other's ideas @@ -126,11 +126,11 @@ _(Multiple perspectives reveal the right answer)_ ## Agent Customization -Party mode uses agents from `bmad/[module]/agents/*.md` - these already include any customizations you applied during install. +Party mode uses agents from `{bmad_folder}/[module]/agents/*.md` - these already include any customizations you applied during install. **To customize agents for party mode:** -1. Create customization file: `bmad/_cfg/agents/bmm-pm.customize.yaml` +1. Create customization file: `{bmad_folder}/_cfg/agents/bmm-pm.customize.yaml` 2. Run `npx bmad-method install` to rebuild agents 3. Customizations now active in party mode diff --git a/src/modules/bmm/docs/quick-start.md b/src/modules/bmm/docs/quick-start.md index 126ab746..9b905a73 100644 --- a/src/modules/bmm/docs/quick-start.md +++ b/src/modules/bmm/docs/quick-start.md @@ -29,7 +29,7 @@ BMad Method (BMM) helps you build software through guided workflows with special npx bmad-method@alpha install ``` -The interactive installer will guide you through setup and create a `bmad/` folder with all agents and workflows. +The interactive installer will guide you through setup and create a `{bmad_folder}/` folder with all agents and workflows. --- diff --git a/src/modules/bmm/docs/test-architecture.md b/src/modules/bmm/docs/test-architecture.md index 57d3eca6..3eab4d4e 100644 --- a/src/modules/bmm/docs/test-architecture.md +++ b/src/modules/bmm/docs/test-architecture.md @@ -374,7 +374,7 @@ MCP provides additional capabilities on top of TEA's default AI-based approach: } ``` -**To disable**: Set `tea_use_mcp_enhancements: false` in `bmad/bmm/config.yaml` OR remove MCPs from IDE config. +**To disable**: Set `tea_use_mcp_enhancements: false` in `{bmad_folder}/bmm/config.yaml` OR remove MCPs from IDE config. diff --git a/src/modules/bmm/docs/workflow-document-project-reference.md b/src/modules/bmm/docs/workflow-document-project-reference.md index f5350420..d335170c 100644 --- a/src/modules/bmm/docs/workflow-document-project-reference.md +++ b/src/modules/bmm/docs/workflow-document-project-reference.md @@ -179,7 +179,7 @@ The workflow uses a single comprehensive CSV file: **documentation-requirements.csv** - Complete project analysis guide -- Location: `/bmad/bmm/workflows/document-project/documentation-requirements.csv` +- Location: `/{bmad_folder}/bmm/workflows/document-project/documentation-requirements.csv` - 12 project types (web, mobile, backend, cli, library, desktop, game, data, extension, infra, embedded) - 24 columns combining: - **Detection columns**: `project_type_id`, `key_file_patterns` (identifies project type from codebase) diff --git a/src/modules/bmm/sub-modules/claude-code/injections.yaml b/src/modules/bmm/sub-modules/claude-code/injections.yaml index 1ee7b713..f1dda0cd 100644 --- a/src/modules/bmm/sub-modules/claude-code/injections.yaml +++ b/src/modules/bmm/sub-modules/claude-code/injections.yaml @@ -4,16 +4,16 @@ # # The installer will: # 1. Ask users if they want to install subagents (all/selective/none) -# 2. Ask where to install (project-level .claude/agents/bmad/ or user-level ~/.claude/agents/bmad/) +# 2. Ask where to install (project-level .claude/agents/{bmad_folder}/ or user-level ~/.claude/agents/{bmad_folder}/) # 3. Only inject content related to selected subagents -# 4. Templates stay in bmad/ directory and are referenced from there +# 4. Templates stay in {bmad_folder}/ directory and are referenced from there # 5. Injections are placed at specific sections where each subagent is most valuable injections: # ===== PRD WORKFLOW INJECTIONS ===== # PRD Subagent Instructions - - file: "bmad/bmm/workflows/prd/instructions.md" + - file: "{bmad_folder}/bmm/workflows/prd/instructions.md" point: "prd-subagent-instructions" requires: "all-prd-subagents" content: | @@ -25,7 +25,7 @@ injections: - Use `bmm-technical-decisions-curator` to capture all technical mentions # PRD Requirements Analysis - - file: "bmad/bmm/workflows/prd/instructions.md" + - file: "{bmad_folder}/bmm/workflows/prd/instructions.md" point: "prd-requirements-analysis" requires: "requirements-analyst" content: | @@ -33,7 +33,7 @@ injections: **Subagent Hint**: Use `bmm-requirements-analyst` to validate requirements are testable and complete. # PRD User Journey Mapping - - file: "bmad/bmm/workflows/prd/instructions.md" + - file: "{bmad_folder}/bmm/workflows/prd/instructions.md" point: "prd-user-journey" requires: "user-journey-mapper" content: | @@ -41,7 +41,7 @@ injections: **Subagent Hint**: Use `bmm-user-journey-mapper` to map all user types and their value paths. # PRD Epic Optimization - - file: "bmad/bmm/workflows/prd/instructions.md" + - file: "{bmad_folder}/bmm/workflows/prd/instructions.md" point: "prd-epic-optimization" requires: "epic-optimizer" content: | @@ -49,7 +49,7 @@ injections: **Subagent Hint**: Use `bmm-epic-optimizer` to validate epic boundaries deliver coherent value. # PRD Document Review - - file: "bmad/bmm/workflows/prd/instructions.md" + - file: "{bmad_folder}/bmm/workflows/prd/instructions.md" point: "prd-checklist-review" requires: "document-reviewer" content: | @@ -57,7 +57,7 @@ injections: **Subagent Hint**: Use `bmm-document-reviewer` to validate PRD completeness before finalizing. # Technical Decisions Curator - - file: "bmad/bmm/workflows/prd/instructions.md" + - file: "{bmad_folder}/bmm/workflows/prd/instructions.md" point: "technical-decisions-curator" requires: "technical-decisions-curator" content: | @@ -71,7 +71,7 @@ injections: # ===== MARKET RESEARCH TEMPLATE INJECTIONS ===== # Market TAM/SAM/SOM Calculations - - file: "bmad/bmm/templates/market.md" + - file: "{bmad_folder}/bmm/templates/market.md" point: "market-tam-calculations" requires: "data-analyst" content: | @@ -82,7 +82,7 @@ injections: # Market Trends Analysis - - file: "bmad/bmm/templates/market.md" + - file: "{bmad_folder}/bmm/templates/market.md" point: "market-trends-analysis" requires: "trend-spotter" content: | @@ -93,7 +93,7 @@ injections: # Market Customer Personas - - file: "bmad/bmm/templates/market.md" + - file: "{bmad_folder}/bmm/templates/market.md" point: "market-customer-segments" requires: "user-researcher" content: | @@ -104,7 +104,7 @@ injections: # Market Research Review - - file: "bmad/bmm/templates/market.md" + - file: "{bmad_folder}/bmm/templates/market.md" point: "market-executive-summary" requires: "document-reviewer" content: | @@ -116,7 +116,7 @@ injections: # ===== COMPETITOR ANALYSIS TEMPLATE INJECTIONS ===== # Competitor Intelligence Gathering - - file: "bmad/bmm/templates/competitor.md" + - file: "{bmad_folder}/bmm/templates/competitor.md" point: "competitor-intelligence" requires: "market-researcher" content: | @@ -127,7 +127,7 @@ injections: # Competitor Technical Analysis - - file: "bmad/bmm/templates/competitor.md" + - file: "{bmad_folder}/bmm/templates/competitor.md" point: "competitor-tech-stack" requires: "technical-evaluator" content: | @@ -138,7 +138,7 @@ injections: # Competitor Metrics Analysis - - file: "bmad/bmm/templates/competitor.md" + - file: "{bmad_folder}/bmm/templates/competitor.md" point: "competitor-metrics" requires: "data-analyst" content: | @@ -148,7 +148,7 @@ injections: # Competitor Analysis Review - - file: "bmad/bmm/templates/competitor.md" + - file: "{bmad_folder}/bmm/templates/competitor.md" point: "competitor-executive-summary" requires: "document-reviewer" content: | @@ -160,7 +160,7 @@ injections: # ===== PROJECT BRIEF TEMPLATE INJECTIONS ===== # Brief Problem Validation - - file: "bmad/bmm/templates/brief.md" + - file: "{bmad_folder}/bmm/templates/brief.md" point: "brief-problem-validation" requires: "market-researcher" content: | @@ -170,7 +170,7 @@ injections: # Brief Target User Analysis - - file: "bmad/bmm/templates/brief.md" + - file: "{bmad_folder}/bmm/templates/brief.md" point: "brief-user-analysis" requires: "user-researcher" content: | @@ -180,7 +180,7 @@ injections: # Brief Success Metrics - - file: "bmad/bmm/templates/brief.md" + - file: "{bmad_folder}/bmm/templates/brief.md" point: "brief-success-metrics" requires: "data-analyst" content: | @@ -190,7 +190,7 @@ injections: # Brief Technical Feasibility - - file: "bmad/bmm/templates/brief.md" + - file: "{bmad_folder}/bmm/templates/brief.md" point: "brief-technical-feasibility" requires: "technical-evaluator" content: | @@ -200,7 +200,7 @@ injections: # Brief Requirements Extraction - - file: "bmad/bmm/templates/brief.md" + - file: "{bmad_folder}/bmm/templates/brief.md" point: "brief-requirements" requires: "requirements-analyst" content: | @@ -210,7 +210,7 @@ injections: # Brief Document Review - - file: "bmad/bmm/templates/brief.md" + - file: "{bmad_folder}/bmm/templates/brief.md" point: "brief-final-review" requires: "document-reviewer" content: | diff --git a/src/modules/bmm/sub-modules/claude-code/readme.md b/src/modules/bmm/sub-modules/claude-code/readme.md index 385c0811..a477ac5a 100644 --- a/src/modules/bmm/sub-modules/claude-code/readme.md +++ b/src/modules/bmm/sub-modules/claude-code/readme.md @@ -84,4 +84,4 @@ To test subagent installation: 2. Select BMM module and Claude Code 3. Verify prompts appear for subagent selection 4. Check `.claude/agents/` for installed subagents -5. Verify injection points are replaced in `.claude/commands/bmad/` and the various tasks and templates under `bmad/...` +5. Verify injection points are replaced in `.claude/commands/{bmad_folder}/` and the various tasks and templates under `{bmad_folder}/...` diff --git a/src/modules/bmm/tasks/daily-standup.xml b/src/modules/bmm/tasks/daily-standup.xml index d41c362c..b5d2651e 100644 --- a/src/modules/bmm/tasks/daily-standup.xml +++ b/src/modules/bmm/tasks/daily-standup.xml @@ -1,4 +1,4 @@ - + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER DO NOT skip steps or change the sequence @@ -26,7 +26,7 @@ - Blockers: {{blockers-from-story}} Team assembled based on story participants: - {{ List Agents from {project-root}/bmad/_cfg/agent-manifest.csv }} + {{ List Agents from {project-root}/{bmad_folder}/_cfg/agent-manifest.csv }} diff --git a/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md b/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md index af117e50..8137c646 100644 --- a/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +++ b/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md @@ -1,7 +1,7 @@ # Brainstorm Project - Workflow Instructions ```xml -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} This is a meta-workflow that orchestrates the CIS brainstorming workflow with project-specific context diff --git a/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml b/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml index d719293d..427f8e13 100644 --- a/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +++ b/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml @@ -4,7 +4,7 @@ description: "Facilitate project brainstorming sessions by orchestrating the CIS author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -13,7 +13,7 @@ user_skill_level: "{config_source}:user_skill_level" date: system-generated # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/1-analysis/brainstorm-project" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/1-analysis/brainstorm-project" template: false instructions: "{installed_path}/instructions.md" @@ -21,7 +21,7 @@ instructions: "{installed_path}/instructions.md" project_context: "{installed_path}/project-context.md" # CORE brainstorming workflow to invoke -core_brainstorming: "{project-root}/bmad/core/workflows/brainstorming/workflow.yaml" +core_brainstorming: "{project-root}/{bmad_folder}/core/workflows/brainstorming/workflow.yaml" standalone: true @@ -29,11 +29,11 @@ web_bundle: name: "brainstorm-project" description: "Facilitate project brainstorming sessions by orchestrating the CIS brainstorming workflow with project-specific context and guidance." author: "BMad" - instructions: "bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md" + instructions: "{bmad_folder}/bmm/workflows/1-analysis/brainstorm-project/instructions.md" template: false web_bundle_files: - - "bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md" - - "bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md" - - "bmad/core/workflows/brainstorming/workflow.yaml" + - "{bmad_folder}/bmm/workflows/1-analysis/brainstorm-project/instructions.md" + - "{bmad_folder}/bmm/workflows/1-analysis/brainstorm-project/project-context.md" + - "{bmad_folder}/core/workflows/brainstorming/workflow.yaml" existing_workflows: - - core_brainstorming: "bmad/core/workflows/brainstorming/workflow.yaml" + - core_brainstorming: "{bmad_folder}/core/workflows/brainstorming/workflow.yaml" diff --git a/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md b/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md index ae3b30a3..340edaa3 100644 --- a/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +++ b/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md @@ -1,6 +1,6 @@ # Domain Research - Collaborative Domain Exploration -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This is COLLABORATIVE RESEARCH - engage the user as a partner, not just a data source The goal is PRACTICAL UNDERSTANDING that directly informs requirements and architecture diff --git a/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml b/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml index 9c389a41..f2c1fd29 100644 --- a/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +++ b/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml @@ -4,7 +4,7 @@ description: "Collaborative exploration of domain-specific requirements, regulat author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -13,7 +13,7 @@ user_skill_level: "{config_source}:user_skill_level" date: system-generated # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/1-analysis/domain-research" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/1-analysis/domain-research" instructions: "{installed_path}/instructions.md" template: "{installed_path}/template.md" @@ -44,9 +44,9 @@ web_bundle: description: "Collaborative exploration of domain-specific requirements, regulations, and patterns for complex projects" author: "BMad" - # Core workflow files (bmad/-relative paths) - instructions: "bmad/bmm/workflows/1-analysis/domain-research/instructions.md" - template: "bmad/bmm/workflows/1-analysis/domain-research/template.md" + # Core workflow files ({bmad_folder}/-relative paths) + instructions: "{bmad_folder}/bmm/workflows/1-analysis/domain-research/instructions.md" + template: "{bmad_folder}/bmm/workflows/1-analysis/domain-research/template.md" # Default configuration values (can be overridden during bundle setup) defaults: @@ -62,8 +62,8 @@ web_bundle: # Complete file list - ALL files this workflow depends on web_bundle_files: # Core workflow files - - "bmad/bmm/workflows/1-analysis/domain-research/instructions.md" - - "bmad/bmm/workflows/1-analysis/domain-research/template.md" + - "{bmad_folder}/bmm/workflows/1-analysis/domain-research/instructions.md" + - "{bmad_folder}/bmm/workflows/1-analysis/domain-research/template.md" # Task dependencies (referenced in instructions.md) - - "bmad/core/tasks/workflow.xml" + - "{bmad_folder}/core/tasks/workflow.xml" diff --git a/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md b/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md index 1b628ffd..6e7ef2b0 100644 --- a/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +++ b/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md @@ -1,6 +1,6 @@ # Product Brief - Context-Adaptive Discovery Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow uses INTENT-DRIVEN FACILITATION - adapt organically to what emerges The goal is DISCOVERING WHAT MATTERS through natural conversation, not filling a template diff --git a/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml b/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml index 05cf9e16..610d23b9 100644 --- a/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +++ b/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml @@ -4,7 +4,7 @@ description: "Interactive product brief creation workflow that guides users thro author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -34,7 +34,7 @@ input_file_patterns: sharded: "{output_folder}/docs/index.md" # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/1-analysis/product-brief" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/1-analysis/product-brief" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" @@ -48,14 +48,14 @@ web_bundle: name: "product-brief" description: "Interactive product brief creation workflow that guides users through defining their product vision with multiple input sources and conversational collaboration" author: "BMad" - instructions: "bmad/bmm/workflows/1-analysis/product-brief/instructions.md" - validation: "bmad/bmm/workflows/1-analysis/product-brief/checklist.md" - template: "bmad/bmm/workflows/1-analysis/product-brief/template.md" + instructions: "{bmad_folder}/bmm/workflows/1-analysis/product-brief/instructions.md" + validation: "{bmad_folder}/bmm/workflows/1-analysis/product-brief/checklist.md" + template: "{bmad_folder}/bmm/workflows/1-analysis/product-brief/template.md" web_bundle_files: # Core workflow files - - "bmad/bmm/workflows/1-analysis/product-brief/template.md" - - "bmad/bmm/workflows/1-analysis/product-brief/instructions.md" - - "bmad/bmm/workflows/1-analysis/product-brief/checklist.md" + - "{bmad_folder}/bmm/workflows/1-analysis/product-brief/template.md" + - "{bmad_folder}/bmm/workflows/1-analysis/product-brief/instructions.md" + - "{bmad_folder}/bmm/workflows/1-analysis/product-brief/checklist.md" # Task dependencies (referenced in instructions.md) - - "bmad/core/tasks/workflow.xml" + - "{bmad_folder}/core/tasks/workflow.xml" diff --git a/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md b/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md index df6d310f..64ae7297 100644 --- a/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +++ b/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md @@ -1,6 +1,6 @@ # Deep Research Prompt Generator Instructions -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level} This workflow generates structured research prompts optimized for AI platforms @@ -211,7 +211,7 @@ Examples: special_requirements -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml diff --git a/src/modules/bmm/workflows/1-analysis/research/instructions-market.md b/src/modules/bmm/workflows/1-analysis/research/instructions-market.md index 1facb6cd..9afa7052 100644 --- a/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +++ b/src/modules/bmm/workflows/1-analysis/research/instructions-market.md @@ -1,6 +1,6 @@ # Market Research Workflow Instructions -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level} This is a HIGHLY INTERACTIVE workflow - collaborate with user throughout, don't just gather info and disappear @@ -114,7 +114,7 @@ Work with the user to establish: Explore surprising data points together -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml sources_market_size @@ -239,7 +239,7 @@ For each major segment, research and define: - Purchasing frequency - Budget allocation -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml segment*profile*{{segment_number}} @@ -313,7 +313,7 @@ Use {{current_year}} in all searches. Dig deeper based on their interests -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml competitor*analysis*{{competitor_name}} @@ -437,7 +437,7 @@ For each opportunity: - Risk assessment - Success criteria -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml market_opportunities diff --git a/src/modules/bmm/workflows/1-analysis/research/instructions-router.md b/src/modules/bmm/workflows/1-analysis/research/instructions-router.md index 9e9b0335..31b176ce 100644 --- a/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +++ b/src/modules/bmm/workflows/1-analysis/research/instructions-router.md @@ -1,6 +1,6 @@ # Research Workflow Router Instructions -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate in {communication_language}, generate documents in {document_output_language} Web research is ENABLED - always use current {{current_year}} data diff --git a/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md b/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md index d4d96c29..8cfeface 100644 --- a/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +++ b/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md @@ -1,6 +1,6 @@ # Technical/Architecture Research Instructions -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level} This is a HIGHLY INTERACTIVE workflow - make technical decisions WITH user, not FOR them @@ -143,7 +143,7 @@ Each of these is popular for different reasons. Let me know if you want me to ex -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml technology_options @@ -221,7 +221,7 @@ Each of these is popular for different reasons. Let me know if you want me to ex - Training costs - Total cost of ownership estimate -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml tech*profile*{{option_number}} @@ -392,7 +392,7 @@ Research and document: - Contingency options if primary choice doesn't work - Exit strategy considerations -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml recommendations diff --git a/src/modules/bmm/workflows/1-analysis/research/workflow.yaml b/src/modules/bmm/workflows/1-analysis/research/workflow.yaml index 17138785..f1e0ca5e 100644 --- a/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +++ b/src/modules/bmm/workflows/1-analysis/research/workflow.yaml @@ -4,7 +4,7 @@ description: "Adaptive research workflow supporting multiple research types: mar author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -24,7 +24,7 @@ minimum_sources_per_claim: 2 fact_check_critical_data: true # Workflow components - ROUTER PATTERN -installed_path: "{project-root}/bmad/bmm/workflows/1-analysis/research" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/1-analysis/research" instructions: "{installed_path}/instructions-router.md" # Router loads specific instruction sets validation: "{installed_path}/checklist.md" @@ -47,16 +47,16 @@ web_bundle: name: "research" description: "Adaptive research workflow supporting multiple research types: market research, deep research prompt generation, technical/architecture evaluation, competitive intelligence, user research, and domain analysis" author: "BMad" - instructions: "bmad/bmm/workflows/1-analysis/research/instructions-router.md" # Router loads specific instruction sets - validation: "bmad/bmm/workflows/1-analysis/research/checklist.md" + instructions: "{bmad_folder}/bmm/workflows/1-analysis/research/instructions-router.md" # Router loads specific instruction sets + validation: "{bmad_folder}/bmm/workflows/1-analysis/research/checklist.md" web_bundle_files: - - "bmad/bmm/workflows/1-analysis/research/instructions-router.md" - - "bmad/bmm/workflows/1-analysis/research/instructions-market.md" - - "bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md" - - "bmad/bmm/workflows/1-analysis/research/instructions-technical.md" - - "bmad/bmm/workflows/1-analysis/research/template-market.md" - - "bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md" - - "bmad/bmm/workflows/1-analysis/research/template-technical.md" - - "bmad/bmm/workflows/1-analysis/research/checklist.md" - - "bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md" - - "bmad/bmm/workflows/1-analysis/research/checklist-technical.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/instructions-router.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/instructions-market.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/instructions-deep-prompt.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/instructions-technical.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/template-market.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/template-deep-prompt.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/template-technical.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/checklist.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/checklist-deep-prompt.md" + - "{bmad_folder}/bmm/workflows/1-analysis/research/checklist-technical.md" diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md index f99d8fe5..8d614d73 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md @@ -2,7 +2,7 @@ -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level} The goal is COLLABORATIVE UX DESIGN through visual exploration, not content generation diff --git a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml index 3a485ad5..5bf75a05 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +++ b/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml @@ -4,7 +4,7 @@ description: "Collaborative UX design facilitation workflow that creates excepti author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -46,7 +46,7 @@ input_file_patterns: sharded: "{output_folder}/docs/index.md" # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/2-plan-workflows/create-ux-design" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" template: "{installed_path}/ux-design-template.md" @@ -64,10 +64,10 @@ web_bundle: description: "Collaborative UX design facilitation workflow that creates exceptional user experiences through visual exploration and informed decision-making. Unlike template-driven approaches, this workflow facilitates discovery, generates visual options, and collaboratively designs the UX with the user at every step." author: "BMad" - # Core workflow files (bmad/-relative paths) - instructions: "bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md" - validation: "bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md" - template: "bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md" + # Core workflow files ({bmad_folder}/-relative paths) + instructions: "{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md" + validation: "{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md" + template: "{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md" # Default configuration values (can be overridden during bundle setup) defaults: @@ -85,9 +85,9 @@ web_bundle: # Complete file list - ALL files this workflow depends on web_bundle_files: # Core workflow files - - "bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md" - - "bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md" - - "bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md" # Task dependencies (referenced in instructions.md) - - "bmad/core/tasks/workflow.xml" + - "{bmad_folder}/core/tasks/workflow.xml" diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md b/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md index 8d5157c7..198a0b79 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md @@ -1,6 +1,6 @@ # Epic and Story Decomposition - Intent-Based Implementation Planning -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow transforms requirements into BITE-SIZED STORIES for development agents EVERY story must be completable by a single dev agent in one focused session @@ -80,7 +80,7 @@ Present proposed epic structure showing: - Why this grouping makes sense epics_summary -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -138,7 +138,7 @@ For each story in epic {{N}}, output variables following this pattern: For each story M in epic {{N}}, generate story content story*title*{{N}}\_{{M}} -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml b/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml index 4e7293a7..04326ea8 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml @@ -4,7 +4,7 @@ description: "Transform PRD requirements into bite-sized stories organized in ep author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" project_name: "{config_source}:project_name" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" @@ -35,7 +35,7 @@ input_file_patterns: sharded: "{output_folder}/*domain*brief*/index.md" # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories" instructions: "{installed_path}/instructions.md" template: "{installed_path}/epics-template.md" @@ -48,8 +48,8 @@ web_bundle: name: "create-epics-and-stories" description: "Transform PRD requirements into bite-sized stories organized in epics for 200k context dev agents" author: "BMad" - instructions: "bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md" - template: "bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md" + instructions: "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md" + template: "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md" web_bundle_files: - - "bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md" - - "bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md" diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md b/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md index 07ca563e..ba9d0322 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md @@ -1,6 +1,6 @@ # PRD Workflow - Intent-Driven Product Planning -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow uses INTENT-DRIVEN PLANNING - adapt organically to product type and context Communicate all responses in {communication_language} and adapt deeply to {user_skill_level} @@ -115,7 +115,7 @@ Weave in the magic: business_metrics -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -140,7 +140,7 @@ For complex domains: mvp_scope growth_features vision_features -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -289,7 +289,7 @@ The magic thread: Highlight which requirements deliver the special experience functional_requirements_complete -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -341,7 +341,7 @@ Skip categories that don't apply! Does this capture your product vision?" prd_summary -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml After PRD review and refinement complete: diff --git a/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml b/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml index 678a4627..d24b946f 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +++ b/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml @@ -4,7 +4,7 @@ description: "Unified PRD workflow for BMad Method and Enterprise Method tracks. author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" project_name: "{config_source}:project_name" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" @@ -14,7 +14,7 @@ user_skill_level: "{config_source}:user_skill_level" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/2-plan-workflows/prd" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/prd" instructions: "{installed_path}/instructions.md" # Templates @@ -49,24 +49,24 @@ web_bundle: name: "prd" description: "Unified PRD workflow for BMad Method and Enterprise Method tracks. Produces strategic PRD and tactical epic breakdown. Hands off to architecture workflow for technical design. Note: Quick Flow track uses tech-spec workflow." author: "BMad" - instructions: "bmad/bmm/workflows/2-plan-workflows/prd/instructions.md" - validation: "bmad/bmm/workflows/2-plan-workflows/prd/checklist.md" + instructions: "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/instructions.md" + validation: "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/checklist.md" web_bundle_files: # Core workflow files - - "bmad/bmm/workflows/2-plan-workflows/prd/instructions.md" - - "bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md" - - "bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv" - - "bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv" - - "bmad/bmm/workflows/2-plan-workflows/prd/checklist.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/instructions.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/prd-template.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/project-types.csv" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/checklist.md" # Child workflow and its files - - "bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml" - - "bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md" - - "bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md" # Task dependencies (referenced in instructions.md) - - "bmad/core/tasks/workflow.xml" - - "bmad/core/tasks/adv-elicit.xml" - - "bmad/core/tasks/adv-elicit-methods.csv" + - "{bmad_folder}/core/tasks/workflow.xml" + - "{bmad_folder}/core/tasks/adv-elicit.xml" + - "{bmad_folder}/core/tasks/adv-elicit-methods.csv" child_workflows: - - create-epics-and-stories: "bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml" + - create-epics-and-stories: "{bmad_folder}/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml" diff --git a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md index 13af9f99..47f2400f 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +++ b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md @@ -13,7 +13,7 @@ ## 1. Output Files Exist - [ ] tech-spec.md created in output folder -- [ ] Story file(s) created in dev_story_location +- [ ] Story file(s) created in dev_ephemeral_location - Level 0: 1 story file (story-{slug}.md) - Level 1: epics.md + 2-3 story files (story-{epic-slug}-N.md) - [ ] bmm-workflow-status.yaml updated (if not standalone mode) diff --git a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md index 49d2e65f..ebb4273b 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +++ b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md @@ -11,7 +11,7 @@ Read the completed tech-spec.md file from {output_folder}/tech-spec.md Load bmm-workflow-status.yaml from {output_folder}/bmm-workflow-status.yaml (if exists) -Extract dev_story_location from config (where stories are stored) +Extract dev_ephemeral_location from config (where stories are stored) Extract from the ENHANCED tech-spec structure: @@ -42,7 +42,7 @@ Set story_filename = "story-{slug}.md" -Set story_path = "{dev_story_location}/story-{slug}.md" +Set story_path = "{dev_ephemeral_location}/story-{slug}.md" @@ -122,7 +122,7 @@ Since tech-spec is now context-rich, populate all new template fields: - + mode: update action: complete_workflow workflow_name: tech-spec @@ -170,7 +170,7 @@ Since the tech-spec is now CONTEXT-RICH with: **You can skip story-context and go straight to dev!** -1. Load DEV agent: `{project-root}/bmad/bmm/agents/dev.md` +1. Load DEV agent: `{project-root}/{bmad_folder}/bmm/agents/dev.md` 2. Run `dev-story` workflow 3. Begin implementation immediately @@ -178,7 +178,7 @@ Since the tech-spec is now CONTEXT-RICH with: Only needed for extremely complex scenarios: -1. Load SM agent: `{project-root}/bmad/bmm/agents/sm.md` +1. Load SM agent: `{project-root}/{bmad_folder}/bmm/agents/sm.md` 2. Run `story-context` workflow (generates additional XML context) 3. Then load DEV agent and run `dev-story` workflow diff --git a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md index 843ab9e6..a137d322 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +++ b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md @@ -12,7 +12,7 @@ Read the completed tech-spec.md file from {output_folder}/tech-spec.md Load bmm-workflow-status.yaml from {output_folder}/bmm-workflow-status.yaml (if exists) -Extract dev_story_location from config (where stories are stored) +Extract dev_ephemeral_location from config (where stories are stored) Extract from the ENHANCED tech-spec structure: @@ -178,7 +178,7 @@ Since tech-spec is context-rich, populate ALL template fields: - Set story_path_{n} = "{dev_story_location}/story-{epic_slug}-{n}.md" + Set story_path_{n} = "{dev_ephemeral_location}/story-{epic_slug}-{n}.md" Create story file from user_story_template with the following content: @@ -271,7 +271,7 @@ Epic: Icon Reliability - + mode: update action: complete_workflow workflow_name: tech-spec @@ -391,7 +391,7 @@ Stories are implementation-ready! - `story-{epic_slug}-3.md` → Third story {{/if}} -**Story Location:** `{dev_story_location}/` +**Story Location:** `{dev_ephemeral_location}/` **Next Steps - Iterative Implementation:** @@ -408,7 +408,7 @@ Since the tech-spec is now CONTEXT-RICH with: **You can skip story-context for most Level 1 stories!** **1. Start with Story 1:** -a. Load DEV agent: `{project-root}/bmad/bmm/agents/dev.md` +a. Load DEV agent: `{project-root}/{bmad_folder}/bmm/agents/dev.md` b. Run `dev-story` workflow (select story-{epic_slug}-1.md) c. Tech-spec provides all context needed d. Implement story 1 @@ -429,7 +429,7 @@ d. Implement story 1 Only needed for extremely complex multi-story dependencies: -1. Load SM agent: `{project-root}/bmad/bmm/agents/sm.md` +1. Load SM agent: `{project-root}/{bmad_folder}/bmm/agents/sm.md` 2. Run `story-context` workflow for complex stories 3. Then load DEV agent and run `dev-story` diff --git a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md index 04c1eb69..70345c10 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +++ b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md @@ -2,7 +2,7 @@ -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} @@ -914,7 +914,7 @@ What to watch after deployment: rollback_plan monitoring_approach -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml diff --git a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml index edfc3800..d4cb37ca 100644 --- a/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +++ b/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml @@ -4,7 +4,7 @@ description: "Technical specification workflow for Level 0 projects (single atom author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" project_name: "{config_source}:project_name" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" @@ -21,7 +21,7 @@ change_type: runtime-captured field_type: runtime-captured # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/2-plan-workflows/tech-spec" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec" instructions: "{installed_path}/instructions.md" template: "{installed_path}/tech-spec-template.md" @@ -63,17 +63,17 @@ web_bundle: name: "tech-spec-sm" description: "Technical specification workflow for Level 0-1 projects. Creates focused tech spec with story generation. Level 0: tech-spec + user story. Level 1: tech-spec + epic/stories." author: "BMad" - instructions: "bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md" + instructions: "{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/instructions.md" web_bundle_files: # Core workflow files - - "bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md" - - "bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md" - - "bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md" - - "bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md" - - "bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md" - - "bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/instructions.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md" + - "{bmad_folder}/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md" # Task dependencies (referenced in instructions.md) - - "bmad/core/tasks/workflow.xml" - - "bmad/core/tasks/adv-elicit.xml" - - "bmad/core/tasks/adv-elicit-methods.csv" + - "{bmad_folder}/core/tasks/workflow.xml" + - "{bmad_folder}/core/tasks/adv-elicit.xml" + - "{bmad_folder}/core/tasks/adv-elicit-methods.csv" diff --git a/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md b/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md index b78b74c5..587b6bdc 100644 --- a/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +++ b/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md @@ -2,7 +2,7 @@ -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level} The goal is ARCHITECTURAL DECISIONS that prevent AI agent conflicts, not detailed implementation specs @@ -363,7 +363,7 @@ Provided by Starter: {{yes_if_from_starter}} decision_record -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -393,7 +393,7 @@ Provided by Starter: {{yes_if_from_starter}} project_structure -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -467,7 +467,7 @@ Provided by Starter: {{yes_if_from_starter}} novel_pattern_designs -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -560,7 +560,7 @@ Enforcement: "All agents MUST follow this pattern" implementation_patterns -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml @@ -614,7 +614,7 @@ Enforcement: "All agents MUST follow this pattern" architecture_document -{project-root}/bmad/core/tasks/adv-elicit.xml +{project-root}/{bmad_folder}/core/tasks/adv-elicit.xml diff --git a/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml b/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml index f0cb7a4f..06a18e39 100644 --- a/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +++ b/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml @@ -4,7 +4,7 @@ description: "Collaborative architectural decision facilitation for AI-agent con author: "BMad" # Critical variables -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -37,7 +37,7 @@ input_file_patterns: sharded: "{output_folder}/docs/index.md" # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/3-solutioning/architecture" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/3-solutioning/architecture" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" template: "{installed_path}/architecture-template.md" @@ -72,18 +72,18 @@ web_bundle: description: "Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts." author: "BMad" - # Core workflow files (bmad/-relative paths) - instructions: "bmad/bmm/workflows/3-solutioning/architecture/instructions.md" - validation: "bmad/bmm/workflows/3-solutioning/architecture/checklist.md" - template: "bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md" + # Core workflow files ({bmad_folder}/-relative paths) + instructions: "{bmad_folder}/bmm/workflows/3-solutioning/architecture/instructions.md" + validation: "{bmad_folder}/bmm/workflows/3-solutioning/architecture/checklist.md" + template: "{bmad_folder}/bmm/workflows/3-solutioning/architecture/architecture-template.md" # Knowledge base files for decision making - decision_catalog: "bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml" - architecture_patterns: "bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml" - pattern_categories: "bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv" + decision_catalog: "{bmad_folder}/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml" + architecture_patterns: "{bmad_folder}/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml" + pattern_categories: "{bmad_folder}/bmm/workflows/3-solutioning/architecture/pattern-categories.csv" # Task dependencies - adv_elicit_task: "bmad/core/tasks/adv-elicit.xml" + adv_elicit_task: "{bmad_folder}/core/tasks/adv-elicit.xml" # Default configuration values (can be overridden during bundle setup) defaults: @@ -99,16 +99,16 @@ web_bundle: # Complete file list - ALL files this workflow depends on web_bundle_files: # Core workflow files - - "bmad/bmm/workflows/3-solutioning/architecture/instructions.md" - - "bmad/bmm/workflows/3-solutioning/architecture/checklist.md" - - "bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md" + - "{bmad_folder}/bmm/workflows/3-solutioning/architecture/instructions.md" + - "{bmad_folder}/bmm/workflows/3-solutioning/architecture/checklist.md" + - "{bmad_folder}/bmm/workflows/3-solutioning/architecture/architecture-template.md" # Knowledge base data files - - "bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml" - - "bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml" - - "bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv" + - "{bmad_folder}/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml" + - "{bmad_folder}/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml" + - "{bmad_folder}/bmm/workflows/3-solutioning/architecture/pattern-categories.csv" # Task dependencies (referenced in instructions.md) - - "bmad/core/tasks/workflow.xml" - - "bmad/core/tasks/adv-elicit.xml" - - "bmad/core/tasks/adv-elicit-methods.csv" + - "{bmad_folder}/core/tasks/workflow.xml" + - "{bmad_folder}/core/tasks/adv-elicit.xml" + - "{bmad_folder}/core/tasks/adv-elicit-methods.csv" diff --git a/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md b/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md index b591e44d..d801e7ed 100644 --- a/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +++ b/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md @@ -1,7 +1,7 @@ # Implementation Ready Check - Workflow Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml Communicate all findings and analysis in {communication_language} throughout the assessment Input documents specified in workflow.yaml input_file_patterns - workflow engine handles fuzzy matching, whole vs sharded document discovery automatically diff --git a/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml b/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml index 958199c8..10295302 100644 --- a/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +++ b/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml @@ -4,7 +4,7 @@ description: "Systematically validate that all planning and solutioning phases a author: "BMad Builder" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -12,11 +12,11 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow status integration -workflow_status_workflow: "{project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml" -workflow_paths_dir: "{project-root}/bmad/bmm/workflows/workflow-status/paths" +workflow_status_workflow: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow.yaml" +workflow_paths_dir: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/paths" # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/3-solutioning/solutioning-gate-check" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/3-solutioning/solutioning-gate-check" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmm/workflows/4-implementation/code-review/instructions.md b/src/modules/bmm/workflows/4-implementation/code-review/instructions.md index e277df46..bc738e12 100644 --- a/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/code-review/instructions.md @@ -1,7 +1,7 @@ # Senior Developer Review - Workflow Instructions ````xml -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} @@ -376,7 +376,7 @@ Review was saved to story file, but sprint-status.yaml may be out of sync. - Run validation checklist at {installed_path}/checklist.md using {project-root}/bmad/core/tasks/validate-workflow.xml + Run validation checklist at {installed_path}/checklist.md using {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml Report workflow completion. diff --git a/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml b/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml index 211f9ac3..5d8f9b95 100644 --- a/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml @@ -4,7 +4,7 @@ description: "Perform a Senior Developer code review on a completed story flagge author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -13,7 +13,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/code-review" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/code-review" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" @@ -23,7 +23,7 @@ template: false # Variables (can be provided by caller) variables: story_path: "" # Optional: Explicit path to story file. If not provided, finds first story with status "review" - story_dir: "{config_source}:dev_story_location" # Directory containing story files + story_dir: "{config_source}:dev_ephemeral_location" # Directory containing story files tech_spec_search_dir: "{project-root}/docs" tech_spec_glob_template: "tech-spec-epic-{{epic_num}}*.md" arch_docs_search_dirs: | diff --git a/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md b/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md index b42b2381..1cbe1bf0 100644 --- a/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +++ b/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md @@ -1,6 +1,6 @@ # Change Navigation Checklist -This checklist is executed as part of: {project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +This checklist is executed as part of: {project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course/workflow.yaml Work through each section systematically with the user, recording findings and impacts diff --git a/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md b/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md index 8c5f964c..5ab184aa 100644 --- a/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md @@ -1,7 +1,7 @@ # Correct Course - Sprint Change Management Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml b/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml index bbd248ab..a5f5958e 100644 --- a/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml @@ -3,7 +3,7 @@ name: "correct-course" description: "Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation" author: "BMad Method" -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -11,7 +11,7 @@ user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/correct-course" template: false instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmm/workflows/4-implementation/create-story/instructions.md b/src/modules/bmm/workflows/4-implementation/create-story/instructions.md index e5b8182a..8c274302 100644 --- a/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/create-story/instructions.md @@ -1,7 +1,7 @@ # Create Story - Workflow Instructions (Spec-compliant, non-interactive by default) ````xml -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Generate all documents in {document_output_language} This workflow creates or updates the next user story from epics/PRD and architecture context, saving to the configured stories directory and optionally invoking Story Context. @@ -39,7 +39,7 @@ - Resolve variables from config_source: story_dir (dev_story_location), output_folder, user_name, communication_language. If story_dir missing and {{non_interactive}} == false → ASK user to provide a stories directory and update variable. If {{non_interactive}} == true and missing, HALT with a clear message. + Resolve variables from config_source: story_dir (dev_ephemeral_location), output_folder, user_name, communication_language. If story_dir missing and {{non_interactive}} == false → ASK user to provide a stories directory and update variable. If {{non_interactive}} == true and missing, HALT with a clear message. Create {{story_dir}} if it does not exist Resolve installed component paths from workflow.yaml: template, instructions, validation Resolve recommended inputs if present: epics_file, prd_file, architecture_file @@ -240,7 +240,7 @@ Will update existing story file rather than creating new one. - Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml + Validate against checklist at {installed_path}/checklist.md using {bmad_folder}/core/tasks/validate-workflow.xml Save document unconditionally (non-interactive default). In interactive mode, allow user confirmation. diff --git a/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml b/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml index 0df50d0c..3d978a8b 100644 --- a/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml @@ -3,21 +3,21 @@ description: "Create the next user story markdown from epics/PRD and architectur author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/create-story" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/create-story" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" # Variables and inputs variables: - story_dir: "{config_source}:dev_story_location" # Directory where stories are stored + story_dir: "{config_source}:dev_ephemeral_location" # Directory where stories are stored epics_file: "{output_folder}/epics.md" # Preferred source for epic/story breakdown prd_file: "{output_folder}/PRD.md" # Fallback for requirements architecture_file: "{output_folder}/architecture.md" # Optional architecture context diff --git a/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md b/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md index 528e03eb..a20aa3e0 100644 --- a/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +++ b/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md @@ -26,7 +26,7 @@ The dev-story workflow is well-structured and follows most BMAD v6 standards. Th The workflow.yaml contains all required standard config variables: -- ✓ `config_source: "{project-root}/bmad/bmm/config.yaml"` - Correctly defined +- ✓ `config_source: "{project-root}/{bmad_folder}/bmm/config.yaml"` - Correctly defined - ✓ `output_folder: "{config_source}:output_folder"` - Pulls from config_source - ✓ `user_name: "{config_source}:user_name"` - Pulls from config_source - ✓ `communication_language: "{config_source}:communication_language"` - Pulls from config_source @@ -67,7 +67,7 @@ These variables appear to be pulling from config.yaml but are not explicitly def ### Unused Variables (Bloat) -1. **context_path** - Defined as `"{config_source}:dev_story_location"` but never used. This duplicates `story_dir` functionality. +1. **context_path** - Defined as `"{config_source}:dev_ephemeral_location"` but never used. This duplicates `story_dir` functionality. --- @@ -140,7 +140,7 @@ The workflow correctly sets `web_bundle: false`. This is the expected configurat ### Unused YAML Fields 1. **context_path** (line 11 in workflow.yaml) - - Defined as: `"{config_source}:dev_story_location"` + - Defined as: `"{config_source}:dev_ephemeral_location"` - Never referenced in instructions.md - Duplicates functionality of `story_dir` variable - **Recommendation:** Remove this variable as `story_dir` serves the same purpose diff --git a/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md b/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md index bb165afe..5f7d1304 100644 --- a/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md @@ -1,7 +1,7 @@ # Develop Story - Workflow Instructions ```xml -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} @@ -227,7 +227,7 @@ Story is marked Ready for Review in file, but sprint-status.yaml may be out of s - Optionally run the workflow validation task against the story using {project-root}/bmad/core/tasks/validate-workflow.xml + Optionally run the workflow validation task against the story using {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml Prepare a concise summary in Dev Agent Record → Completion Notes Communicate to {user_name} that story implementation is complete and ready for review diff --git a/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml b/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml index 6729c91a..b3a98ba9 100644 --- a/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml @@ -3,13 +3,13 @@ description: "Execute a story by implementing tasks/subtasks, writing tests, val author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" -story_dir: "{config_source}:dev_story_location" +story_dir: "{config_source}:dev_ephemeral_location" run_until_complete: "{config_source}:run_until_complete" run_tests_command: "{config_source}:run_tests_command" date: system-generated @@ -19,7 +19,7 @@ story_file: "" # Explicit story path; auto-discovered if empty context_file: "{story_dir}/{{story_key}}.context.xml" # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/dev-story" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/dev-story" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md b/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md index 0c4c4c65..346d8dbe 100644 --- a/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +++ b/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md @@ -1,7 +1,7 @@ # Tech Spec Validation Checklist ```xml - + Overview clearly ties to PRD goals Scope explicitly lists in-scope and out-of-scope Design lists all services/modules with responsibilities diff --git a/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md b/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md index 57a7c280..15988c3b 100644 --- a/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md @@ -1,7 +1,7 @@ ```xml -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} This workflow generates a comprehensive Technical Specification from PRD and Architecture, including detailed design, NFRs, acceptance criteria, and traceability mapping. @@ -157,7 +157,7 @@ Continuing to regenerate tech spec... - Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml + Validate against checklist at {installed_path}/checklist.md using {bmad_folder}/core/tasks/validate-workflow.xml Load the FULL file: {{output_folder}}/sprint-status.yaml diff --git a/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml b/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml index 053ed977..9b24aa8e 100644 --- a/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml @@ -3,7 +3,7 @@ description: "Generate a comprehensive Technical Specification from PRD and Arch author: "BMAD BMM" # Critical variables -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -47,7 +47,7 @@ input_file_patterns: sharded: "{output_folder}/docs/index.md" # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/epic-tech-context" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/epic-tech-context" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md b/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md index a8de8e34..6376c36a 100644 --- a/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md @@ -1,7 +1,7 @@ # Retrospective - Epic Completion Review Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmm/workflows/4-implementation/retrospective/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml b/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml index b08addd7..1eddd132 100644 --- a/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml @@ -3,7 +3,7 @@ name: "retrospective" description: "Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic" author: "BMad" -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -11,7 +11,7 @@ user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/retrospective" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/retrospective" template: false instructions: "{installed_path}/instructions.md" @@ -19,7 +19,7 @@ mode: interactive trigger: "Run AFTER completing an epic" required_inputs: - - agent_manifest: "{project-root}/bmad/_cfg/agent-manifest.csv" + - agent_manifest: "{project-root}/{bmad_folder}/_cfg/agent-manifest.csv" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version @@ -46,7 +46,7 @@ input_file_patterns: # Required files sprint_status_file: "{output_folder}/sprint-status.yaml" -story_directory: "{config_source}:dev_story_location" +story_directory: "{config_source}:dev_ephemeral_location" retrospectives_folder: "{output_folder}/retrospectives" output_artifacts: diff --git a/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md b/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md index ff9ebf25..6a1d76d1 100644 --- a/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md @@ -1,7 +1,7 @@ # Sprint Planning - Sprint Status Generator -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmm/workflows/4-implementation/sprint-planning/workflow.yaml ## 📚 Document Discovery - Full Epic Loading diff --git a/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml b/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml index 86006494..6b46e35a 100644 --- a/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml @@ -3,14 +3,14 @@ description: "Generate and manage the sprint status tracking file for Phase 4 im author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/sprint-planning" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/sprint-planning" instructions: "{installed_path}/instructions.md" template: "{installed_path}/sprint-status-template.yaml" validation: "{installed_path}/checklist.md" @@ -24,7 +24,7 @@ variables: # Tracking system configuration tracking_system: "file-system" # Options: file-system, Future will support other options from config of mcp such as jira, linear, trello story_location: "{project-root}/docs/stories" # Relative path for file-system, Future will support URL for Jira/Linear/Trello - story_location_absolute: "{config_source}:dev_story_location" # Absolute path for file operations + story_location_absolute: "{config_source}:dev_ephemeral_location" # Absolute path for file operations # Source files (file-system only) epics_location: "{output_folder}" # Directory containing epic*.md files diff --git a/src/modules/bmm/workflows/4-implementation/story-context/checklist.md b/src/modules/bmm/workflows/4-implementation/story-context/checklist.md index bb59a9c2..d2f77cea 100644 --- a/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +++ b/src/modules/bmm/workflows/4-implementation/story-context/checklist.md @@ -1,7 +1,7 @@ # Story Context Assembly Checklist ```xml - + Story fields (asA/iWant/soThat) captured Acceptance criteria list matches story draft exactly (no invention) Tasks/subtasks captured as task list diff --git a/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml b/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml index b337ac9a..c2988e09 100644 --- a/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +++ b/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml @@ -1,4 +1,4 @@ - + {{epic_id}} {{story_id}} diff --git a/src/modules/bmm/workflows/4-implementation/story-context/instructions.md b/src/modules/bmm/workflows/4-implementation/story-context/instructions.md index 515d1335..6b218acc 100644 --- a/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/story-context/instructions.md @@ -1,7 +1,7 @@ ```xml -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} Generate all documents in {document_output_language} @@ -181,7 +181,7 @@ All stories are either still in backlog or already marked ready/in-progress/done Validate output context file structure and content - Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml + Validate against checklist at {installed_path}/checklist.md using {bmad_folder}/core/tasks/validate-workflow.xml diff --git a/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml b/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml index 5945a69c..c3c4fb12 100644 --- a/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml @@ -4,16 +4,16 @@ description: "Assemble a dynamic Story Context XML by pulling latest documentati author: "BMad" # Critical variables -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" document_output_language: "{config_source}:document_output_language" -story_path: "{config_source}:dev_story_location" +story_path: "{config_source}:dev_ephemeral_location" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/story-context" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-context" template: "{installed_path}/context-template.xml" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" @@ -21,7 +21,7 @@ validation: "{installed_path}/checklist.md" # Variables and inputs variables: story_path: "" # Optional: Explicit story path. If not provided, finds first story with status "drafted" - story_dir: "{config_source}:dev_story_location" + story_dir: "{config_source}:dev_ephemeral_location" # Smart input file references - handles both whole docs and sharded docs # Priority: Whole document first, then sharded version diff --git a/src/modules/bmm/workflows/4-implementation/story-done/instructions.md b/src/modules/bmm/workflows/4-implementation/story-done/instructions.md index 2827c8f7..32ac01b4 100644 --- a/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/story-done/instructions.md @@ -1,6 +1,6 @@ # Story Approved Workflow Instructions (DEV Agent) -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} diff --git a/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml b/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml index 4e4a9353..318abf3f 100644 --- a/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml @@ -4,20 +4,20 @@ description: "Marks a story as done (DoD complete) and moves it from its current author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/story-done" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-done" instructions: "{installed_path}/instructions.md" # Variables and inputs variables: story_path: "" # Explicit path to story file - story_dir: "{config_source}:dev_story_location" # Directory where stories are stored + story_dir: "{config_source}:dev_ephemeral_location" # Directory where stories are stored # Output configuration - no output file, just status updates default_output_file: "" diff --git a/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md b/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md index 59b0fddd..65cb0ec6 100644 --- a/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md @@ -1,6 +1,6 @@ # Story Ready Workflow Instructions (SM Agent) -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: {installed_path}/workflow.yaml Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} diff --git a/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml b/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml index a69baad7..c7f99b28 100644 --- a/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml @@ -4,20 +4,20 @@ description: "Marks a drafted story as ready for development and moves it from T author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/4-implementation/story-ready" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/4-implementation/story-ready" instructions: "{installed_path}/instructions.md" # Variables and inputs variables: story_path: "" # Explicit path to story file - story_dir: "{config_source}:dev_story_location" # Directory where stories are stored + story_dir: "{config_source}:dev_ephemeral_location" # Directory where stories are stored # Output configuration - no output file, just status updates default_output_file: "" diff --git a/src/modules/bmm/workflows/document-project/instructions.md b/src/modules/bmm/workflows/document-project/instructions.md index e51821cc..5f8b2139 100644 --- a/src/modules/bmm/workflows/document-project/instructions.md +++ b/src/modules/bmm/workflows/document-project/instructions.md @@ -1,7 +1,7 @@ # Document Project Workflow Router -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/document-project/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmm/workflows/document-project/workflow.yaml Communicate all responses in {communication_language} @@ -10,7 +10,7 @@ - + mode: data data_request: project_config @@ -36,7 +36,7 @@ - + mode: validate calling_workflow: document-project @@ -179,7 +179,7 @@ Your choice [1/2/3]: - + mode: update action: complete_workflow workflow_name: document-project diff --git a/src/modules/bmm/workflows/document-project/workflow.yaml b/src/modules/bmm/workflows/document-project/workflow.yaml index 3f09f4c6..785ea831 100644 --- a/src/modules/bmm/workflows/document-project/workflow.yaml +++ b/src/modules/bmm/workflows/document-project/workflow.yaml @@ -5,7 +5,7 @@ description: "Analyzes and documents brownfield projects by scanning codebase, a author: "BMad" # Critical variables -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -14,7 +14,7 @@ user_skill_level: "{config_source}:user_skill_level" date: system-generated # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/document-project" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/document-project" template: false # This is an action workflow with multiple output files instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml b/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml index b8a939b3..e3421dd2 100644 --- a/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +++ b/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml @@ -4,22 +4,22 @@ description: "Exhaustive deep-dive documentation of specific project areas" author: "BMad" # This is a sub-workflow called by document-project/workflow.yaml -parent_workflow: "{project-root}/bmad/bmm/workflows/document-project/workflow.yaml" +parent_workflow: "{project-root}/{bmad_folder}/bmm/workflows/document-project/workflow.yaml" # Critical variables inherited from parent -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" date: system-generated # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/document-project/workflows" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/document-project/workflows" template: false # Action workflow instructions: "{installed_path}/deep-dive-instructions.md" -validation: "{project-root}/bmad/bmm/workflows/document-project/checklist.md" +validation: "{project-root}/{bmad_folder}/bmm/workflows/document-project/checklist.md" # Templates -deep_dive_template: "{project-root}/bmad/bmm/workflows/document-project/templates/deep-dive-template.md" +deep_dive_template: "{project-root}/{bmad_folder}/bmm/workflows/document-project/templates/deep-dive-template.md" # Runtime inputs (passed from parent workflow) workflow_mode: "deep_dive" diff --git a/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml b/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml index a9831495..34a4d7f5 100644 --- a/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +++ b/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml @@ -4,22 +4,22 @@ description: "Complete project documentation workflow (initial scan or full resc author: "BMad" # This is a sub-workflow called by document-project/workflow.yaml -parent_workflow: "{project-root}/bmad/bmm/workflows/document-project/workflow.yaml" +parent_workflow: "{project-root}/{bmad_folder}/bmm/workflows/document-project/workflow.yaml" # Critical variables inherited from parent -config_source: "{project-root}/bmad/bmb/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmb/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" date: system-generated # Data files -documentation_requirements_csv: "{project-root}/bmad/bmm/workflows/document-project/documentation-requirements.csv" +documentation_requirements_csv: "{project-root}/{bmad_folder}/bmm/workflows/document-project/documentation-requirements.csv" # Module path and component files -installed_path: "{project-root}/bmad/bmm/workflows/document-project/workflows" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/document-project/workflows" template: false # Action workflow instructions: "{installed_path}/full-scan-instructions.md" -validation: "{project-root}/bmad/bmm/workflows/document-project/checklist.md" +validation: "{project-root}/{bmad_folder}/bmm/workflows/document-project/checklist.md" # Runtime inputs (passed from parent workflow) workflow_mode: "" # "initial_scan" or "full_rescan" diff --git a/src/modules/bmm/workflows/testarch/atdd/instructions.md b/src/modules/bmm/workflows/testarch/atdd/instructions.md index 1660e150..0372e4bd 100644 --- a/src/modules/bmm/workflows/testarch/atdd/instructions.md +++ b/src/modules/bmm/workflows/testarch/atdd/instructions.md @@ -2,7 +2,7 @@ # Acceptance Test-Driven Development (ATDD) -**Workflow ID**: `bmad/bmm/testarch/atdd` +**Workflow ID**: `{bmad_folder}/bmm/testarch/atdd` **Version**: 4.0 (BMad v6) --- @@ -50,7 +50,7 @@ Generates failing acceptance tests BEFORE implementation following TDD's red-gre 4. **Load Knowledge Base Fragments** - **Critical:** Consult `{project-root}/bmad/bmm/testarch/tea-index.csv` to load: + **Critical:** Consult `{project-root}/{bmad_folder}/bmm/testarch/tea-index.csv` to load: - `fixture-architecture.md` - Test fixture patterns with auto-cleanup (pure function → fixture → mergeTests composition, 406 lines, 5 examples) - `data-factories.md` - Factory patterns using faker (override patterns, nested factories, API seeding, 498 lines, 5 examples) - `component-tdd.md` - Component test strategies (red-green-refactor, provider isolation, accessibility, visual regression, 480 lines, 4 examples) diff --git a/src/modules/bmm/workflows/testarch/atdd/workflow.yaml b/src/modules/bmm/workflows/testarch/atdd/workflow.yaml index 8054a2d9..b05c632c 100644 --- a/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +++ b/src/modules/bmm/workflows/testarch/atdd/workflow.yaml @@ -4,7 +4,7 @@ description: "Generate failing acceptance tests before implementation using TDD author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -12,7 +12,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/testarch/atdd" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/testarch/atdd" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" template: "{installed_path}/atdd-checklist-template.md" diff --git a/src/modules/bmm/workflows/testarch/automate/instructions.md b/src/modules/bmm/workflows/testarch/automate/instructions.md index a7d2f3a4..2dd656b7 100644 --- a/src/modules/bmm/workflows/testarch/automate/instructions.md +++ b/src/modules/bmm/workflows/testarch/automate/instructions.md @@ -2,7 +2,7 @@ # Test Automation Expansion -**Workflow ID**: `bmad/bmm/testarch/automate` +**Workflow ID**: `{bmad_folder}/bmm/testarch/automate` **Version**: 4.0 (BMad v6) --- @@ -83,7 +83,7 @@ Expands test automation coverage by generating comprehensive test suites at appr 5. **Load Knowledge Base Fragments** - **Critical:** Consult `{project-root}/bmad/bmm/testarch/tea-index.csv` to load: + **Critical:** Consult `{project-root}/{bmad_folder}/bmm/testarch/tea-index.csv` to load: - `test-levels-framework.md` - Test level selection (E2E vs API vs Component vs Unit with decision matrix, 467 lines, 4 examples) - `test-priorities-matrix.md` - Priority classification (P0-P3 with automated scoring, risk mapping, 389 lines, 2 examples) - `fixture-architecture.md` - Test fixture patterns (pure function → fixture → mergeTests, auto-cleanup, 406 lines, 5 examples) diff --git a/src/modules/bmm/workflows/testarch/automate/workflow.yaml b/src/modules/bmm/workflows/testarch/automate/workflow.yaml index 0e896941..2e651a7b 100644 --- a/src/modules/bmm/workflows/testarch/automate/workflow.yaml +++ b/src/modules/bmm/workflows/testarch/automate/workflow.yaml @@ -4,7 +4,7 @@ description: "Expand test automation coverage after implementation or analyze ex author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -12,7 +12,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/testarch/automate" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/testarch/automate" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" template: false diff --git a/src/modules/bmm/workflows/testarch/ci/instructions.md b/src/modules/bmm/workflows/testarch/ci/instructions.md index 28e742c2..a96600ae 100644 --- a/src/modules/bmm/workflows/testarch/ci/instructions.md +++ b/src/modules/bmm/workflows/testarch/ci/instructions.md @@ -2,7 +2,7 @@ # CI/CD Pipeline Setup -**Workflow ID**: `bmad/bmm/testarch/ci` +**Workflow ID**: `{bmad_folder}/bmm/testarch/ci` **Version**: 4.0 (BMad v6) --- @@ -353,7 +353,7 @@ Scaffolds a production-ready CI/CD quality pipeline with test execution, burn-in ### Knowledge Base Integration -**Critical:** Consult `{project-root}/bmad/bmm/testarch/tea-index.csv` to identify and load relevant knowledge fragments: +**Critical:** Consult `{project-root}/{bmad_folder}/bmm/testarch/tea-index.csv` to identify and load relevant knowledge fragments: - `ci-burn-in.md` - Burn-in loop patterns: 10-iteration detection, GitHub Actions workflow, shard orchestration, selective execution (678 lines, 4 examples) - `selective-testing.md` - Changed test detection strategies: tag-based, spec filters, diff-based selection, promotion rules (727 lines, 4 examples) diff --git a/src/modules/bmm/workflows/testarch/ci/workflow.yaml b/src/modules/bmm/workflows/testarch/ci/workflow.yaml index 3fbbf246..a8d9fc75 100644 --- a/src/modules/bmm/workflows/testarch/ci/workflow.yaml +++ b/src/modules/bmm/workflows/testarch/ci/workflow.yaml @@ -4,7 +4,7 @@ description: "Scaffold CI/CD quality pipeline with test execution, burn-in loops author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -12,7 +12,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/testarch/ci" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/testarch/ci" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmm/workflows/testarch/framework/instructions.md b/src/modules/bmm/workflows/testarch/framework/instructions.md index 47cc9922..ec333056 100644 --- a/src/modules/bmm/workflows/testarch/framework/instructions.md +++ b/src/modules/bmm/workflows/testarch/framework/instructions.md @@ -2,7 +2,7 @@ # Test Framework Setup -**Workflow ID**: `bmad/bmm/testarch/framework` +**Workflow ID**: `{bmad_folder}/bmm/testarch/framework` **Version**: 4.0 (BMad v6) --- @@ -349,7 +349,7 @@ The generated `tests/README.md` should include: ### Knowledge Base Integration -**Critical:** Consult `{project-root}/bmad/bmm/testarch/tea-index.csv` to identify and load relevant knowledge fragments: +**Critical:** Consult `{project-root}/{bmad_folder}/bmm/testarch/tea-index.csv` to identify and load relevant knowledge fragments: - `fixture-architecture.md` - Pure function → fixture → `mergeTests` composition with auto-cleanup (406 lines, 5 examples) - `data-factories.md` - Faker-based factories with overrides, nested factories, API seeding, auto-cleanup (498 lines, 5 examples) diff --git a/src/modules/bmm/workflows/testarch/framework/workflow.yaml b/src/modules/bmm/workflows/testarch/framework/workflow.yaml index 4ecf08cb..5ef332a0 100644 --- a/src/modules/bmm/workflows/testarch/framework/workflow.yaml +++ b/src/modules/bmm/workflows/testarch/framework/workflow.yaml @@ -4,7 +4,7 @@ description: "Initialize production-ready test framework architecture (Playwrigh author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -12,7 +12,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/testarch/framework" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/testarch/framework" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" diff --git a/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md b/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md index fe4fc8e6..a7c40e49 100644 --- a/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +++ b/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md @@ -50,7 +50,7 @@ This workflow performs a comprehensive assessment of non-functional requirements **Actions:** -1. Load relevant knowledge fragments from `{project-root}/bmad/bmm/testarch/tea-index.csv`: +1. Load relevant knowledge fragments from `{project-root}/{bmad_folder}/bmm/testarch/tea-index.csv`: - `nfr-criteria.md` - Non-functional requirements criteria and thresholds (security, performance, reliability, maintainability with code examples, 658 lines, 4 examples) - `ci-burn-in.md` - CI/CD burn-in patterns for reliability validation (10-iteration detection, sharding, selective execution, 678 lines, 4 examples) - `test-quality.md` - Test quality expectations for maintainability (deterministic, isolated, explicit assertions, length/time limits, 658 lines, 5 examples) diff --git a/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml b/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml index 5c09060a..f4fab200 100644 --- a/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +++ b/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml @@ -4,7 +4,7 @@ description: "Assess non-functional requirements (performance, security, reliabi author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -12,7 +12,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/testarch/nfr-assess" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/testarch/nfr-assess" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" template: "{installed_path}/nfr-report-template.md" diff --git a/src/modules/bmm/workflows/testarch/test-design/instructions.md b/src/modules/bmm/workflows/testarch/test-design/instructions.md index 551e30fb..15f14e0d 100644 --- a/src/modules/bmm/workflows/testarch/test-design/instructions.md +++ b/src/modules/bmm/workflows/testarch/test-design/instructions.md @@ -2,7 +2,7 @@ # Test Design and Risk Assessment -**Workflow ID**: `bmad/bmm/testarch/test-design` +**Workflow ID**: `{bmad_folder}/bmm/testarch/test-design` **Version**: 4.0 (BMad v6) --- @@ -48,7 +48,7 @@ Plans comprehensive test coverage strategy with risk assessment, priority classi 4. **Load Knowledge Base Fragments** - **Critical:** Consult `{project-root}/bmad/bmm/testarch/tea-index.csv` to load: + **Critical:** Consult `{project-root}/{bmad_folder}/bmm/testarch/tea-index.csv` to load: - `risk-governance.md` - Risk classification framework (6 categories: TECH, SEC, PERF, DATA, BUS, OPS), automated scoring, gate decision engine, owner tracking (625 lines, 4 examples) - `probability-impact.md` - Risk scoring methodology (probability × impact matrix, automated classification, dynamic re-assessment, gate integration, 604 lines, 4 examples) - `test-levels-framework.md` - Test level selection guidance (E2E vs API vs Component vs Unit with decision matrix, characteristics, when to use each, 467 lines, 4 examples) diff --git a/src/modules/bmm/workflows/testarch/test-design/test-design-template.md b/src/modules/bmm/workflows/testarch/test-design/test-design-template.md index 3751acca..df21320f 100644 --- a/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +++ b/src/modules/bmm/workflows/testarch/test-design/test-design-template.md @@ -281,5 +281,5 @@ --- **Generated by**: BMad TEA Agent - Test Architect Module -**Workflow**: `bmad/bmm/testarch/test-design` +**Workflow**: `{bmad_folder}/bmm/testarch/test-design` **Version**: 4.0 (BMad v6) diff --git a/src/modules/bmm/workflows/testarch/test-design/workflow.yaml b/src/modules/bmm/workflows/testarch/test-design/workflow.yaml index a124127b..fadc7683 100644 --- a/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +++ b/src/modules/bmm/workflows/testarch/test-design/workflow.yaml @@ -4,7 +4,7 @@ description: "Plan risk mitigation and test coverage strategy before development author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -12,7 +12,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/testarch/test-design" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/testarch/test-design" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" template: "{installed_path}/test-design-template.md" diff --git a/src/modules/bmm/workflows/testarch/test-review/instructions.md b/src/modules/bmm/workflows/testarch/test-review/instructions.md index 01d4f0cc..91a09ade 100644 --- a/src/modules/bmm/workflows/testarch/test-review/instructions.md +++ b/src/modules/bmm/workflows/testarch/test-review/instructions.md @@ -49,7 +49,7 @@ This workflow performs comprehensive test quality reviews using TEA's knowledge **Actions:** -1. Load relevant knowledge fragments from `{project-root}/bmad/bmm/testarch/tea-index.csv`: +1. Load relevant knowledge fragments from `{project-root}/{bmad_folder}/bmm/testarch/tea-index.csv`: - `test-quality.md` - Definition of Done (deterministic tests, isolated with cleanup, explicit assertions, <300 lines, <1.5 min, 658 lines, 5 examples) - `fixture-architecture.md` - Pure function → Fixture → mergeTests composition with auto-cleanup (406 lines, 5 examples) - `network-first.md` - Route intercept before navigate to prevent race conditions (intercept before navigate, HAR capture, deterministic waiting, 489 lines, 5 examples) diff --git a/src/modules/bmm/workflows/testarch/test-review/workflow.yaml b/src/modules/bmm/workflows/testarch/test-review/workflow.yaml index 0863ef65..0fb8ac71 100644 --- a/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +++ b/src/modules/bmm/workflows/testarch/test-review/workflow.yaml @@ -4,7 +4,7 @@ description: "Review test quality using comprehensive knowledge base and best pr author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -12,7 +12,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/testarch/test-review" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/testarch/test-review" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" template: "{installed_path}/test-review-template.md" diff --git a/src/modules/bmm/workflows/testarch/trace/instructions.md b/src/modules/bmm/workflows/testarch/trace/instructions.md index 96015430..e3511841 100644 --- a/src/modules/bmm/workflows/testarch/trace/instructions.md +++ b/src/modules/bmm/workflows/testarch/trace/instructions.md @@ -64,7 +64,7 @@ This phase focuses on mapping requirements to tests, analyzing coverage, and ide **Actions:** -1. Load relevant knowledge fragments from `{project-root}/bmad/bmm/testarch/tea-index.csv`: +1. Load relevant knowledge fragments from `{project-root}/{bmad_folder}/bmm/testarch/tea-index.csv`: - `test-priorities-matrix.md` - P0/P1/P2/P3 risk framework with automated priority calculation, risk-based mapping, tagging strategy (389 lines, 2 examples) - `risk-governance.md` - Risk-based testing approach: 6 categories (TECH, SEC, PERF, DATA, BUS, OPS), automated scoring, gate decision engine, coverage traceability (625 lines, 4 examples) - `probability-impact.md` - Risk scoring methodology: probability × impact matrix, automated classification, dynamic re-assessment, gate integration (604 lines, 4 examples) @@ -126,9 +126,9 @@ This phase focuses on mapping requirements to tests, analyzing coverage, and ide 2. Build traceability matrix: ``` - | Criterion ID | Description | Test ID | Test File | Test Level | Coverage Status | - |--------------|-------------|---------|-----------|------------|-----------------| - | AC-1 | User can... | 1.3-E2E-001 | e2e/auth.spec.ts | E2E | FULL | + | Criterion ID | Description | Test ID | Test File | Test Level | Coverage Status | + | ------------ | ----------- | ----------- | ---------------- | ---------- | --------------- | + | AC-1 | User can... | 1.3-E2E-001 | e2e/auth.spec.ts | E2E | FULL | ``` 3. Classify coverage status for each criterion: @@ -476,10 +476,10 @@ This phase uses traceability results to make a quality gate decision (PASS/CONCE ## References -- Traceability Matrix: `bmad/output/traceability-matrix.md` -- Test Design: `bmad/output/test-design-epic-2.md` +- Traceability Matrix: `{bmad_folder}/output/traceability-matrix.md` +- Test Design: `{bmad_folder}/output/test-design-epic-2.md` - Test Results: `ci-artifacts/test-report-2025-01-15.xml` -- NFR Assessment: `bmad/output/nfr-assessment-release-1.2.md` +- NFR Assessment: `{bmad_folder}/output/nfr-assessment-release-1.2.md` ``` 3. **Include evidence links** (if `require_evidence: true`): @@ -515,7 +515,7 @@ This phase uses traceability results to make a quality gate decision (PASS/CONCE - **Decision**: CONCERNS - **Reason**: P1 coverage 88% (below 90%) - - **Document**: [gate-decision-story-1.3.md](bmad/output/gate-decision-story-1.3.md) + - **Document**: [gate-decision-story-1.3.md]({bmad_folder}/output/gate-decision-story-1.3.md) - **Action**: Deploy with follow-up story for AC-5 ``` @@ -536,7 +536,7 @@ This phase uses traceability results to make a quality gate decision (PASS/CONCE - Create follow-up story for AC-5 E2E test - Deploy to staging for validation - Full Report: bmad/output/gate-decision-story-1.3.md + Full Report: {bmad_folder}/output/gate-decision-story-1.3.md ``` 3. **Request sign-off** (if `require_sign_off: true`): diff --git a/src/modules/bmm/workflows/testarch/trace/workflow.yaml b/src/modules/bmm/workflows/testarch/trace/workflow.yaml index 667c55ac..369c272c 100644 --- a/src/modules/bmm/workflows/testarch/trace/workflow.yaml +++ b/src/modules/bmm/workflows/testarch/trace/workflow.yaml @@ -4,7 +4,7 @@ description: "Generate requirements-to-tests traceability matrix, analyze covera author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -12,7 +12,7 @@ document_output_language: "{config_source}:document_output_language" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/testarch/trace" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/testarch/trace" instructions: "{installed_path}/instructions.md" validation: "{installed_path}/checklist.md" template: "{installed_path}/trace-template.md" diff --git a/src/modules/bmm/workflows/workflow-status/init/instructions.md b/src/modules/bmm/workflows/workflow-status/init/instructions.md index 88a5de0b..27a12efa 100644 --- a/src/modules/bmm/workflows/workflow-status/init/instructions.md +++ b/src/modules/bmm/workflows/workflow-status/init/instructions.md @@ -1,6 +1,6 @@ # Workflow Init - Project Setup Instructions -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml You MUST have already loaded and processed: workflow-init/workflow.yaml Communicate in {communication_language} with {user_name} This workflow handles BOTH new projects AND legacy projects being migrated to BMad Method diff --git a/src/modules/bmm/workflows/workflow-status/init/workflow.yaml b/src/modules/bmm/workflows/workflow-status/init/workflow.yaml index f28e5216..8783ac9f 100644 --- a/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +++ b/src/modules/bmm/workflows/workflow-status/init/workflow.yaml @@ -4,7 +4,7 @@ description: "Initialize a new BMM project by determining level, type, and creat author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" project_name: "{config_source}:project_name" @@ -14,12 +14,12 @@ user_skill_level: "{config_source}:user_skill_level" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/workflow-status/init" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/init" instructions: "{installed_path}/instructions.md" -template: "{project-root}/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml" +template: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow-status-template.yaml" # Path data files -path_files: "{project-root}/bmad/bmm/workflows/workflow-status/paths/" +path_files: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status/paths/" # Output configuration default_output_file: "{output_folder}/bmm-workflow-status.yaml" diff --git a/src/modules/bmm/workflows/workflow-status/instructions.md b/src/modules/bmm/workflows/workflow-status/instructions.md index 5661211a..faf2ae9c 100644 --- a/src/modules/bmm/workflows/workflow-status/instructions.md +++ b/src/modules/bmm/workflows/workflow-status/instructions.md @@ -1,7 +1,7 @@ # Workflow Status Check - Multi-Mode Service -The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/workflow-status/workflow.yaml +The workflow execution engine is governed by: {project-root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project-root}/{bmad_folder}/bmm/workflows/workflow-status/workflow.yaml This workflow operates in multiple modes: interactive (default), validate, data, init-check, update Other workflows can call this as a service to avoid duplicating status logic diff --git a/src/modules/bmm/workflows/workflow-status/project-levels.yaml b/src/modules/bmm/workflows/workflow-status/project-levels.yaml index 75cf7fd6..1456d79f 100644 --- a/src/modules/bmm/workflows/workflow-status/project-levels.yaml +++ b/src/modules/bmm/workflows/workflow-status/project-levels.yaml @@ -1,5 +1,5 @@ # BMM Project Scale Levels - Source of Truth -# Reference: /bmad/bmm/README.md lines 77-85 +# Reference: /{bmad_folder}/bmm/README.md lines 77-85 levels: 0: diff --git a/src/modules/bmm/workflows/workflow-status/workflow.yaml b/src/modules/bmm/workflows/workflow-status/workflow.yaml index 6773233e..761d41c0 100644 --- a/src/modules/bmm/workflows/workflow-status/workflow.yaml +++ b/src/modules/bmm/workflows/workflow-status/workflow.yaml @@ -4,7 +4,7 @@ description: 'Lightweight status checker - answers "what should I do now?" for a author: "BMad" # Critical variables from config -config_source: "{project-root}/bmad/bmm/config.yaml" +config_source: "{project-root}/{bmad_folder}/bmm/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -13,7 +13,7 @@ user_skill_level: "{config_source}:user_skill_level" date: system-generated # Workflow components -installed_path: "{project-root}/bmad/bmm/workflows/workflow-status" +installed_path: "{project-root}/{bmad_folder}/bmm/workflows/workflow-status" instructions: "{installed_path}/instructions.md" # Template for status file creation (used by workflow-init) diff --git a/src/modules/cis/_module-installer/install-config.yaml b/src/modules/cis/_module-installer/install-config.yaml index 22d4b46e..be162957 100644 --- a/src/modules/cis/_module-installer/install-config.yaml +++ b/src/modules/cis/_module-installer/install-config.yaml @@ -5,11 +5,12 @@ name: "CIS: Creative Innovation Suite" default_selected: false # This module will not be selected by default for new installations prompt: - - "Thank you for choosing the BMAD™ Creative Intelligence Suite, an early beta release with much more planned!" - - "With this BMAD™ Creative Intelligence Suite Configuration, remember that all paths are relative to project root, with no leading slash." + - "Thank you for choosing the BMAD™ Creative Intelligence Suite, an early release with much more planned!" # Variables from Core Config inserted: - ## user_name ## communication_language ## output_folder ## bmad_folder +## install_user_docs +## kb_install + diff --git a/src/modules/cis/agents/README.md b/src/modules/cis/agents/README.md index 17292d6e..e65dc518 100644 --- a/src/modules/cis/agents/README.md +++ b/src/modules/cis/agents/README.md @@ -96,7 +96,7 @@ Every CIS agent includes: ## Configuration -All agents load configuration from `/bmad/cis/config.yaml`: +All agents load configuration from `/{bmad_folder}/cis/config.yaml`: - `project_name` - Project identification - `output_folder` - Where workflow results are saved diff --git a/src/modules/cis/agents/brainstorming-coach.agent.yaml b/src/modules/cis/agents/brainstorming-coach.agent.yaml index bfe6784b..f90d409a 100644 --- a/src/modules/cis/agents/brainstorming-coach.agent.yaml +++ b/src/modules/cis/agents/brainstorming-coach.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/cis/agents/brainstorming-coach.md + id: "{bmad_folder}/cis/agents/brainstorming-coach.md" name: Carson title: Elite Brainstorming Specialist icon: 🧠 @@ -19,5 +19,5 @@ agent: menu: - trigger: brainstorm - workflow: "{project-root}/bmad/core/workflows/brainstorming/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/core/workflows/brainstorming/workflow.yaml" description: Guide me through Brainstorming diff --git a/src/modules/cis/agents/creative-problem-solver.agent.yaml b/src/modules/cis/agents/creative-problem-solver.agent.yaml index 70e3024f..34ba8cb2 100644 --- a/src/modules/cis/agents/creative-problem-solver.agent.yaml +++ b/src/modules/cis/agents/creative-problem-solver.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/cis/agents/creative-problem-solver.md + id: "{bmad_folder}/cis/agents/creative-problem-solver.md" name: Dr. Quinn title: Master Problem Solver icon: 🔬 @@ -19,5 +19,5 @@ agent: menu: - trigger: solve - workflow: "{project-root}/bmad/cis/workflows/problem-solving/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/cis/workflows/problem-solving/workflow.yaml" description: Apply systematic problem-solving methodologies diff --git a/src/modules/cis/agents/design-thinking-coach.agent.yaml b/src/modules/cis/agents/design-thinking-coach.agent.yaml index d755a0fe..12e13cc4 100644 --- a/src/modules/cis/agents/design-thinking-coach.agent.yaml +++ b/src/modules/cis/agents/design-thinking-coach.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/cis/agents/design-thinking-coach.md + id: "{bmad_folder}/cis/agents/design-thinking-coach.md" name: Maya title: Design Thinking Maestro icon: 🎨 @@ -19,5 +19,5 @@ agent: menu: - trigger: design - workflow: "{project-root}/bmad/cis/workflows/design-thinking/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/cis/workflows/design-thinking/workflow.yaml" description: Guide human-centered design process diff --git a/src/modules/cis/agents/innovation-strategist.agent.yaml b/src/modules/cis/agents/innovation-strategist.agent.yaml index 00c895c5..20311963 100644 --- a/src/modules/cis/agents/innovation-strategist.agent.yaml +++ b/src/modules/cis/agents/innovation-strategist.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/cis/agents/innovation-strategist.md + id: "{bmad_folder}/cis/agents/innovation-strategist.md" name: Victor title: Disruptive Innovation Oracle icon: ⚡ @@ -19,5 +19,5 @@ agent: menu: - trigger: innovate - workflow: "{project-root}/bmad/cis/workflows/innovation-strategy/workflow.yaml" + workflow: "{project-root}/{bmad_folder}/cis/workflows/innovation-strategy/workflow.yaml" description: Identify disruption opportunities and business model innovation diff --git a/src/modules/cis/agents/storyteller.agent.yaml b/src/modules/cis/agents/storyteller.agent.yaml index 23722ef8..43bf447e 100644 --- a/src/modules/cis/agents/storyteller.agent.yaml +++ b/src/modules/cis/agents/storyteller.agent.yaml @@ -2,7 +2,7 @@ agent: metadata: - id: bmad/cis/agents/storyteller.md + id: "{bmad_folder}/cis/agents/storyteller.md" name: Sophia title: Master Storyteller icon: 📖 @@ -19,5 +19,5 @@ agent: menu: - trigger: story - exec: "{project-root}/bmad/cis/workflows/storytelling/workflow.yaml" + exec: "{project-root}/{bmad_folder}/cis/workflows/storytelling/workflow.yaml" description: Craft compelling narrative using proven frameworks diff --git a/src/modules/cis/readme.md b/src/modules/cis/readme.md index 1eaabac4..03e50244 100644 --- a/src/modules/cis/readme.md +++ b/src/modules/cis/readme.md @@ -103,7 +103,7 @@ agent cis/brainstorming-coach ## Configuration -Edit `/bmad/cis/config.yaml`: +Edit `/{bmad_folder}/cis/config.yaml`: ```yaml output_folder: ./creative-outputs diff --git a/src/modules/cis/workflows/README.md b/src/modules/cis/workflows/README.md index 6bc8aec6..4056c7ef 100644 --- a/src/modules/cis/workflows/README.md +++ b/src/modules/cis/workflows/README.md @@ -98,7 +98,7 @@ agent cis/brainstorming-coach ## Configuration -Edit `/bmad/cis/config.yaml`: +Edit `/{bmad_folder}/cis/config.yaml`: | Setting | Purpose | Default | | ---------------------- | ----------------------- | ------------------ | diff --git a/src/modules/cis/workflows/design-thinking/instructions.md b/src/modules/cis/workflows/design-thinking/instructions.md index bb578920..227e3521 100644 --- a/src/modules/cis/workflows/design-thinking/instructions.md +++ b/src/modules/cis/workflows/design-thinking/instructions.md @@ -1,7 +1,7 @@ # Design Thinking Workflow Instructions -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project_root}/bmad/cis/workflows/design-thinking/workflow.yaml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project_root}/{bmad_folder}/cis/workflows/design-thinking/workflow.yaml Load and understand design methods from: {design_methods} diff --git a/src/modules/cis/workflows/design-thinking/workflow.yaml b/src/modules/cis/workflows/design-thinking/workflow.yaml index 96d956ca..7159aa2e 100644 --- a/src/modules/cis/workflows/design-thinking/workflow.yaml +++ b/src/modules/cis/workflows/design-thinking/workflow.yaml @@ -4,7 +4,7 @@ description: "Guide human-centered design processes using empathy-driven methodo author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/cis/config.yaml" +config_source: "{project-root}/{bmad_folder}/cis/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -19,7 +19,7 @@ recommended_inputs: # Example: data="{path}/product-context.md" provides project context # Module path and component files -installed_path: "{project-root}/bmad/cis/workflows/design-thinking" +installed_path: "{project-root}/{bmad_folder}/cis/workflows/design-thinking" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" @@ -35,9 +35,9 @@ web_bundle: name: "design-thinking" description: "Guide human-centered design processes using empathy-driven methodologies. This workflow walks through the design thinking phases - Empathize, Define, Ideate, Prototype, and Test - to create solutions deeply rooted in user needs." author: "BMad" - instructions: "bmad/cis/workflows/design-thinking/instructions.md" - template: "bmad/cis/workflows/design-thinking/template.md" + instructions: "{bmad_folder}/cis/workflows/design-thinking/instructions.md" + template: "{bmad_folder}/cis/workflows/design-thinking/template.md" web_bundle_files: - - "bmad/cis/workflows/design-thinking/instructions.md" - - "bmad/cis/workflows/design-thinking/template.md" - - "bmad/cis/workflows/design-thinking/design-methods.csv" + - "{bmad_folder}/cis/workflows/design-thinking/instructions.md" + - "{bmad_folder}/cis/workflows/design-thinking/template.md" + - "{bmad_folder}/cis/workflows/design-thinking/design-methods.csv" diff --git a/src/modules/cis/workflows/innovation-strategy/instructions.md b/src/modules/cis/workflows/innovation-strategy/instructions.md index 2d0c67d8..777cd485 100644 --- a/src/modules/cis/workflows/innovation-strategy/instructions.md +++ b/src/modules/cis/workflows/innovation-strategy/instructions.md @@ -1,7 +1,7 @@ # Innovation Strategy Workflow Instructions -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project_root}/bmad/cis/workflows/innovation-strategy/workflow.yaml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project_root}/{bmad_folder}/cis/workflows/innovation-strategy/workflow.yaml Load and understand innovation frameworks from: {innovation_frameworks} diff --git a/src/modules/cis/workflows/innovation-strategy/workflow.yaml b/src/modules/cis/workflows/innovation-strategy/workflow.yaml index 716f8807..55d35db3 100644 --- a/src/modules/cis/workflows/innovation-strategy/workflow.yaml +++ b/src/modules/cis/workflows/innovation-strategy/workflow.yaml @@ -4,7 +4,7 @@ description: "Identify disruption opportunities and architect business model inn author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/cis/config.yaml" +config_source: "{project-root}/{bmad_folder}/cis/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -19,7 +19,7 @@ recommended_inputs: # Example: data="{path}/industry-analysis.md" provides market context # Module path and component files -installed_path: "{project-root}/bmad/cis/workflows/innovation-strategy" +installed_path: "{project-root}/{bmad_folder}/cis/workflows/innovation-strategy" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" @@ -35,9 +35,9 @@ web_bundle: name: "innovation-strategy" description: "Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities." author: "BMad" - instructions: "bmad/cis/workflows/innovation-strategy/instructions.md" - template: "bmad/cis/workflows/innovation-strategy/template.md" + instructions: "{bmad_folder}/cis/workflows/innovation-strategy/instructions.md" + template: "{bmad_folder}/cis/workflows/innovation-strategy/template.md" web_bundle_files: - - "bmad/cis/workflows/innovation-strategy/instructions.md" - - "bmad/cis/workflows/innovation-strategy/template.md" - - "bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv" + - "{bmad_folder}/cis/workflows/innovation-strategy/instructions.md" + - "{bmad_folder}/cis/workflows/innovation-strategy/template.md" + - "{bmad_folder}/cis/workflows/innovation-strategy/innovation-frameworks.csv" diff --git a/src/modules/cis/workflows/problem-solving/instructions.md b/src/modules/cis/workflows/problem-solving/instructions.md index 0775e628..4840a6da 100644 --- a/src/modules/cis/workflows/problem-solving/instructions.md +++ b/src/modules/cis/workflows/problem-solving/instructions.md @@ -1,7 +1,7 @@ # Problem Solving Workflow Instructions -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project_root}/bmad/cis/workflows/problem-solving/workflow.yaml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project_root}/{bmad_folder}/cis/workflows/problem-solving/workflow.yaml Load and understand solving methods from: {solving_methods} diff --git a/src/modules/cis/workflows/problem-solving/workflow.yaml b/src/modules/cis/workflows/problem-solving/workflow.yaml index 69694bd0..2fca13ca 100644 --- a/src/modules/cis/workflows/problem-solving/workflow.yaml +++ b/src/modules/cis/workflows/problem-solving/workflow.yaml @@ -4,7 +4,7 @@ description: "Apply systematic problem-solving methodologies to crack complex ch author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/cis/config.yaml" +config_source: "{project-root}/{bmad_folder}/cis/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -19,7 +19,7 @@ recommended_inputs: # Example: data="{path}/problem-brief.md" provides context # Module path and component files -installed_path: "{project-root}/bmad/cis/workflows/problem-solving" +installed_path: "{project-root}/{bmad_folder}/cis/workflows/problem-solving" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" @@ -35,9 +35,9 @@ web_bundle: name: "problem-solving" description: "Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks." author: "BMad" - instructions: "bmad/cis/workflows/problem-solving/instructions.md" - template: "bmad/cis/workflows/problem-solving/template.md" + instructions: "{bmad_folder}/cis/workflows/problem-solving/instructions.md" + template: "{bmad_folder}/cis/workflows/problem-solving/template.md" web_bundle_files: - - "bmad/cis/workflows/problem-solving/instructions.md" - - "bmad/cis/workflows/problem-solving/template.md" - - "bmad/cis/workflows/problem-solving/solving-methods.csv" + - "{bmad_folder}/cis/workflows/problem-solving/instructions.md" + - "{bmad_folder}/cis/workflows/problem-solving/template.md" + - "{bmad_folder}/cis/workflows/problem-solving/solving-methods.csv" diff --git a/src/modules/cis/workflows/storytelling/instructions.md b/src/modules/cis/workflows/storytelling/instructions.md index ed8f703b..11d0e44a 100644 --- a/src/modules/cis/workflows/storytelling/instructions.md +++ b/src/modules/cis/workflows/storytelling/instructions.md @@ -3,8 +3,8 @@ ## Workflow -The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml -You MUST have already loaded and processed: {project_root}/bmad/cis/workflows/storytelling/workflow.yaml +The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml +You MUST have already loaded and processed: {project_root}/{bmad_folder}/cis/workflows/storytelling/workflow.yaml Communicate all responses in {communication_language} diff --git a/src/modules/cis/workflows/storytelling/workflow.yaml b/src/modules/cis/workflows/storytelling/workflow.yaml index bece0e52..ad71f59a 100644 --- a/src/modules/cis/workflows/storytelling/workflow.yaml +++ b/src/modules/cis/workflows/storytelling/workflow.yaml @@ -4,7 +4,7 @@ description: "Craft compelling narratives using proven story frameworks and tech author: "BMad" # Critical variables load from config_source -config_source: "{project-root}/bmad/cis/config.yaml" +config_source: "{project-root}/{bmad_folder}/cis/config.yaml" output_folder: "{config_source}:output_folder" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" @@ -19,7 +19,7 @@ recommended_inputs: # Example: data="{path}/brand-info.md" provides brand context # Module path and component files -installed_path: "{project-root}/bmad/cis/workflows/storytelling" +installed_path: "{project-root}/{bmad_folder}/cis/workflows/storytelling" template: "{installed_path}/template.md" instructions: "{installed_path}/instructions.md" @@ -35,9 +35,9 @@ web_bundle: name: "storytelling" description: "Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose." author: "BMad" - instructions: "bmad/cis/workflows/storytelling/instructions.md" - template: "bmad/cis/workflows/storytelling/template.md" + instructions: "{bmad_folder}/cis/workflows/storytelling/instructions.md" + template: "{bmad_folder}/cis/workflows/storytelling/template.md" web_bundle_files: - - "bmad/cis/workflows/storytelling/instructions.md" - - "bmad/cis/workflows/storytelling/template.md" - - "bmad/cis/workflows/storytelling/story-types.csv" + - "{bmad_folder}/cis/workflows/storytelling/instructions.md" + - "{bmad_folder}/cis/workflows/storytelling/template.md" + - "{bmad_folder}/cis/workflows/storytelling/story-types.csv" diff --git a/src/utility/models/agent-activation-ide.xml b/src/utility/models/agent-activation-ide.xml index 488c75eb..fc663fdd 100644 --- a/src/utility/models/agent-activation-ide.xml +++ b/src/utility/models/agent-activation-ide.xml @@ -1,7 +1,7 @@ Load persona from this current file containing this activation you are reading now - Override with {project-root}/bmad/_cfg/agents/{agent-filename} if exists (replace, not merge) + Override with {project-root}/{bmad_folder}/_cfg/agents/{agent-filename} if exists (replace, not merge) Execute critical-actions section if present in current agent XML Show greeting + numbered list of ALL commands IN ORDER from current agent's cmds section CRITICAL HALT. AWAIT user input. NEVER continue without it. @@ -12,7 +12,7 @@ When command has: run-workflow="path/to/x.yaml" You MUST: - 1. CRITICAL: Always LOAD {project-root}/bmad/core/tasks/workflow.xml + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml 2. READ its entire contents - the is the CORE OS for EXECUTING modules 3. Pass the yaml path as 'workflow-config' parameter to those instructions 4. Follow workflow.xml instructions EXACTLY as written @@ -20,7 +20,7 @@ When command has: validate-workflow="path/to/workflow.yaml" You MUST: - 1. You MUST LOAD the file at: {project-root}/bmad/core/tasks/validate-workflow.xml + 1. You MUST LOAD the file at: {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml 2. READ its entire contents and EXECUTE all instructions in that file 3. Pass the workflow, and also check the workflow location for a checklist.md to pass as the checklist 4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify diff --git a/src/utility/models/agent-activation-web.xml b/src/utility/models/agent-activation-web.xml index c1eebc12..a07d9ed0 100644 --- a/src/utility/models/agent-activation-web.xml +++ b/src/utility/models/agent-activation-web.xml @@ -7,14 +7,14 @@ All dependencies are bundled within this XML file as <file> elements with CDATA content. - When you need to access a file path like "bmad/core/tasks/workflow.xml": - 1. Find the <file id="bmad/core/tasks/workflow.xml"> element in this document + When you need to access a file path like "{bmad_folder}/core/tasks/workflow.xml": + 1. Find the <file id="{bmad_folder}/core/tasks/workflow.xml"> element in this document 2. Extract the content from within the CDATA section 3. Use that content as if you read it from the filesystem NEVER attempt to read files from filesystem - all files are bundled in this XML - File paths starting with "bmad/" or "{project-root}/bmad/" refer to <file id="..."> elements + File paths starting with "{bmad_folder}/" or "{project-root}/{bmad_folder}/" refer to <file id="..."> elements When instructions reference a file path, locate the corresponding <file> element by matching the id attribute YAML files are bundled with only their web_bundle section content (flattened to root level) @@ -25,7 +25,7 @@ When command has: run-workflow="path/to/x.yaml" You MUST: - 1. CRITICAL: Locate <file id="bmad/core/tasks/workflow.xml"> in this XML bundle + 1. CRITICAL: Locate <file id="{bmad_folder}/core/tasks/workflow.xml"> in this XML bundle 2. Extract and READ its CDATA content - this is the CORE OS for EXECUTING workflows 3. Locate <file id="path/to/x.yaml"> for the workflow config 4. Pass the yaml content as 'workflow-config' parameter to workflow.xml instructions diff --git a/src/utility/models/fragments/activation-steps.xml b/src/utility/models/fragments/activation-steps.xml index 040c0e7b..1cbf70b8 100644 --- a/src/utility/models/fragments/activation-steps.xml +++ b/src/utility/models/fragments/activation-steps.xml @@ -1,6 +1,6 @@ Load persona from this current agent file (already in context) 🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: - - Load and read {project-root}/bmad/{{module}}/config.yaml NOW + - Load and read {project-root}/{bmad_folder}/{{module}}/config.yaml NOW - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} - VERIFY: If config not loaded, STOP and report error to user - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored diff --git a/src/utility/models/fragments/handler-validate-workflow.xml b/src/utility/models/fragments/handler-validate-workflow.xml index 22b6963d..883b1834 100644 --- a/src/utility/models/fragments/handler-validate-workflow.xml +++ b/src/utility/models/fragments/handler-validate-workflow.xml @@ -1,6 +1,6 @@ When command has: validate-workflow="path/to/workflow.yaml" - 1. You MUST LOAD the file at: {project-root}/bmad/core/tasks/validate-workflow.xml + 1. You MUST LOAD the file at: {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml 2. READ its entire contents and EXECUTE all instructions in that file 3. Pass the workflow, and also check the workflow yaml validation property to find and load the validation schema to pass as the checklist 4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify diff --git a/src/utility/models/fragments/handler-workflow.xml b/src/utility/models/fragments/handler-workflow.xml index 953a4c77..8ecee8aa 100644 --- a/src/utility/models/fragments/handler-workflow.xml +++ b/src/utility/models/fragments/handler-workflow.xml @@ -1,6 +1,6 @@ When menu item has: workflow="path/to/workflow.yaml" - 1. CRITICAL: Always LOAD {project-root}/bmad/core/tasks/workflow.xml + 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml 2. Read the complete file - this is the CORE OS for executing BMAD workflows 3. Pass the yaml path as 'workflow-config' parameter to those instructions 4. Execute workflow.xml instructions precisely following all steps diff --git a/src/utility/models/fragments/web-bundle-activation-steps.xml b/src/utility/models/fragments/web-bundle-activation-steps.xml index 6cdb74b8..2c4ad7ad 100644 --- a/src/utility/models/fragments/web-bundle-activation-steps.xml +++ b/src/utility/models/fragments/web-bundle-activation-steps.xml @@ -10,14 +10,14 @@ All dependencies are bundled within this XML file as <file> elements with CDATA content. - When you need to access a file path like "bmad/core/tasks/workflow.xml": - 1. Find the <file id="bmad/core/tasks/workflow.xml"> element in this document + When you need to access a file path like "{bmad_folder}/core/tasks/workflow.xml": + 1. Find the <file id="{bmad_folder}/core/tasks/workflow.xml"> element in this document 2. Extract the content from within the CDATA section 3. Use that content as if you read it from the filesystem NEVER attempt to read files from filesystem - all files are bundled in this XML - File paths starting with "bmad/" or "{project-root}/bmad/" refer to <file id="..."> elements + File paths starting with "{bmad_folder}/" or "{project-root}/{bmad_folder}/" refer to <file id="..."> elements When instructions reference a file path, locate the corresponding <file> element by matching the id attribute YAML files are bundled with only their web_bundle section content (flattened to root level) diff --git a/tools/cli/commands/install.js b/tools/cli/commands/install.js index 0724b375..d2706ee6 100644 --- a/tools/cli/commands/install.js +++ b/tools/cli/commands/install.js @@ -56,10 +56,7 @@ module.exports = { // Check if installation succeeded if (result && result.success) { console.log(chalk.green('\n✨ Installation complete!')); - console.log( - chalk.cyan('BMAD Core and Selected Modules have been installed to:'), - chalk.bold(result.path || path.resolve(config.directory, 'bmad')), - ); + console.log(chalk.cyan('BMAD Core and Selected Modules have been installed to:'), chalk.bold(result.path)); console.log(chalk.yellow('\nThank you for helping test the early release version of the new BMad Core and BMad Method!')); console.log(chalk.cyan('Stable Beta coming soon - please read the full readme.md and linked documentation to get started!')); process.exit(0); diff --git a/tools/cli/installers/lib/core/config-collector.js b/tools/cli/installers/lib/core/config-collector.js index ef41bb4d..c7a03083 100644 --- a/tools/cli/installers/lib/core/config-collector.js +++ b/tools/cli/installers/lib/core/config-collector.js @@ -18,9 +18,15 @@ class ConfigCollector { * @param {string} projectDir - Target project directory */ async loadExistingConfig(projectDir) { - const bmadDir = path.join(projectDir, 'bmad'); this.existingConfig = {}; + // Check if project directory exists first + if (!(await fs.pathExists(projectDir))) { + return false; + } + + const bmadDir = path.join(projectDir, 'bmad'); + // Check if bmad directory exists if (!(await fs.pathExists(bmadDir))) { return false; @@ -173,7 +179,7 @@ class ConfigCollector { const questions = []; for (const key of newKeys) { const item = moduleConfig[key]; - const question = await this.buildQuestion(moduleName, key, item); + const question = await this.buildQuestion(moduleName, key, item, moduleConfig); if (question) { questions.push(question); } @@ -343,7 +349,7 @@ class ConfigCollector { continue; } - const question = await this.buildQuestion(moduleName, key, item); + const question = await this.buildQuestion(moduleName, key, item, moduleConfig); if (question) { questions.push(question); } @@ -457,13 +463,61 @@ class ConfigCollector { } } + /** + * Replace placeholders in a string with collected config values + * @param {string} str - String with placeholders + * @param {string} currentModule - Current module name (to look up defaults in same module) + * @param {Object} moduleConfig - Current module's config schema (to look up defaults) + * @returns {string} String with placeholders replaced + */ + replacePlaceholders(str, currentModule = null, moduleConfig = null) { + if (typeof str !== 'string') { + return str; + } + + return str.replaceAll(/{([^}]+)}/g, (match, configKey) => { + // Preserve special placeholders + if (configKey === 'project-root' || configKey === 'value' || configKey === 'directory_name') { + return match; + } + + // Look for the config value in allAnswers (already answered questions) + let configValue = this.allAnswers[configKey] || this.allAnswers[`core_${configKey}`]; + + // Check in already collected config + if (!configValue) { + for (const mod of Object.keys(this.collectedConfig)) { + if (mod !== '_meta' && this.collectedConfig[mod] && this.collectedConfig[mod][configKey]) { + configValue = this.collectedConfig[mod][configKey]; + // Remove {project-root}/ prefix if present for cleaner display + if (typeof configValue === 'string' && configValue.includes('{project-root}/')) { + configValue = configValue.replace('{project-root}/', ''); + } + break; + } + } + } + + // If still not found and we're in the same module, use the default from the config schema + if (!configValue && currentModule && moduleConfig && moduleConfig[configKey]) { + const referencedItem = moduleConfig[configKey]; + if (referencedItem && referencedItem.default !== undefined) { + configValue = referencedItem.default; + } + } + + return configValue || match; + }); + } + /** * Build an inquirer question from a config item * @param {string} moduleName - Module name * @param {string} key - Config key * @param {Object} item - Config item definition + * @param {Object} moduleConfig - Full module config schema (for resolving defaults) */ - async buildQuestion(moduleName, key, item) { + async buildQuestion(moduleName, key, item, moduleConfig = null) { const questionName = `${moduleName}_${key}`; // Check for existing value @@ -483,9 +537,42 @@ class ConfigCollector { let defaultValue = item.default; let choices = null; - if (typeof defaultValue === 'string' && defaultValue.includes('{directory_name}') && this.currentProjectDir) { - const dirName = path.basename(this.currentProjectDir); - defaultValue = defaultValue.replaceAll('{directory_name}', dirName); + // Check if default contains references to other fields in the same module + const hasSameModuleReference = typeof defaultValue === 'string' && defaultValue.match(/{([^}]+)}/); + let dynamicDefault = false; + + // Replace placeholders in default value with collected config values + if (typeof defaultValue === 'string') { + if (defaultValue.includes('{directory_name}') && this.currentProjectDir) { + const dirName = path.basename(this.currentProjectDir); + defaultValue = defaultValue.replaceAll('{directory_name}', dirName); + } + + // Check if this references another field in the same module (for dynamic defaults) + if (hasSameModuleReference && moduleConfig) { + const matches = defaultValue.match(/{([^}]+)}/g); + if (matches) { + for (const match of matches) { + const fieldName = match.slice(1, -1); // Remove { } + // Check if this field exists in the same module config + if (moduleConfig[fieldName]) { + dynamicDefault = true; + break; + } + } + } + } + + // If not dynamic, replace placeholders now + if (!dynamicDefault) { + defaultValue = this.replacePlaceholders(defaultValue, moduleName, moduleConfig); + } + + // Strip {project-root}/ from defaults since it will be added back by result template + // This makes the display cleaner and user input simpler + if (defaultValue.includes('{project-root}/')) { + defaultValue = defaultValue.replace('{project-root}/', ''); + } } // Handle different question types @@ -548,31 +635,67 @@ class ConfigCollector { message = item.prompt; } + // Replace placeholders in prompt message with collected config values + if (typeof message === 'string') { + message = this.replacePlaceholders(message, moduleName, moduleConfig); + } + // Add current value indicator for existing configs if (existingValue !== null && existingValue !== undefined) { if (typeof existingValue === 'boolean') { message += chalk.dim(` (current: ${existingValue ? 'true' : 'false'})`); - defaultValue = existingValue; } else if (Array.isArray(existingValue)) { message += chalk.dim(` (current: ${existingValue.join(', ')})`); } else if (questionType !== 'list') { // Show the cleaned value (without {project-root}/) for display message += chalk.dim(` (current: ${existingValue})`); - defaultValue = existingValue; } } else if (item.example && questionType === 'input') { // Show example for input fields - const exampleText = typeof item.example === 'string' ? item.example.replace('{project-root}/', '') : JSON.stringify(item.example); + let exampleText = typeof item.example === 'string' ? item.example : JSON.stringify(item.example); + // Replace placeholders in example + if (typeof exampleText === 'string') { + exampleText = this.replacePlaceholders(exampleText, moduleName, moduleConfig); + exampleText = exampleText.replace('{project-root}/', ''); + } message += chalk.dim(` (e.g., ${exampleText})`); } + // Build the question object const question = { type: questionType, name: questionName, message: message, - default: defaultValue, }; + // Set default - if it's dynamic, use a function that inquirer will evaluate with current answers + // But if we have an existing value, always use that instead + if (existingValue !== null && existingValue !== undefined && questionType !== 'list') { + question.default = existingValue; + } else if (dynamicDefault && typeof item.default === 'string') { + const originalDefault = item.default; + question.default = (answers) => { + // Replace placeholders using answers from previous questions in the same batch + let resolved = originalDefault; + resolved = resolved.replaceAll(/{([^}]+)}/g, (match, fieldName) => { + // Look for the answer in the current batch (prefixed with module name) + const answerKey = `${moduleName}_${fieldName}`; + if (answers[answerKey] !== undefined) { + return answers[answerKey]; + } + // Fall back to collected config + return this.collectedConfig[moduleName]?.[fieldName] || match; + }); + // Strip {project-root}/ for cleaner display + if (resolved.includes('{project-root}/')) { + resolved = resolved.replace('{project-root}/', ''); + } + return resolved; + }; + } else { + question.default = defaultValue; + } + // Add choices for select types if (choices) { question.choices = choices; @@ -584,6 +707,23 @@ class ConfigCollector { if (!input && item.required) { return 'This field is required'; } + // Validate against regex pattern if provided + if (input && item.regex) { + const regex = new RegExp(item.regex); + if (!regex.test(input)) { + return `Invalid format. Must match pattern: ${item.regex}`; + } + } + return true; + }; + } + + // Add validation for checkbox (multi-select) fields + if (questionType === 'checkbox' && item.required) { + question.validate = (answers) => { + if (!answers || answers.length === 0) { + return 'At least one option must be selected'; + } return true; }; } diff --git a/tools/cli/installers/lib/core/installer.js b/tools/cli/installers/lib/core/installer.js index 24f746cc..5b55c775 100644 --- a/tools/cli/installers/lib/core/installer.js +++ b/tools/cli/installers/lib/core/installer.js @@ -33,6 +33,85 @@ class Installer { this.installedFiles = []; // Track all installed files } + /** + * Find the bmad installation directory in a project + * Checks for custom bmad_folder names (.bmad, .bmad-custom, etc.) and falls back to 'bmad' + * @param {string} projectDir - Project directory + * @returns {Promise} Path to bmad directory + */ + async findBmadDir(projectDir) { + // Check if project directory exists + if (!(await fs.pathExists(projectDir))) { + // Project doesn't exist yet, return default + return path.join(projectDir, 'bmad'); + } + + // First, try to read from existing core config to get the bmad_folder value + const possibleDirs = ['.bmad', 'bmad']; // Common defaults + + // Check if any of these exist + for (const dir of possibleDirs) { + const fullPath = path.join(projectDir, dir); + if (await fs.pathExists(fullPath)) { + // Try to read the config to confirm this is a bmad installation + const configPath = path.join(fullPath, 'core', 'config.yaml'); + if (await fs.pathExists(configPath)) { + return fullPath; + } + } + } + + // If nothing found, check for any directory that contains core/config.yaml + // This handles custom bmad_folder names + const entries = await fs.readdir(projectDir, { withFileTypes: true }); + for (const entry of entries) { + if (entry.isDirectory()) { + const configPath = path.join(projectDir, entry.name, 'core', 'config.yaml'); + if (await fs.pathExists(configPath)) { + return path.join(projectDir, entry.name); + } + } + } + + // Default fallback + return path.join(projectDir, 'bmad'); + } + + /** + * Copy a file and replace {bmad_folder} placeholder with actual folder name + * @param {string} sourcePath - Source file path + * @param {string} targetPath - Target file path + * @param {string} bmadFolderName - The bmad folder name to use for replacement + */ + async copyFileWithPlaceholderReplacement(sourcePath, targetPath, bmadFolderName) { + // List of text file extensions that should have placeholder replacement + const textExtensions = ['.md', '.yaml', '.yml', '.txt', '.json', '.js', '.ts', '.html', '.css', '.sh', '.bat', '.csv']; + const ext = path.extname(sourcePath).toLowerCase(); + + // Check if this is a text file that might contain placeholders + if (textExtensions.includes(ext)) { + try { + // Read the file content + let content = await fs.readFile(sourcePath, 'utf8'); + + // Replace {bmad_folder} placeholder with actual folder name + if (content.includes('{bmad_folder}')) { + content = content.replaceAll('{bmad_folder}', bmadFolderName); + } + + // Write to target with replaced content + await fs.ensureDir(path.dirname(targetPath)); + await fs.writeFile(targetPath, content, 'utf8'); + } catch { + // If reading as text fails (might be binary despite extension), fall back to regular copy + await fs.copy(sourcePath, targetPath, { overwrite: true }); + } + } else { + // Binary file or other file type - just copy directly + await fs.copy(sourcePath, targetPath, { overwrite: true }); + } + } + /** * Collect Tool/IDE configurations after module configuration * @param {string} projectDir - Project directory @@ -61,7 +140,7 @@ class Installer { // Check for already configured IDEs const { Detector } = require('./detector'); const detector = new Detector(); - const bmadDir = path.join(projectDir, 'bmad'); + const bmadDir = path.join(projectDir, this.bmadFolderName || 'bmad'); // During full reinstall, use the saved previous IDEs since bmad dir was deleted // Otherwise detect from existing installation @@ -197,6 +276,10 @@ class Installer { moduleConfigs = await this.configCollector.collectAllConfigurations(config.modules || [], path.resolve(config.directory)); } + // Get bmad_folder from config (default to 'bmad' for backwards compatibility) + const bmadFolderName = moduleConfigs.core && moduleConfigs.core.bmad_folder ? moduleConfigs.core.bmad_folder : 'bmad'; + this.bmadFolderName = bmadFolderName; // Store for use in other methods + // Tool selection will be collected after we determine if it's a reinstall/update/new install const spinner = ora('Preparing installation...').start(); @@ -205,6 +288,63 @@ class Installer { // Resolve target directory (path.resolve handles platform differences) const projectDir = path.resolve(config.directory); + // Check if bmad_folder has changed from existing installation (only if project dir exists) + let existingBmadDir = null; + let existingBmadFolderName = null; + + if (await fs.pathExists(projectDir)) { + existingBmadDir = await this.findBmadDir(projectDir); + existingBmadFolderName = path.basename(existingBmadDir); + } + + const targetBmadDir = path.join(projectDir, bmadFolderName); + + // If bmad_folder changed during update/upgrade, back up old folder and do fresh install + if (existingBmadDir && (await fs.pathExists(existingBmadDir)) && existingBmadFolderName !== bmadFolderName) { + spinner.stop(); + console.log(chalk.yellow(`\n⚠️ bmad_folder has changed: ${existingBmadFolderName} → ${bmadFolderName}`)); + console.log(chalk.yellow('This will result in a fresh installation to the new folder.')); + + const inquirer = require('inquirer'); + const { confirmFreshInstall } = await inquirer.prompt([ + { + type: 'confirm', + name: 'confirmFreshInstall', + message: chalk.cyan('Proceed with fresh install? (Your old folder will be backed up)'), + default: true, + }, + ]); + + if (!confirmFreshInstall) { + console.log(chalk.yellow('Installation cancelled.')); + return { success: false, cancelled: true }; + } + + spinner.start('Backing up existing installation...'); + + // Find a unique backup name + let backupDir = `${existingBmadDir}-bak`; + let counter = 1; + while (await fs.pathExists(backupDir)) { + backupDir = `${existingBmadDir}-bak-${counter}`; + counter++; + } + + // Rename the old folder to backup + await fs.move(existingBmadDir, backupDir); + + spinner.succeed(`Backed up ${existingBmadFolderName} → ${path.basename(backupDir)}`); + console.log(chalk.cyan('\n📋 Important:')); + console.log(chalk.dim(` - Your old installation has been backed up to: ${path.basename(backupDir)}`)); + console.log(chalk.dim(` - If you had custom agents or configurations, copy them from:`)); + console.log(chalk.dim(` ${path.basename(backupDir)}/_cfg/`)); + console.log(chalk.dim(` - To the new location:`)); + console.log(chalk.dim(` ${bmadFolderName}/_cfg/`)); + console.log(''); + + spinner.start('Starting fresh installation...'); + } + // Create a project directory if it doesn't exist (user already confirmed) if (!(await fs.pathExists(projectDir))) { spinner.text = 'Creating installation directory...'; @@ -225,7 +365,7 @@ class Installer { } } - const bmadDir = path.join(projectDir, 'bmad'); + const bmadDir = path.join(projectDir, bmadFolderName); // Check existing installation spinner.text = 'Checking for existing installation...'; @@ -726,7 +866,8 @@ class Installer { const spinner = ora('Checking installation...').start(); try { - const bmadDir = path.join(path.resolve(config.directory), 'bmad'); + const projectDir = path.resolve(config.directory); + const bmadDir = await this.findBmadDir(projectDir); const existingInstall = await this.detector.detect(bmadDir); if (!existingInstall.installed) { @@ -786,7 +927,8 @@ class Installer { * Get installation status */ async getStatus(directory) { - const bmadDir = path.join(path.resolve(directory), 'bmad'); + const projectDir = path.resolve(directory); + const bmadDir = await this.findBmadDir(projectDir); return await this.detector.detect(bmadDir); } @@ -801,14 +943,15 @@ class Installer { * Uninstall BMAD */ async uninstall(directory) { - const bmadDir = path.join(path.resolve(directory), 'bmad'); + const projectDir = path.resolve(directory); + const bmadDir = await this.findBmadDir(projectDir); if (await fs.pathExists(bmadDir)) { await fs.remove(bmadDir); } // Clean up IDE configurations - await this.ideManager.cleanup(path.resolve(directory)); + await this.ideManager.cleanup(projectDir); return { success: true }; } @@ -986,7 +1129,7 @@ class Installer { const targetPath = path.join(agentsDir, fileName); if (await fs.pathExists(sourcePath)) { - await fs.copy(sourcePath, targetPath); + await this.copyFileWithPlaceholderReplacement(sourcePath, targetPath, this.bmadFolderName || 'bmad'); this.installedFiles.push(targetPath); } } @@ -1002,7 +1145,7 @@ class Installer { const targetPath = path.join(tasksDir, fileName); if (await fs.pathExists(sourcePath)) { - await fs.copy(sourcePath, targetPath); + await this.copyFileWithPlaceholderReplacement(sourcePath, targetPath, this.bmadFolderName || 'bmad'); this.installedFiles.push(targetPath); } } @@ -1018,7 +1161,7 @@ class Installer { const targetPath = path.join(toolsDir, fileName); if (await fs.pathExists(sourcePath)) { - await fs.copy(sourcePath, targetPath); + await this.copyFileWithPlaceholderReplacement(sourcePath, targetPath, this.bmadFolderName || 'bmad'); this.installedFiles.push(targetPath); } } @@ -1034,7 +1177,7 @@ class Installer { const targetPath = path.join(templatesDir, fileName); if (await fs.pathExists(sourcePath)) { - await fs.copy(sourcePath, targetPath); + await this.copyFileWithPlaceholderReplacement(sourcePath, targetPath, this.bmadFolderName || 'bmad'); this.installedFiles.push(targetPath); } } @@ -1049,7 +1192,7 @@ class Installer { await fs.ensureDir(path.dirname(targetPath)); if (await fs.pathExists(dataPath)) { - await fs.copy(dataPath, targetPath); + await this.copyFileWithPlaceholderReplacement(dataPath, targetPath, this.bmadFolderName || 'bmad'); this.installedFiles.push(targetPath); } } @@ -1109,9 +1252,8 @@ class Installer { } } - // Copy the file - await fs.ensureDir(path.dirname(targetFile)); - await fs.copy(sourceFile, targetFile, { overwrite: true }); + // Copy the file with placeholder replacement + await this.copyFileWithPlaceholderReplacement(sourceFile, targetFile, this.bmadFolderName || 'bmad'); // Track the installed file this.installedFiles.push(targetFile); @@ -1182,7 +1324,7 @@ class Installer { if (!(await fs.pathExists(customizePath))) { const genericTemplatePath = getSourcePath('utility', 'templates', 'agent.customize.template.yaml'); if (await fs.pathExists(genericTemplatePath)) { - await fs.copy(genericTemplatePath, customizePath); + await this.copyFileWithPlaceholderReplacement(genericTemplatePath, customizePath, this.bmadFolderName || 'bmad'); console.log(chalk.dim(` Created customize: ${moduleName}-${agentName}.customize.yaml`)); } } @@ -1417,7 +1559,7 @@ class Installer { try { const projectDir = path.resolve(config.directory); - const bmadDir = path.join(projectDir, 'bmad'); + const bmadDir = await this.findBmadDir(projectDir); // Check if bmad directory exists if (!(await fs.pathExists(bmadDir))) { @@ -1548,7 +1690,7 @@ class Installer { try { const projectDir = path.resolve(config.directory); - const bmadDir = path.join(projectDir, 'bmad'); + const bmadDir = await this.findBmadDir(projectDir); // Check if bmad directory exists if (!(await fs.pathExists(bmadDir))) { @@ -2097,7 +2239,7 @@ class Installer { const targetDocPath = path.join(docsDir, `${ide}-instructions.md`); if (await fs.pathExists(sourceDocPath)) { - await fs.copy(sourceDocPath, targetDocPath, { overwrite: true }); + await this.copyFileWithPlaceholderReplacement(sourceDocPath, targetDocPath, this.bmadFolderName || 'bmad'); } } } diff --git a/tools/cli/lib/ui.js b/tools/cli/lib/ui.js index 0998a9fd..5eff4469 100644 --- a/tools/cli/lib/ui.js +++ b/tools/cli/lib/ui.js @@ -429,9 +429,6 @@ class UI { console.log(chalk.gray('Directory exists and is empty')); } } - } else { - const existingParent = await this.findExistingParent(directory); - console.log(chalk.gray(`Will create in: ${existingParent}`)); } }