Compare commits

...

8 Commits

Author SHA1 Message Date
Brian Madison 925b715d4f prettier no longer should screw up md files underscores 2025-12-23 22:29:51 +08:00
Brian Madison e4a4f47a1e remove unnecessary \ before _ and disable md auto fix 2025-12-23 22:21:59 +08:00
Brian Madison 4195eb3b30 installation intro and outtro custom messages, configurable in install-messages.yaml 2025-12-23 21:43:29 +08:00
Brian Madison c0f5d33c61 core module always asks its questions (no accept defaults 2025-12-23 20:52:06 +08:00
Brian Madison 3f76c2de74 ensure config vars are retained in a quick update 2025-12-23 20:17:32 +08:00
Brian Madison 45ff3840a8 2 version auto upgrade only 2025-12-23 20:05:17 +08:00
Alex Verkhovsky dcaa892ce1
refactor(bmm): convert quick-dev workflow to sharded format with adversarial review (#1182)
convert quick-dev workflow to sharded format with adversarial review
2025-12-23 17:48:47 +08:00
Brian Madison 00a380a03f remove unused commands that need to be replaced 2025-12-23 17:32:53 +08:00
106 changed files with 1435 additions and 1074 deletions

View File

@ -92,6 +92,3 @@ jobs:
- name: Test agent compilation components
run: npm run test:install
- name: Validate web bundles
run: npm run validate:bundles

View File

@ -30,7 +30,7 @@
### IDE Manager & Base
- @/tools/cli/installers/lib/ide/manager.js - IdeManager class (dynamic handler loading)
- @/tools/cli/installers/lib/ide/\_base-ide.js - BaseIdeSetup class (all handlers extend this)
- @/tools/cli/installers/lib/ide/_base-ide.js - BaseIdeSetup class (all handlers extend this)
### Shared Utilities
@ -116,7 +116,7 @@ Contains:
- Add new IDE handler: Create file in /tools/cli/installers/lib/ide/, extend BaseIdeSetup
- Fix installer bug: Check installer.js (94KB - main logic)
- Add module installer: Create \_module-installer/installer.js if custom installer logic needed
- Add module installer: Create _module-installer/installer.js if custom installer logic needed
- Update shared generators: Modify files in /shared/ directory
## Relationships

View File

@ -142,7 +142,7 @@ Defined in @/tools/cli/lib/platform-codes.js
## Common Tasks
- Create new module installer: Add \_module-installer/installer.js
- Create new module installer: Add _module-installer/installer.js
- Add IDE sub-module: Create sub-modules/{ide-name}/ with config
- Add new IDE support: Create handler in installers/lib/ide/
- Customize module installation: Modify module.yaml

View File

@ -66,7 +66,7 @@ To set up the quiz game by selecting game mode, choosing a category, and prepari
### 1. Welcome and Configuration Loading
Load config from {project-root}/\_bmad/bmb/config.yaml to get user_name.
Load config from {project-root}/_bmad/bmb/config.yaml to get user_name.
Present dramatic welcome:
"🎺 _DRAMATIC MUSIC PLAYS_ 🎺

View File

@ -45,7 +45,7 @@ web_bundle: true
### 1. Module Configuration Loading
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
- `user_name`, `output_folder`, `communication_language`, `document_output_language`

View File

@ -25,11 +25,10 @@
},
"scripts": {
"bmad:install": "node tools/cli/bmad-cli.js install",
"bmad:status": "node tools/cli/bmad-cli.js status",
"bundle": "node tools/cli/bundlers/bundle-web.js all",
"flatten": "node tools/flattener/main.js",
"format:check": "prettier --check \"**/*.{js,cjs,mjs,json,md,yaml}\"",
"format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,md,yaml}\"",
"format:check": "prettier --check \"**/*.{js,cjs,mjs,json,yaml}\"",
"format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,yaml}\"",
"install:bmad": "node tools/cli/bmad-cli.js install",
"lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
"lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
@ -40,11 +39,10 @@
"release:minor": "gh workflow run \"Manual Release\" -f version_bump=minor",
"release:patch": "gh workflow run \"Manual Release\" -f version_bump=patch",
"release:watch": "gh run watch",
"test": "npm run test:schemas && npm run test:install && npm run validate:bundles && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
"test": "npm run test:schemas && npm run test:install && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
"test:coverage": "c8 --reporter=text --reporter=html npm run test:schemas",
"test:install": "node test/test-installation-components.js",
"test:schemas": "node test/test-agent-schema.js",
"validate:bundles": "node tools/validate-bundles.js",
"validate:schemas": "node tools/validate-agent-schema.js"
},
"lint-staged": {
@ -60,8 +58,7 @@
"npm run format:fix"
],
"*.md": [
"markdownlint-cli2",
"npm run format:fix"
"markdownlint-cli2"
]
},
"dependencies": {

View File

@ -0,0 +1,41 @@
<!-- if possible, run this in a separate subagent or process with read access to the project,
but no context except the content to review -->
<task id="_bmad/core/tasks/review-adversarial-general.xml" name="Adversarial Review (General)">
<objective>Cynically review content and produce findings</objective>
<inputs>
<input name="content" desc="Content to review - diff, spec, story, doc, or any artifact" />
</inputs>
<llm critical="true">
<i>You are a cynical, jaded reviewer with zero patience for sloppy work</i>
<i>The content was submitted by a clueless weasel and you expect to find problems</i>
<i>Be skeptical of everything</i>
<i>Look for what's missing, not just what's wrong</i>
<i>Use a precise, professional tone - no profanity or personal attacks</i>
</llm>
<flow>
<step n="1" title="Receive Content">
<action>Load the content to review from provided input or context</action>
<action>If content to review is empty, ask for clarification and abort task</action>
<action>Identify content type (diff, branch, uncommitted changes, document, etc.)</action>
</step>
<step n="2" title="Adversarial Analysis" critical="true">
<mandate>Review with extreme skepticism - assume problems exist</mandate>
<action>Find at least ten issues to fix or improve in the provided content</action>
</step>
<step n="3" title="Present Findings">
<action>Output findings as a Markdown list (descriptions only)</action>
</step>
</flow>
<halt-conditions>
<condition>HALT if zero findings - this is suspicious, re-analyze or ask for guidance</condition>
<condition>HALT if content is empty or unreadable</condition>
</halt-conditions>
</task>

View File

@ -355,8 +355,8 @@ identity: |
- [ ] Sidecar folder structure created and populated
- [ ] memories.md has clear section structure
- [ ] instructions.md contains core directives
- [ ] Menu actions reference \_bmad/\_memory correctly
- [ ] File paths use \_bmad/\_memory/[agentname]-sidecar/ to reference sidecar content
- [ ] Menu actions reference _bmad/_memory correctly
- [ ] File paths use _bmad/_memory/[agentname]-sidecar/ to reference sidecar content
- [ ] Install config personalizes sidecar references
- [ ] Agent folder named consistently: `{agent-name}/`
- [ ] YAML file named: `{agent-name}.agent.yaml`

View File

@ -7,7 +7,7 @@ ALL agent types can:
- ✓ Write to {output_folder}, {project-root}, or anywhere on system
- ✓ Update artifacts and files
- ✓ Execute bash commands
- ✓ Use core variables (\_bmad, {output_folder}, etc.)
- ✓ Use core variables (_bmad, {output_folder}, etc.)
- ✓ Have complex prompts and logic
- ✓ Invoke external tools

View File

@ -13,16 +13,16 @@ description: 'Initialize the [workflow-type] workflow by detecting continuation
<!-- Path Definitions -->
workflow\*path: '{project-root}/\_bmad/[module-path]/workflows/[workflow-name]'
workflow\*path: `{project-root}/_bmad/[module-path]/workflows/[workflow-name]`
# File References (all use {variable} format in file)
thisStepFile: '{workflow_path}/steps/step-01-init.md'
nextStepFile: '{workflow_path}/steps/step-02-[step-name].md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/[output-file-name]-{project_name}.md'
continueFile: '{workflow_path}/steps/step-01b-continue.md'
templateFile: '{workflow_path}/templates/[main-template].md'
thisStepFile: `{workflow_path}/steps/step-01-init.md`
nextStepFile: `{workflow_path}/steps/step-02-[step-name].md`
workflowFile: `{workflow_path}/workflow.md`
outputFile: `{output_folder}/[output-file-name]-{project_name}.md`
continueFile: `{workflow_path}/steps/step-01b-continue.md`
templateFile: `{workflow_path}/templates/[main-template].md`
# Template References

View File

@ -13,7 +13,7 @@ description: 'Handle workflow continuation from previous session'
<!-- Path Definitions -->
workflow\*path: '{project-root}/\_bmad/[module-path]/workflows/[workflow-name]'
workflow\*path: '{project-root}/_bmad/[module-path]/workflows/[workflow-name]'
# File References (all use {variable} format in file)

View File

@ -11,7 +11,7 @@ description: '[Brief description of what this step accomplishes]'
<!-- Path Definitions -->
workflow\*path: '{project-root}/\_bmad/[module]/reference/workflows/[workflow-name]' # the folder the workflow.md file is in
workflow\*path: '{project-root}/_bmad/[module]/reference/workflows/[workflow-name]' # the folder the workflow.md file is in
# File References (all use {variable} format in file)
@ -23,8 +23,8 @@ outputFile: '{output_folder}/[output-file-name]-{project_name}.md'
# Task References (IF THE workflow uses and it makes sense in this step to have these )
advancedElicitationTask: '{project-root}/\_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/\_bmad/core/workflows/party-mode/workflow.md'
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
# Template References (if this step uses a specific templates)

View File

@ -53,7 +53,7 @@ web_bundle: [true/false] # Set to true for inclusion in web bundle builds
### 1. Module Configuration Loading
Load and read full config from {project-root}/\_bmad/[MODULE FOLDER]/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/[MODULE FOLDER]/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, [MODULE VARS]

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/\_bmad/{{targetModule}}/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/{{targetModule}}/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/\_bmad/core/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/core/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`

View File

@ -126,7 +126,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/-relative (not project-root)
- [ ] No config_source references in web bundles
- [ ] Invoked workflows included in dependencies

View File

@ -1,7 +1,7 @@
# Edit Module - Module Editor Instructions
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmb/workflows/edit-module/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmb/workflows/edit-module/workflow.yaml</critical>
<critical>This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs</critical>
<critical>The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them</critical>
<critical>Communicate all responses in {communication_language}</critical>
@ -186,7 +186,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/{{module}}/workflows/{{workflow}}/workflow.yaml
- Document the integration in README
- Ensure dependencies are clear
- Consider adding example usage

View File

@ -1,7 +1,7 @@
# Module Brief Instructions
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmb/workflows/module-brief/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmb/workflows/module-brief/workflow.yaml</critical>
<critical>Communicate in {communication_language} throughout the module brief creation process</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level`

View File

@ -313,7 +313,7 @@ critical_actions:
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
2. **Enforce domain restrictions** - Clear boundaries prevent scope creep
3. **Use \_bmad/\_memory/[agentname]-sidcar/ paths** - For reference to any sidecar content
3. **Use _bmad/_memory/[agentname]-sidcar/ paths** - For reference to any sidecar content
4. **Design for memory growth** - Structure sidecar files for accumulation
5. **Reference past naturally** - Don't dump memory, weave it into conversation
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
@ -356,8 +356,8 @@ identity: |
- [ ] Sidecar folder structure created and populated
- [ ] memories.md has clear section structure
- [ ] instructions.md contains core directives
- [ ] Menu actions reference \_bmad/\_memory/[agentname]-sidcar/ correctly if needing sidecar content reference
- [ ] File paths use \_bmad/\_memory/[agentname]-sidcar/ to reference where the file will be after sidecar content is installed
- [ ] Menu actions reference _bmad/_memory/[agentname]-sidcar/ correctly if needing sidecar content reference
- [ ] File paths use _bmad/_memory/[agentname]-sidcar/ to reference where the file will be after sidecar content is installed
- [ ] Install config personalizes sidecar references
- [ ] Agent folder named consistently: `{agent-name}/`
- [ ] YAML file named: `{agent-name}.agent.yaml`

View File

@ -129,7 +129,7 @@ Create all directories in {bmb_creations_output_folder}/{module_name}/:
3. **tasks/** - For task files (if tasks planned)
4. **templates/** - For shared templates
5. **data/** - For module data
6. **\_module-installer/** - For installation configuration
6. **_module-installer/** - For installation configuration
### 4. Create Placeholder README

View File

@ -71,8 +71,8 @@ From step 5, we planned these configuration fields:
### 2. Create Installer Directory
Ensure \_module-installer directory exists
Directory: {bmb_creations_output_folder}/{module_name}/\_module-installer/
Ensure _module-installer directory exists
Directory: {bmb_creations_output_folder}/{module_name}/_module-installer/
### 3. Create module.yaml
@ -95,7 +95,7 @@ Does your module need any special setup during installation? For example:
"I'll create an installer.js file for custom logic."
Create file: {bmb_creations_output_folder}/{module_name}/\_module-installer/installer.js from {installerTemplate}
Create file: {bmb_creations_output_folder}/{module_name}/_module-installer/installer.js from {installerTemplate}
Update installer.js with module-specific logic
@ -105,7 +105,7 @@ Update installer.js with module-specific logic
If your module needs to copy files during installation (templates, examples, documentation), we can add them to the assets directory."
Create directory: \_module-installer/assets/
Create directory: _module-installer/assets/
Add note about what assets to include
### 6. Document Installer Setup
@ -131,7 +131,7 @@ Update module-plan.md with installer section:
1. User runs: `bmad install {module_name}`
2. Installer asks: [list of questions]
3. Creates: \_bmad/{module_name}/
3. Creates: _bmad/{module_name}/
4. Generates: config.yaml with user settings
### Validation

View File

@ -264,7 +264,7 @@ Analyze the visual design with my signature dramatic flair
menu: # Core interactions - multi: "[CH] Chat with Caravaggio or [SPM] Start Party Mode"
triggers: - party-mode:
input: SPM or fuzzy match start party mode
route: "{project-root}/\_bmad/core/workflows/edit-agent/workflow.md"
route: "{project-root}/_bmad/core/workflows/edit-agent/workflow.md"
data: what's being discussed, plus custom party agents if specified
type: exec - expert-chat:
input: CH or fuzzy match validate agent

View File

@ -11,11 +11,11 @@ This document provides the validation criteria used in step-11-validate.md to en
- [ ] tasks/ - Task files (if needed)
- [ ] templates/ - Shared templates
- [ ] data/ - Module data
- [ ] \_module-installer/ - Installation config
- [ ] _module-installer/ - Installation config
- [ ] README.md - Module documentation
- [ ] module.yaml - module config file
### Optional File in \_module-installer/
### Optional File in _module-installer/
- [ ] installer.js - Custom logic (if needed)

View File

@ -46,7 +46,7 @@ installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
### 1. Module Configuration Loading
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`

View File

@ -72,7 +72,7 @@ To generate all the workflow files (workflow.md, step files, templates, and supp
- When building continuable step-01-init.md files, use template `{project-root}/_bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md`
- When building continuation steps, use template `{project-root}/_bmad/bmb/docs/workflows/templates/step-1b-template.md`
- When building the main workflow.md file, you must follow template `{project-root}/_bmad/bmb/docs/workflows/templates/workflow-template.md`
- Example step files from {project-root}/\_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md for patterns
- Example step files from {project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md for patterns
## FILE GENERATION SEQUENCE:
@ -117,7 +117,7 @@ Load and follow {workflowTemplate}:
- Create workflow.md using template structure
- Insert workflow name and description
- Configure all path variables ({project-root}, \_bmad, {workflow_path})
- Configure all path variables ({project-root}, _bmad, {workflow_path})
- Set web_bundle flag to true unless user has indicated otherwise
- Define role and goal
- Include initialization path to step-01

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`

View File

@ -135,7 +135,7 @@ For each deviation:
- Configuration Loading uses correct path format: `{project-root}/_bmad/[module]/config.yaml` (variable substitution pattern)
- First step follows pattern: `step-01-init.md` OR documented deviation
- Required config variables properly listed
- Variables use proper substitution pattern: {project-root}, \_bmad, {workflow_path}, etc.
- Variables use proper substitution pattern: {project-root}, _bmad, {workflow_path}, etc.
For violations:

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`

View File

@ -1,4 +1,4 @@
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>Communicate all responses in {communication_language}</critical>
<critical>This is a meta-workflow that orchestrates the CIS brainstorming workflow with game-specific context and additional game design techniques</critical>

View File

@ -1,6 +1,6 @@
# Game Brief - Interactive Workflow Instructions
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
<critical>Generate all documents in {document_output_language}</critical>

View File

@ -2,7 +2,7 @@
<workflow>
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already completed the GDD workflow</critical>
<critical>Communicate all responses in {communication_language}</critical>
<critical>This workflow creates detailed narrative content for story-driven games</critical>

View File

@ -2,7 +2,7 @@
<workflow name="architecture">
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level}</critical>
<critical>The goal is ARCHITECTURAL DECISIONS that prevent AI agent conflicts, not detailed implementation specs</critical>
@ -74,7 +74,7 @@ For Level {{project_level}}, we'll keep the architecture appropriately scoped.
Decision Architecture works from your Product Requirements Document (PRD).
Looking for: _prd_.md, or prd/index.md + files in {output_folder}
Looking for: `*prd*.md`, or `prd/index.md` + files in {output_folder}
Please run the PRD workflow first to define your requirements.

View File

@ -28,8 +28,8 @@ This step will generate content and present choices for each rule category:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding

View File

@ -1,6 +1,6 @@
# Change Navigation Checklist
<critical>This checklist is executed as part of: {project-root}/\_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml</critical>
<critical>This checklist is executed as part of: {project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml</critical>
<critical>Work through each section systematically with the user, recording findings and impacts</critical>
<checklist>

View File

@ -1,7 +1,7 @@
# Correct Course - Sprint Change Management Instructions
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml</critical>
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
<critical>Generate all documents in {document_output_language}</critical>

View File

@ -1,7 +1,7 @@
# Retrospective - Epic Completion Review Instructions
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml</critical>
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
<critical>Generate all documents in {document_output_language}</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>

View File

@ -1,7 +1,7 @@
# Sprint Planning - Sprint Status Generator
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml</critical>
## 📚 Document Discovery - Full Epic Loading

View File

@ -1,7 +1,7 @@
# Sprint Status - Multi-Mode Service
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml</critical>
<critical>Modes: interactive (default), validate, data</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines.</critical>

View File

@ -1,6 +1,6 @@
# Workflow Init - Game Project Setup Instructions
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: workflow-init/workflow.yaml</critical>
<critical>Communicate in {communication_language} with {user_name}</critical>
<critical>This workflow handles BOTH new game projects AND existing game projects</critical>

View File

@ -1,7 +1,7 @@
# Workflow Status Check - Multi-Mode Service (BMGD)
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/workflow-status/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml</critical>
<critical>This workflow operates in multiple modes: interactive (default), validate, data, init-check, update</critical>
<critical>Other workflows can call this as a service to avoid duplicating status logic</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions.</critical>

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level`

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -160,7 +160,7 @@ Show the generated core experience content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current core experience content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current core experience content
- Process the enhanced experience insights that come back
- Ask user: "Accept these improvements to the core experience definition? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -168,7 +168,7 @@ Show the generated core experience content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current core experience definition
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current core experience definition
- Process the collaborative experience improvements that come back
- Ask user: "Accept these changes to the core experience definition? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -163,7 +163,7 @@ Show the generated emotional response content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current emotional response content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current emotional response content
- Process the enhanced emotional insights that come back
- Ask user: "Accept these improvements to the emotional response definition? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -171,7 +171,7 @@ Show the generated emotional response content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current emotional response definition
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current emotional response definition
- Process the collaborative emotional insights that come back
- Ask user: "Accept these changes to the emotional response definition? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -178,7 +178,7 @@ Show the generated inspiration analysis content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current inspiration analysis content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current inspiration analysis content
- Process the enhanced pattern insights that come back
- Ask user: "Accept these improvements to the inspiration analysis? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -186,7 +186,7 @@ Show the generated inspiration analysis content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current inspiration analysis
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current inspiration analysis
- Process the collaborative pattern insights that come back
- Ask user: "Accept these changes to the inspiration analysis? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -196,7 +196,7 @@ Show the generated design system content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current design system content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current design system content
- Process the enhanced design system insights that come back
- Ask user: "Accept these improvements to the design system decision? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -204,7 +204,7 @@ Show the generated design system content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current design system choice
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design system choice
- Process the collaborative design system insights that come back
- Ask user: "Accept these changes to the design system decision? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -198,7 +198,7 @@ Show the generated defining experience content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current defining experience content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current defining experience content
- Process the enhanced experience insights that come back
- Ask user: "Accept these improvements to the defining experience? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -206,7 +206,7 @@ Show the generated defining experience content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current defining experience
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current defining experience
- Process the collaborative experience insights that come back
- Ask user: "Accept these changes to the defining experience? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -168,7 +168,7 @@ Show the generated visual foundation content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current visual foundation content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current visual foundation content
- Process the enhanced visual insights that come back
- Ask user: "Accept these improvements to the visual foundation? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -176,7 +176,7 @@ Show the generated visual foundation content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current visual foundation
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current visual foundation
- Process the collaborative visual insights that come back
- Ask user: "Accept these changes to the visual foundation? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -168,7 +168,7 @@ Show the generated design direction content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current design direction content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current design direction content
- Process the enhanced design insights that come back
- Ask user: "Accept these improvements to the design direction? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -176,7 +176,7 @@ Show the generated design direction content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current design direction
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design direction
- Process the collaborative design insights that come back
- Ask user: "Accept these changes to the design direction? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -186,7 +186,7 @@ Show the generated user journey content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current user journey content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current user journey content
- Process the enhanced journey insights that come back
- Ask user: "Accept these improvements to the user journeys? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -194,7 +194,7 @@ Show the generated user journey content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current user journeys
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current user journeys
- Process the collaborative journey insights that come back
- Ask user: "Accept these changes to the user journeys? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -192,7 +192,7 @@ Show the generated component strategy content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current component strategy content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current component strategy content
- Process the enhanced component insights that come back
- Ask user: "Accept these improvements to the component strategy? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -200,7 +200,7 @@ Show the generated component strategy content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current component strategy
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current component strategy
- Process the collaborative component insights that come back
- Ask user: "Accept these changes to the component strategy? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -181,7 +181,7 @@ Show the generated UX patterns content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current UX patterns content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current UX patterns content
- Process the enhanced pattern insights that come back
- Ask user: "Accept these improvements to the UX patterns? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -189,7 +189,7 @@ Show the generated UX patterns content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current UX patterns
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current UX patterns
- Process the collaborative pattern insights that come back
- Ask user: "Accept these changes to the UX patterns? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -29,8 +29,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -208,7 +208,7 @@ Show the generated responsive and accessibility content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current responsive/accessibility content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current responsive/accessibility content
- Process the enhanced insights that come back
- Ask user: "Accept these improvements to the responsive/accessibility strategy? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -216,7 +216,7 @@ Show the generated responsive and accessibility content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current responsive/accessibility strategy
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current responsive/accessibility strategy
- Process the collaborative insights that come back
- Ask user: "Accept these changes to the responsive/accessibility strategy? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -49,8 +49,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -228,7 +228,7 @@ Show the generated content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current success criteria content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current success criteria content
- Process the enhanced success metrics that come back
- Ask user: "Accept these improvements to the success criteria? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -236,7 +236,7 @@ Show the generated content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current success criteria
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current success criteria
- Process the collaborative improvements to metrics and scope
- Ask user: "Accept these changes to the success criteria? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -49,8 +49,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -222,7 +222,7 @@ Show the generated journey content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current journey content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current journey content
- Process the enhanced journey insights that come back
- Ask user: "Accept these improvements to the user journeys? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -230,7 +230,7 @@ Show the generated journey content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current journeys
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current journeys
- Process the collaborative journey improvements and additions
- Ask user: "Accept these changes to the user journeys? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -52,8 +52,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -207,7 +207,7 @@ Show the generated domain content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current domain content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current domain content
- Process the enhanced domain insights that come back
- Ask user: "Accept these domain requirement improvements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -215,7 +215,7 @@ Show the generated domain content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current domain requirements
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current domain requirements
- Process the collaborative domain expertise and validation
- Ask user: "Accept these changes to domain requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -52,8 +52,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -186,7 +186,7 @@ Show the generated innovation content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current innovation content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current innovation content
- Process the enhanced innovation insights that come back
- Ask user: "Accept these improvements to the innovation analysis? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -194,7 +194,7 @@ Show the generated innovation content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current innovation content
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current innovation content
- Process the collaborative innovation exploration and ideation
- Ask user: "Accept these changes to the innovation analysis? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -52,8 +52,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -182,7 +182,7 @@ Show the generated project-type content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current project-type content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current project-type content
- Process the enhanced technical insights that come back
- Ask user: "Accept these improvements to the technical requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -190,7 +190,7 @@ Show the generated project-type content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current project-type requirements
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project-type requirements
- Process the collaborative technical expertise and validation
- Ask user: "Accept these changes to the technical requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -50,8 +50,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding
@ -243,7 +243,7 @@ Show the scoping decisions and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with current scoping analysis
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with current scoping analysis
- Process enhanced scoping insights that come back
- Ask user: "Accept these improvements to the scoping decisions? (y/n)"
- If yes: Update content, then return to A/P/C menu
@ -251,7 +251,7 @@ Show the scoping decisions and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with scoping context
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with scoping context
- Process collaborative insights on MVP and roadmap decisions
- Ask user: "Accept these changes to the scoping decisions? (y/n)"
- If yes: Update content, then return to A/P/C menu

View File

@ -49,8 +49,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -209,7 +209,7 @@ Show the generated functional requirements and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current FR list
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current FR list
- Process the enhanced capability coverage that comes back
- Ask user: "Accept these additions to the functional requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -217,7 +217,7 @@ Show the generated functional requirements and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current FR list
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current FR list
- Process the collaborative capability validation and additions
- Ask user: "Accept these changes to the functional requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -49,8 +49,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
@ -209,7 +209,7 @@ Show the generated NFR content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current NFR content
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current NFR content
- Process the enhanced quality attribute insights that come back
- Ask user: "Accept these improvements to the non-functional requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -217,7 +217,7 @@ Show the generated NFR content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current NFR list
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current NFR list
- Process the collaborative technical validation and additions
- Ask user: "Accept these changes to the non-functional requirements? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -45,7 +45,7 @@ web_bundle: false
### 1. Module Configuration Loading
Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`

View File

@ -58,14 +58,14 @@ Discover and load context documents using smart discovery:
**PRD Document (Priority: Analysis → Main → Sharded → Whole):**
1. Check analysis folders: {output*folder} and {planning_artifacts} for a \_prd*.md
1. Check analysis folders: {output_folder} and {planning_artifacts} for a `*prd*.md`
2. If no main files: Check for sharded PRD folder: `**/*prd*/**/*.md`
3. If sharded folder exists: Load EVERY file in that folder completely
4. Add discovered files to `inputDocuments` frontmatter
**Epics/Stories Document (Priority: Analysis → Main → Sharded → Whole):**
1. Check folders: {output*folder} and {planning_artifacts} for a \_epic*.md
1. Check folders: {output_folder} and {planning_artifacts} for a `*epic*.md`
2. If no analysis files: Try main folder: `{output_folder}/*epic*.md`
3. If no main files: Check for sharded epics folder: `{output_folder}/*epic*/**/*.md`
4. If sharded folder exists: Load EVERY file in that folder completely
@ -73,14 +73,14 @@ Discover and load context documents using smart discovery:
**UX Design Specification (Priority: Analysis → Main → Sharded → Whole):**
1. Check folders: {output*folder} and {planning_artifacts} for a \_ux*.md
1. Check folders: {output_folder} and {planning_artifacts} for a `*ux*.md`
2. If no main files: Check for sharded UX folder: `{output_folder}/*ux*/**/*.md`
3. If sharded folder exists: Load EVERY file in that folder completely
4. Add discovered files to `inputDocuments` frontmatter
**Research Documents (Priority: Analysis → Main):**
1. Check folders {output*folder} and {planning_artifacts} for /research/\_research*.md
1. Check folders {output_folder} and {planning_artifacts} for `/research/*research*.md`
2. If no files: Try folder: `{output_folder}/*research*.md`
3. Add discovered files to `inputDocuments` frontmatter

View File

@ -30,8 +30,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding
@ -169,7 +169,7 @@ Show the generated content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current context analysis
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current context analysis
- Process the enhanced architectural insights that come back
- Ask user: "Accept these enhancements to the project context analysis? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
@ -177,7 +177,7 @@ Show the generated content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current project context
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project context
- Process the collaborative improvements to architectural understanding
- Ask user: "Accept these changes to the project context analysis? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu

View File

@ -30,8 +30,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding

View File

@ -31,8 +31,8 @@ This step will generate content and present choices for each decision category:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding
@ -263,7 +263,7 @@ Show the generated decisions content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with specific decision categories
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with specific decision categories
- Process enhanced insights about particular decisions
- Ask user: "Accept these enhancements to the architectural decisions? (y/n)"
- If yes: Update content, then return to A/P/C menu
@ -271,7 +271,7 @@ Show the generated decisions content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with architectural decisions context
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with architectural decisions context
- Process collaborative insights about decision trade-offs
- Ask user: "Accept these changes to the architectural decisions? (y/n)"
- If yes: Update content, then return to A/P/C menu

View File

@ -31,8 +31,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding
@ -304,7 +304,7 @@ Show the generated patterns content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with current patterns
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with current patterns
- Process enhanced consistency rules that come back
- Ask user: "Accept these additional pattern refinements? (y/n)"
- If yes: Update content, then return to A/P/C menu
@ -312,7 +312,7 @@ Show the generated patterns content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with implementation patterns context
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with implementation patterns context
- Process collaborative insights about potential conflicts
- Ask user: "Accept these changes to the implementation patterns? (y/n)"
- If yes: Update content, then return to A/P/C menu

View File

@ -31,8 +31,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding
@ -324,7 +324,7 @@ Show the generated project structure content and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with current project structure
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with current project structure
- Process enhanced organizational insights that come back
- Ask user: "Accept these changes to the project structure? (y/n)"
- If yes: Update content, then return to A/P/C menu
@ -332,7 +332,7 @@ Show the generated project structure content and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with project structure context
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with project structure context
- Process collaborative insights about organization trade-offs
- Ask user: "Accept these changes to the project structure? (y/n)"
- If yes: Update content, then return to A/P/C menu

View File

@ -31,8 +31,8 @@ This step will generate content and present choices:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding
@ -304,7 +304,7 @@ Show the validation results and present choices:
#### If 'A' (Advanced Elicitation):
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with validation issues
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with validation issues
- Process enhanced solutions for complex concerns
- Ask user: "Accept these architectural improvements? (y/n)"
- If yes: Update content, then return to A/P/C menu
@ -312,7 +312,7 @@ Show the validation results and present choices:
#### If 'P' (Party Mode):
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with validation context
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with validation context
- Process collaborative insights on implementation readiness
- Ask user: "Accept these changes to the validation results? (y/n)"
- If yes: Update content, then return to A/P/C menu

View File

@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
### 1. Configuration Loading
Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve:
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`

View File

@ -1,6 +1,6 @@
# Change Navigation Checklist
<critical>This checklist is executed as part of: {project-root}/\_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml</critical>
<critical>This checklist is executed as part of: {project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml</critical>
<critical>Work through each section systematically with the user, recording findings and impacts</critical>
<checklist>

View File

@ -1,7 +1,7 @@
# Correct Course - Sprint Change Management Instructions
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml</critical>
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
<critical>Generate all documents in {document_output_language}</critical>

View File

@ -1,7 +1,7 @@
# Retrospective - Epic Completion Review Instructions
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml</critical>
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
<critical>Generate all documents in {document_output_language}</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>

View File

@ -1,7 +1,7 @@
# Sprint Planning - Sprint Status Generator
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml</critical>
## 📚 Document Discovery - Full Epic Loading

View File

@ -1,7 +1,7 @@
# Sprint Status - Multi-Mode Service
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml</critical>
<critical>Modes: interactive (default), validate, data</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines.</critical>

View File

@ -1,25 +0,0 @@
# Quick-Dev Checklist
## Before Implementation
- [ ] Context loaded (tech-spec or user guidance)
- [ ] Files to modify identified
- [ ] Patterns understood
## Implementation
- [ ] All tasks completed
- [ ] Code follows existing patterns
- [ ] Error handling appropriate
## Testing
- [ ] Tests written (where appropriate)
- [ ] All tests passing
- [ ] No regressions
## Completion
- [ ] Acceptance criteria satisfied
- [ ] Tech-spec updated (if applicable)
- [ ] Summary provided to user

View File

@ -1,202 +0,0 @@
# Quick-Dev - Flexible Development Workflow
<workflow>
<critical>Communicate in {communication_language}, tailored to {user_skill_level}</critical>
<critical>Execute continuously until COMPLETE - do not stop for milestones</critical>
<critical>Flexible - handles tech-specs OR direct instructions</critical>
<critical>ALWAYS respect {project_context} if it exists - it defines project standards</critical>
<checkpoint-handlers>
<on-select key="a">Load and execute {advanced_elicitation}, then return</on-select>
<on-select key="p">Load and execute {party_mode_workflow}, then return</on-select>
<on-select key="t">Load and execute {create_tech_spec_workflow}</on-select>
</checkpoint-handlers>
<step n="1" goal="Load project context and determine execution mode">
<action>Check if {project_context} exists. If yes, load it - this is your foundational reference for ALL implementation decisions (patterns, conventions, architecture).</action>
<action>Parse user input:
**Mode A: Tech-Spec** - e.g., `quick-dev tech-spec-auth.md`
→ Load spec, extract tasks/context/AC, goto step 3
**Mode B: Direct Instructions** - e.g., `refactor src/foo.ts...`
→ Offer planning choice
</action>
<check if="Mode A">
<action>Load tech-spec, extract tasks/context/AC</action>
<goto>step_3</goto>
</check>
<check if="Mode B">
<!-- Escalation Threshold: Lightweight check - should we invoke scale-adaptive? -->
<action>Evaluate escalation threshold against user input (minimal tokens, no file loading):
**Triggers escalation** (if 2+ signals present):
- Multiple components mentioned (e.g., dashboard + api + database)
- System-level language (e.g., platform, integration, architecture)
- Uncertainty about approach (e.g., "how should I", "best way to")
- Multi-layer scope (e.g., UI + backend + data together)
- Extended timeframe (e.g., "this week", "over the next few days")
**Reduces signal:**
- Simplicity markers (e.g., "just", "quickly", "fix", "bug", "typo", "simple", "basic", "minor")
- Single file/component focus
- Confident, specific request
Use holistic judgment, not mechanical keyword matching.</action>
<!-- No Escalation: Simple request, offer existing choice -->
<check if="escalation threshold NOT triggered">
<ask>**[t] Plan first** - Create tech-spec then implement
**[e] Execute directly** - Start now</ask>
<check if="t">
<action>Load and execute {create_tech_spec_workflow}</action>
<action>Continue to implementation after spec complete</action>
</check>
<check if="e">
<ask>Any additional guidance before I begin? (patterns, files, constraints) Or "go" to start.</ask>
<goto>step_2</goto>
</check>
</check>
<!-- Escalation Triggered: Load scale-adaptive and evaluate level -->
<check if="escalation threshold triggered">
<action>Load {project_levels} and evaluate user input against detection_hints.keywords</action>
<action>Determine level (0-4) using scale-adaptive definitions</action>
<!-- Level 0: Scale-adaptive confirms simple, fall back to standard choice -->
<check if="level 0">
<ask>**[t] Plan first** - Create tech-spec then implement
**[e] Execute directly** - Start now</ask>
<check if="t">
<action>Load and execute {create_tech_spec_workflow}</action>
<action>Continue to implementation after spec complete</action>
</check>
<check if="e">
<ask>Any additional guidance before I begin? (patterns, files, constraints) Or "go" to start.</ask>
<goto>step_2</goto>
</check>
</check>
<check if="level 1 or 2 or couldn't determine level">
<ask>This looks like a focused feature with multiple components.
**[t] Create tech-spec first** (recommended)
**[w] Seems bigger than quick-dev** — see what BMad Method recommends (workflow-init)
**[e] Execute directly**</ask>
<check if="t">
<action>Load and execute {create_tech_spec_workflow}</action>
<action>Continue to implementation after spec complete</action>
</check>
<check if="w">
<action>Load and execute {workflow_init}</action>
<action>EXIT quick-dev - user has been routed to BMad Method</action>
</check>
<check if="e">
<ask>Any additional guidance before I begin? (patterns, files, constraints) Or "go" to start.</ask>
<goto>step_2</goto>
</check>
</check>
<!-- Level 3+: BMad Method territory, recommend workflow-init -->
<check if="level 3 or higher">
<ask>This sounds like platform/system work.
**[w] Start BMad Method** (recommended) (workflow-init)
**[t] Create tech-spec** (lighter planning)
**[e] Execute directly** - feeling lucky</ask>
<check if="w">
<action>Load and execute {workflow_init}</action>
<action>EXIT quick-dev - user has been routed to BMad Method</action>
</check>
<check if="t">
<action>Load and execute {create_tech_spec_workflow}</action>
<action>Continue to implementation after spec complete</action>
</check>
<check if="e">
<ask>Any additional guidance before I begin? (patterns, files, constraints) Or "go" to start.</ask>
<goto>step_2</goto>
</check>
</check>
</check>
</check>
</step>
<step n="2" goal="Quick context gathering (direct mode)">
<action>Identify files to modify, find relevant patterns, note dependencies</action>
<action>Create mental plan: tasks, acceptance criteria, files to touch</action>
</step>
<step n="3" goal="Execute implementation" id="step_3">
<action>For each task:
1. **Load Context** - read files from spec or relevant to change
2. **Implement** - follow patterns, handle errors, follow conventions
3. **Test** - write tests, run existing tests, verify AC
4. **Mark Complete** - check off task [x], continue
</action>
<action if="3 failures">HALT and request guidance</action>
<action if="tests fail">Fix before continuing</action>
<critical>Continue through ALL tasks without stopping</critical>
</step>
<step n="4" goal="Verify and complete">
<action>Verify: all tasks [x], tests passing, AC satisfied, patterns followed</action>
<check if="using tech-spec">
<action>Update tech-spec status to "Completed", mark all tasks [x]</action>
</check>
<output>**Implementation Complete!**
**Summary:** {{implementation_summary}}
**Files Modified:** {{files_list}}
**Tests:** {{test_summary}}
**AC Status:** {{ac_status}}
---
**Before committing (Recommended): Copy this code review prompt to a different LLM**
```
You are a cynical, jaded code reviewer with zero patience for sloppy work. These uncommitted changes were submitted by a clueless weasel and you expect to find problems. Find at least five issues to fix or improve in it. Number them. Be skeptical of everything.
```
</output>
<action>You must explain what was implemented based on {user_skill_level}</action>
</step>
</workflow>

View File

@ -0,0 +1,156 @@
---
name: 'step-01-mode-detection'
description: 'Determine execution mode (tech-spec vs direct), handle escalation, set state variables'
workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev'
thisStepFile: '{workflow_path}/steps/step-01-mode-detection.md'
nextStepFile_modeA: '{workflow_path}/steps/step-03-execute.md'
nextStepFile_modeB: '{workflow_path}/steps/step-02-context-gathering.md'
---
# Step 1: Mode Detection
**Goal:** Determine execution mode, capture baseline, handle escalation if needed.
---
## STATE VARIABLES (capture now, persist throughout)
These variables MUST be set in this step and available to all subsequent steps:
- `{baseline_commit}` - Git HEAD at workflow start (or "NO_GIT" if not a git repo)
- `{execution_mode}` - "tech-spec" or "direct"
- `{tech_spec_path}` - Path to tech-spec file (if Mode A)
---
## EXECUTION SEQUENCE
### 1. Capture Baseline
First, check if the project uses Git version control:
**If Git repo exists** (`.git` directory present or `git rev-parse --is-inside-work-tree` succeeds):
- Run `git rev-parse HEAD` and store result as `{baseline_commit}`
**If NOT a Git repo:**
- Set `{baseline_commit}` = "NO_GIT"
### 2. Load Project Context
Check if `{project_context}` exists (`**/project-context.md`). If found, load it - this is foundational reference for ALL implementation decisions.
### 3. Parse User Input
Analyze the user's input to determine mode:
**Mode A: Tech-Spec**
- User provided a path to a tech-spec file (e.g., `quick-dev tech-spec-auth.md`)
- Load the spec, extract tasks/context/AC
- Set `{execution_mode}` = "tech-spec"
- Set `{tech_spec_path}` = provided path
- **NEXT:** Load `step-03-execute.md`
**Mode B: Direct Instructions**
- User provided task description directly (e.g., `refactor src/foo.ts...`)
- Set `{execution_mode}` = "direct"
- **NEXT:** Evaluate escalation threshold, then proceed
---
## ESCALATION THRESHOLD (Mode B only)
Evaluate user input with minimal token usage (no file loading):
**Triggers escalation (if 2+ signals present):**
- Multiple components mentioned (dashboard + api + database)
- System-level language (platform, integration, architecture)
- Uncertainty about approach ("how should I", "best way to")
- Multi-layer scope (UI + backend + data together)
- Extended timeframe ("this week", "over the next few days")
**Reduces signal:**
- Simplicity markers ("just", "quickly", "fix", "bug", "typo", "simple")
- Single file/component focus
- Confident, specific request
Use holistic judgment, not mechanical keyword matching.
---
## ESCALATION HANDLING
### No Escalation (simple request)
Present choice:
```
**[t] Plan first** - Create tech-spec then implement
**[e] Execute directly** - Start now
```
- **[t]:** Direct user to `{create_tech_spec_workflow}`. **EXIT Quick Dev.**
- **[e]:** Ask for any additional guidance, then **NEXT:** Load `step-02-context-gathering.md`
### Escalation Triggered - Level 0-2
```
This looks like a focused feature with multiple components.
**[t] Create tech-spec first** (recommended)
**[w] Seems bigger than quick-dev** - see what BMad Method recommends
**[e] Execute directly**
```
- **[t]:** Direct to `{create_tech_spec_workflow}`. **EXIT Quick Dev.**
- **[w]:** Direct to `{workflow_init}`. **EXIT Quick Dev.**
- **[e]:** Ask for guidance, then **NEXT:** Load `step-02-context-gathering.md`
### Escalation Triggered - Level 3+
```
This sounds like platform/system work.
**[w] Start BMad Method** (recommended)
**[t] Create tech-spec** (lighter planning)
**[e] Execute directly** - feeling lucky
```
- **[w]:** Direct to `{workflow_init}`. **EXIT Quick Dev.**
- **[t]:** Direct to `{create_tech_spec_workflow}`. **EXIT Quick Dev.**
- **[e]:** Ask for guidance, then **NEXT:** Load `step-02-context-gathering.md`
---
## NEXT STEP DIRECTIVE
**CRITICAL:** When this step completes, explicitly state which step to load:
- Mode A (tech-spec): "**NEXT:** Loading `step-03-execute.md`"
- Mode B (direct, [e] selected): "**NEXT:** Loading `step-02-context-gathering.md`"
- Escalation ([t] or [w]): "**EXITING Quick Dev.** Follow the directed workflow."
---
## SUCCESS METRICS
- `{baseline_commit}` captured and stored
- `{execution_mode}` determined ("tech-spec" or "direct")
- `{tech_spec_path}` set if Mode A
- Project context loaded if exists
- Escalation evaluated appropriately (Mode B)
- Explicit NEXT directive provided
## FAILURE MODES
- Proceeding without capturing baseline commit
- Not setting execution_mode variable
- Loading step-02 when Mode A (tech-spec provided)
- Attempting to "return" after escalation instead of EXIT
- No explicit NEXT directive at step completion

View File

@ -0,0 +1,120 @@
---
name: 'step-02-context-gathering'
description: 'Quick context gathering for direct mode - identify files, patterns, dependencies'
workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev'
thisStepFile: '{workflow_path}/steps/step-02-context-gathering.md'
nextStepFile: '{workflow_path}/steps/step-03-execute.md'
---
# Step 2: Context Gathering (Direct Mode)
**Goal:** Quickly gather context for direct instructions - files, patterns, dependencies.
**Note:** This step only runs for Mode B (direct instructions). If `{execution_mode}` is "tech-spec", this step was skipped.
---
## AVAILABLE STATE
From step-01:
- `{baseline_commit}` - Git HEAD at workflow start
- `{execution_mode}` - Should be "direct"
- `{project_context}` - Loaded if exists
---
## EXECUTION SEQUENCE
### 1. Identify Files to Modify
Based on user's direct instructions:
- Search for relevant files using glob/grep
- Identify the specific files that need changes
- Note file locations and purposes
### 2. Find Relevant Patterns
Examine the identified files and their surroundings:
- Code style and conventions used
- Existing patterns for similar functionality
- Import/export patterns
- Error handling approaches
- Test patterns (if tests exist nearby)
### 3. Note Dependencies
Identify:
- External libraries used
- Internal module dependencies
- Configuration files that may need updates
- Related files that might be affected
### 4. Create Mental Plan
Synthesize gathered context into:
- List of tasks to complete
- Acceptance criteria (inferred from user request)
- Order of operations
- Files to touch
---
## PRESENT PLAN
Display to user:
```
**Context Gathered:**
**Files to modify:**
- {list files}
**Patterns identified:**
- {key patterns}
**Plan:**
1. {task 1}
2. {task 2}
...
**Inferred AC:**
- {acceptance criteria}
Ready to execute? (y/n/adjust)
```
- **y:** Proceed to execution
- **n:** Gather more context or clarify
- **adjust:** Modify the plan based on feedback
---
## NEXT STEP DIRECTIVE
**CRITICAL:** When user confirms ready, explicitly state:
- **y:** "**NEXT:** Loading `step-03-execute.md`"
- **n/adjust:** Continue gathering context, then re-present plan
---
## SUCCESS METRICS
- Files to modify identified
- Relevant patterns documented
- Dependencies noted
- Mental plan created with tasks and AC
- User confirmed readiness to proceed
## FAILURE MODES
- Executing this step when Mode A (tech-spec)
- Proceeding without identifying files to modify
- Not presenting plan for user confirmation
- Missing obvious patterns in existing code

View File

@ -0,0 +1,113 @@
---
name: 'step-03-execute'
description: 'Execute implementation - iterate through tasks, write code, run tests'
workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev'
thisStepFile: '{workflow_path}/steps/step-03-execute.md'
nextStepFile: '{workflow_path}/steps/step-04-self-check.md'
---
# Step 3: Execute Implementation
**Goal:** Implement all tasks, write tests, follow patterns, handle errors.
**Critical:** Continue through ALL tasks without stopping for milestones.
---
## AVAILABLE STATE
From previous steps:
- `{baseline_commit}` - Git HEAD at workflow start
- `{execution_mode}` - "tech-spec" or "direct"
- `{tech_spec_path}` - Tech-spec file (if Mode A)
- `{project_context}` - Project patterns (if exists)
From context:
- Mode A: Tasks and AC extracted from tech-spec
- Mode B: Tasks and AC from step-02 mental plan
---
## EXECUTION LOOP
For each task:
### 1. Load Context
- Read files relevant to this task
- Review patterns from project-context or observed code
- Understand dependencies
### 2. Implement
- Write code following existing patterns
- Handle errors appropriately
- Follow conventions observed in codebase
- Add appropriate comments where non-obvious
### 3. Test
- Write tests if appropriate for the change
- Run existing tests to catch regressions
- Verify the specific AC for this task
### 4. Mark Complete
- Check off task: `- [x] Task N`
- Continue to next task immediately
---
## HALT CONDITIONS
**HALT and request guidance if:**
- 3 consecutive failures on same task
- Tests fail and fix is not obvious
- Blocking dependency discovered
- Ambiguity that requires user decision
**Do NOT halt for:**
- Minor issues that can be noted and continued
- Warnings that don't block functionality
- Style preferences (follow existing patterns)
---
## CONTINUOUS EXECUTION
**Critical:** Do not stop between tasks for approval.
- Execute all tasks in sequence
- Only halt for blocking issues
- Tests failing = fix before continuing
- Track all completed work for self-check
---
## NEXT STEP
When ALL tasks are complete (or halted on blocker), load `step-04-self-check.md`.
---
## SUCCESS METRICS
- All tasks attempted
- Code follows existing patterns
- Error handling appropriate
- Tests written where appropriate
- Tests passing
- No unnecessary halts
## FAILURE MODES
- Stopping for approval between tasks
- Ignoring existing patterns
- Not running tests after changes
- Giving up after first failure
- Not following project-context rules (if exists)

View File

@ -0,0 +1,113 @@
---
name: 'step-04-self-check'
description: 'Self-audit implementation against tasks, tests, AC, and patterns'
workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev'
thisStepFile: '{workflow_path}/steps/step-04-self-check.md'
nextStepFile: '{workflow_path}/steps/step-05-adversarial-review.md'
---
# Step 4: Self-Check
**Goal:** Audit completed work against tasks, tests, AC, and patterns before external review.
---
## AVAILABLE STATE
From previous steps:
- `{baseline_commit}` - Git HEAD at workflow start
- `{execution_mode}` - "tech-spec" or "direct"
- `{tech_spec_path}` - Tech-spec file (if Mode A)
- `{project_context}` - Project patterns (if exists)
---
## SELF-CHECK AUDIT
### 1. Tasks Complete
Verify all tasks are marked complete:
- [ ] All tasks from tech-spec or mental plan marked `[x]`
- [ ] No tasks skipped without documented reason
- [ ] Any blocked tasks have clear explanation
### 2. Tests Passing
Verify test status:
- [ ] All existing tests still pass
- [ ] New tests written for new functionality
- [ ] No test warnings or skipped tests without reason
### 3. Acceptance Criteria Satisfied
For each AC:
- [ ] AC is demonstrably met
- [ ] Can explain how implementation satisfies AC
- [ ] Edge cases considered
### 4. Patterns Followed
Verify code quality:
- [ ] Follows existing code patterns in codebase
- [ ] Follows project-context rules (if exists)
- [ ] Error handling consistent with codebase
- [ ] No obvious code smells introduced
---
## UPDATE TECH-SPEC (Mode A only)
If `{execution_mode}` is "tech-spec":
1. Load `{tech_spec_path}`
2. Mark all tasks as `[x]` complete
3. Update status to "Implementation Complete"
4. Save changes
---
## IMPLEMENTATION SUMMARY
Present summary to transition to review:
```
**Implementation Complete!**
**Summary:** {what was implemented}
**Files Modified:** {list of files}
**Tests:** {test summary - passed/added/etc}
**AC Status:** {all satisfied / issues noted}
Proceeding to adversarial code review...
```
---
## NEXT STEP
Proceed immediately to `step-05-adversarial-review.md`.
---
## SUCCESS METRICS
- All tasks verified complete
- All tests passing
- All AC satisfied
- Patterns followed
- Tech-spec updated (if Mode A)
- Summary presented
## FAILURE MODES
- Claiming tasks complete when they're not
- Not running tests before proceeding
- Missing AC verification
- Ignoring pattern violations
- Not updating tech-spec status (Mode A)

View File

@ -0,0 +1,106 @@
---
name: 'step-05-adversarial-review'
description: 'Construct diff and invoke adversarial review task'
workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev'
thisStepFile: '{workflow_path}/steps/step-05-adversarial-review.md'
nextStepFile: '{workflow_path}/steps/step-06-resolve-findings.md'
---
# Step 5: Adversarial Code Review
**Goal:** Construct diff of all changes, invoke adversarial review task, present findings.
---
## AVAILABLE STATE
From previous steps:
- `{baseline_commit}` - Git HEAD at workflow start (CRITICAL for diff)
- `{execution_mode}` - "tech-spec" or "direct"
- `{tech_spec_path}` - Tech-spec file (if Mode A)
---
### 1. Construct Diff
Build complete diff of all changes since workflow started.
### If `{baseline_commit}` is a Git commit hash:
**Tracked File Changes:**
```bash
git diff {baseline_commit}
```
**New Untracked Files:**
Only include untracked files that YOU created during this workflow (steps 2-4).
Do not include pre-existing untracked files.
For each new file created, include its full content as a "new file" addition.
### If `{baseline_commit}` is "NO_GIT":
Use best-effort diff construction:
- List all files you modified during steps 2-4
- For each file, show the changes you made (before/after if you recall, or just current state)
- Include any new files you created with their full content
- Note: This is less precise than Git diff but still enables meaningful review
### Capture as {diff_output}
Merge all changes into `{diff_output}`.
**Note:** Do NOT `git add` anything - this is read-only inspection.
---
### 2. Invoke Adversarial Review
With `{diff_output}` constructed, invoke the review task. If possible, use information asymmetry: run this step, and only it, in a separate subagent or process with read access to the project, but no context except the `{diff_output}`.
```xml
<invoke-task>Review {diff_output} using {project-root}/_bmad/core/tasks/review-adversarial-general.xml</invoke-task>
```
**Platform fallback:** If task invocation not available, load the task file and execute its instructions inline, passing `{diff_output}` as the content.
The task should: review `{diff_output}` and return a list of findings.
---
### 3. Process Findings
Capture the findings from the task output.
**If zero findings:** HALT - this is suspicious. Re-analyze or request user guidance.
Evaluate severity (Critical, High, Medium, Low) and validity (real, noise, undecided).
DO NOT exclude findings based on severity or validity unless explicitly asked to do so.
Order findings by severity.
Number the ordered findings (F1, F2, F3, etc.).
If WriteTodos or similar tool is available, turn each finding into a TODO, include ID, severity, validity, and description in the todo; otherwise present findings as a table with columns: ID, Severity, Validity, Description
---
## NEXT STEP
With findings in hand, load `step-06-resolve-findings.md` for user to choose resolution approach.
---
## SUCCESS METRICS
- Diff constructed from baseline_commit
- New files included in diff
- Task invoked with diff as input
- Findings received
- Findings processed into TODOs or table and presented to user
## FAILURE MODES
- Missing baseline_commit (can't construct accurate diff)
- Not including new untracked files in diff
- Invoking task without providing diff input
- Accepting zero findings without questioning
- Presenting fewer findings than the review task returned without explicit instruction to do so

View File

@ -0,0 +1,140 @@
---
name: 'step-06-resolve-findings'
description: 'Handle review findings interactively, apply fixes, update tech-spec with final status'
workflow_path: '{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev'
thisStepFile: '{workflow_path}/steps/step-06-resolve-findings.md'
---
# Step 6: Resolve Findings
**Goal:** Handle adversarial review findings interactively, apply fixes, finalize tech-spec.
---
## AVAILABLE STATE
From previous steps:
- `{baseline_commit}` - Git HEAD at workflow start
- `{execution_mode}` - "tech-spec" or "direct"
- `{tech_spec_path}` - Tech-spec file (if Mode A)
- Findings table from step-05
---
## RESOLUTION OPTIONS
Present choice to user:
```
How would you like to handle these findings?
**[1] Walk through** - Discuss each finding individually
**[2] Auto-fix** - Automatically fix issues classified as "real"
**[3] Skip** - Acknowledge and proceed to commit
```
---
## OPTION 1: WALK THROUGH
For each finding in order:
1. Present the finding with context
2. Ask: **fix now / skip / discuss**
3. If fix: Apply the fix immediately
4. If skip: Note as acknowledged, continue
5. If discuss: Provide more context, re-ask
6. Move to next finding
After all findings processed, summarize what was fixed/skipped.
---
## OPTION 2: AUTO-FIX
1. Filter findings to only those classified as "real"
2. Apply fixes for each real finding
3. Report what was fixed:
```
**Auto-fix Applied:**
- F1: {description of fix}
- F3: {description of fix}
...
Skipped (noise/uncertain): F2, F4
```
---
## OPTION 3: SKIP
1. Acknowledge all findings were reviewed
2. Note that user chose to proceed without fixes
3. Continue to completion
---
## UPDATE TECH-SPEC (Mode A only)
If `{execution_mode}` is "tech-spec":
1. Load `{tech_spec_path}`
2. Update status to "Completed"
3. Add review notes:
```
## Review Notes
- Adversarial review completed
- Findings: {count} total, {fixed} fixed, {skipped} skipped
- Resolution approach: {walk-through/auto-fix/skip}
```
4. Save changes
---
## COMPLETION OUTPUT
```
**Review complete. Ready to commit.**
**Implementation Summary:**
- {what was implemented}
- Files modified: {count}
- Tests: {status}
- Review findings: {X} addressed, {Y} skipped
{Explain what was implemented based on user_skill_level}
```
---
## WORKFLOW COMPLETE
This is the final step. The Quick Dev workflow is now complete.
User can:
- Commit changes
- Run additional tests
- Start new Quick Dev session
---
## SUCCESS METRICS
- User presented with resolution options
- Chosen approach executed correctly
- Fixes applied cleanly (if applicable)
- Tech-spec updated with final status (Mode A)
- Completion summary provided
- User understands what was implemented
## FAILURE MODES
- Not presenting resolution options
- Auto-fixing "noise" or "uncertain" findings
- Not updating tech-spec after resolution (Mode A)
- No completion summary
- Leaving user unclear on next steps

View File

@ -0,0 +1,51 @@
---
name: quick-dev
description: 'Flexible development - execute tech-specs OR direct instructions with optional planning.'
---
# Quick Dev Workflow
**Goal:** Execute implementation tasks efficiently, either from a tech-spec or direct user instructions.
**Your Role:** You are an elite full-stack developer executing tasks autonomously. Follow patterns, ship code, run tests. Every response moves the project forward.
---
## WORKFLOW ARCHITECTURE
This uses **step-file architecture** for focused execution:
- Each step loads fresh to combat "lost in the middle"
- State persists via variables: `{baseline_commit}`, `{execution_mode}`, `{tech_spec_path}`
- Sequential progression through implementation phases
---
## INITIALIZATION
### Configuration Loading
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
- `user_name`, `communication_language`, `user_skill_level`
- `output_folder`, `sprint_artifacts`
- `date` as system-generated current datetime
### Paths
- `installed_path` = `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev`
- `project_context` = `**/project-context.md` (load if exists)
- `project_levels` = `{project-root}/_bmad/bmm/workflows/workflow-status/project-levels.yaml`
### Related Workflows
- `create_tech_spec_workflow` = `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml`
- `workflow_init` = `{project-root}/_bmad/bmm/workflows/workflow-status/init/workflow.yaml`
- `party_mode_exec` = `{project-root}/_bmad/core/workflows/party-mode/workflow.md`
- `advanced_elicitation` = `{project-root}/_bmad/core/tasks/advanced-elicitation.xml`
---
## EXECUTION
Load and execute `steps/step-01-mode-detection.md` to begin the workflow.

View File

@ -1,35 +0,0 @@
# Quick-Flow: Quick-Dev
name: quick-dev
description: "Flexible development - execute tech-specs OR direct instructions with optional planning."
author: "BMad"
# Config
config_source: "{project-root}/_bmad/bmm/config.yaml"
implementation_artifacts: "{config_source}:implementation_artifacts"
planning_artifacts: "{config_source}:planning_artifacts"
project_knowledge: "{config_source}:project_knowledge"
output_folder: "{implementation_artifacts}"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
user_skill_level: "{config_source}:user_skill_level"
date: system-generated
# Project context
project_context: "**/project-context.md"
# Workflow components
installed_path: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-dev"
instructions: "{installed_path}/instructions.md"
checklist: "{installed_path}/checklist.md"
# Related workflows
create_tech_spec_workflow: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml"
party_mode_exec: "{project-root}/_bmad/core/workflows/party-mode/workflow.md"
advanced_elicitation: "{project-root}/_bmad/core/tasks/advanced-elicitation.xml"
# Routing resources (lazy-loaded)
project_levels: "{project-root}/_bmad/bmm/workflows/workflow-status/project-levels.yaml"
workflow_init: "{project-root}/_bmad/bmm/workflows/workflow-status/init/workflow.yaml"
standalone: true
web_bundle: false

View File

@ -1,7 +1,7 @@
# Document Project Workflow Router
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/document-project/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/document-project/workflow.yaml</critical>
<critical>Communicate all responses in {communication_language}</critical>
<workflow>

View File

@ -28,8 +28,8 @@ This step will generate content and present choices for each rule category:
## PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
- User accepts/rejects protocol changes before proceeding

View File

@ -1,6 +1,6 @@
# Workflow Init - Project Setup Instructions
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: workflow-init/workflow.yaml</critical>
<critical>Communicate in {communication_language} with {user_name}</critical>
<critical>This workflow handles BOTH new projects AND legacy projects following the BMad Method</critical>

View File

@ -1,7 +1,7 @@
# Workflow Status Check - Multi-Mode Service
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/workflow-status/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml</critical>
<critical>This workflow operates in multiple modes: interactive (default), validate, data, init-check, update</critical>
<critical>Other workflows can call this as a service to avoid duplicating status logic</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>

View File

@ -1,7 +1,7 @@
# Design Thinking Workflow Instructions
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project_root}/\_bmad/cis/workflows/design-thinking/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project_root}/_bmad/cis/workflows/design-thinking/workflow.yaml</critical>
<critical>Load and understand design methods from: {design_methods}</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>

View File

@ -1,7 +1,7 @@
# Innovation Strategy Workflow Instructions
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project_root}/\_bmad/cis/workflows/innovation-strategy/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project_root}/_bmad/cis/workflows/innovation-strategy/workflow.yaml</critical>
<critical>Load and understand innovation frameworks from: {innovation_frameworks}</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>

View File

@ -1,7 +1,7 @@
# Problem Solving Workflow Instructions
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project_root}/\_bmad/cis/workflows/problem-solving/workflow.yaml</critical>
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {project_root}/_bmad/cis/workflows/problem-solving/workflow.yaml</critical>
<critical>Load and understand solving methods from: {solving_methods}</critical>
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>

View File

@ -1,283 +0,0 @@
const chalk = require('chalk');
const path = require('node:path');
const fs = require('fs-extra');
const { YamlXmlBuilder } = require('../lib/agent/yaml-xml-builder');
const { getProjectRoot } = require('../lib/project-root');
const builder = new YamlXmlBuilder();
/**
* Find .claude directory by searching up from current directory
*/
async function findClaudeDir(startDir) {
let currentDir = startDir;
const root = path.parse(currentDir).root;
while (currentDir !== root) {
const claudeDir = path.join(currentDir, '.claude');
if (await fs.pathExists(claudeDir)) {
return claudeDir;
}
currentDir = path.dirname(currentDir);
}
return null;
}
module.exports = {
command: 'build [agent]',
description: 'Build agent XML files from YAML sources',
options: [
['-a, --all', 'Build all agents'],
['-d, --directory <path>', 'Project directory', '.'],
],
action: async (agentName, options) => {
try {
let projectDir = path.resolve(options.directory);
// Auto-detect .claude directory (search up from current dir)
const claudeDir = await findClaudeDir(projectDir);
if (!claudeDir) {
console.log(chalk.yellow('\n⚠ No .claude directory found'));
console.log(chalk.dim('Run this command from your project directory or'));
console.log(chalk.dim('use --directory flag to specify location'));
console.log(chalk.dim('\nExample: npx bmad-method build pm --directory /path/to/project'));
process.exit(1);
}
// Use the directory containing .claude
projectDir = path.dirname(claudeDir);
console.log(chalk.dim(`Using project: ${projectDir}\n`));
console.log(chalk.cyan('🔨 Building Agent Files\n'));
if (options.all) {
// Build all agents
await buildAllAgents(projectDir);
} else if (agentName) {
// Build specific agent
await buildAgent(projectDir, agentName);
} else {
// No agent specified, list available agents
console.log(chalk.yellow('No agent specified. Use --all to build all agents or specify an agent name.'));
console.log(chalk.dim('\nAvailable agents:'));
await listAvailableAgents(projectDir);
}
process.exit(0);
} catch (error) {
console.error(chalk.red('\nError:'), error.message);
if (process.env.DEBUG) {
console.error(error.stack);
}
process.exit(1);
}
},
};
/**
* Build a specific agent
*/
async function buildAgent(projectDir, agentName) {
// First check standalone agents in bmad/agents/{agentname}/
const standaloneAgentDir = path.join(projectDir, '_bmad', 'agents', agentName);
let standaloneYamlPath = path.join(standaloneAgentDir, `${agentName}.agent.yaml`);
// If exact match doesn't exist, look for any .agent.yaml file in the directory
if (!(await fs.pathExists(standaloneYamlPath)) && (await fs.pathExists(standaloneAgentDir))) {
const files = await fs.readdir(standaloneAgentDir);
const agentFile = files.find((f) => f.endsWith('.agent.yaml'));
if (agentFile) {
standaloneYamlPath = path.join(standaloneAgentDir, agentFile);
}
}
if (await fs.pathExists(standaloneYamlPath)) {
const yamlFileName = path.basename(standaloneYamlPath, '.agent.yaml');
const outputPath = path.join(standaloneAgentDir, `${yamlFileName}.md`);
// Build the standalone agent
console.log(chalk.cyan(` Building standalone agent ${agentName}...`));
const customizePath = path.join(projectDir, '_bmad', '_config', 'agents', `${agentName}.customize.yaml`);
const customizeExists = await fs.pathExists(customizePath);
await builder.buildAgent(standaloneYamlPath, customizeExists ? customizePath : null, outputPath, { includeMetadata: true });
console.log(chalk.green(`${agentName} built successfully (standalone)`));
return;
}
// Find the agent YAML file in .claude/commands/bmad/
const bmadCommandsDir = path.join(projectDir, '.claude', 'commands', '_bmad');
// Search all module directories for the agent
const modules = await fs.readdir(bmadCommandsDir);
let found = false;
for (const module of modules) {
const agentYamlPath = path.join(bmadCommandsDir, module, 'agents', `${agentName}.agent.yaml`);
const outputPath = path.join(bmadCommandsDir, module, 'agents', `${agentName}.md`);
if (await fs.pathExists(agentYamlPath)) {
found = true;
// Build the agent
console.log(chalk.cyan(` Building ${agentName}...`));
const customizePath = path.join(projectDir, '.claude', '_config', 'agents', `${agentName}.customize.yaml`);
const customizeExists = await fs.pathExists(customizePath);
await builder.buildAgent(agentYamlPath, customizeExists ? customizePath : null, outputPath, { includeMetadata: true });
console.log(chalk.green(`${agentName} built successfully`));
return;
}
}
if (!found) {
console.log(chalk.yellow(` ⚠️ Agent '${agentName}' not found`));
console.log(chalk.dim(' Available agents:'));
await listAvailableAgents(projectDir);
}
}
/**
* Build all agents
*/
async function buildAllAgents(projectDir) {
let builtCount = 0;
// First, build standalone agents in bmad/agents/
const standaloneAgentsDir = path.join(projectDir, '_bmad', 'agents');
if (await fs.pathExists(standaloneAgentsDir)) {
console.log(chalk.cyan('\nBuilding standalone agents...'));
const agentDirs = await fs.readdir(standaloneAgentsDir);
for (const agentDirName of agentDirs) {
const agentDir = path.join(standaloneAgentsDir, agentDirName);
// Skip if not a directory
const stat = await fs.stat(agentDir);
if (!stat.isDirectory()) {
continue;
}
// Find any .agent.yaml file in the directory
const files = await fs.readdir(agentDir);
const agentFile = files.find((f) => f.endsWith('.agent.yaml'));
if (!agentFile) {
continue;
}
const agentYamlPath = path.join(agentDir, agentFile);
const agentName = path.basename(agentFile, '.agent.yaml');
const outputPath = path.join(agentDir, `${agentName}.md`);
console.log(chalk.cyan(` Building standalone agent ${agentName}...`));
const customizePath = path.join(projectDir, '_bmad', '_config', 'agents', `${agentName}.customize.yaml`);
const customizeExists = await fs.pathExists(customizePath);
await builder.buildAgent(agentYamlPath, customizeExists ? customizePath : null, outputPath, { includeMetadata: true });
console.log(chalk.green(`${agentName} (standalone)`));
builtCount++;
}
}
// Then, build module agents in .claude/commands/bmad/
const bmadCommandsDir = path.join(projectDir, '.claude', 'commands', 'bmad');
if (await fs.pathExists(bmadCommandsDir)) {
console.log(chalk.cyan('\nBuilding module agents...'));
const modules = await fs.readdir(bmadCommandsDir);
for (const module of modules) {
const agentsDir = path.join(bmadCommandsDir, module, 'agents');
if (!(await fs.pathExists(agentsDir))) {
continue;
}
const files = await fs.readdir(agentsDir);
for (const file of files) {
if (!file.endsWith('.agent.yaml')) {
continue;
}
const agentName = file.replace('.agent.yaml', '');
const agentYamlPath = path.join(agentsDir, file);
const outputPath = path.join(agentsDir, `${agentName}.md`);
console.log(chalk.cyan(` Building ${agentName}...`));
const customizePath = path.join(projectDir, '.claude', '_config', 'agents', `${agentName}.customize.yaml`);
const customizeExists = await fs.pathExists(customizePath);
await builder.buildAgent(agentYamlPath, customizeExists ? customizePath : null, outputPath, { includeMetadata: true });
console.log(chalk.green(`${agentName} (${module})`));
builtCount++;
}
}
}
console.log(chalk.green(`\n✓ Built ${builtCount} agent(s)`));
}
/**
* List available agents
*/
async function listAvailableAgents(projectDir) {
// List standalone agents first
const standaloneAgentsDir = path.join(projectDir, 'bmad', 'agents');
if (await fs.pathExists(standaloneAgentsDir)) {
console.log(chalk.dim(' Standalone agents:'));
const agentDirs = await fs.readdir(standaloneAgentsDir);
for (const agentDirName of agentDirs) {
const agentDir = path.join(standaloneAgentsDir, agentDirName);
// Skip if not a directory
const stat = await fs.stat(agentDir);
if (!stat.isDirectory()) {
continue;
}
// Find any .agent.yaml file in the directory
const files = await fs.readdir(agentDir);
const agentFile = files.find((f) => f.endsWith('.agent.yaml'));
if (agentFile) {
const agentName = path.basename(agentFile, '.agent.yaml');
console.log(chalk.dim(` - ${agentName} (in ${agentDirName}/)`));
}
}
}
// List module agents
const bmadCommandsDir = path.join(projectDir, '.claude', 'commands', 'bmad');
if (await fs.pathExists(bmadCommandsDir)) {
console.log(chalk.dim(' Module agents:'));
const modules = await fs.readdir(bmadCommandsDir);
for (const module of modules) {
const agentsDir = path.join(bmadCommandsDir, module, 'agents');
if (!(await fs.pathExists(agentsDir))) {
continue;
}
const files = await fs.readdir(agentsDir);
for (const file of files) {
if (file.endsWith('.agent.yaml')) {
const agentName = file.replace('.agent.yaml', '');
console.log(chalk.dim(` - ${agentName} (${module})`));
}
}
}
}
}

View File

@ -26,11 +26,12 @@ module.exports = {
const result = await installer.quickUpdate(config);
console.log(chalk.green('\n✨ Quick update complete!'));
console.log(chalk.cyan(`Updated ${result.moduleCount} modules with preserved settings`));
console.log(
chalk.magenta(
"\n📋 Want to see what's new? Check out the changelog: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md",
),
);
// Display version-specific end message
const { MessageLoader } = require('../installers/lib/message-loader');
const messageLoader = new MessageLoader();
messageLoader.displayEndMessage();
process.exit(0);
return;
}
@ -97,6 +98,11 @@ module.exports = {
}
}
// Display version-specific end message from install-messages.yaml
const { MessageLoader } = require('../installers/lib/message-loader');
const messageLoader = new MessageLoader();
messageLoader.displayEndMessage();
process.exit(0);
}
} catch (error) {

View File

@ -1,40 +0,0 @@
const chalk = require('chalk');
const { Installer } = require('../installers/lib/core/installer');
const installer = new Installer();
module.exports = {
command: 'list',
description: 'List available modules',
options: [],
action: async () => {
try {
const result = await installer.getAvailableModules();
const { modules, customModules } = result;
console.log(chalk.cyan('\n📦 Available BMAD Modules:\n'));
for (const module of modules) {
console.log(chalk.bold(` ${module.id}`));
console.log(chalk.dim(` ${module.description}`));
console.log(chalk.dim(` Version: ${module.version}`));
console.log();
}
if (customModules && customModules.length > 0) {
console.log(chalk.cyan('\n🔧 Custom Modules:\n'));
for (const module of customModules) {
console.log(chalk.bold(` ${module.id}`));
console.log(chalk.dim(` ${module.description}`));
console.log(chalk.dim(` Version: ${module.version}`));
console.log();
}
}
process.exit(0);
} catch (error) {
console.error(chalk.red('Error:'), error.message);
process.exit(1);
}
},
};

View File

@ -1,47 +0,0 @@
const chalk = require('chalk');
const { Installer } = require('../installers/lib/core/installer');
const installer = new Installer();
module.exports = {
command: 'status',
description: 'Show installation status',
options: [['-d, --directory <path>', 'Installation directory', '.']],
action: async (options) => {
try {
const status = await installer.getStatus(options.directory);
if (!status.installed) {
console.log(chalk.yellow('\n⚠ No BMAD installation found in:'), options.directory);
console.log(chalk.dim('Run "bmad install" to set up BMAD Method'));
process.exit(0);
}
console.log(chalk.cyan('\n📊 BMAD Installation Status\n'));
console.log(chalk.bold('Location:'), status.path);
console.log(chalk.bold('Version:'), status.version);
console.log(chalk.bold('Core:'), status.hasCore ? chalk.green('✓ Installed') : chalk.red('✗ Not installed'));
if (status.modules.length > 0) {
console.log(chalk.bold('\nModules:'));
for (const mod of status.modules) {
console.log(` ${chalk.green('✓')} ${mod.id} (v${mod.version})`);
}
} else {
console.log(chalk.bold('\nModules:'), chalk.dim('None installed'));
}
if (status.ides.length > 0) {
console.log(chalk.bold('\nConfigured IDEs:'));
for (const ide of status.ides) {
console.log(` ${chalk.green('✓')} ${ide}`);
}
}
process.exit(0);
} catch (error) {
console.error(chalk.red('Error:'), error.message);
process.exit(1);
}
},
};

View File

@ -1,44 +0,0 @@
const chalk = require('chalk');
const path = require('node:path');
const { Installer } = require('../installers/lib/core/installer');
const { UI } = require('../lib/ui');
const installer = new Installer();
const ui = new UI();
module.exports = {
command: 'uninstall',
description: 'Remove BMAD installation',
options: [
['-d, --directory <path>', 'Installation directory', '.'],
['--force', 'Skip confirmation prompt'],
],
action: async (options) => {
try {
const bmadPath = path.join(options.directory, 'bmad');
if (!options.force) {
const { confirm } = await ui.prompt([
{
type: 'confirm',
name: 'confirm',
message: `Are you sure you want to remove BMAD from ${bmadPath}?`,
default: false,
},
]);
if (!confirm) {
console.log('Uninstall cancelled.');
process.exit(0);
}
}
await installer.uninstall(options.directory);
console.log(chalk.green('\n✨ BMAD Method has been uninstalled.'));
process.exit(0);
} catch (error) {
console.error(chalk.red('Uninstall failed:'), error.message);
process.exit(1);
}
},
};

Some files were not shown because too many files have changed in this diff Show More