diff --git a/docs/how-to/install-bmad.md b/docs/how-to/install-bmad.md index 177c2c884..f8e274d5e 100644 --- a/docs/how-to/install-bmad.md +++ b/docs/how-to/install-bmad.md @@ -57,9 +57,24 @@ Each tool has its own way of integrating commands. The installer creates tiny pr The installer shows available modules. Select whichever ones you need — most users just want **BMad Method** (the software development module). -### 5. Follow the Prompts +### 5. Configure Settings -The installer guides you through the rest — custom content, settings, etc. +The installer prompts you for core settings that control how agents behave: + +| Setting | Default | Description | +| ------- | ------- | ----------- | +| **User Name** | `BMad` | What agents call you — use your name or a team name | +| **Communication Language** | `English` | Language agents use when chatting with you | +| **Document Output Language** | `English` | Language for generated documents and artifacts | +| **Output Folder** | `_bmad-output` | Where agents save generated files | +| **Interaction Style** | `structured` | How agents ask you questions (see below) | + +**Interaction Style** controls how agents present choices: + +- **Structured** (recommended) — Agents present numbered option lists for every question, using your IDE's native question tool when available. This keeps conversations focused and reduces ambiguity. +- **Open** — Agents ask natural conversational questions. More flexible but can lead to longer back-and-forth. + +These settings are saved to `_bmad//config.yaml` and can be changed later by editing that file and rerunning the installer. ## What You Get diff --git a/src/core/module-help.csv b/src/core/module-help.csv index 1fdf064c4..2e4419599 100644 --- a/src/core/module-help.csv +++ b/src/core/module-help.csv @@ -7,3 +7,4 @@ core,anytime,Shard Document,SD,,_bmad/core/tasks/shard-doc.xml,bmad-shard-doc,fa core,anytime,Editorial Review - Prose,EP,,_bmad/core/tasks/editorial-review-prose.xml,bmad-editorial-review-prose,false,,,"Review prose for clarity, tone, and communication issues. Use after drafting to polish written content.",report located with target document,"three-column markdown table with suggested fixes", core,anytime,Editorial Review - Structure,ES,,_bmad/core/tasks/editorial-review-structure.xml,bmad-editorial-review-structure,false,,,"Propose cuts, reorganization, and simplification while preserving comprehension. Use when doc produced from multiple subprocesses or needs structural improvement.",report located with target document, core,anytime,Adversarial Review (General),AR,,_bmad/core/tasks/review-adversarial-general.xml,bmad-review-adversarial-general,false,,,"Review content critically to find issues and weaknesses. Use for quality assurance or before finalizing deliverables. Code Review in other modules run this automatically, but its useful also for document reviews",, +core,anytime,Edge Case Hunter Review,ECH,,_bmad/core/tasks/review-edge-case-hunter.xml,bmad-review-edge-case-hunter,false,,,"Walk every branching path and boundary condition in code, report only unhandled edge cases. Use alongside adversarial review for orthogonal coverage - method-driven not attitude-driven.",, diff --git a/src/core/tasks/review-edge-case-hunter.xml b/src/core/tasks/review-edge-case-hunter.xml new file mode 100644 index 000000000..6e4e7d285 --- /dev/null +++ b/src/core/tasks/review-edge-case-hunter.xml @@ -0,0 +1,64 @@ + + + + You are a pure path tracer. Never comment on whether code is good or bad; only list missing handling. +When a diff is provided, scan only the diff hunks and list boundaries that are directly reachable from the changed lines and lack an explicit guard in the diff. +When no diff is provided (full file or function), treat the entire provided content as the scope. +Ignore the rest of the codebase unless the provided content explicitly references external functions. + + + + + + + Return ONLY a valid JSON array of objects. Each object must contain exactly these four fields and nothing else: +{ + "location": "file:line", + "trigger_condition": "one-line description (max 15 words)", + "guard_snippet": "minimal code sketch that closes the gap", + "potential_consequence": "what could actually go wrong (max 15 words)" +} +No extra text, no explanations, no markdown wrapping. + + + MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER + DO NOT skip steps or change the sequence + HALT immediately when halt-conditions are met + Each action xml tag within step xml tag is a REQUIRED action to complete that step + + Your method is exhaustive path enumeration — mechanically walk every branch, not hunt by intuition + Trace each branching path: conditionals, switches, early returns, guard clauses, loops, error handlers + Trace each boundary condition: null, undefined, empty, zero, negative, overflow, max-length, type coercion, concurrency, timing + Report ONLY paths and conditions that lack handling — discard handled ones silently + Do NOT editorialize or add filler — findings only + + + + + Load the content to review from provided input or context + If content to review is empty, ask for clarification and abort task + Identify content type (diff, full file, or function) to determine scope rules + + + + Walk every branching path and boundary condition within scope - report only unhandled ones + If also_consider input was provided, incorporate those areas into the analysis + Enumerate all branching paths and boundary conditions within scope: conditionals, switches, early returns, guard clauses, loops, error handlers, null/empty states, overflow, type edges, concurrency, timing + For each path: determine whether the content handles it + Collect only the unhandled paths as findings - discard handled ones silently + + + + Output findings as a JSON array following the output-format specification exactly + + + + + HALT if zero findings - this is suspicious, re-analyze or ask for guidance + HALT if content is empty or unreadable + + + diff --git a/src/utility/agent-components/activation-rules.txt b/src/utility/agent-components/activation-rules.txt index 21eee456d..e14766619 100644 --- a/src/utility/agent-components/activation-rules.txt +++ b/src/utility/agent-components/activation-rules.txt @@ -1,6 +1,6 @@ ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style. - RULE: When interaction_style is "structured", EVERY question to the user MUST use the native question tool. No exceptions. No inline prompts. When interaction_style is "open", ask questions naturally in conversation. + Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. Stay in character until exit selected Display Menu items as the item dictates and in the order given. Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml diff --git a/src/utility/agent-components/activation-steps.txt b/src/utility/agent-components/activation-steps.txt index 5d0393805..d91cec5c4 100644 --- a/src/utility/agent-components/activation-steps.txt +++ b/src/utility/agent-components/activation-steps.txt @@ -1,7 +1,7 @@ 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 - - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}, {interaction_style} + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}, {interaction_style}, {document_output_language} - 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/tools/cli/installers/lib/ide/codex.js b/tools/cli/installers/lib/ide/codex.js index abee979fd..bf7445e31 100644 --- a/tools/cli/installers/lib/ide/codex.js +++ b/tools/cli/installers/lib/ide/codex.js @@ -416,6 +416,7 @@ class CodexSetup extends BaseIdeSetup { const skillContent = `---\n${fm}\n---\n` + "\nYou must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.\n" + + '\nRULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `ask_user_question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode.\n' + '\n\n' + `1. LOAD the FULL agent file from @${agentPath}\n` + '2. READ its entire contents - this contains the complete agent persona, menu, and instructions\n' + diff --git a/tools/cli/installers/lib/ide/platform-codes.yaml b/tools/cli/installers/lib/ide/platform-codes.yaml index 4e6ca8070..b8881216b 100644 --- a/tools/cli/installers/lib/ide/platform-codes.yaml +++ b/tools/cli/installers/lib/ide/platform-codes.yaml @@ -39,7 +39,7 @@ platforms: description: "Anthropic's official CLI for Claude" installer: target_dir: .claude/commands - template_type: default + template_type: claude ancestor_conflict_check: true cline: diff --git a/tools/cli/installers/lib/ide/templates/agent-command-template.md b/tools/cli/installers/lib/ide/templates/agent-command-template.md index c2c2f44f2..efdf63fa6 100644 --- a/tools/cli/installers/lib/ide/templates/agent-command-template.md +++ b/tools/cli/installers/lib/ide/templates/agent-command-template.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. 1. LOAD the FULL agent file from @_bmad/{{module}}/agents/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/antigravity.md b/tools/cli/installers/lib/ide/templates/combined/antigravity.md index d6c9b09b7..be74195fc 100644 --- a/tools/cli/installers/lib/ide/templates/combined/antigravity.md +++ b/tools/cli/installers/lib/ide/templates/combined/antigravity.md @@ -3,8 +3,8 @@ name: '{{name}}' description: '{{description}}' --- -Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} +Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md deleted file mode 120000 index 9f6c17b45..000000000 --- a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md +++ /dev/null @@ -1 +0,0 @@ -default-agent.md \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md new file mode 100644 index 000000000..ff5dd90a7 --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md @@ -0,0 +1,17 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + + +1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. FOLLOW every step in the section precisely +4. DISPLAY the welcome/greeting as instructed +5. PRESENT the numbered menu +6. WAIT for user input before proceeding + diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-task.md b/tools/cli/installers/lib/ide/templates/combined/claude-task.md new file mode 100644 index 000000000..e165713e3 --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-task.md @@ -0,0 +1,12 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +# {{name}} + +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + +Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} + +Follow all instructions in the task file exactly as written. diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-tool.md b/tools/cli/installers/lib/ide/templates/combined/claude-tool.md new file mode 100644 index 000000000..21c0a787f --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-tool.md @@ -0,0 +1,12 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +# {{name}} + +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + +Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} + +Follow all instructions in the tool file exactly as written. diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md deleted file mode 120000 index 11f78e1d4..000000000 --- a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md +++ /dev/null @@ -1 +0,0 @@ -default-workflow-yaml.md \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md new file mode 100644 index 000000000..bf2011a22 --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md @@ -0,0 +1,16 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @{project-root}/{{bmadFolderName}}/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/{{bmadFolderName}}/{{path}} +3. Pass the yaml path @{project-root}/{{bmadFolderName}}/{{path}} as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md deleted file mode 120000 index 8d4ae5238..000000000 --- a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md +++ /dev/null @@ -1 +0,0 @@ -default-workflow.md \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md new file mode 100644 index 000000000..94ce30143 --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md @@ -0,0 +1,8 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/default-agent.md b/tools/cli/installers/lib/ide/templates/combined/default-agent.md index bc6f0e6ab..19e7b8fc4 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-agent.md @@ -5,10 +5,10 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. -1. LOAD the FULL agent file from {project-root}/_bmad/{{path}} +1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents - this contains the complete agent persona, menu, and instructions 3. FOLLOW every step in the section precisely 4. DISPLAY the welcome/greeting as instructed diff --git a/tools/cli/installers/lib/ide/templates/combined/default-task.md b/tools/cli/installers/lib/ide/templates/combined/default-task.md index 8d07ad96d..752161ac8 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-task.md @@ -5,6 +5,8 @@ description: '{{description}}' # {{name}} +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the task file exactly as written. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index 01c0acc97..b5bf9735f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -5,6 +5,8 @@ description: '{{description}}' # {{name}} +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the tool file exactly as written. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md index d7d72098b..1a5c27391 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md @@ -3,7 +3,7 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md index 97db910c3..360cff1d9 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md @@ -3,6 +3,6 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index 0a8fcc75d..03187bf44 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -6,6 +6,9 @@ PRE-FLIGHT CHECKLIST: 1. [ ] IMMEDIATE ACTION: Load and parse {project-root}/{{bmadFolderName}}/{{module}}/config.yaml - store ALL config values in memory for use throughout the session. 2. [ ] IMMEDIATE ACTION: Read and internalize the full agent definition at {project-root}/{{bmadFolderName}}/{{path}}. 3. [ ] CONFIRM: The user's name from config is {user_name}. +4. [ ] CONFIRM: interaction_style is set to "{interaction_style}". + +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml index a9ab4d15b..cfe5c3669 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml @@ -8,5 +8,7 @@ TASK INSTRUCTIONS: 3. FOLLOW every instruction precisely as specified 4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index 9927fbe4c..0fa09e249 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -8,5 +8,7 @@ TOOL INSTRUCTIONS: 3. FOLLOW every instruction precisely as specified 4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index e3ca1180f..cff87a977 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -13,5 +13,7 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: 4. VALIDATE outputs before proceeding to next step 5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index 63b20c572..4c38f76f4 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -11,5 +11,7 @@ WORKFLOW INSTRUCTIONS: 4. DO NOT skip or modify any steps 5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md index 33d9f93c1..2d127dad4 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md @@ -6,7 +6,7 @@ inclusion: manual You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. 1. LOAD the FULL agent file from #[[file:{{bmadFolderName}}/{{path}}]] diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md index 7a7454fe6..472841d57 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md @@ -8,4 +8,4 @@ Read the entire task file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the task file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md index 5a45b0b3b..1cadd2947 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md @@ -8,4 +8,4 @@ Read the entire tool file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the tool file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md index 1db8829e6..91b1715d8 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md @@ -4,7 +4,7 @@ inclusion: manual # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md index 5966c0c72..6bcc16ff2 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md @@ -4,6 +4,6 @@ inclusion: manual # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{bmadFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md index a58aae109..c8d36b2d7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md index ee26a3c3a..c59b4e587 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md @@ -10,6 +10,6 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md index c726d3eec..ec2796005 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md @@ -10,6 +10,6 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index 5e4182627..dd7661cd8 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -14,4 +14,6 @@ WORKFLOW INSTRUCTIONS: 4. DO NOT skip or modify any steps 5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index 5e4182627..dd7661cd8 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -14,4 +14,6 @@ WORKFLOW INSTRUCTIONS: 4. DO NOT skip or modify any steps 5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/rovodev.md b/tools/cli/installers/lib/ide/templates/combined/rovodev.md index 4e16682c6..deb3d7f7b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/rovodev.md +++ b/tools/cli/installers/lib/ide/templates/combined/rovodev.md @@ -4,7 +4,9 @@ --- -Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + +Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} Follow all instructions in the workflow file exactly as written. diff --git a/tools/cli/installers/lib/ide/templates/combined/trae.md b/tools/cli/installers/lib/ide/templates/combined/trae.md index 73adae9a6..278efa6fb 100644 --- a/tools/cli/installers/lib/ide/templates/combined/trae.md +++ b/tools/cli/installers/lib/ide/templates/combined/trae.md @@ -4,8 +4,8 @@ ## Instructions -Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} +Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md index 154fddbc9..f9429fcac 100644 --- a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md @@ -5,8 +5,8 @@ auto_execution_mode: "iterate" # {{name}} -Read the entire workflow file at {project-root}/_bmad/{{workflow_path}} +Read the entire workflow file at {project-root}/{{bmadFolderName}}/{{workflow_path}} Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/workflow-command-template.md b/tools/cli/installers/lib/ide/templates/workflow-command-template.md index f5caa9948..374bdbfec 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-command-template.md +++ b/tools/cli/installers/lib/ide/templates/workflow-command-template.md @@ -2,7 +2,7 @@ description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/workflow-commander.md b/tools/cli/installers/lib/ide/templates/workflow-commander.md index 5ab0d99a8..48c57b2d0 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-commander.md +++ b/tools/cli/installers/lib/ide/templates/workflow-commander.md @@ -2,6 +2,6 @@ description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{{workflow_path}}, READ its entire contents and follow its directions exactly!