mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
installer improvements
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
<!-- Powered by BMAD-CORE™ -->
|
||||
---
|
||||
name: 'bmad master'
|
||||
description: 'BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator'
|
||||
---
|
||||
|
||||
# BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator
|
||||
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
||||
|
||||
```xml
|
||||
<agent id="bmad/core/agents/bmad-master.md" name="BMad Master" title="BMad Master Executor, Knowledge Custodian, and Workflow Orchestrator" icon="🧙">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# CORE Module Configuration
|
||||
# Generated by BMAD installer
|
||||
# Version: 6.0.0-alpha.0
|
||||
# Date: 2025-10-18T20:58:29.256Z
|
||||
# Version: 6.0.0-beta.0
|
||||
# Date: 2025-10-28T17:08:48.101Z
|
||||
|
||||
user_name: BMad
|
||||
communication_language: English
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<task id="bmad/core/tasks/index-docs" name="Index Docs" webskip="true">
|
||||
<task id="bmad/core/tasks/index-docs" name="Index Docs"
|
||||
description="Generates or updates an index.md of all documents in the specified directory" webskip="true" standalone="true">
|
||||
<llm critical="true">
|
||||
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
|
||||
<i>DO NOT skip steps or change the sequence</i>
|
||||
@@ -17,7 +18,8 @@
|
||||
</step>
|
||||
|
||||
<step n="3" title="Generate Descriptions">
|
||||
<i>Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the filename</i>
|
||||
<i>Read each file to understand its actual purpose and create brief (3-10 word) descriptions based on the content, not just the
|
||||
filename</i>
|
||||
</step>
|
||||
|
||||
<step n="4" title="Create/Update Index">
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
<flow>
|
||||
<step n="1" title="Setup">
|
||||
<action>If checklist not provided, load checklist.md from workflow location</action>
|
||||
<action>If document not provided, ask user: "Which document should I validate?"</action>
|
||||
<action>Try to fuzzy match for files similar to the input document name or if user did not provide the document. If document not
|
||||
provided or unsure, ask user: "Which document should I validate?"</action>
|
||||
<action>Load both the checklist and document</action>
|
||||
</step>
|
||||
|
||||
|
||||
100
bmad/core/tools/shard-doc.xml
Normal file
100
bmad/core/tools/shard-doc.xml
Normal file
@@ -0,0 +1,100 @@
|
||||
<tool id="bmad/core/tasks/shard-doc" name="Shard Document"
|
||||
description="Splits large markdown documents into smaller, organized files based on level 2 (default) sections" webskip="true"
|
||||
standalone="true">
|
||||
<objective>Split large markdown documents into smaller, organized files based on level 2 sections using @kayvan/markdown-tree-parser tool</objective>
|
||||
|
||||
<llm critical="true">
|
||||
<i>MANDATORY: Execute ALL steps in the flow section IN EXACT ORDER</i>
|
||||
<i>DO NOT skip steps or change the sequence</i>
|
||||
<i>HALT immediately when halt-conditions are met</i>
|
||||
<i>Each action xml tag within step xml tag is a REQUIRED action to complete that step</i>
|
||||
<i>Sections outside flow (validation, output, critical-context) provide essential context - review and apply throughout execution</i>
|
||||
</llm>
|
||||
|
||||
<critical-context>
|
||||
<i>This task ONLY supports automated sharding via @kayvan/markdown-tree-parser</i>
|
||||
<i>The tool automatically handles: section splitting, heading level adjustment, code block detection, index generation</i>
|
||||
<i>All markdown formatting is preserved during sharding</i>
|
||||
</critical-context>
|
||||
|
||||
<flow>
|
||||
<step n="1" title="Verify Tool Installation">
|
||||
<action>Check if @kayvan/markdown-tree-parser is installed globally</action>
|
||||
<action>Run: npm list -g @kayvan/markdown-tree-parser</action>
|
||||
<action if="not installed">Inform user that tool needs to be installed</action>
|
||||
<action if="not installed">Run: npm install -g @kayvan/markdown-tree-parser</action>
|
||||
<action if="installation fails">HALT with error message about npm/node requirements</action>
|
||||
</step>
|
||||
|
||||
<step n="2" title="Get Source Document">
|
||||
<action>Ask user for the source document path if not provided already</action>
|
||||
<action>Verify file exists and is accessible</action>
|
||||
<action>Verify file is markdown format (.md extension)</action>
|
||||
<action if="file not found or not markdown">HALT with error message</action>
|
||||
</step>
|
||||
|
||||
<step n="3" title="Get Destination Folder">
|
||||
<action>Determine default destination: same location as source file, folder named after source file without .md extension</action>
|
||||
<action>Example: /path/to/architecture.md → /path/to/architecture/</action>
|
||||
<action>Ask user for the destination folder path ([y] to confirm use of default: [suggested-path], else enter a new path)</action>
|
||||
<action if="user accepts default">Use the suggested destination path</action>
|
||||
<action if="user provides custom path">Use the custom destination path</action>
|
||||
<action>Verify destination folder exists or can be created</action>
|
||||
<action>Check write permissions for destination</action>
|
||||
<action if="permission denied">HALT with error message</action>
|
||||
</step>
|
||||
|
||||
<step n="4" title="Execute Sharding">
|
||||
<action>Inform user that sharding is beginning</action>
|
||||
<action>Execute command: md-tree explode [source-document] [destination-folder]</action>
|
||||
<action>Capture command output and any errors</action>
|
||||
<action if="command fails">HALT and display error to user</action>
|
||||
</step>
|
||||
|
||||
<step n="5" title="Verify Output">
|
||||
<action>Check that destination folder contains sharded files</action>
|
||||
<action>Verify index.md was created in destination folder</action>
|
||||
<action>Count the number of files created</action>
|
||||
<action if="no files created">HALT with error message</action>
|
||||
</step>
|
||||
|
||||
<step n="6" title="Report Completion">
|
||||
<action>Display completion report to user including:</action>
|
||||
<i>- Source document path and name</i>
|
||||
<i>- Destination folder path</i>
|
||||
<i>- Number of section files created</i>
|
||||
<i>- Confirmation that index.md was created</i>
|
||||
<i>- Any tool output or warnings</i>
|
||||
<action>Inform user that sharding completed successfully</action>
|
||||
</step>
|
||||
</flow>
|
||||
|
||||
<halt-conditions critical="true">
|
||||
<i>HALT if @kayvan/markdown-tree-parser cannot be installed</i>
|
||||
<i>HALT if Node.js or npm is not available</i>
|
||||
<i>HALT if source document does not exist or is inaccessible</i>
|
||||
<i>HALT if source document is not markdown format (.md)</i>
|
||||
<i>HALT if destination folder cannot be created</i>
|
||||
<i>HALT if user does not have write permissions to destination</i>
|
||||
<i>HALT if md-tree explode command fails</i>
|
||||
<i>HALT if no output files were created</i>
|
||||
</halt-conditions>
|
||||
|
||||
<tool-info>
|
||||
<name>@kayvan/markdown-tree-parser</name>
|
||||
<command>md-tree explode [source-document] [destination-folder]</command>
|
||||
<installation>npm install -g @kayvan/markdown-tree-parser</installation>
|
||||
<requirements>
|
||||
<i>Node.js installed</i>
|
||||
<i>npm package manager</i>
|
||||
<i>Global npm installation permissions</i>
|
||||
</requirements>
|
||||
<features>
|
||||
<i>Automatic section splitting by level 2 headings</i>
|
||||
<i>Automatic heading level adjustment</i>
|
||||
<i>Handles edge cases (code blocks, diagrams)</i>
|
||||
<i>Generates navigable index.md</i>
|
||||
<i>Preserves all markdown formatting</i>
|
||||
</features>
|
||||
</tool-info>
|
||||
</tool>
|
||||
@@ -9,19 +9,23 @@
|
||||
<step n="1" goal="Session Setup">
|
||||
|
||||
<action>Check if context data was provided with workflow invocation</action>
|
||||
<check>If data attribute was passed to this workflow:</check>
|
||||
<action>Load the context document from the data file path</action>
|
||||
<action>Study the domain knowledge and session focus</action>
|
||||
<action>Use the provided context to guide the session</action>
|
||||
<action>Acknowledge the focused brainstorming goal</action>
|
||||
<ask response="session_refinement">I see we're brainstorming about the specific domain outlined in the context. What particular aspect would you like to explore?</ask>
|
||||
<check>Else (no context data provided):</check>
|
||||
<action>Proceed with generic context gathering</action>
|
||||
<ask response="session_topic">1. What are we brainstorming about?</ask>
|
||||
<ask response="stated_goals">2. Are there any constraints or parameters we should keep in mind?</ask>
|
||||
<ask>3. Is the goal broad exploration or focused ideation on specific aspects?</ask>
|
||||
|
||||
<check if="data attribute was passed to this workflow">
|
||||
<action>Load the context document from the data file path</action>
|
||||
<action>Study the domain knowledge and session focus</action>
|
||||
<action>Use the provided context to guide the session</action>
|
||||
<action>Acknowledge the focused brainstorming goal</action>
|
||||
<ask response="session_refinement">I see we're brainstorming about the specific domain outlined in the context. What particular aspect would you like to explore?</ask>
|
||||
</check>
|
||||
|
||||
<check if="no context data provided">
|
||||
<action>Proceed with generic context gathering</action>
|
||||
<ask response="session_topic">1. What are we brainstorming about?</ask>
|
||||
<ask response="stated_goals">2. Are there any constraints or parameters we should keep in mind?</ask>
|
||||
<ask>3. Is the goal broad exploration or focused ideation on specific aspects?</ask>
|
||||
|
||||
<critical>Wait for user response before proceeding. This context shapes the entire session.</critical>
|
||||
</check>
|
||||
|
||||
<template-output>session_topic, stated_goals</template-output>
|
||||
|
||||
@@ -40,19 +44,19 @@ Based on the context from Step 1, present these four approach options:
|
||||
Which approach would you prefer? (Enter 1-4)
|
||||
</ask>
|
||||
|
||||
<check>Based on selection, proceed to appropriate sub-step</check>
|
||||
|
||||
<step n="2a" title="User-Selected Techniques" if="selection==1">
|
||||
<action>Load techniques from {brain_techniques} CSV file</action>
|
||||
<action>Parse: category, technique_name, description, facilitation_prompts</action>
|
||||
|
||||
<check>If strong context from Step 1 (specific problem/goal)</check>
|
||||
<action>Identify 2-3 most relevant categories based on stated_goals</action>
|
||||
<action>Present those categories first with 3-5 techniques each</action>
|
||||
<action>Offer "show all categories" option</action>
|
||||
<check if="strong context from Step 1 (specific problem/goal)">
|
||||
<action>Identify 2-3 most relevant categories based on stated_goals</action>
|
||||
<action>Present those categories first with 3-5 techniques each</action>
|
||||
<action>Offer "show all categories" option</action>
|
||||
</check>
|
||||
|
||||
<check>Else (open exploration)</check>
|
||||
<action>Display all 7 categories with helpful descriptions</action>
|
||||
<check if="open exploration">
|
||||
<action>Display all 7 categories with helpful descriptions</action>
|
||||
</check>
|
||||
|
||||
Category descriptions to guide selection:
|
||||
- **Structured:** Systematic frameworks for thorough exploration
|
||||
|
||||
@@ -27,6 +27,8 @@ brain_techniques: "{installed_path}/brain-methods.csv"
|
||||
# Output configuration
|
||||
default_output_file: "{output_folder}/brainstorming-session-results-{{date}}.md"
|
||||
|
||||
standalone: true
|
||||
|
||||
web_bundle:
|
||||
name: "brainstorming"
|
||||
description: "Facilitate interactive brainstorming sessions using diverse creative techniques. This workflow facilitates interactive brainstorming sessions using diverse creative techniques. The session is highly interactive, with the AI acting as a facilitator to guide the user through various ideation methods to generate and refine creative solutions."
|
||||
|
||||
@@ -78,20 +78,23 @@
|
||||
</substep>
|
||||
|
||||
<substep n="3c" goal="Handle Questions and Interactions">
|
||||
<check>If an agent asks the user a direct question:</check>
|
||||
<check if="an agent asks the user a direct question">
|
||||
<action>Clearly highlight the question</action>
|
||||
<action>End that round of responses</action>
|
||||
<action>Display: "[Agent Name]: [Their question]"</action>
|
||||
<action>Display: "[Awaiting user response...]"</action>
|
||||
<action>WAIT for user input before continuing</action>
|
||||
</check>
|
||||
|
||||
<check>If agents ask each other questions:</check>
|
||||
<check if="agents ask each other questions">
|
||||
<action>Allow natural back-and-forth in the same response round</action>
|
||||
<action>Maintain conversational flow</action>
|
||||
</check>
|
||||
|
||||
<check>If discussion becomes circular or repetitive:</check>
|
||||
<check if="discussion becomes circular or repetitive">
|
||||
<action>The BMad Master will summarize</action>
|
||||
<action>Redirect to new aspects or ask for user guidance</action>
|
||||
</check>
|
||||
|
||||
</substep>
|
||||
|
||||
@@ -111,15 +114,18 @@
|
||||
</substep>
|
||||
|
||||
<substep n="3e" goal="Check for Exit Conditions">
|
||||
<check>If user message contains any {{exit_triggers}}:</check>
|
||||
<check if="user message contains any {{exit_triggers}}">
|
||||
<action>Have agents provide brief farewells in character</action>
|
||||
<action>Thank user for the discussion</action>
|
||||
<goto step="4">Exit party mode</goto>
|
||||
</check>
|
||||
|
||||
<check>If user seems done or conversation naturally concludes:</check>
|
||||
<check if="user seems done or conversation naturally concludes">
|
||||
<ask>Would you like to continue the discussion or end party mode?</ask>
|
||||
<check>If user indicates end:</check>
|
||||
<check if="user indicates end">
|
||||
<goto step="4">Exit party mode</goto>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
</substep>
|
||||
</step>
|
||||
|
||||
@@ -18,4 +18,6 @@ exit_triggers:
|
||||
- "end party mode"
|
||||
- "stop party mode"
|
||||
|
||||
standalone: true
|
||||
|
||||
web_bundle: false
|
||||
|
||||
Reference in New Issue
Block a user