From d0a8c581af6dc7889856b0f095cb3c97ef9deb0f Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Wed, 16 Jul 2025 23:36:24 -0500 Subject: [PATCH] fixed roomodes double bmad --- bmad-core/data/bmad-kb.md | 2 +- docs/bmad-workflow-guide.md | 2 +- tools/installer/lib/ide-setup.js | 8 ++- z2/.roomodes | 95 ++++++++++++++++++++++++++++++++ 4 files changed, 103 insertions(+), 4 deletions(-) create mode 100644 z2/.roomodes diff --git a/bmad-core/data/bmad-kb.md b/bmad-core/data/bmad-kb.md index fc6c6331..9ccc80b6 100644 --- a/bmad-core/data/bmad-kb.md +++ b/bmad-core/data/bmad-kb.md @@ -300,7 +300,7 @@ You are the "Vibe CEO" - thinking like a CEO with unlimited resources and a sing - **Cursor**: `@agent-name` (e.g., `@bmad-master`) - **Windsurf**: `@agent-name` (e.g., `@bmad-master`) - **Trae**: `@agent-name` (e.g., `@bmad-master`) -- **Roo Code**: Select mode from mode selector (e.g., `bmad-bmad-master`) +- **Roo Code**: Select mode from mode selector (e.g., `bmad-master`) - **GitHub Copilot**: Open the Chat view (`⌃⌘I` on Mac, `Ctrl+Alt+I` on Windows/Linux) and select **Agent** from the chat mode selector. **Chat Management Guidelines**: diff --git a/docs/bmad-workflow-guide.md b/docs/bmad-workflow-guide.md index c1253c08..85687078 100644 --- a/docs/bmad-workflow-guide.md +++ b/docs/bmad-workflow-guide.md @@ -114,7 +114,7 @@ Follow the SM → Dev cycle for systematic story development: - **Gemini CLI**: `*agent-name` (e.g., `*bmad-master`) - **Windsurf**: `@agent-name` (e.g., `@bmad-master`) - **Trae**: `@agent-name` (e.g., `@bmad-master`) -- **Roo Code**: Select mode from mode selector (e.g., `bmad-bmad-master`) +- **Roo Code**: Select mode from mode selector (e.g., `bmad-master`) - **GitHub Copilot**: Open the Chat view (`⌃⌘I` on Mac, `Ctrl+Alt+I` on Windows/Linux) and select **Agent** from the chat mode selector. ### Chat Management: diff --git a/tools/installer/lib/ide-setup.js b/tools/installer/lib/ide-setup.js index baf239b9..d37177c7 100644 --- a/tools/installer/lib/ide-setup.js +++ b/tools/installer/lib/ide-setup.js @@ -690,7 +690,9 @@ class IdeSetup { for (const agentId of agents) { // Skip if already exists - if (existingModes.includes(`bmad-${agentId}`)) { + // Check both with and without bmad- prefix to handle both cases + const checkSlug = agentId.startsWith('bmad-') ? agentId : `bmad-${agentId}`; + if (existingModes.includes(checkSlug)) { console.log(chalk.dim(`Skipping ${agentId} - already exists in .roomodes`)); continue; } @@ -720,7 +722,9 @@ class IdeSetup { : `You are a ${title} specializing in ${title.toLowerCase()} tasks and responsibilities.`; // Build mode entry with proper formatting (matching exact indentation) - newModesContent += ` - slug: bmad-${agentId}\n`; + // Avoid double "bmad-" prefix for agents that already have it + const slug = agentId.startsWith('bmad-') ? agentId : `bmad-${agentId}`; + newModesContent += ` - slug: ${slug}\n`; newModesContent += ` name: '${icon} ${title}'\n`; newModesContent += ` roleDefinition: ${roleDefinition}\n`; newModesContent += ` whenToUse: ${whenToUse}\n`; diff --git a/z2/.roomodes b/z2/.roomodes new file mode 100644 index 00000000..dbd39467 --- /dev/null +++ b/z2/.roomodes @@ -0,0 +1,95 @@ +customModes: + - slug: bmad-ux-expert + name: '🎨 UX Expert' + roleDefinition: You are a UX Expert specializing in ux expert tasks and responsibilities. + whenToUse: Use for UX Expert tasks + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/ux-expert.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - - edit + - fileRegex: \.(md|css|scss|html|jsx|tsx)$ + description: Design-related files + - slug: bmad-sm + name: '🏃 Scrum Master' + roleDefinition: You are a Scrum Master specializing in scrum master tasks and responsibilities. + whenToUse: Use for Scrum Master tasks + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/sm.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - - edit + - fileRegex: \.(md|txt)$ + description: Process and planning docs + - slug: bmad-qa + name: '🧪 Senior Developer & QA Architect' + roleDefinition: You are a Senior Developer & QA Architect specializing in senior developer & qa architect tasks and responsibilities. + whenToUse: Use for Senior Developer & QA Architect tasks + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/qa.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - - edit + - fileRegex: \.(test|spec)\.(js|ts|jsx|tsx)$|\.md$ + description: Test files and documentation + - slug: bmad-po + name: '📝 Product Owner' + roleDefinition: You are a Product Owner specializing in product owner tasks and responsibilities. + whenToUse: Use for Product Owner tasks + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/po.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - - edit + - fileRegex: \.(md|txt)$ + description: Story and requirement docs + - slug: bmad-pm + name: '📋 Product Manager' + roleDefinition: You are a Product Manager specializing in product manager tasks and responsibilities. + whenToUse: Use for Product Manager tasks + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/pm.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - - edit + - fileRegex: \.(md|txt)$ + description: Product documentation + - slug: bmad-dev + name: '💻 Full Stack Developer' + roleDefinition: You are a Full Stack Developer specializing in full stack developer tasks and responsibilities. + whenToUse: Use for code implementation, debugging, refactoring, and development best practices + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/dev.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - slug: bmad-orchestrator + name: '🎭 BMad Master Orchestrator' + roleDefinition: You are a BMad Master Orchestrator specializing in bmad master orchestrator tasks and responsibilities. + whenToUse: Use for BMad Master Orchestrator tasks + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/bmad-orchestrator.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - slug: bmad-master + name: '🧙 BMad Master Task Executor' + roleDefinition: You are a BMad Master Task Executor specializing in bmad master task executor tasks and responsibilities. + whenToUse: Use for BMad Master Task Executor tasks + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/bmad-master.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - edit + - slug: bmad-architect + name: '🏗️ Architect' + roleDefinition: You are a Architect specializing in architect tasks and responsibilities. + whenToUse: Use for Architect tasks + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/architect.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - - edit + - fileRegex: \.(md|txt|yml|yaml|json)$ + description: Architecture docs and configs + - slug: bmad-analyst + name: '📊 Business Analyst' + roleDefinition: You are a Business Analyst specializing in business analyst tasks and responsibilities. + whenToUse: Use for Business Analyst tasks + customInstructions: CRITICAL Read the full YAML from .bmad-core/agents/analyst.md start activation to alter your state of being follow startup section instructions stay in this being until told to exit this mode + groups: + - read + - - edit + - fileRegex: \.(md|txt)$ + description: Documentation and text files