Compare commits
8 Commits
12dd97fe9b
...
925b715d4f
| Author | SHA1 | Date |
|---|---|---|
|
|
925b715d4f | |
|
|
e4a4f47a1e | |
|
|
4195eb3b30 | |
|
|
c0f5d33c61 | |
|
|
3f76c2de74 | |
|
|
45ff3840a8 | |
|
|
dcaa892ce1 | |
|
|
00a380a03f |
|
|
@ -92,6 +92,3 @@ jobs:
|
||||||
|
|
||||||
- name: Test agent compilation components
|
- name: Test agent compilation components
|
||||||
run: npm run test:install
|
run: npm run test:install
|
||||||
|
|
||||||
- name: Validate web bundles
|
|
||||||
run: npm run validate:bundles
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
### IDE Manager & Base
|
### IDE Manager & Base
|
||||||
|
|
||||||
- @/tools/cli/installers/lib/ide/manager.js - IdeManager class (dynamic handler loading)
|
- @/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
|
### Shared Utilities
|
||||||
|
|
||||||
|
|
@ -116,7 +116,7 @@ Contains:
|
||||||
|
|
||||||
- Add new IDE handler: Create file in /tools/cli/installers/lib/ide/, extend BaseIdeSetup
|
- Add new IDE handler: Create file in /tools/cli/installers/lib/ide/, extend BaseIdeSetup
|
||||||
- Fix installer bug: Check installer.js (94KB - main logic)
|
- 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
|
- Update shared generators: Modify files in /shared/ directory
|
||||||
|
|
||||||
## Relationships
|
## Relationships
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@ Defined in @/tools/cli/lib/platform-codes.js
|
||||||
|
|
||||||
## Common Tasks
|
## 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 IDE sub-module: Create sub-modules/{ide-name}/ with config
|
||||||
- Add new IDE support: Create handler in installers/lib/ide/
|
- Add new IDE support: Create handler in installers/lib/ide/
|
||||||
- Customize module installation: Modify module.yaml
|
- Customize module installation: Modify module.yaml
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ To set up the quiz game by selecting game mode, choosing a category, and prepari
|
||||||
|
|
||||||
### 1. Welcome and Configuration Loading
|
### 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:
|
Present dramatic welcome:
|
||||||
"🎺 _DRAMATIC MUSIC PLAYS_ 🎺
|
"🎺 _DRAMATIC MUSIC PLAYS_ 🎺
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ web_bundle: true
|
||||||
|
|
||||||
### 1. Module Configuration Loading
|
### 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`
|
- `user_name`, `output_folder`, `communication_language`, `document_output_language`
|
||||||
|
|
||||||
|
|
|
||||||
11
package.json
11
package.json
|
|
@ -25,11 +25,10 @@
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"bmad:install": "node tools/cli/bmad-cli.js install",
|
"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",
|
"bundle": "node tools/cli/bundlers/bundle-web.js all",
|
||||||
"flatten": "node tools/flattener/main.js",
|
"flatten": "node tools/flattener/main.js",
|
||||||
"format:check": "prettier --check \"**/*.{js,cjs,mjs,json,md,yaml}\"",
|
"format:check": "prettier --check \"**/*.{js,cjs,mjs,json,yaml}\"",
|
||||||
"format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,md,yaml}\"",
|
"format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,yaml}\"",
|
||||||
"install:bmad": "node tools/cli/bmad-cli.js install",
|
"install:bmad": "node tools/cli/bmad-cli.js install",
|
||||||
"lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
|
"lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
|
||||||
"lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
|
"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:minor": "gh workflow run \"Manual Release\" -f version_bump=minor",
|
||||||
"release:patch": "gh workflow run \"Manual Release\" -f version_bump=patch",
|
"release:patch": "gh workflow run \"Manual Release\" -f version_bump=patch",
|
||||||
"release:watch": "gh run watch",
|
"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:coverage": "c8 --reporter=text --reporter=html npm run test:schemas",
|
||||||
"test:install": "node test/test-installation-components.js",
|
"test:install": "node test/test-installation-components.js",
|
||||||
"test:schemas": "node test/test-agent-schema.js",
|
"test:schemas": "node test/test-agent-schema.js",
|
||||||
"validate:bundles": "node tools/validate-bundles.js",
|
|
||||||
"validate:schemas": "node tools/validate-agent-schema.js"
|
"validate:schemas": "node tools/validate-agent-schema.js"
|
||||||
},
|
},
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
|
|
@ -60,8 +58,7 @@
|
||||||
"npm run format:fix"
|
"npm run format:fix"
|
||||||
],
|
],
|
||||||
"*.md": [
|
"*.md": [
|
||||||
"markdownlint-cli2",
|
"markdownlint-cli2"
|
||||||
"npm run format:fix"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -355,8 +355,8 @@ identity: |
|
||||||
- [ ] Sidecar folder structure created and populated
|
- [ ] Sidecar folder structure created and populated
|
||||||
- [ ] memories.md has clear section structure
|
- [ ] memories.md has clear section structure
|
||||||
- [ ] instructions.md contains core directives
|
- [ ] instructions.md contains core directives
|
||||||
- [ ] Menu actions reference \_bmad/\_memory correctly
|
- [ ] Menu actions reference _bmad/_memory correctly
|
||||||
- [ ] File paths use \_bmad/\_memory/[agentname]-sidecar/ to reference sidecar content
|
- [ ] File paths use _bmad/_memory/[agentname]-sidecar/ to reference sidecar content
|
||||||
- [ ] Install config personalizes sidecar references
|
- [ ] Install config personalizes sidecar references
|
||||||
- [ ] Agent folder named consistently: `{agent-name}/`
|
- [ ] Agent folder named consistently: `{agent-name}/`
|
||||||
- [ ] YAML file named: `{agent-name}.agent.yaml`
|
- [ ] YAML file named: `{agent-name}.agent.yaml`
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ ALL agent types can:
|
||||||
- ✓ Write to {output_folder}, {project-root}, or anywhere on system
|
- ✓ Write to {output_folder}, {project-root}, or anywhere on system
|
||||||
- ✓ Update artifacts and files
|
- ✓ Update artifacts and files
|
||||||
- ✓ Execute bash commands
|
- ✓ Execute bash commands
|
||||||
- ✓ Use core variables (\_bmad, {output_folder}, etc.)
|
- ✓ Use core variables (_bmad, {output_folder}, etc.)
|
||||||
- ✓ Have complex prompts and logic
|
- ✓ Have complex prompts and logic
|
||||||
- ✓ Invoke external tools
|
- ✓ Invoke external tools
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,16 +13,16 @@ description: 'Initialize the [workflow-type] workflow by detecting continuation
|
||||||
|
|
||||||
<!-- Path Definitions -->
|
<!-- 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)
|
# File References (all use {variable} format in file)
|
||||||
|
|
||||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
thisStepFile: `{workflow_path}/steps/step-01-init.md`
|
||||||
nextStepFile: '{workflow_path}/steps/step-02-[step-name].md'
|
nextStepFile: `{workflow_path}/steps/step-02-[step-name].md`
|
||||||
workflowFile: '{workflow_path}/workflow.md'
|
workflowFile: `{workflow_path}/workflow.md`
|
||||||
outputFile: '{output_folder}/[output-file-name]-{project_name}.md'
|
outputFile: `{output_folder}/[output-file-name]-{project_name}.md`
|
||||||
continueFile: '{workflow_path}/steps/step-01b-continue.md'
|
continueFile: `{workflow_path}/steps/step-01b-continue.md`
|
||||||
templateFile: '{workflow_path}/templates/[main-template].md'
|
templateFile: `{workflow_path}/templates/[main-template].md`
|
||||||
|
|
||||||
# Template References
|
# Template References
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ description: 'Handle workflow continuation from previous session'
|
||||||
|
|
||||||
<!-- Path Definitions -->
|
<!-- 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)
|
# File References (all use {variable} format in file)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ description: '[Brief description of what this step accomplishes]'
|
||||||
|
|
||||||
<!-- Path Definitions -->
|
<!-- 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)
|
# 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 )
|
# 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'
|
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||||
partyModeWorkflow: '{project-root}/\_bmad/core/workflows/party-mode/workflow.md'
|
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||||
|
|
||||||
# Template References (if this step uses a specific templates)
|
# Template References (if this step uses a specific templates)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ web_bundle: [true/false] # Set to true for inclusion in web bundle builds
|
||||||
|
|
||||||
### 1. Module Configuration Loading
|
### 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]
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, [MODULE VARS]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ Use this checklist to validate module edits meet BMAD Core standards.
|
||||||
|
|
||||||
- [ ] Web bundles configured in workflow.yaml files
|
- [ ] Web bundles configured in workflow.yaml files
|
||||||
- [ ] All referenced files included in web_bundle_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
|
- [ ] No config_source references in web bundles
|
||||||
- [ ] Invoked workflows included in dependencies
|
- [ ] Invoked workflows included in dependencies
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Edit Module - Module Editor Instructions
|
# Edit Module - Module Editor 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: {project-root}/\_bmad/bmb/workflows/edit-module/workflow.yaml</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>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>The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them</critical>
|
||||||
<critical>Communicate all responses in {communication_language}</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:**
|
**If setting up cross-module integration:**
|
||||||
|
|
||||||
- Identify which workflows from other modules are needed
|
- 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
|
- Document the integration in README
|
||||||
- Ensure dependencies are clear
|
- Ensure dependencies are clear
|
||||||
- Consider adding example usage
|
- Consider adding example usage
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Module Brief Instructions
|
# Module Brief 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: {project-root}/\_bmad/bmb/workflows/module-brief/workflow.yaml</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>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>
|
<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>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -313,7 +313,7 @@ critical_actions:
|
||||||
|
|
||||||
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
|
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
|
||||||
2. **Enforce domain restrictions** - Clear boundaries prevent scope creep
|
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
|
4. **Design for memory growth** - Structure sidecar files for accumulation
|
||||||
5. **Reference past naturally** - Don't dump memory, weave it into conversation
|
5. **Reference past naturally** - Don't dump memory, weave it into conversation
|
||||||
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
|
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
|
||||||
|
|
@ -356,8 +356,8 @@ identity: |
|
||||||
- [ ] Sidecar folder structure created and populated
|
- [ ] Sidecar folder structure created and populated
|
||||||
- [ ] memories.md has clear section structure
|
- [ ] memories.md has clear section structure
|
||||||
- [ ] instructions.md contains core directives
|
- [ ] instructions.md contains core directives
|
||||||
- [ ] Menu actions reference \_bmad/\_memory/[agentname]-sidcar/ correctly if needing sidecar content reference
|
- [ ] 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
|
- [ ] File paths use _bmad/_memory/[agentname]-sidcar/ to reference where the file will be after sidecar content is installed
|
||||||
- [ ] Install config personalizes sidecar references
|
- [ ] Install config personalizes sidecar references
|
||||||
- [ ] Agent folder named consistently: `{agent-name}/`
|
- [ ] Agent folder named consistently: `{agent-name}/`
|
||||||
- [ ] YAML file named: `{agent-name}.agent.yaml`
|
- [ ] YAML file named: `{agent-name}.agent.yaml`
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,7 @@ Create all directories in {bmb_creations_output_folder}/{module_name}/:
|
||||||
3. **tasks/** - For task files (if tasks planned)
|
3. **tasks/** - For task files (if tasks planned)
|
||||||
4. **templates/** - For shared templates
|
4. **templates/** - For shared templates
|
||||||
5. **data/** - For module data
|
5. **data/** - For module data
|
||||||
6. **\_module-installer/** - For installation configuration
|
6. **_module-installer/** - For installation configuration
|
||||||
|
|
||||||
### 4. Create Placeholder README
|
### 4. Create Placeholder README
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,8 +71,8 @@ From step 5, we planned these configuration fields:
|
||||||
|
|
||||||
### 2. Create Installer Directory
|
### 2. Create Installer Directory
|
||||||
|
|
||||||
Ensure \_module-installer directory exists
|
Ensure _module-installer directory exists
|
||||||
Directory: {bmb_creations_output_folder}/{module_name}/\_module-installer/
|
Directory: {bmb_creations_output_folder}/{module_name}/_module-installer/
|
||||||
|
|
||||||
### 3. Create module.yaml
|
### 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."
|
"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
|
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."
|
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
|
Add note about what assets to include
|
||||||
|
|
||||||
### 6. Document Installer Setup
|
### 6. Document Installer Setup
|
||||||
|
|
@ -131,7 +131,7 @@ Update module-plan.md with installer section:
|
||||||
|
|
||||||
1. User runs: `bmad install {module_name}`
|
1. User runs: `bmad install {module_name}`
|
||||||
2. Installer asks: [list of questions]
|
2. Installer asks: [list of questions]
|
||||||
3. Creates: \_bmad/{module_name}/
|
3. Creates: _bmad/{module_name}/
|
||||||
4. Generates: config.yaml with user settings
|
4. Generates: config.yaml with user settings
|
||||||
|
|
||||||
### Validation
|
### Validation
|
||||||
|
|
|
||||||
|
|
@ -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"
|
menu: # Core interactions - multi: "[CH] Chat with Caravaggio or [SPM] Start Party Mode"
|
||||||
triggers: - party-mode:
|
triggers: - party-mode:
|
||||||
input: SPM or fuzzy match start 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
|
data: what's being discussed, plus custom party agents if specified
|
||||||
type: exec - expert-chat:
|
type: exec - expert-chat:
|
||||||
input: CH or fuzzy match validate agent
|
input: CH or fuzzy match validate agent
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,11 @@ This document provides the validation criteria used in step-11-validate.md to en
|
||||||
- [ ] tasks/ - Task files (if needed)
|
- [ ] tasks/ - Task files (if needed)
|
||||||
- [ ] templates/ - Shared templates
|
- [ ] templates/ - Shared templates
|
||||||
- [ ] data/ - Module data
|
- [ ] data/ - Module data
|
||||||
- [ ] \_module-installer/ - Installation config
|
- [ ] _module-installer/ - Installation config
|
||||||
- [ ] README.md - Module documentation
|
- [ ] README.md - Module documentation
|
||||||
- [ ] module.yaml - module config file
|
- [ ] module.yaml - module config file
|
||||||
|
|
||||||
### Optional File in \_module-installer/
|
### Optional File in _module-installer/
|
||||||
|
|
||||||
- [ ] installer.js - Custom logic (if needed)
|
- [ ] installer.js - Custom logic (if needed)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||||
|
|
||||||
### 1. Module Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 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 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`
|
- 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:
|
## FILE GENERATION SEQUENCE:
|
||||||
|
|
||||||
|
|
@ -117,7 +117,7 @@ Load and follow {workflowTemplate}:
|
||||||
|
|
||||||
- Create workflow.md using template structure
|
- Create workflow.md using template structure
|
||||||
- Insert workflow name and description
|
- 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
|
- Set web_bundle flag to true unless user has indicated otherwise
|
||||||
- Define role and goal
|
- Define role and goal
|
||||||
- Include initialization path to step-01
|
- Include initialization path to step-01
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ For each deviation:
|
||||||
- Configuration Loading uses correct path format: `{project-root}/_bmad/[module]/config.yaml` (variable substitution pattern)
|
- 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
|
- First step follows pattern: `step-01-init.md` OR documented deviation
|
||||||
- Required config variables properly listed
|
- 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:
|
For violations:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
||||||
<critical>Communicate all responses in {communication_language}</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>
|
<critical>This is a meta-workflow that orchestrates the CIS brainstorming workflow with game-specific context and additional game design techniques</critical>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Game Brief - Interactive Workflow Instructions
|
# 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>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>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>Generate all documents in {document_output_language}</critical>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<workflow>
|
<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>You MUST have already completed the GDD workflow</critical>
|
||||||
<critical>Communicate all responses in {communication_language}</critical>
|
<critical>Communicate all responses in {communication_language}</critical>
|
||||||
<critical>This workflow creates detailed narrative content for story-driven games</critical>
|
<critical>This workflow creates detailed narrative content for story-driven games</critical>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<workflow name="architecture">
|
<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>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>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>
|
<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).
|
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.
|
Please run the PRD workflow first to define your requirements.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,8 @@ This step will generate content and present choices for each rule category:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode
|
- 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
|
- 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
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Change Navigation Checklist
|
# 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>
|
<critical>Work through each section systematically with the user, recording findings and impacts</critical>
|
||||||
|
|
||||||
<checklist>
|
<checklist>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Correct Course - Sprint Change Management Instructions
|
# Correct Course - Sprint Change Management 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: {project-root}/\_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml</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>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>Generate all documents in {document_output_language}</critical>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Retrospective - Epic Completion Review Instructions
|
# Retrospective - Epic Completion Review 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: {project-root}/\_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml</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>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>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>
|
<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>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Sprint Planning - Sprint Status Generator
|
# Sprint Planning - Sprint Status Generator
|
||||||
|
|
||||||
<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: {project-root}/\_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml</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
|
## 📚 Document Discovery - Full Epic Loading
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Sprint Status - Multi-Mode Service
|
# Sprint Status - Multi-Mode Service
|
||||||
|
|
||||||
<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: {project-root}/\_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml</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>Modes: interactive (default), validate, data</critical>
|
||||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines.</critical>
|
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines.</critical>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Workflow Init - Game Project Setup Instructions
|
# 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>You MUST have already loaded and processed: workflow-init/workflow.yaml</critical>
|
||||||
<critical>Communicate in {communication_language} with {user_name}</critical>
|
<critical>Communicate in {communication_language} with {user_name}</critical>
|
||||||
<critical>This workflow handles BOTH new game projects AND existing game projects</critical>
|
<critical>This workflow handles BOTH new game projects AND existing game projects</critical>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Workflow Status Check - Multi-Mode Service (BMGD)
|
# Workflow Status Check - Multi-Mode Service (BMGD)
|
||||||
|
|
||||||
<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: {project-root}/\_bmad/bmgd/workflows/workflow-status/workflow.yaml</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>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>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>
|
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions.</critical>
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -160,7 +160,7 @@ Show the generated core experience content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced experience insights that come back
|
||||||
- Ask user: "Accept these improvements to the core experience definition? (y/n)"
|
- 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
|
- 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):
|
#### 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
|
- Process the collaborative experience improvements that come back
|
||||||
- Ask user: "Accept these changes to the core experience definition? (y/n)"
|
- 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
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -163,7 +163,7 @@ Show the generated emotional response content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced emotional insights that come back
|
||||||
- Ask user: "Accept these improvements to the emotional response definition? (y/n)"
|
- 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
|
- 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):
|
#### 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
|
- Process the collaborative emotional insights that come back
|
||||||
- Ask user: "Accept these changes to the emotional response definition? (y/n)"
|
- 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
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -178,7 +178,7 @@ Show the generated inspiration analysis content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced pattern insights that come back
|
||||||
- Ask user: "Accept these improvements to the inspiration analysis? (y/n)"
|
- Ask user: "Accept these improvements to the inspiration analysis? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative pattern insights that come back
|
||||||
- Ask user: "Accept these changes to the inspiration analysis? (y/n)"
|
- Ask user: "Accept these changes to the inspiration analysis? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -196,7 +196,7 @@ Show the generated design system content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced design system insights that come back
|
||||||
- Ask user: "Accept these improvements to the design system decision? (y/n)"
|
- 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
|
- 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):
|
#### 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
|
- Process the collaborative design system insights that come back
|
||||||
- Ask user: "Accept these changes to the design system decision? (y/n)"
|
- 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
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -198,7 +198,7 @@ Show the generated defining experience content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced experience insights that come back
|
||||||
- Ask user: "Accept these improvements to the defining experience? (y/n)"
|
- Ask user: "Accept these improvements to the defining experience? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative experience insights that come back
|
||||||
- Ask user: "Accept these changes to the defining experience? (y/n)"
|
- Ask user: "Accept these changes to the defining experience? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -168,7 +168,7 @@ Show the generated visual foundation content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced visual insights that come back
|
||||||
- Ask user: "Accept these improvements to the visual foundation? (y/n)"
|
- Ask user: "Accept these improvements to the visual foundation? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative visual insights that come back
|
||||||
- Ask user: "Accept these changes to the visual foundation? (y/n)"
|
- Ask user: "Accept these changes to the visual foundation? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -168,7 +168,7 @@ Show the generated design direction content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced design insights that come back
|
||||||
- Ask user: "Accept these improvements to the design direction? (y/n)"
|
- Ask user: "Accept these improvements to the design direction? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative design insights that come back
|
||||||
- Ask user: "Accept these changes to the design direction? (y/n)"
|
- Ask user: "Accept these changes to the design direction? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -186,7 +186,7 @@ Show the generated user journey content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced journey insights that come back
|
||||||
- Ask user: "Accept these improvements to the user journeys? (y/n)"
|
- Ask user: "Accept these improvements to the user journeys? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative journey insights that come back
|
||||||
- Ask user: "Accept these changes to the user journeys? (y/n)"
|
- Ask user: "Accept these changes to the user journeys? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -192,7 +192,7 @@ Show the generated component strategy content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced component insights that come back
|
||||||
- Ask user: "Accept these improvements to the component strategy? (y/n)"
|
- Ask user: "Accept these improvements to the component strategy? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative component insights that come back
|
||||||
- Ask user: "Accept these changes to the component strategy? (y/n)"
|
- Ask user: "Accept these changes to the component strategy? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -181,7 +181,7 @@ Show the generated UX patterns content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced pattern insights that come back
|
||||||
- Ask user: "Accept these improvements to the UX patterns? (y/n)"
|
- Ask user: "Accept these improvements to the UX patterns? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative pattern insights that come back
|
||||||
- Ask user: "Accept these changes to the UX patterns? (y/n)"
|
- Ask user: "Accept these changes to the UX patterns? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- 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):
|
#### 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
|
- Process the enhanced insights that come back
|
||||||
- Ask user: "Accept these improvements to the responsive/accessibility strategy? (y/n)"
|
- 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
|
- 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):
|
#### 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
|
- Process the collaborative insights that come back
|
||||||
- Ask user: "Accept these changes to the responsive/accessibility strategy? (y/n)"
|
- 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
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -228,7 +228,7 @@ Show the generated content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced success metrics that come back
|
||||||
- Ask user: "Accept these improvements to the success criteria? (y/n)"
|
- Ask user: "Accept these improvements to the success criteria? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative improvements to metrics and scope
|
||||||
- Ask user: "Accept these changes to the success criteria? (y/n)"
|
- Ask user: "Accept these changes to the success criteria? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -222,7 +222,7 @@ Show the generated journey content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced journey insights that come back
|
||||||
- Ask user: "Accept these improvements to the user journeys? (y/n)"
|
- Ask user: "Accept these improvements to the user journeys? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative journey improvements and additions
|
||||||
- Ask user: "Accept these changes to the user journeys? (y/n)"
|
- Ask user: "Accept these changes to the user journeys? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -207,7 +207,7 @@ Show the generated domain content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced domain insights that come back
|
||||||
- Ask user: "Accept these domain requirement improvements? (y/n)"
|
- Ask user: "Accept these domain requirement improvements? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative domain expertise and validation
|
||||||
- Ask user: "Accept these changes to domain requirements? (y/n)"
|
- Ask user: "Accept these changes to domain requirements? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -186,7 +186,7 @@ Show the generated innovation content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced innovation insights that come back
|
||||||
- Ask user: "Accept these improvements to the innovation analysis? (y/n)"
|
- Ask user: "Accept these improvements to the innovation analysis? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative innovation exploration and ideation
|
||||||
- Ask user: "Accept these changes to the innovation analysis? (y/n)"
|
- Ask user: "Accept these changes to the innovation analysis? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -182,7 +182,7 @@ Show the generated project-type content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced technical insights that come back
|
||||||
- Ask user: "Accept these improvements to the technical requirements? (y/n)"
|
- Ask user: "Accept these improvements to the technical requirements? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative technical expertise and validation
|
||||||
- Ask user: "Accept these changes to the technical requirements? (y/n)"
|
- Ask user: "Accept these changes to the technical requirements? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 '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
|
- 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
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -243,7 +243,7 @@ Show the scoping decisions and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process enhanced scoping insights that come back
|
||||||
- Ask user: "Accept these improvements to the scoping decisions? (y/n)"
|
- Ask user: "Accept these improvements to the scoping decisions? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process collaborative insights on MVP and roadmap decisions
|
||||||
- Ask user: "Accept these changes to the scoping decisions? (y/n)"
|
- Ask user: "Accept these changes to the scoping decisions? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- If yes: Update content, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -209,7 +209,7 @@ Show the generated functional requirements and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced capability coverage that comes back
|
||||||
- Ask user: "Accept these additions to the functional requirements? (y/n)"
|
- Ask user: "Accept these additions to the functional requirements? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process the collaborative capability validation and additions
|
||||||
- Ask user: "Accept these changes to the functional requirements? (y/n)"
|
- Ask user: "Accept these changes to the functional requirements? (y/n)"
|
||||||
- If yes: Update content with improvements, then return to A/P/C menu
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||||
- PROTOCOLS always return to this step's A/P/C menu
|
- PROTOCOLS always return to this step's A/P/C menu
|
||||||
- User accepts/rejects protocol changes before proceeding
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -209,7 +209,7 @@ Show the generated NFR content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced quality attribute insights that come back
|
||||||
- Ask user: "Accept these improvements to the non-functional requirements? (y/n)"
|
- 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
|
- 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):
|
#### 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
|
- Process the collaborative technical validation and additions
|
||||||
- Ask user: "Accept these changes to the non-functional requirements? (y/n)"
|
- 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
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ web_bundle: false
|
||||||
|
|
||||||
### 1. Module Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -58,14 +58,14 @@ Discover and load context documents using smart discovery:
|
||||||
|
|
||||||
**PRD Document (Priority: Analysis → Main → Sharded → Whole):**
|
**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`
|
2. If no main files: Check for sharded PRD folder: `**/*prd*/**/*.md`
|
||||||
3. If sharded folder exists: Load EVERY file in that folder completely
|
3. If sharded folder exists: Load EVERY file in that folder completely
|
||||||
4. Add discovered files to `inputDocuments` frontmatter
|
4. Add discovered files to `inputDocuments` frontmatter
|
||||||
|
|
||||||
**Epics/Stories Document (Priority: Analysis → Main → Sharded → Whole):**
|
**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`
|
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`
|
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
|
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):**
|
**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`
|
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
|
3. If sharded folder exists: Load EVERY file in that folder completely
|
||||||
4. Add discovered files to `inputDocuments` frontmatter
|
4. Add discovered files to `inputDocuments` frontmatter
|
||||||
|
|
||||||
**Research Documents (Priority: Analysis → Main):**
|
**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`
|
2. If no files: Try folder: `{output_folder}/*research*.md`
|
||||||
3. Add discovered files to `inputDocuments` frontmatter
|
3. Add discovered files to `inputDocuments` frontmatter
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 '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
|
- 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
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -169,7 +169,7 @@ Show the generated content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process the enhanced architectural insights that come back
|
||||||
- Ask user: "Accept these enhancements to the project context analysis? (y/n)"
|
- 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
|
- 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):
|
#### 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
|
- Process the collaborative improvements to architectural understanding
|
||||||
- Ask user: "Accept these changes to the project context analysis? (y/n)"
|
- 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
|
- If yes: Update content with improvements, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 '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
|
- 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
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,8 @@ This step will generate content and present choices for each decision category:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 '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
|
- 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
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -263,7 +263,7 @@ Show the generated decisions content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process enhanced insights about particular decisions
|
||||||
- Ask user: "Accept these enhancements to the architectural decisions? (y/n)"
|
- Ask user: "Accept these enhancements to the architectural decisions? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process collaborative insights about decision trade-offs
|
||||||
- Ask user: "Accept these changes to the architectural decisions? (y/n)"
|
- Ask user: "Accept these changes to the architectural decisions? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- If yes: Update content, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 '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
|
- 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
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -304,7 +304,7 @@ Show the generated patterns content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process enhanced consistency rules that come back
|
||||||
- Ask user: "Accept these additional pattern refinements? (y/n)"
|
- Ask user: "Accept these additional pattern refinements? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process collaborative insights about potential conflicts
|
||||||
- Ask user: "Accept these changes to the implementation patterns? (y/n)"
|
- Ask user: "Accept these changes to the implementation patterns? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- If yes: Update content, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 '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
|
- 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
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -324,7 +324,7 @@ Show the generated project structure content and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process enhanced organizational insights that come back
|
||||||
- Ask user: "Accept these changes to the project structure? (y/n)"
|
- Ask user: "Accept these changes to the project structure? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process collaborative insights about organization trade-offs
|
||||||
- Ask user: "Accept these changes to the project structure? (y/n)"
|
- Ask user: "Accept these changes to the project structure? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- If yes: Update content, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,8 @@ This step will generate content and present choices:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- 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 '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
|
- 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
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
@ -304,7 +304,7 @@ Show the validation results and present choices:
|
||||||
|
|
||||||
#### If 'A' (Advanced Elicitation):
|
#### 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
|
- Process enhanced solutions for complex concerns
|
||||||
- Ask user: "Accept these architectural improvements? (y/n)"
|
- Ask user: "Accept these architectural improvements? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- 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):
|
#### 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
|
- Process collaborative insights on implementation readiness
|
||||||
- Ask user: "Accept these changes to the validation results? (y/n)"
|
- Ask user: "Accept these changes to the validation results? (y/n)"
|
||||||
- If yes: Update content, then return to A/P/C menu
|
- If yes: Update content, then return to A/P/C menu
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 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`
|
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Change Navigation Checklist
|
# 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>
|
<critical>Work through each section systematically with the user, recording findings and impacts</critical>
|
||||||
|
|
||||||
<checklist>
|
<checklist>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Correct Course - Sprint Change Management Instructions
|
# Correct Course - Sprint Change Management 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: {project-root}/\_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml</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>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>Generate all documents in {document_output_language}</critical>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Retrospective - Epic Completion Review Instructions
|
# Retrospective - Epic Completion Review 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: {project-root}/\_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml</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>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>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>
|
<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>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Sprint Planning - Sprint Status Generator
|
# Sprint Planning - Sprint Status Generator
|
||||||
|
|
||||||
<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: {project-root}/\_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml</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
|
## 📚 Document Discovery - Full Epic Loading
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Sprint Status - Multi-Mode Service
|
# Sprint Status - Multi-Mode Service
|
||||||
|
|
||||||
<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: {project-root}/\_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml</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>Modes: interactive (default), validate, data</critical>
|
||||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines.</critical>
|
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines.</critical>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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>
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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)
|
||||||
|
|
@ -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)
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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.
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Document Project Workflow Router
|
# Document Project Workflow Router
|
||||||
|
|
||||||
<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: {project-root}/\_bmad/bmm/workflows/document-project/workflow.yaml</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>
|
<critical>Communicate all responses in {communication_language}</critical>
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,8 @@ This step will generate content and present choices for each rule category:
|
||||||
|
|
||||||
## PROTOCOL INTEGRATION:
|
## PROTOCOL INTEGRATION:
|
||||||
|
|
||||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode
|
- 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
|
- 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
|
- User accepts/rejects protocol changes before proceeding
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Workflow Init - Project Setup Instructions
|
# 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>You MUST have already loaded and processed: workflow-init/workflow.yaml</critical>
|
||||||
<critical>Communicate in {communication_language} with {user_name}</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>
|
<critical>This workflow handles BOTH new projects AND legacy projects following the BMad Method</critical>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Workflow Status Check - Multi-Mode Service
|
# Workflow Status Check - Multi-Mode Service
|
||||||
|
|
||||||
<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: {project-root}/\_bmad/bmm/workflows/workflow-status/workflow.yaml</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>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>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>
|
<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>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Design Thinking Workflow Instructions
|
# Design Thinking 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: {project_root}/\_bmad/cis/workflows/design-thinking/workflow.yaml</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>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>⚠️ 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>
|
<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>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Innovation Strategy Workflow Instructions
|
# Innovation Strategy 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: {project_root}/\_bmad/cis/workflows/innovation-strategy/workflow.yaml</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>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>⚠️ 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>
|
<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>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Problem Solving Workflow Instructions
|
# Problem Solving 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: {project_root}/\_bmad/cis/workflows/problem-solving/workflow.yaml</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>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>⚠️ 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>
|
<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>
|
||||||
|
|
|
||||||
|
|
@ -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})`));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -26,11 +26,12 @@ module.exports = {
|
||||||
const result = await installer.quickUpdate(config);
|
const result = await installer.quickUpdate(config);
|
||||||
console.log(chalk.green('\n✨ Quick update complete!'));
|
console.log(chalk.green('\n✨ Quick update complete!'));
|
||||||
console.log(chalk.cyan(`Updated ${result.moduleCount} modules with preserved settings`));
|
console.log(chalk.cyan(`Updated ${result.moduleCount} modules with preserved settings`));
|
||||||
console.log(
|
|
||||||
chalk.magenta(
|
// Display version-specific end message
|
||||||
"\n📋 Want to see what's new? Check out the changelog: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md",
|
const { MessageLoader } = require('../installers/lib/message-loader');
|
||||||
),
|
const messageLoader = new MessageLoader();
|
||||||
);
|
messageLoader.displayEndMessage();
|
||||||
|
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
return;
|
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);
|
process.exit(0);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
||||||
|
|
@ -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);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
@ -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);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
@ -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
Loading…
Reference in New Issue