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
|
||||
run: npm run test:install
|
||||
|
||||
- name: Validate web bundles
|
||||
run: npm run validate:bundles
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
### IDE Manager & Base
|
||||
|
||||
- @/tools/cli/installers/lib/ide/manager.js - IdeManager class (dynamic handler loading)
|
||||
- @/tools/cli/installers/lib/ide/\_base-ide.js - BaseIdeSetup class (all handlers extend this)
|
||||
- @/tools/cli/installers/lib/ide/_base-ide.js - BaseIdeSetup class (all handlers extend this)
|
||||
|
||||
### Shared Utilities
|
||||
|
||||
|
|
@ -116,7 +116,7 @@ Contains:
|
|||
|
||||
- Add new IDE handler: Create file in /tools/cli/installers/lib/ide/, extend BaseIdeSetup
|
||||
- Fix installer bug: Check installer.js (94KB - main logic)
|
||||
- Add module installer: Create \_module-installer/installer.js if custom installer logic needed
|
||||
- Add module installer: Create _module-installer/installer.js if custom installer logic needed
|
||||
- Update shared generators: Modify files in /shared/ directory
|
||||
|
||||
## Relationships
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ Defined in @/tools/cli/lib/platform-codes.js
|
|||
|
||||
## Common Tasks
|
||||
|
||||
- Create new module installer: Add \_module-installer/installer.js
|
||||
- Create new module installer: Add _module-installer/installer.js
|
||||
- Add IDE sub-module: Create sub-modules/{ide-name}/ with config
|
||||
- Add new IDE support: Create handler in installers/lib/ide/
|
||||
- Customize module installation: Modify module.yaml
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ To set up the quiz game by selecting game mode, choosing a category, and prepari
|
|||
|
||||
### 1. Welcome and Configuration Loading
|
||||
|
||||
Load config from {project-root}/\_bmad/bmb/config.yaml to get user_name.
|
||||
Load config from {project-root}/_bmad/bmb/config.yaml to get user_name.
|
||||
|
||||
Present dramatic welcome:
|
||||
"🎺 _DRAMATIC MUSIC PLAYS_ 🎺
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ web_bundle: true
|
|||
|
||||
### 1. Module Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
- `user_name`, `output_folder`, `communication_language`, `document_output_language`
|
||||
|
||||
|
|
|
|||
11
package.json
11
package.json
|
|
@ -25,11 +25,10 @@
|
|||
},
|
||||
"scripts": {
|
||||
"bmad:install": "node tools/cli/bmad-cli.js install",
|
||||
"bmad:status": "node tools/cli/bmad-cli.js status",
|
||||
"bundle": "node tools/cli/bundlers/bundle-web.js all",
|
||||
"flatten": "node tools/flattener/main.js",
|
||||
"format:check": "prettier --check \"**/*.{js,cjs,mjs,json,md,yaml}\"",
|
||||
"format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,md,yaml}\"",
|
||||
"format:check": "prettier --check \"**/*.{js,cjs,mjs,json,yaml}\"",
|
||||
"format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,yaml}\"",
|
||||
"install:bmad": "node tools/cli/bmad-cli.js install",
|
||||
"lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
|
||||
"lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
|
||||
|
|
@ -40,11 +39,10 @@
|
|||
"release:minor": "gh workflow run \"Manual Release\" -f version_bump=minor",
|
||||
"release:patch": "gh workflow run \"Manual Release\" -f version_bump=patch",
|
||||
"release:watch": "gh run watch",
|
||||
"test": "npm run test:schemas && npm run test:install && npm run validate:bundles && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
|
||||
"test": "npm run test:schemas && npm run test:install && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
|
||||
"test:coverage": "c8 --reporter=text --reporter=html npm run test:schemas",
|
||||
"test:install": "node test/test-installation-components.js",
|
||||
"test:schemas": "node test/test-agent-schema.js",
|
||||
"validate:bundles": "node tools/validate-bundles.js",
|
||||
"validate:schemas": "node tools/validate-agent-schema.js"
|
||||
},
|
||||
"lint-staged": {
|
||||
|
|
@ -60,8 +58,7 @@
|
|||
"npm run format:fix"
|
||||
],
|
||||
"*.md": [
|
||||
"markdownlint-cli2",
|
||||
"npm run format:fix"
|
||||
"markdownlint-cli2"
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
- [ ] memories.md has clear section structure
|
||||
- [ ] instructions.md contains core directives
|
||||
- [ ] Menu actions reference \_bmad/\_memory correctly
|
||||
- [ ] File paths use \_bmad/\_memory/[agentname]-sidecar/ to reference sidecar content
|
||||
- [ ] Menu actions reference _bmad/_memory correctly
|
||||
- [ ] File paths use _bmad/_memory/[agentname]-sidecar/ to reference sidecar content
|
||||
- [ ] Install config personalizes sidecar references
|
||||
- [ ] Agent folder named consistently: `{agent-name}/`
|
||||
- [ ] YAML file named: `{agent-name}.agent.yaml`
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ ALL agent types can:
|
|||
- ✓ Write to {output_folder}, {project-root}, or anywhere on system
|
||||
- ✓ Update artifacts and files
|
||||
- ✓ Execute bash commands
|
||||
- ✓ Use core variables (\_bmad, {output_folder}, etc.)
|
||||
- ✓ Use core variables (_bmad, {output_folder}, etc.)
|
||||
- ✓ Have complex prompts and logic
|
||||
- ✓ Invoke external tools
|
||||
|
||||
|
|
|
|||
|
|
@ -13,16 +13,16 @@ description: 'Initialize the [workflow-type] workflow by detecting continuation
|
|||
|
||||
<!-- Path Definitions -->
|
||||
|
||||
workflow\*path: '{project-root}/\_bmad/[module-path]/workflows/[workflow-name]'
|
||||
workflow\*path: `{project-root}/_bmad/[module-path]/workflows/[workflow-name]`
|
||||
|
||||
# File References (all use {variable} format in file)
|
||||
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-[step-name].md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/[output-file-name]-{project_name}.md'
|
||||
continueFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
templateFile: '{workflow_path}/templates/[main-template].md'
|
||||
thisStepFile: `{workflow_path}/steps/step-01-init.md`
|
||||
nextStepFile: `{workflow_path}/steps/step-02-[step-name].md`
|
||||
workflowFile: `{workflow_path}/workflow.md`
|
||||
outputFile: `{output_folder}/[output-file-name]-{project_name}.md`
|
||||
continueFile: `{workflow_path}/steps/step-01b-continue.md`
|
||||
templateFile: `{workflow_path}/templates/[main-template].md`
|
||||
|
||||
# Template References
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ description: 'Handle workflow continuation from previous session'
|
|||
|
||||
<!-- Path Definitions -->
|
||||
|
||||
workflow\*path: '{project-root}/\_bmad/[module-path]/workflows/[workflow-name]'
|
||||
workflow\*path: '{project-root}/_bmad/[module-path]/workflows/[workflow-name]'
|
||||
|
||||
# File References (all use {variable} format in file)
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ description: '[Brief description of what this step accomplishes]'
|
|||
|
||||
<!-- Path Definitions -->
|
||||
|
||||
workflow\*path: '{project-root}/\_bmad/[module]/reference/workflows/[workflow-name]' # the folder the workflow.md file is in
|
||||
workflow\*path: '{project-root}/_bmad/[module]/reference/workflows/[workflow-name]' # the folder the workflow.md file is in
|
||||
|
||||
# File References (all use {variable} format in file)
|
||||
|
||||
|
|
@ -23,8 +23,8 @@ outputFile: '{output_folder}/[output-file-name]-{project_name}.md'
|
|||
|
||||
# Task References (IF THE workflow uses and it makes sense in this step to have these )
|
||||
|
||||
advancedElicitationTask: '{project-root}/\_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/\_bmad/core/workflows/party-mode/workflow.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
# Template References (if this step uses a specific templates)
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ web_bundle: [true/false] # Set to true for inclusion in web bundle builds
|
|||
|
||||
### 1. Module Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/[MODULE FOLDER]/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/[MODULE FOLDER]/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, [MODULE VARS]
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
|||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/{{targetModule}}/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/{{targetModule}}/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
|||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/core/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/core/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ Use this checklist to validate module edits meet BMAD Core standards.
|
|||
|
||||
- [ ] Web bundles configured in workflow.yaml files
|
||||
- [ ] All referenced files included in web_bundle_files
|
||||
- [ ] Paths are \_bmad/-relative (not project-root)
|
||||
- [ ] Paths are _bmad/-relative (not project-root)
|
||||
- [ ] No config_source references in web bundles
|
||||
- [ ] Invoked workflows included in dependencies
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Edit Module - Module Editor Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmb/workflows/edit-module/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmb/workflows/edit-module/workflow.yaml</critical>
|
||||
<critical>This workflow uses ADAPTIVE FACILITATION - adjust your communication based on context and user needs</critical>
|
||||
<critical>The goal is COLLABORATIVE IMPROVEMENT - work WITH the user, not FOR them</critical>
|
||||
<critical>Communicate all responses in {communication_language}</critical>
|
||||
|
|
@ -186,7 +186,7 @@ Let the conversation flow naturally. Build a shared vision of what "better" look
|
|||
**If setting up cross-module integration:**
|
||||
|
||||
- Identify which workflows from other modules are needed
|
||||
- Show how to reference workflows properly: {project-root}/\_bmad/{{module}}/workflows/{{workflow}}/workflow.yaml
|
||||
- Show how to reference workflows properly: {project-root}/_bmad/{{module}}/workflows/{{workflow}}/workflow.yaml
|
||||
- Document the integration in README
|
||||
- Ensure dependencies are clear
|
||||
- Consider adding example usage
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Module Brief Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmb/workflows/module-brief/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmb/workflows/module-brief/workflow.yaml</critical>
|
||||
<critical>Communicate in {communication_language} throughout the module brief creation process</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
|||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level`
|
||||
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ critical_actions:
|
|||
|
||||
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
|
||||
2. **Enforce domain restrictions** - Clear boundaries prevent scope creep
|
||||
3. **Use \_bmad/\_memory/[agentname]-sidcar/ paths** - For reference to any sidecar content
|
||||
3. **Use _bmad/_memory/[agentname]-sidcar/ paths** - For reference to any sidecar content
|
||||
4. **Design for memory growth** - Structure sidecar files for accumulation
|
||||
5. **Reference past naturally** - Don't dump memory, weave it into conversation
|
||||
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
|
||||
|
|
@ -356,8 +356,8 @@ identity: |
|
|||
- [ ] Sidecar folder structure created and populated
|
||||
- [ ] memories.md has clear section structure
|
||||
- [ ] instructions.md contains core directives
|
||||
- [ ] Menu actions reference \_bmad/\_memory/[agentname]-sidcar/ correctly if needing sidecar content reference
|
||||
- [ ] File paths use \_bmad/\_memory/[agentname]-sidcar/ to reference where the file will be after sidecar content is installed
|
||||
- [ ] Menu actions reference _bmad/_memory/[agentname]-sidcar/ correctly if needing sidecar content reference
|
||||
- [ ] File paths use _bmad/_memory/[agentname]-sidcar/ to reference where the file will be after sidecar content is installed
|
||||
- [ ] Install config personalizes sidecar references
|
||||
- [ ] Agent folder named consistently: `{agent-name}/`
|
||||
- [ ] YAML file named: `{agent-name}.agent.yaml`
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ Create all directories in {bmb_creations_output_folder}/{module_name}/:
|
|||
3. **tasks/** - For task files (if tasks planned)
|
||||
4. **templates/** - For shared templates
|
||||
5. **data/** - For module data
|
||||
6. **\_module-installer/** - For installation configuration
|
||||
6. **_module-installer/** - For installation configuration
|
||||
|
||||
### 4. Create Placeholder README
|
||||
|
||||
|
|
|
|||
|
|
@ -71,8 +71,8 @@ From step 5, we planned these configuration fields:
|
|||
|
||||
### 2. Create Installer Directory
|
||||
|
||||
Ensure \_module-installer directory exists
|
||||
Directory: {bmb_creations_output_folder}/{module_name}/\_module-installer/
|
||||
Ensure _module-installer directory exists
|
||||
Directory: {bmb_creations_output_folder}/{module_name}/_module-installer/
|
||||
|
||||
### 3. Create module.yaml
|
||||
|
||||
|
|
@ -95,7 +95,7 @@ Does your module need any special setup during installation? For example:
|
|||
|
||||
"I'll create an installer.js file for custom logic."
|
||||
|
||||
Create file: {bmb_creations_output_folder}/{module_name}/\_module-installer/installer.js from {installerTemplate}
|
||||
Create file: {bmb_creations_output_folder}/{module_name}/_module-installer/installer.js from {installerTemplate}
|
||||
|
||||
Update installer.js with module-specific logic
|
||||
|
||||
|
|
@ -105,7 +105,7 @@ Update installer.js with module-specific logic
|
|||
|
||||
If your module needs to copy files during installation (templates, examples, documentation), we can add them to the assets directory."
|
||||
|
||||
Create directory: \_module-installer/assets/
|
||||
Create directory: _module-installer/assets/
|
||||
Add note about what assets to include
|
||||
|
||||
### 6. Document Installer Setup
|
||||
|
|
@ -131,7 +131,7 @@ Update module-plan.md with installer section:
|
|||
|
||||
1. User runs: `bmad install {module_name}`
|
||||
2. Installer asks: [list of questions]
|
||||
3. Creates: \_bmad/{module_name}/
|
||||
3. Creates: _bmad/{module_name}/
|
||||
4. Generates: config.yaml with user settings
|
||||
|
||||
### Validation
|
||||
|
|
|
|||
|
|
@ -264,7 +264,7 @@ Analyze the visual design with my signature dramatic flair
|
|||
menu: # Core interactions - multi: "[CH] Chat with Caravaggio or [SPM] Start Party Mode"
|
||||
triggers: - party-mode:
|
||||
input: SPM or fuzzy match start party mode
|
||||
route: "{project-root}/\_bmad/core/workflows/edit-agent/workflow.md"
|
||||
route: "{project-root}/_bmad/core/workflows/edit-agent/workflow.md"
|
||||
data: what's being discussed, plus custom party agents if specified
|
||||
type: exec - expert-chat:
|
||||
input: CH or fuzzy match validate agent
|
||||
|
|
|
|||
|
|
@ -11,11 +11,11 @@ This document provides the validation criteria used in step-11-validate.md to en
|
|||
- [ ] tasks/ - Task files (if needed)
|
||||
- [ ] templates/ - Shared templates
|
||||
- [ ] data/ - Module data
|
||||
- [ ] \_module-installer/ - Installation config
|
||||
- [ ] _module-installer/ - Installation config
|
||||
- [ ] README.md - Module documentation
|
||||
- [ ] module.yaml - module config file
|
||||
|
||||
### Optional File in \_module-installer/
|
||||
### Optional File in _module-installer/
|
||||
|
||||
- [ ] installer.js - Custom logic (if needed)
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
|||
|
||||
### 1. Module Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`
|
||||
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ To generate all the workflow files (workflow.md, step files, templates, and supp
|
|||
- When building continuable step-01-init.md files, use template `{project-root}/_bmad/bmb/docs/workflows/templates/step-01-init-continuable-template.md`
|
||||
- When building continuation steps, use template `{project-root}/_bmad/bmb/docs/workflows/templates/step-1b-template.md`
|
||||
- When building the main workflow.md file, you must follow template `{project-root}/_bmad/bmb/docs/workflows/templates/workflow-template.md`
|
||||
- Example step files from {project-root}/\_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md for patterns
|
||||
- Example step files from {project-root}/_bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md for patterns
|
||||
|
||||
## FILE GENERATION SEQUENCE:
|
||||
|
||||
|
|
@ -117,7 +117,7 @@ Load and follow {workflowTemplate}:
|
|||
|
||||
- Create workflow.md using template structure
|
||||
- Insert workflow name and description
|
||||
- Configure all path variables ({project-root}, \_bmad, {workflow_path})
|
||||
- Configure all path variables ({project-root}, _bmad, {workflow_path})
|
||||
- Set web_bundle flag to true unless user has indicated otherwise
|
||||
- Define role and goal
|
||||
- Include initialization path to step-01
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
|||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
|||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
|||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ For each deviation:
|
|||
- Configuration Loading uses correct path format: `{project-root}/_bmad/[module]/config.yaml` (variable substitution pattern)
|
||||
- First step follows pattern: `step-01-init.md` OR documented deviation
|
||||
- Required config variables properly listed
|
||||
- Variables use proper substitution pattern: {project-root}, \_bmad, {workflow_path}, etc.
|
||||
- Variables use proper substitution pattern: {project-root}, _bmad, {workflow_path}, etc.
|
||||
|
||||
For violations:
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
|||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
||||
<critical>Communicate all responses in {communication_language}</critical>
|
||||
<critical>This is a meta-workflow that orchestrates the CIS brainstorming workflow with game-specific context and additional game design techniques</critical>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Game Brief - Interactive Workflow Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
||||
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
|
||||
<critical>Generate all documents in {document_output_language}</critical>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<workflow>
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already completed the GDD workflow</critical>
|
||||
<critical>Communicate all responses in {communication_language}</critical>
|
||||
<critical>This workflow creates detailed narrative content for story-driven games</critical>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<workflow name="architecture">
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
||||
<critical>This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level}</critical>
|
||||
<critical>The goal is ARCHITECTURAL DECISIONS that prevent AI agent conflicts, not detailed implementation specs</critical>
|
||||
|
|
@ -74,7 +74,7 @@ For Level {{project_level}}, we'll keep the architecture appropriately scoped.
|
|||
|
||||
Decision Architecture works from your Product Requirements Document (PRD).
|
||||
|
||||
Looking for: _prd_.md, or prd/index.md + files in {output_folder}
|
||||
Looking for: `*prd*.md`, or `prd/index.md` + files in {output_folder}
|
||||
|
||||
Please run the PRD workflow first to define your requirements.
|
||||
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ This step will generate content and present choices for each rule category:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Change Navigation Checklist
|
||||
|
||||
<critical>This checklist is executed as part of: {project-root}/\_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml</critical>
|
||||
<critical>This checklist is executed as part of: {project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml</critical>
|
||||
<critical>Work through each section systematically with the user, recording findings and impacts</critical>
|
||||
|
||||
<checklist>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Correct Course - Sprint Change Management Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/correct-course/workflow.yaml</critical>
|
||||
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
|
||||
<critical>Generate all documents in {document_output_language}</critical>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Retrospective - Epic Completion Review Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/retrospective/workflow.yaml</critical>
|
||||
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
|
||||
<critical>Generate all documents in {document_output_language}</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Sprint Planning - Sprint Status Generator
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/sprint-planning/workflow.yaml</critical>
|
||||
|
||||
## 📚 Document Discovery - Full Epic Loading
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Sprint Status - Multi-Mode Service
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/4-production/sprint-status/workflow.yaml</critical>
|
||||
<critical>Modes: interactive (default), validate, data</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines.</critical>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Workflow Init - Game Project Setup Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: workflow-init/workflow.yaml</critical>
|
||||
<critical>Communicate in {communication_language} with {user_name}</critical>
|
||||
<critical>This workflow handles BOTH new game projects AND existing game projects</critical>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Workflow Status Check - Multi-Mode Service (BMGD)
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmgd/workflows/workflow-status/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmgd/workflows/workflow-status/workflow.yaml</critical>
|
||||
<critical>This workflow operates in multiple modes: interactive (default), validate, data, init-check, update</critical>
|
||||
<critical>Other workflows can call this as a service to avoid duplicating status logic</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions.</critical>
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
|||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level`
|
||||
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -160,7 +160,7 @@ Show the generated core experience content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current core experience content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current core experience content
|
||||
- Process the enhanced experience insights that come back
|
||||
- Ask user: "Accept these improvements to the core experience definition? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -168,7 +168,7 @@ Show the generated core experience content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current core experience definition
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current core experience definition
|
||||
- Process the collaborative experience improvements that come back
|
||||
- Ask user: "Accept these changes to the core experience definition? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -163,7 +163,7 @@ Show the generated emotional response content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current emotional response content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current emotional response content
|
||||
- Process the enhanced emotional insights that come back
|
||||
- Ask user: "Accept these improvements to the emotional response definition? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -171,7 +171,7 @@ Show the generated emotional response content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current emotional response definition
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current emotional response definition
|
||||
- Process the collaborative emotional insights that come back
|
||||
- Ask user: "Accept these changes to the emotional response definition? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -178,7 +178,7 @@ Show the generated inspiration analysis content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current inspiration analysis content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current inspiration analysis content
|
||||
- Process the enhanced pattern insights that come back
|
||||
- Ask user: "Accept these improvements to the inspiration analysis? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -186,7 +186,7 @@ Show the generated inspiration analysis content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current inspiration analysis
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current inspiration analysis
|
||||
- Process the collaborative pattern insights that come back
|
||||
- Ask user: "Accept these changes to the inspiration analysis? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -196,7 +196,7 @@ Show the generated design system content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current design system content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current design system content
|
||||
- Process the enhanced design system insights that come back
|
||||
- Ask user: "Accept these improvements to the design system decision? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -204,7 +204,7 @@ Show the generated design system content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current design system choice
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design system choice
|
||||
- Process the collaborative design system insights that come back
|
||||
- Ask user: "Accept these changes to the design system decision? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -198,7 +198,7 @@ Show the generated defining experience content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current defining experience content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current defining experience content
|
||||
- Process the enhanced experience insights that come back
|
||||
- Ask user: "Accept these improvements to the defining experience? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -206,7 +206,7 @@ Show the generated defining experience content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current defining experience
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current defining experience
|
||||
- Process the collaborative experience insights that come back
|
||||
- Ask user: "Accept these changes to the defining experience? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -168,7 +168,7 @@ Show the generated visual foundation content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current visual foundation content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current visual foundation content
|
||||
- Process the enhanced visual insights that come back
|
||||
- Ask user: "Accept these improvements to the visual foundation? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -176,7 +176,7 @@ Show the generated visual foundation content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current visual foundation
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current visual foundation
|
||||
- Process the collaborative visual insights that come back
|
||||
- Ask user: "Accept these changes to the visual foundation? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -168,7 +168,7 @@ Show the generated design direction content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current design direction content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current design direction content
|
||||
- Process the enhanced design insights that come back
|
||||
- Ask user: "Accept these improvements to the design direction? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -176,7 +176,7 @@ Show the generated design direction content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current design direction
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current design direction
|
||||
- Process the collaborative design insights that come back
|
||||
- Ask user: "Accept these changes to the design direction? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -186,7 +186,7 @@ Show the generated user journey content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current user journey content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current user journey content
|
||||
- Process the enhanced journey insights that come back
|
||||
- Ask user: "Accept these improvements to the user journeys? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -194,7 +194,7 @@ Show the generated user journey content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current user journeys
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current user journeys
|
||||
- Process the collaborative journey insights that come back
|
||||
- Ask user: "Accept these changes to the user journeys? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -192,7 +192,7 @@ Show the generated component strategy content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current component strategy content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current component strategy content
|
||||
- Process the enhanced component insights that come back
|
||||
- Ask user: "Accept these improvements to the component strategy? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -200,7 +200,7 @@ Show the generated component strategy content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current component strategy
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current component strategy
|
||||
- Process the collaborative component insights that come back
|
||||
- Ask user: "Accept these changes to the component strategy? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -181,7 +181,7 @@ Show the generated UX patterns content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current UX patterns content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current UX patterns content
|
||||
- Process the enhanced pattern insights that come back
|
||||
- Ask user: "Accept these improvements to the UX patterns? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -189,7 +189,7 @@ Show the generated UX patterns content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current UX patterns
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current UX patterns
|
||||
- Process the collaborative pattern insights that come back
|
||||
- Ask user: "Accept these changes to the UX patterns? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -208,7 +208,7 @@ Show the generated responsive and accessibility content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current responsive/accessibility content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current responsive/accessibility content
|
||||
- Process the enhanced insights that come back
|
||||
- Ask user: "Accept these improvements to the responsive/accessibility strategy? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -216,7 +216,7 @@ Show the generated responsive and accessibility content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current responsive/accessibility strategy
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current responsive/accessibility strategy
|
||||
- Process the collaborative insights that come back
|
||||
- Ask user: "Accept these changes to the responsive/accessibility strategy? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -228,7 +228,7 @@ Show the generated content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current success criteria content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current success criteria content
|
||||
- Process the enhanced success metrics that come back
|
||||
- Ask user: "Accept these improvements to the success criteria? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -236,7 +236,7 @@ Show the generated content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current success criteria
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current success criteria
|
||||
- Process the collaborative improvements to metrics and scope
|
||||
- Ask user: "Accept these changes to the success criteria? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -222,7 +222,7 @@ Show the generated journey content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current journey content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current journey content
|
||||
- Process the enhanced journey insights that come back
|
||||
- Ask user: "Accept these improvements to the user journeys? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -230,7 +230,7 @@ Show the generated journey content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current journeys
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current journeys
|
||||
- Process the collaborative journey improvements and additions
|
||||
- Ask user: "Accept these changes to the user journeys? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -52,8 +52,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -207,7 +207,7 @@ Show the generated domain content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current domain content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current domain content
|
||||
- Process the enhanced domain insights that come back
|
||||
- Ask user: "Accept these domain requirement improvements? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -215,7 +215,7 @@ Show the generated domain content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current domain requirements
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current domain requirements
|
||||
- Process the collaborative domain expertise and validation
|
||||
- Ask user: "Accept these changes to domain requirements? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -52,8 +52,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -186,7 +186,7 @@ Show the generated innovation content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current innovation content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current innovation content
|
||||
- Process the enhanced innovation insights that come back
|
||||
- Ask user: "Accept these improvements to the innovation analysis? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -194,7 +194,7 @@ Show the generated innovation content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current innovation content
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current innovation content
|
||||
- Process the collaborative innovation exploration and ideation
|
||||
- Ask user: "Accept these changes to the innovation analysis? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -52,8 +52,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -182,7 +182,7 @@ Show the generated project-type content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current project-type content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current project-type content
|
||||
- Process the enhanced technical insights that come back
|
||||
- Ask user: "Accept these improvements to the technical requirements? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -190,7 +190,7 @@ Show the generated project-type content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current project-type requirements
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project-type requirements
|
||||
- Process the collaborative technical expertise and validation
|
||||
- Ask user: "Accept these changes to the technical requirements? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -243,7 +243,7 @@ Show the scoping decisions and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with current scoping analysis
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with current scoping analysis
|
||||
- Process enhanced scoping insights that come back
|
||||
- Ask user: "Accept these improvements to the scoping decisions? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
@ -251,7 +251,7 @@ Show the scoping decisions and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with scoping context
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with scoping context
|
||||
- Process collaborative insights on MVP and roadmap decisions
|
||||
- Ask user: "Accept these changes to the scoping decisions? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -209,7 +209,7 @@ Show the generated functional requirements and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current FR list
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current FR list
|
||||
- Process the enhanced capability coverage that comes back
|
||||
- Ask user: "Accept these additions to the functional requirements? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -217,7 +217,7 @@ Show the generated functional requirements and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current FR list
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current FR list
|
||||
- Process the collaborative capability validation and additions
|
||||
- Ask user: "Accept these changes to the functional requirements? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -209,7 +209,7 @@ Show the generated NFR content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current NFR content
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current NFR content
|
||||
- Process the enhanced quality attribute insights that come back
|
||||
- Ask user: "Accept these improvements to the non-functional requirements? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -217,7 +217,7 @@ Show the generated NFR content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current NFR list
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current NFR list
|
||||
- Process the collaborative technical validation and additions
|
||||
- Ask user: "Accept these changes to the non-functional requirements? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ web_bundle: false
|
|||
|
||||
### 1. Module Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`
|
||||
|
||||
|
|
|
|||
|
|
@ -58,14 +58,14 @@ Discover and load context documents using smart discovery:
|
|||
|
||||
**PRD Document (Priority: Analysis → Main → Sharded → Whole):**
|
||||
|
||||
1. Check analysis folders: {output*folder} and {planning_artifacts} for a \_prd*.md
|
||||
1. Check analysis folders: {output_folder} and {planning_artifacts} for a `*prd*.md`
|
||||
2. If no main files: Check for sharded PRD folder: `**/*prd*/**/*.md`
|
||||
3. If sharded folder exists: Load EVERY file in that folder completely
|
||||
4. Add discovered files to `inputDocuments` frontmatter
|
||||
|
||||
**Epics/Stories Document (Priority: Analysis → Main → Sharded → Whole):**
|
||||
|
||||
1. Check folders: {output*folder} and {planning_artifacts} for a \_epic*.md
|
||||
1. Check folders: {output_folder} and {planning_artifacts} for a `*epic*.md`
|
||||
2. If no analysis files: Try main folder: `{output_folder}/*epic*.md`
|
||||
3. If no main files: Check for sharded epics folder: `{output_folder}/*epic*/**/*.md`
|
||||
4. If sharded folder exists: Load EVERY file in that folder completely
|
||||
|
|
@ -73,14 +73,14 @@ Discover and load context documents using smart discovery:
|
|||
|
||||
**UX Design Specification (Priority: Analysis → Main → Sharded → Whole):**
|
||||
|
||||
1. Check folders: {output*folder} and {planning_artifacts} for a \_ux*.md
|
||||
1. Check folders: {output_folder} and {planning_artifacts} for a `*ux*.md`
|
||||
2. If no main files: Check for sharded UX folder: `{output_folder}/*ux*/**/*.md`
|
||||
3. If sharded folder exists: Load EVERY file in that folder completely
|
||||
4. Add discovered files to `inputDocuments` frontmatter
|
||||
|
||||
**Research Documents (Priority: Analysis → Main):**
|
||||
|
||||
1. Check folders {output*folder} and {planning_artifacts} for /research/\_research*.md
|
||||
1. Check folders {output_folder} and {planning_artifacts} for `/research/*research*.md`
|
||||
2. If no files: Try folder: `{output_folder}/*research*.md`
|
||||
3. Add discovered files to `inputDocuments` frontmatter
|
||||
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -169,7 +169,7 @@ Show the generated content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with the current context analysis
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with the current context analysis
|
||||
- Process the enhanced architectural insights that come back
|
||||
- Ask user: "Accept these enhancements to the project context analysis? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
@ -177,7 +177,7 @@ Show the generated content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with the current project context
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current project context
|
||||
- Process the collaborative improvements to architectural understanding
|
||||
- Ask user: "Accept these changes to the project context analysis? (y/n)"
|
||||
- If yes: Update content with improvements, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ This step will generate content and present choices for each decision category:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -263,7 +263,7 @@ Show the generated decisions content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with specific decision categories
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with specific decision categories
|
||||
- Process enhanced insights about particular decisions
|
||||
- Ask user: "Accept these enhancements to the architectural decisions? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
@ -271,7 +271,7 @@ Show the generated decisions content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with architectural decisions context
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with architectural decisions context
|
||||
- Process collaborative insights about decision trade-offs
|
||||
- Ask user: "Accept these changes to the architectural decisions? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -304,7 +304,7 @@ Show the generated patterns content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with current patterns
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with current patterns
|
||||
- Process enhanced consistency rules that come back
|
||||
- Ask user: "Accept these additional pattern refinements? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
@ -312,7 +312,7 @@ Show the generated patterns content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with implementation patterns context
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with implementation patterns context
|
||||
- Process collaborative insights about potential conflicts
|
||||
- Ask user: "Accept these changes to the implementation patterns? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -324,7 +324,7 @@ Show the generated project structure content and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with current project structure
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with current project structure
|
||||
- Process enhanced organizational insights that come back
|
||||
- Ask user: "Accept these changes to the project structure? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
@ -332,7 +332,7 @@ Show the generated project structure content and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with project structure context
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with project structure context
|
||||
- Process collaborative insights about organization trade-offs
|
||||
- Ask user: "Accept these changes to the project structure? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ This step will generate content and present choices:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
@ -304,7 +304,7 @@ Show the validation results and present choices:
|
|||
|
||||
#### If 'A' (Advanced Elicitation):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml with validation issues
|
||||
- Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml with validation issues
|
||||
- Process enhanced solutions for complex concerns
|
||||
- Ask user: "Accept these architectural improvements? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
@ -312,7 +312,7 @@ Show the validation results and present choices:
|
|||
|
||||
#### If 'P' (Party Mode):
|
||||
|
||||
- Execute {project-root}/\_bmad/core/workflows/party-mode/workflow.md with validation context
|
||||
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with validation context
|
||||
- Process collaborative insights on implementation readiness
|
||||
- Ask user: "Accept these changes to the validation results? (y/n)"
|
||||
- If yes: Update content, then return to A/P/C menu
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
|||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmm/config.yaml and resolve:
|
||||
Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Change Navigation Checklist
|
||||
|
||||
<critical>This checklist is executed as part of: {project-root}/\_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml</critical>
|
||||
<critical>This checklist is executed as part of: {project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml</critical>
|
||||
<critical>Work through each section systematically with the user, recording findings and impacts</critical>
|
||||
|
||||
<checklist>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Correct Course - Sprint Change Management Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml</critical>
|
||||
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
|
||||
<critical>Generate all documents in {document_output_language}</critical>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Retrospective - Epic Completion Review Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml</critical>
|
||||
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
|
||||
<critical>Generate all documents in {document_output_language}</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Sprint Planning - Sprint Status Generator
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml</critical>
|
||||
|
||||
## 📚 Document Discovery - Full Epic Loading
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Sprint Status - Multi-Mode Service
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml</critical>
|
||||
<critical>Modes: interactive (default), validate, data</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES. Do NOT mention hours, days, weeks, or timelines.</critical>
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/document-project/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/document-project/workflow.yaml</critical>
|
||||
<critical>Communicate all responses in {communication_language}</critical>
|
||||
|
||||
<workflow>
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ This step will generate content and present choices for each rule category:
|
|||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {project-root}/\_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/\_bmad/core/workflows/party-mode
|
||||
- When 'A' selected: Execute {project-root}/_bmad/core/tasks/advanced-elicitation.xml
|
||||
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode
|
||||
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Workflow Init - Project Setup Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: workflow-init/workflow.yaml</critical>
|
||||
<critical>Communicate in {communication_language} with {user_name}</critical>
|
||||
<critical>This workflow handles BOTH new projects AND legacy projects following the BMad Method</critical>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Workflow Status Check - Multi-Mode Service
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/\_bmad/bmm/workflows/workflow-status/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml</critical>
|
||||
<critical>This workflow operates in multiple modes: interactive (default), validate, data, init-check, update</critical>
|
||||
<critical>Other workflows can call this as a service to avoid duplicating status logic</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Design Thinking Workflow Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project_root}/\_bmad/cis/workflows/design-thinking/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project_root}/_bmad/cis/workflows/design-thinking/workflow.yaml</critical>
|
||||
<critical>Load and understand design methods from: {design_methods}</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Innovation Strategy Workflow Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project_root}/\_bmad/cis/workflows/innovation-strategy/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project_root}/_bmad/cis/workflows/innovation-strategy/workflow.yaml</critical>
|
||||
<critical>Load and understand innovation frameworks from: {innovation_frameworks}</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Problem Solving Workflow Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project_root}/\_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project_root}/\_bmad/cis/workflows/problem-solving/workflow.yaml</critical>
|
||||
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {project_root}/_bmad/cis/workflows/problem-solving/workflow.yaml</critical>
|
||||
<critical>Load and understand solving methods from: {solving_methods}</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
console.log(chalk.green('\n✨ Quick update complete!'));
|
||||
console.log(chalk.cyan(`Updated ${result.moduleCount} modules with preserved settings`));
|
||||
console.log(
|
||||
chalk.magenta(
|
||||
"\n📋 Want to see what's new? Check out the changelog: https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md",
|
||||
),
|
||||
);
|
||||
|
||||
// Display version-specific end message
|
||||
const { MessageLoader } = require('../installers/lib/message-loader');
|
||||
const messageLoader = new MessageLoader();
|
||||
messageLoader.displayEndMessage();
|
||||
|
||||
process.exit(0);
|
||||
return;
|
||||
}
|
||||
|
|
@ -97,6 +98,11 @@ module.exports = {
|
|||
}
|
||||
}
|
||||
|
||||
// Display version-specific end message from install-messages.yaml
|
||||
const { MessageLoader } = require('../installers/lib/message-loader');
|
||||
const messageLoader = new MessageLoader();
|
||||
messageLoader.displayEndMessage();
|
||||
|
||||
process.exit(0);
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
|
|||
|
|
@ -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