# BMAD Knowledge Base ## Table of Contents - [Overview](#overview) - [Core Philosophy](#core-philosophy) - [V4 Architecture](#v4-architecture) - [Build System](#build-system) - [Agent Configuration](#agent-configuration) - [Bundle System](#bundle-system) - [Web vs IDE Agents](#web-vs-ide-agents) - [Getting Started](#getting-started) - [Initial Setup](#initial-setup) - [Build Commands](#build-commands) - [IDE Agent Setup](#ide-agent-setup) - [Agent Roles](#agent-roles) - [Orchestrator (BMAD)](#orchestrator-bmad) - [Business Analyst](#business-analyst) - [Product Manager](#product-manager) - [Architect](#architect) - [UI Architect](#ui-architect) - [Product Owner](#product-owner) - [Scrum Master](#scrum-master) - [Developer](#developer) - [QA Engineer](#qa-engineer) - [Workflow Guide](#workflow-guide) - [Typical Project Flow](#typical-project-flow) - [Document Management](#document-management) - [Story Generation](#story-generation) - [Best Practices](#best-practices) - [When to Use Web vs IDE](#when-to-use-web-vs-ide) - [Handling Major Changes](#handling-major-changes) - [Task Management](#task-management) - [Technical Reference](#technical-reference) - [File Structure](#file-structure) - [Slash Commands](#slash-commands) - [Task System](#task-system) - [Agile Principles in BMAD](#agile-principles-in-bmad) - [Contributing](#contributing) ## Overview BMAD-METHOD (Breakthrough Method of Agile AI-driven Development) is a framework that combines AI agents with Agile development methodologies. The v4 system introduces a modular architecture with improved dependency management, bundle optimization, and support for both web and IDE environments. ### Key Features - **Modular Agent System**: Specialized AI agents for each Agile role - **V4 Build System**: Automated dependency resolution and optimization - **Dual Environment Support**: Optimized for both web UIs and IDEs - **Reusable Resources**: Portable templates, tasks, and checklists - **Slash Command Integration**: Quick agent switching and control ## Core Philosophy ### Vibe CEO'ing You are the "Vibe CEO" - thinking like a CEO with unlimited resources and a singular vision. Your AI agents are your high-powered team, and your role is to: - **Direct**: Provide clear instructions and objectives - **Refine**: Iterate on outputs to achieve quality - **Oversee**: Maintain strategic alignment across all agents ### Core Principles 1. **MAXIMIZE_AI_LEVERAGE**: Push the AI to deliver more. Challenge outputs and iterate. 2. **QUALITY_CONTROL**: You are the ultimate arbiter of quality. Review all outputs. 3. **STRATEGIC_OVERSIGHT**: Maintain the high-level vision and ensure alignment. 4. **ITERATIVE_REFINEMENT**: Expect to revisit steps. This is not a linear process. 5. **CLEAR_INSTRUCTIONS**: Precise requests lead to better outputs. 6. **DOCUMENTATION_IS_KEY**: Good inputs (briefs, PRDs) lead to good outputs. 7. **START_SMALL_SCALE_FAST**: Test concepts, then expand. 8. **EMBRACE_THE_CHAOS**: Adapt and overcome challenges. ## V4 Architecture The v4 system represents a complete architectural redesign focused on modularity, portability, and optimization. ### Build System #### Core Components - **CLI Tool** (`tools/cli.js`): Main command-line interface - **Dependency Resolver** (`tools/lib/dependency-resolver.js`): Resolves and validates agent dependencies - **Bundle Optimizer** (`tools/lib/bundle-optimizer.js`): Deduplicates shared resources - **Web Builder** (`tools/builders/web-builder.js`): Generates web-compatible bundles #### Build Process 1. **Dependency Resolution** - Loads agent YAML configurations - Resolves required resources (tasks, templates, checklists, data) - Validates resource existence - Builds dependency graphs 2. **Bundle Optimization** - Identifies shared resources across agents - Deduplicates content - Calculates optimization statistics 3. **Output Generation** - Creates optimized bundles in `/dist/` - Generates orchestrator configurations - Produces both single-file and multi-file outputs ### Agent Configuration Agents are defined using YAML files in the `/agents/` directory: ```yaml agent: name: John # Display name id: pm # Unique identifier title: Product Manager # Role title description: >- # Role description Creates and maintains PRDs... persona: pm # References bmad-core/personas/pm.md customize: "" # Optional customizations dependencies: tasks: # From bmad-core/tasks/ - create-prd - correct-course templates: # From bmad-core/templates/ - prd-tmpl checklists: # From bmad-core/checklists/ - pm-checklist - change-checklist data: # From bmad-core/data/ - technical-preferences ``` ### Bundle System Bundles group related agents for specific use cases: ```yaml bundle: name: Full Team Bundle description: Complete development team agents: - bmad # Orchestrator - analyst # Business Analyst - pm # Product Manager - architect # System Architect - po # Product Owner - sm # Scrum Master - dev # Developer - qa # QA Engineer ``` ### Web vs IDE Agents #### Web Agents - **Built from**: YAML configurations - **Optimized for**: Large context windows (Gemini, ChatGPT) - **Features**: Full dependency inclusion, slash commands - **Output**: Bundled files in `/dist/teams/` or `/dist/agents/` #### IDE Agents - **Format**: Self-contained `.ide.md` files - **Optimized for**: Limited context windows (<6K characters) - **Features**: File references, specialized commands - **Location**: `/bmad-core/ide-agents/` ## Getting Started ### Quick Start Paths Choose the path that best fits your needs: #### Path 1: Use Pre-built Web Bundles (No Installation Required) For users who want to use BMAD agents as-is with web UIs (Gemini, ChatGPT): 1. **Use Pre-built Bundles** from `/web-bundles/` - Team bundles: `/web-bundles/teams/` - Individual agents: `/web-bundles/agents/` - These are ready-to-use and updated with each release - No Node.js or npm installation required 2. **Upload to Your AI Platform** - For Gemini: Create a new Gem and upload the bundle file - For ChatGPT: Create a custom GPT and attach the bundle file #### Path 2: IDE-Only Usage (No Installation Required) For users who only need IDE agents (Cursor, Windsurf): 1. **Copy bmad-core to Your Project** ```bash cp -r /path/to/BMAD-METHOD/bmad-core /your-project-root/ ``` 2. **Use IDE Agents Directly** - Find agents in `bmad-core/ide-agents/` - Copy agent content into your IDE's custom agent/mode settings - No build process needed #### Path 3: Custom Builds (Installation Required) For users who want to customize agents or create new bundles: 1. **Clone or Fork BMAD-METHOD Repository** ```bash git clone https://github.com/your-org/BMAD-METHOD.git cd BMAD-METHOD ``` 2. **Install Dependencies** ```bash npm install ``` 3. **Modify Agents or Bundles** - Edit YAML files in `/agents/` - Update resources in `/bmad-core/` 4. **Build Your Custom Bundles** ```bash npm run build ``` - Creates output in `/dist/` directory - Copy built files to use in your AI web platform of choice such as Gemini Gem's or ChatGPT custom GPT's 5. **Copy bmad-core to Your Project** (for IDE usage) ```bash cp -r ./bmad-core /your-project-root/ ``` ### When Do You Need npm install? **You DON'T need npm install if you're:** - Using pre-built web bundles from `/web-bundles/` - Only using IDE agents from `bmad-core/ide-agents/` - Not modifying any agent configurations **You DO need npm install if you're:** - Creating or Customizing agents and teams in the `/agents/` folder - Modifying bmad-core resources and rebuilding - Running build commands like `npm run build` **Important:** Building always happens in the BMAD-METHOD repository folder, not in your project. Your project only contains the `bmad-core` folder for IDE agent usage. ### Build Commands (For Custom Builds Only) Run these commands in the BMAD-METHOD repository folder: ```bash # Build all bundles and agents npm run build # Build with sample update (outputs to web-bundles too) npm run build:sample-update # List available agents npm run list:agents # Analyze dependencies npm run analyze:deps # Validate configurations npm run validate ``` ### IDE Agent Setup #### For IDEs with Agent/Mode Support (Cursor, Windsurf) 1. **Using Individual IDE Agents** - Copy content from `bmad-core/ide-agents/{agent}.ide.md` - Create as custom agent/mode in your IDE - Most commonly used: `sm.ide.md` and `dev.ide.md` 2. **Using Agent Switcher** - Copy content from `bmad-core/utils/agent-switcher.ide.md` - Create as a single agent mode - Access all agents through slash commands #### Slash Commands for IDE Agents - `/agent-list` - List available agents - `/analyst` or `/mary` - Switch to Analyst - `/pm` or `/john` - Switch to Product Manager - `/architect` or `/fred` - Switch to Architect - `/exit-agent` - Return to orchestrator ## Agent Roles ### Orchestrator (BMAD) **Purpose**: Master coordinator that can embody any specialized agent role **Key Features**: - Dynamic agent switching - Access to all agent capabilities - Handles general BMAD queries **When to Use**: - Initial project guidance - When unsure which specialist is needed - Managing agent transitions ### Business Analyst **Name**: Mary (Web) / Larry (IDE) **Purpose**: Research, requirements gathering, and project brief creation **Outputs**: - Project Brief - Market Analysis - Requirements Documentation **Key Tasks**: - Brainstorming sessions - Deep research prompt generation - Stakeholder analysis ### Product Manager **Name**: John (Web) / Jack (IDE) **Purpose**: Product planning and PRD creation **Outputs**: - Product Requirements Document (PRD) - Epic definitions - High-level user stories **Key Tasks**: - PRD creation and maintenance - Product ideation - Feature prioritization ### Architect **Name**: Fred (Web) / Mo (IDE) **Purpose**: System design and technical architecture **Outputs**: - Architecture Document - Technical Specifications - System Design Diagrams **Key Tasks**: - Architecture design - Technology selection - Integration planning ### UI Architect **Name**: Jane (Web) / Millie (IDE) **Purpose**: UI/UX and frontend architecture **Outputs**: - UX/UI Specification - Frontend Architecture - AI UI Generation Prompts **Key Tasks**: - UI/UX design specifications - Frontend technical architecture - Component library planning ### Product Owner **Name**: Sarah (Web) / Curly (IDE) **Purpose**: Backlog management and story refinement **Outputs**: - Refined User Stories - Acceptance Criteria - Sprint Planning **Key Tasks**: - Story validation - Backlog prioritization - Stakeholder alignment ### Scrum Master **Name**: Bob (Web) / SallySM (IDE) **Purpose**: Agile process facilitation and story generation **Outputs**: - Detailed User Stories - Sprint Plans - Process Improvements **Key Tasks**: - Story generation - Sprint facilitation - Team coordination ### Developer **Name**: Dana (Web) / Dev (IDE) **Purpose**: Story implementation **Outputs**: - Implemented Code - Technical Documentation - Test Coverage **Specializations**: - Frontend Developer - Backend Developer - Full Stack Developer - DevOps Engineer ### QA Engineer **Name**: Quinn **Purpose**: Quality assurance and testing **Outputs**: - Test Plans - Bug Reports - Quality Metrics **Key Tasks**: - Test case creation - Automated testing - Performance testing ## Workflow Guide ### Typical Project Flow 1. **Discovery Phase** - Analyst: Create project brief - PM: Initial market research 2. **Planning Phase** - PM: Create PRD with epics - Design Architect: UX/UI specifications (if applicable) 3. **Technical Design** - Architect: System architecture - Design Architect: Frontend architecture (if applicable) 4. **Validation** - PO: Run master checklist - PO: Validate document alignment 5. **Implementation** - SM: Generate detailed stories - Developer: Implement stories one by one - QA: Test implementations ### Document Management #### Exporting from Web UIs **From Gemini**: 1. Click `...` menu on response 2. Select "Copy" (copies as Markdown) 3. Save to `docs/` folder in project **From ChatGPT**: 1. Copy generated Markdown directly 2. Save to `docs/` folder in project #### Document Sharding For large documents (PRD, Architecture): ```bash # Use shard-doc task to break down large files # This makes them easier for agents to process ``` ### Story Generation **Best Practice**: Generate stories one at a time 1. Complete current story implementation 2. Use SM agent to generate next story 3. Include context from completed work 4. Validate against architecture and PRD ## IDE Development Workflow ### Post-Planning Phase: Transition to Implementation Once you have completed the planning phase and have your core documents saved in your project's `docs/` folder, you're ready to begin the implementation cycle in your IDE environment. #### Required Documents Before starting implementation, ensure you have these documents in your `docs/` folder: - `prd.md` - Product Requirements Document with epics and stories - `fullstack-architecture.md` OR both `architecture.md` and `front-end-architecture.md` - `project-brief.md` (reference) - `front-end-spec.md` (if applicable) #### Step 1: Document Sharding Large documents need to be broken down for IDE agents to work with effectively: 1. **Use BMAD Agent to Shard Documents** ``` Please shard the docs/prd.md document using the shard-doc task ``` 2. **Shard Architecture Documents** ``` Please shard the docs/fullstack-architecture.md document using the shard-doc task ``` 3. **Expected Folder Structure After Sharding** ``` docs/ ├── prd.md # Original PRD ├── fullstack-architecture.md # Original architecture ├── prd/ # Sharded PRD content │ ├── epic-1.md # Individual epic files │ ├── epic-2.md │ └── epic-N.md ├── fullstack-architecture/ # Sharded architecture content │ ├── tech-stack.md │ ├── data-models.md │ ├── components.md │ └── [other-sections].md └── stories/ # Generated story files ├── epic-1/ │ ├── story-1-1.md │ └── story-1-2.md └── epic-2/ └── story-2-1.md ``` #### Step 2: SM ↔ DEV Implementation Cycle The core development workflow follows a strict SM (Scrum Master) to DEV (Developer) cycle: ##### Story Creation (SM Agent) 1. **Switch to SM Agent** ``` /sm ``` 2. **Create Next Story** ``` Please create the next story for this project ``` - SM agent will check existing stories in `docs/stories/` - Identifies what's complete vs in-progress - Determines the next logical story from the epics - Creates a new story file with proper sequencing 3. **Manual Story Selection** (if needed) ``` Please create story 1.1 from epic 1 (the first story) ``` ##### Story Review and Approval 1. **Review Generated Story** - Check story file in `docs/stories/epic-X/story-X-Y.md` - Verify acceptance criteria are clear - Ensure story aligns with architecture 2. **Approve Story** - Edit the story file - Change status from `Draft` to `Approved` - Save the file ##### Story Development (DEV Agent) 1. **Switch to DEV Agent** ``` /dev ``` 2. **Develop Next Story** ``` Please develop the next approved story ``` - DEV agent will find the next `Approved` story - Implements code according to story requirements - References architecture documents from sharded folders - Updates story status to `InProgress` then `Review` 3. **Manual Story Selection** (if needed) ``` Please develop story 1.1 ``` ##### Story Completion 1. **Verify Implementation** - Test the implemented functionality - Ensure acceptance criteria are met - Validate against architecture requirements 2. **Mark Story Complete** - Edit the story file - Change status from `Review` to `Done` - Save the file 3. **Return to SM for Next Story** - SM agent will now see this story as complete - Can proceed to create the next sequential story #### Sequential Development Best Practices 1. **Follow Epic Order**: Complete Epic 1 before Epic 2, etc. 2. **Sequential Stories**: Complete Story 1.1 before Story 1.2 3. **One Story at a Time**: Never have multiple stories `InProgress` 4. **Clear Status Management**: Keep story statuses current 5. **Architecture Alignment**: Regularly reference sharded architecture docs #### Story Status Flow ``` Draft → Approved → InProgress → Review → Done ↑ ↑ ↑ ↑ ↑ SM User DEV DEV User creates approves starts completes verifies ``` #### Troubleshooting Common Issues - **SM can't find next story**: Ensure current story is marked `Done` - **DEV can't find approved story**: Check story status is `Approved` - **Architecture conflicts**: Re-shard updated architecture documents - **Missing context**: Reference original docs in `docs/` folder This cycle continues until all epics and stories are complete, delivering your fully implemented project according to the planned architecture and requirements. ## Best Practices ### When to Use Web vs IDE #### Use Web UI For - Initial planning and strategy - Document generation (Brief, PRD, Architecture) - Multi-agent collaboration needs - When you need the full orchestrator #### Use IDE For - Story generation (SM agent) - Development (Dev agent) - Quick task execution - When working with code ### Handling Major Changes 1. **Assess Impact** - Which documents need updating? - What's the ripple effect? 2. **Re-engage Agents** - PM: Update PRD if scope changes - Architect: Revise architecture if needed - PO: Re-validate alignment 3. **Use Course Correction** - Execute `correct-course` task - Document changes and rationale ### Task Management Tasks are reusable instruction sets that keep agents lean: - **Location**: `bmad-core/tasks/` - **Purpose**: Extract rarely-used functionality - **Usage**: Reference or include in agent prompts Common tasks: - `create-prd` - PRD generation - `shard-doc` - Document splitting - `execute-checklist` - Run quality checks - `create-next-story` - Story generation ## Technical Reference ### File Structure ```text bmad-core/ ├── personas/ # Agent personality definitions ├── tasks/ # Reusable instruction sets ├── templates/ # Document templates ├── checklists/ # Quality assurance tools ├── data/ # Knowledge bases and preferences └── ide-agents/ # Standalone IDE agent files agents/ # Individual agent YAML configurations agent-teams/ # Team bundle configurations (team-*.yml) tools/ # Build tooling and scripts dist/ # Build output ``` ### Slash Commands #### Orchestrator Commands - `/help` - Get help - `/agent-list` - List available agents - `/{agent-id}` - Switch to agent (e.g., `/pm`) - `/{agent-name}` - Switch by name (e.g., `/john`) - `/exit-agent` - Return to orchestrator - `/party-mode` - Group chat with all agents - `/yolo` - Toggle YOLO mode #### IDE Agent Commands (with \* prefix) - `*help` - Agent-specific help - `*create` - Create relevant artifact - `*list-templates` - Show available templates - Agent-specific commands (e.g., `*create-prd`) ### Task System Tasks provide on-demand functionality: 1. **Reduce Agent Size**: Keep core agents under 6K characters 2. **Modular Capabilities**: Add features as needed 3. **Reusability**: Share across multiple agents Example task usage: ```text Please execute the create-prd task from bmad-core/tasks/create-prd.md ``` ## Agile Principles in BMAD ### Mapping to Agile Values 1. **Individuals and Interactions** - BMAD: Active direction of AI agents - Focus on clear communication with agents 2. **Working Software** - BMAD: Rapid iteration and implementation - Stories implemented one at a time 3. **Customer Collaboration** - BMAD: Vibe CEO as primary stakeholder - Continuous review and refinement 4. **Responding to Change** - BMAD: Embrace chaos and adapt - Iterative refinement built-in ### Agile Practices in BMAD - **Sprint Planning**: PO and SM manage stories - **Daily Standups**: Progress tracking via agents - **Retrospectives**: Built into iteration cycles - **Continuous Integration**: Dev agents implement incrementally ## Contributing ### Getting Involved 1. **GitHub Discussions**: Share ideas and use cases 2. **Issue Reporting**: Check existing issues first 3. **Feature Requests**: Explain value proposition ### Pull Request Process 1. Fork the repository 2. Create feature branch 3. Follow existing conventions 4. Write clear commit messages 5. Submit PR against main branch ### License MIT License - See LICENSE file for details --- **Remember**: You are the Vibe CEO. Think big, iterate fast, and leverage your AI team to achieve ambitious goals!