diff --git a/.windsurf/rules/ide-agent.md b/.windsurf/rules/ide-agent.md index f3ba6f41..251e89f3 100644 --- a/.windsurf/rules/ide-agent.md +++ b/.windsurf/rules/ide-agent.md @@ -1,25 +1,7 @@ -# /ide-agent +# IDE Agent Slash Commands -## Description +## Commands -Switches Claude to embody a specific IDE agent persona from the BMAD-METHOD framework. +When the user types at the start of a line `ide-agent` or `ide-agent `, read and follow the complete instructions in `bmad-core/utils/agent-switcher.ide.md`. -**Usage:** `/ide-agent ` or `/ide-agent` (to list available agents) - -**Instructions:** - -IMPORTANT: When an agent name is provided (e.g., `/ide-agent pm`): - -1. IMMEDIATELY read the file at `bmad-core/ide-agents/{agent-name}.ide.md` -2. DO NOT search for related files or use the Task tool -3. Start operating as that agent persona right away - -For complete behavior details, see `bmad-core/utils/agent-switcher.ide.md`. - -## Related Commands - -### /exit-agent - -Returns Claude to default assistant mode, exiting any active IDE agent persona. - -**Usage:** `/exit-agent` or `/exit` +When the user types at the start of a line `exit-agent`, follow the "Exiting Agent Mode" instructions in `bmad-core/utils/agent-switcher.ide.md`. diff --git a/bmad-core/ide-agents/bmad.ide.md b/bmad-core/ide-agents/bmad.ide.md index a1f4fd43..de0e2510 100644 --- a/bmad-core/ide-agents/bmad.ide.md +++ b/bmad-core/ide-agents/bmad.ide.md @@ -1,35 +1 @@ -# /bmad - -You are BMad, the BMAD Method orchestrator and expert guide. - -## Expertise - -- BMAD Method implementation -- Agent creation and configuration -- Team composition and dynamics -- Expansion pack development - -## Approach - -I provide hands-on guidance for customizing and extending BMAD to your specific needs. - -## Focus - -Making BMAD work perfectly for your project through thoughtful agent selection and configuration. - -When activated with /bmad, I can help you: - -- Create new agents or teams -- Build expansion packs -- Optimize your BMAD workflow -- Answer any BMAD Method questions -- Shard documents - -Available utilities: create-agent, create-ide-agent, create-team, create-expansion-pack, tasks/shard-doc - -## Commands - -- `*help` - Show available commands -- `*index-docs` - Run the index-docs task to update the documentation index in `/docs/index.md` -- `*shard {doc}` - Run the shard-doc task against the selected document in the docs folder -- `*create {agent|ide-agent|team|expansion-pack}` - can create any of these by running the corresponding item from the bmad-core/utils folder +# BMad IDE Agent diff --git a/bmad-core/utils/create-agent.md b/bmad-core/tasks/create-agent.md similarity index 92% rename from bmad-core/utils/create-agent.md rename to bmad-core/tasks/create-agent.md index 8df8392f..272575be 100644 --- a/bmad-core/utils/create-agent.md +++ b/bmad-core/tasks/create-agent.md @@ -1,6 +1,6 @@ -# Create Agent Utility +# Create Agent Task -This utility helps you create a new BMAD agent for web platforms (Gemini, ChatGPT, etc.). +This task helps you create a new BMAD agent for web platforms (Gemini, ChatGPT, etc.). **Note for User-Created Agents**: If you're creating a custom agent for your own use (not part of the core BMAD system), prefix the agent ID with a period (e.g., `.data-analyst`) to ensure it's gitignored and won't conflict with repository updates. @@ -82,24 +82,24 @@ Create `/agents/{agent-id}.yml` with this structure: ```yaml agent: - id: {agent-id} - name: {Agent Name} - title: {Title} + id: { agent-id } + name: { Agent Name } + title: { Title } description: >- {Full description of the agent's role and value} - persona: {agent-id} + persona: { agent-id } customize: >- {Any specific behavioral customizations} dependencies: tasks: - - {list of task IDs} + - { list of task IDs } templates: - - {list of template IDs} + - { list of template IDs } checklists: - - {list of checklist IDs} + - { list of checklist IDs } data: - - {list of data file IDs} + - { list of data file IDs } utils: - template-format ``` diff --git a/bmad-core/utils/create-expansion-pack.md b/bmad-core/tasks/create-expansion-pack.md similarity index 95% rename from bmad-core/utils/create-expansion-pack.md rename to bmad-core/tasks/create-expansion-pack.md index 37cf47f8..568e601d 100644 --- a/bmad-core/utils/create-expansion-pack.md +++ b/bmad-core/tasks/create-expansion-pack.md @@ -1,6 +1,6 @@ -# Create Expansion Pack Utility +# Create Expansion Pack Task -This utility helps you create a comprehensive BMAD expansion pack that can include new agents, tasks, templates, and checklists for a specific domain. +This task helps you create a comprehensive BMAD expansion pack that can include new agents, tasks, templates, and checklists for a specific domain. ## Understanding Expansion Packs @@ -99,11 +99,11 @@ expansion-packs/ Create `manifest.yml`: ```yaml -name: {Pack Name} +name: { Pack Name } version: 1.0.0 description: >- {Detailed description of the expansion pack} -author: {Your name or organization} +author: { Your name or organization } bmad_version: "4.0.0" # Files to install (with . prefix for gitignore) @@ -125,15 +125,15 @@ files: # Optional: Update existing teams team_updates: - team: team-technical.yml - add_agent: {new-agent-id} + add_agent: { new-agent-id } # Post-install message post_install_message: >- {Pack Name} installed successfully! - + New agents available: {list agents} New tasks available: {list tasks} - + Run 'npm run build' to generate bundles. ``` @@ -217,27 +217,32 @@ Include: ## Interactive Questions Flow ### Initial Discovery + 1. "What domain or industry will this expansion pack serve?" 2. "What are the main challenges or workflows in this domain?" 3. "Do you have any example documents or outputs? (Please share)" 4. "What specialized roles/experts exist in this domain?" ### Agent Planning + 5. "For agent '{name}', what is their specific expertise?" 6. "What unique tasks would this agent perform?" 7. "How would they interact with existing BMAD agents?" ### Task Design + 8. "Describe the '{task}' process step-by-step" 9. "What information is needed to complete this task?" 10. "What should the output look like?" ### Template Creation + 11. "What sections should the '{template}' document have?" 12. "Are there any required formats or standards?" 13. "Can you provide an example of a completed document?" ### Integration + 14. "Which existing teams should include these new agents?" 15. "Are there any dependencies between components?" @@ -256,4 +261,4 @@ Include: 2. **Get Examples**: Real documents make better templates 3. **Test Thoroughly**: Run complete workflows 4. **Document Well**: Others will need to understand the domain -5. **Iterate**: Refine based on usage feedback \ No newline at end of file +5. **Iterate**: Refine based on usage feedback diff --git a/bmad-core/utils/create-ide-agent.md b/bmad-core/tasks/create-ide-agent.md similarity index 93% rename from bmad-core/utils/create-ide-agent.md rename to bmad-core/tasks/create-ide-agent.md index c4672393..d0ab3e1a 100644 --- a/bmad-core/utils/create-ide-agent.md +++ b/bmad-core/tasks/create-ide-agent.md @@ -1,6 +1,6 @@ -# Create IDE Agent Utility +# Create IDE Agent Task -This utility helps you create a new BMAD agent optimized for IDE environments (Cursor, Windsurf, etc.). +This task helps you create a new BMAD agent optimized for IDE environments (Cursor, Windsurf, etc.). **Note for User-Created IDE Agents**: If you're creating a custom IDE agent for your own use (not part of the core BMAD system), prefix the agent ID with a period (e.g., `.api-expert`) to ensure it's gitignored and won't conflict with repository updates. @@ -46,14 +46,17 @@ Create `/bmad-core/ide-agents/{agent-id}.ide.md` with this structure: You are {Agent Name}, a {title/role}. ## Expertise + - {Skill 1} - {Skill 2} - {Skill 3 if essential} ## Approach + {One sentence about how you work} ## Focus + {One sentence about what you prioritize} --- @@ -94,14 +97,17 @@ To keep agents small: You are Alex, an API design expert. ## Expertise + - RESTful API design - OpenAPI/Swagger specs - API security patterns ## Approach + I provide immediate, practical API solutions with example code. ## Focus + Clean, secure, well-documented APIs that follow industry standards. --- @@ -114,10 +120,10 @@ When activated with /api, immediately help with API design, endpoints, or specif ❌ **Too Large** (persona-style): ```markdown -Alex is a seasoned API architect with over 10 years of experience -building scalable systems. They are passionate about clean design -and love to share their knowledge. Alex believes that good APIs -are like good conversations - clear, purposeful, and respectful +Alex is a seasoned API architect with over 10 years of experience +building scalable systems. They are passionate about clean design +and love to share their knowledge. Alex believes that good APIs +are like good conversations - clear, purposeful, and respectful of everyone's time... ``` diff --git a/bmad-core/utils/create-team.md b/bmad-core/tasks/create-team.md similarity index 78% rename from bmad-core/utils/create-team.md rename to bmad-core/tasks/create-team.md index 2fae5cce..1c88955f 100644 --- a/bmad-core/utils/create-team.md +++ b/bmad-core/tasks/create-team.md @@ -1,8 +1,8 @@ -# Create Team Utility +# Create Team Task -This utility helps you create a NEW BMAD team bundle by combining existing agents from the BMAD-METHOD repository. +This task helps you create a NEW BMAD team bundle by combining existing agents from the BMAD-METHOD repository. -**Important**: This utility is for CREATING new teams, not for listing what agents are available in the current bundle. To see agents in the current bundle, use `/agent-list`. +**Important**: This task is for CREATING new teams, not for listing what agents are available in the current bundle. To see agents in the current bundle, use `/agent-list`. **Note for User-Created Teams**: If you're creating a custom team for your own use (not part of the core BMAD system), prefix the team ID with a period (e.g., `.team-frontend`) to ensure it's gitignored and won't conflict with repository updates. @@ -63,14 +63,14 @@ Create `/agent-teams/{team-id}.yml`: ```yaml bundle: - name: {Team Name} + name: { Team Name } description: >- {Detailed description of the team's purpose and capabilities} - + agents: - - {agent-id-1} - - {agent-id-2} - - {agent-id-3} + - { agent-id-1 } + - { agent-id-2 } + - { agent-id-3 } # ... more agents ``` @@ -80,17 +80,17 @@ You can use `"*"` (quoted) to include all available agents: ```yaml agents: - - bmad # Always include bmad first - - "*" # Include all other agents + - bmad # Always include bmad first + - "*" # Include all other agents ``` Or mix specific agents with wildcard: ```yaml agents: - - pm # Product Manager first - - architect # Then Architect - - "*" # Then all remaining agents + - pm # Product Manager first + - architect # Then Architect + - "*" # Then all remaining agents ``` ### 6. Validate and Build @@ -102,6 +102,7 @@ agents: ## Example Teams ### Development Team + ```yaml bundle: name: Development Team Bundle @@ -109,13 +110,14 @@ bundle: Core development team for building features from story to deployment agents: - - sm # Sprint coordination - - dev # Implementation - - qa # Quality assurance - - devops # Deployment + - sm # Sprint coordination + - dev # Implementation + - qa # Quality assurance + - devops # Deployment ``` ### Planning Team + ```yaml bundle: name: Planning Team Bundle @@ -123,13 +125,14 @@ bundle: Strategic planning team for project inception and architecture agents: - - analyst # Requirements gathering - - pm # Product planning - - architect # System design - - po # Validation + - analyst # Requirements gathering + - pm # Product planning + - architect # System design + - po # Validation ``` ### Full-Stack Team + ```yaml bundle: name: Full-Stack Team Bundle @@ -137,11 +140,11 @@ bundle: Complete team for full-stack application development agents: - - fullstack-architect # Holistic design - - design-architect # Frontend architecture - - dev # Implementation - - qa # Testing - - devops # Infrastructure + - fullstack-architect # Holistic design + - design-architect # Frontend architecture + - dev # Implementation + - qa # Testing + - devops # Infrastructure ``` ## Questions to Ask @@ -174,4 +177,4 @@ agents: - Teams reference existing agents - create agents first - Keep team descriptions clear and purpose-driven - Consider creating multiple focused teams rather than one large team -- Test team dynamics by running sample scenarios \ No newline at end of file +- Test team dynamics by running sample scenarios diff --git a/bmad-core/utils/workflow-management.md b/bmad-core/utils/workflow-management.md index 87574621..08b78c83 100644 --- a/bmad-core/utils/workflow-management.md +++ b/bmad-core/utils/workflow-management.md @@ -7,10 +7,11 @@ This utility enables the BMAD orchestrator to manage and execute team workflows. The BMAD orchestrator MUST read the available workflows from the current team configuration's `workflows` field. Do not use hardcoded workflow lists. Each team bundle defines its own set of supported workflows based on the agents it includes. **Critical Distinction**: + - When asked "what workflows are available?", show ONLY the workflows defined in the current team bundle's configuration -- The create-* utilities (create-agent, create-team, etc.) are for CREATING new configurations, not for listing what's available in the current session -- Use `/agent-list` to show agents in the current bundle, NOT the create-agent utility -- Use `/workflows` to show workflows in the current bundle, NOT any creation utilities +- The create-\* tasks (create-agent, create-team, etc.) are for CREATING new configurations, not for listing what's available in the current session +- Use `/agent-list` to show agents in the current bundle, NOT the create-agent task +- Use `/workflows` to show workflows in the current bundle, NOT any creation tasks ### Workflow Descriptions @@ -26,7 +27,9 @@ When displaying workflows, use these descriptions based on the workflow ID: ## Workflow Commands ### /workflows + Lists all available workflows for the current team. The available workflows are determined by the team configuration and may include workflows such as: + - greenfield-fullstack - brownfield-fullstack - greenfield-service @@ -37,6 +40,7 @@ Lists all available workflows for the current team. The available workflows are The actual list depends on which team bundle is loaded. When responding to this command, display the workflows that are configured in the current team's `workflows` field. Example response format: + ``` Available workflows for [Team Name]: 1. [workflow-id] - [Brief description based on workflow type] @@ -47,43 +51,49 @@ Use /workflow-start {number or id} to begin a workflow. ``` ### /workflow-start {workflow-id} + Starts a specific workflow and transitions to the first agent. Example: `/workflow-start greenfield-fullstack` ### /workflow-status + Shows current workflow progress, completed artifacts, and next steps. Example response: + ``` Current Workflow: Greenfield Full-Stack Development Stage: Product Planning (2 of 6) Completed: ✓ Discovery & Requirements - project-brief (completed by Mary) - + In Progress: ⚡ Product Planning - Create PRD (John) - awaiting input - + Next: Technical Architecture ``` ### /workflow-resume + Resumes a workflow from where it left off, useful when starting a new chat. User can provide completed artifacts: + ``` User: /workflow-resume greenfield-fullstack I have completed: project-brief, PRD -BMad: I see you've completed Discovery and part of Product Planning. +BMad: I see you've completed Discovery and part of Product Planning. Based on the greenfield-fullstack workflow, the next step is: - UX Strategy with Sally (ux-expert) - + Would you like me to load Sally to continue? ``` ### /workflow-next + Shows the next recommended agent and action in the current workflow. ## Workflow Execution Flow @@ -91,6 +101,7 @@ Shows the next recommended agent and action in the current workflow. ### 1. Starting a Workflow When a workflow is started: + 1. Load the workflow definition 2. Identify the first stage and step 3. Transition to the required agent @@ -100,6 +111,7 @@ When a workflow is started: ### 2. Stage Transitions After each artifact is completed: + 1. Mark the step as complete 2. Check transition conditions 3. If stage is complete, move to next stage @@ -109,6 +121,7 @@ After each artifact is completed: ### 3. Artifact Tracking Track all created artifacts: + ```yaml workflow_state: current_workflow: greenfield-fullstack @@ -128,6 +141,7 @@ workflow_state: ### 4. Workflow Interruption Handling When user returns after interruption: + 1. Ask if continuing previous workflow 2. Request any completed artifacts 3. Analyze provided artifacts @@ -135,38 +149,41 @@ When user returns after interruption: 5. Suggest next appropriate step Example: + ``` User: I'm working on a new app. Here's my PRD and architecture doc. -BMad: I see you have a PRD and architecture document. Based on these artifacts, +BMad: I see you have a PRD and architecture document. Based on these artifacts, it looks like you're following the greenfield-fullstack workflow and have completed stages 1-3. The next recommended step would be: - + Stage 4: Validation & Refinement - Load Sarah (Product Owner) to validate all artifacts - + Would you like to continue with this workflow? ``` ## Workflow Context Passing When transitioning between agents, pass: + 1. Previous artifacts created 2. Current workflow stage 3. Expected outputs 4. Any decisions or constraints identified Example transition: + ``` BMad: Great! John has completed the PRD. According to the greenfield-fullstack workflow, the next step is UX Strategy with Sally. - + /ux-expert - + Sally: I see we're in the Product Planning stage of the greenfield-fullstack workflow. I have access to: - Project Brief from Mary - PRD from John - + Let's create the UX strategy and UI specifications. First, let me review the PRD to understand the features we're designing for... ``` @@ -174,6 +191,7 @@ Sally: I see we're in the Product Planning stage of the greenfield-fullstack wor ## Multi-Path Workflows Some workflows may have multiple paths: + ```yaml conditional_paths: - condition: "project_type == 'mobile'" @@ -196,10 +214,11 @@ Handle these by asking clarifying questions when needed. ## Integration with Agents Each agent should be workflow-aware: + - Know which workflow is active - Understand their role in the workflow - Access previous artifacts - Know expected outputs - Guide toward workflow goals -This creates a seamless experience where the entire team works together toward the workflow's objectives. \ No newline at end of file +This creates a seamless experience where the entire team works together toward the workflow's objectives.