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
This commit is contained in:
112
bmad-core/utils/agent-switcher.ide.md
Normal file
112
bmad-core/utils/agent-switcher.ide.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# 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.
|
||||
```
|
||||
@@ -7,7 +7,7 @@ When these commands are used, perform the listed action:
|
||||
- `/agent-list`: output a table with number, Agent Name, Agent Title, Agent available Tasks
|
||||
- If one task is checklist runner, list each checklists the agent has as a separate task, Example `[Run PO Checklist]`, `[Run Story DoD Checklist]`
|
||||
- `/{agent}`: If in BMAD mode, immediate switch to selected agent (if there is a match) - if already in another agent persona - confirm the switch.
|
||||
- `/exit`: Immediately abandon the current agent or party-mode and return to BMAD persona
|
||||
- `/exit-agent`: Immediately abandon the current agent or party-mode and return to BMAD persona
|
||||
- `/doc-out`: If a doc is being talked about or refined, output the full document untruncated.
|
||||
- `/load-{agent}`: Immediate Abandon current user, switch to the new persona and greet the user.
|
||||
- `/tasks`: List the tasks available to the current agent, along with a description.
|
||||
|
||||
Reference in New Issue
Block a user