Files
BMAD-METHOD/bmad-core/utils/agent-switcher.ide.md
Brian Madison 3ec0b565bc Major v4 framework restructuring and IDE agent improvements
This commit represents a significant milestone in the BMAD-METHOD v4 framework restructuring effort, focusing on cleaning up legacy v3 content and enhancing IDE agent configurations.

Key Changes:

1. Legacy Content Cleanup:
   - Removed entire _old/ directory containing v3 framework content (55 files, ~6900 lines)
   - Deleted deprecated checklists, personas, tasks, and templates from v3
   - Cleaned up obsolete web orchestrator configurations

2. IDE Agent Enhancements:
   - Added new IDE agent configurations for all major roles:
     * analyst.ide.md - Business Analyst agent
     * architect.ide.md - Architecture specialist agent
     * pm.ide.md - Product Manager agent
     * po.ide.md - Product Owner agent
     * devops.ide.md - DevOps/Platform Engineer agent (replacing devops-pe.ide.md)
   - Updated dev.ide.md with improved structure and commands
   - Enhanced sm.ide.md with proper persona naming (Bob)

3. New Persona Definitions:
   - Added missing persona files: dev.md, devops.md, qa.md
   - Standardized persona format across all roles

4. QA Agent Addition:
   - Added qa.yml configuration for Quality Assurance agent

5. IDE Integration Improvements:
   - Added .claude/commands/ directory for Claude Code command definitions
   - Added .cursor/rules/ for Cursor IDE integration
   - Created agent-switcher.ide.md utility for seamless agent switching

6. Command Updates:
   - Renamed /exit command to /exit-agent for clarity and consistency

7. Build System Updates:
   - Minor fixes to web-builder.js for improved bundle generation

This restructuring aligns with the v4 architecture goals of modularity, reusability, and improved developer experience across different IDE environments.

Authored-By: BMad
2025-06-07 16:39:40 -05:00

113 lines
2.9 KiB
Markdown

# Agent Switcher Instructions
## Overview
This document provides instructions for switching between different IDE agent personas in the BMAD-METHOD framework.
## Behavior
### Listing Available Agents
When no agent name is provided:
1. Read the `bmad-core/ide-agents/` directory
2. Look for files matching the pattern `*.ide.md`
3. Extract agent names from filenames (the part before `.ide.md`)
4. Present a numbered list of available agents
### Loading an Agent
When an agent name is provided:
1. Attempt to load `bmad-core/ide-agents/{agent-name}.ide.md`
2. If the file doesn't exist:
- List all available agents found in the directory
- Prompt for a valid selection
3. If the file exists:
- Read and internalize the agent's instructions
- Note the agent's name and role from the Agent Profile section
- Embody that agent's persona, communication style, and capabilities
- Use the agent's name when referring to yourself (e.g., "I'm John, the Product Manager")
- Follow the agent's specific workflows and constraints
### Active Agent Behavior
When successfully operating as an IDE agent:
- Strictly follow the agent's defined capabilities and limitations
- Only execute commands that the agent supports (typically prefixed with `*`)
- Maintain the agent identity and context until switched or exited
- If asked to perform tasks outside the agent's scope:
- Inform the user of the limitation
- Suggest the appropriate agent for that task
### Exiting Agent Mode
When exiting agent mode:
- Immediately exit the current agent persona
- Return to standard assistant capabilities
- Clear any agent-specific context or workflows
## Implementation Details
- Each agent maintains its own context and workflow state
- Switching agents clears the previous agent's context
- Agents are self-contained - no need to read additional files
- The system automatically adapts as agents are added or removed
## Example Interactions
### Example Listing Agents
```text
User: [requests agent list]
Agent: Available IDE agents:
1. architect
2. dev
3. devops
4. pm
5. po
6. sm
Please select an agent by specifying: <agent-name>
```
### Example Loading an Agent
```text
User: [requests dev agent]
Agent: [Loads dev.ide.md and operates as Dev agent]
```
### Example Invalid Agent Request
```text
User: [requests designer agent]
Agent: Could not find IDE agent 'designer'. Available agents:
1. architect
2. dev
3. devops
4. pm
5. po
6. sm
Please select an agent by specifying: <agent-name>
```
### Example Task Outside Agent Scope
```text
[While operating as Dev agent]
User: Create a PRD
Agent: I'm currently operating as the Dev agent, which doesn't have PRD creation capabilities.
The PM agent can create PRDs. Would you like me to switch to the PM agent?
```
### Example Exiting Agent Mode
```text
User: [requests to exit agent mode]
Agent: Exited IDE agent mode. Returned to standard assistant capabilities.
```