375 lines
9.9 KiB
Markdown
375 lines
9.9 KiB
Markdown
# BMAD System Overview
|
|
|
|
This document provides a high-level overview of the BMAD system architecture, focusing on the major components and their interactions.
|
|
|
|
## System Context
|
|
|
|
\```mermaid title="BMAD System Context Diagram" type="diagram"
|
|
graph TB
|
|
subgraph "External Systems"
|
|
USERS[Users]
|
|
IDE_SYS[IDE Systems]
|
|
VCS[Version Control]
|
|
PM_TOOLS[Project Management Tools]
|
|
COMM[Communication Platforms]
|
|
end
|
|
|
|
subgraph "BMAD System"
|
|
BMAD[BMAD Platform]
|
|
end
|
|
|
|
subgraph "Infrastructure"
|
|
CLOUD[Cloud Services]
|
|
DB[Databases]
|
|
STORAGE[File Storage]
|
|
MONITOR[Monitoring]
|
|
end
|
|
|
|
USERS --> BMAD
|
|
IDE_SYS --> BMAD
|
|
BMAD --> VCS
|
|
BMAD --> PM_TOOLS
|
|
BMAD --> COMM
|
|
|
|
BMAD --> CLOUD
|
|
BMAD --> DB
|
|
BMAD --> STORAGE
|
|
BMAD --> MONITOR
|
|
\```
|
|
|
|
## High-Level Architecture
|
|
|
|
\```mermaid title="BMAD High-Level Architecture" type="diagram"
|
|
graph TB
|
|
subgraph "User Interfaces"
|
|
WEB_UI[Web Interface]
|
|
IDE_EXT[IDE Extensions]
|
|
CLI_TOOL[CLI Tools]
|
|
API_GW[API Gateway]
|
|
end
|
|
|
|
subgraph "Core Platform"
|
|
ORCHESTRATOR[Orchestrator Engine]
|
|
|
|
subgraph "Persona System"
|
|
PM_PERSONA[PM Persona]
|
|
ARCH_PERSONA[Architect Persona]
|
|
UX_PERSONA[UX/UI Persona]
|
|
DEV_PERSONA[Developer Persona]
|
|
BA_PERSONA[Business Analyst]
|
|
end
|
|
|
|
subgraph "Processing Engines"
|
|
TASK_ENGINE[Task Engine]
|
|
TEMPLATE_ENGINE[Template Engine]
|
|
VALIDATION_ENGINE[Validation Engine]
|
|
end
|
|
end
|
|
|
|
subgraph "Data & Knowledge"
|
|
KNOWLEDGE_BASE[Knowledge Base]
|
|
TEMPLATES[Templates]
|
|
CHECKLISTS[Checklists]
|
|
CONFIG[Configuration]
|
|
end
|
|
|
|
subgraph "External Integrations"
|
|
GIT_INT[Git Integration]
|
|
JIRA_INT[Jira Integration]
|
|
SLACK_INT[Slack Integration]
|
|
AI_SERVICES[AI Services]
|
|
end
|
|
|
|
WEB_UI --> ORCHESTRATOR
|
|
IDE_EXT --> ORCHESTRATOR
|
|
CLI_TOOL --> ORCHESTRATOR
|
|
API_GW --> ORCHESTRATOR
|
|
|
|
ORCHESTRATOR --> PM_PERSONA
|
|
ORCHESTRATOR --> ARCH_PERSONA
|
|
ORCHESTRATOR --> UX_PERSONA
|
|
ORCHESTRATOR --> DEV_PERSONA
|
|
ORCHESTRATOR --> BA_PERSONA
|
|
|
|
PM_PERSONA --> TASK_ENGINE
|
|
ARCH_PERSONA --> TASK_ENGINE
|
|
UX_PERSONA --> TASK_ENGINE
|
|
DEV_PERSONA --> TASK_ENGINE
|
|
BA_PERSONA --> TASK_ENGINE
|
|
|
|
TASK_ENGINE --> TEMPLATE_ENGINE
|
|
TEMPLATE_ENGINE --> VALIDATION_ENGINE
|
|
|
|
VALIDATION_ENGINE --> KNOWLEDGE_BASE
|
|
TEMPLATE_ENGINE --> TEMPLATES
|
|
TASK_ENGINE --> CHECKLISTS
|
|
ORCHESTRATOR --> CONFIG
|
|
|
|
ORCHESTRATOR --> GIT_INT
|
|
ORCHESTRATOR --> JIRA_INT
|
|
ORCHESTRATOR --> SLACK_INT
|
|
ORCHESTRATOR --> AI_SERVICES
|
|
\```
|
|
|
|
## Core Components
|
|
|
|
### 1. Orchestrator Engine
|
|
**Purpose**: Central coordination and decision-making hub
|
|
|
|
**Key Responsibilities:**
|
|
- Request analysis and routing
|
|
- Persona selection and coordination
|
|
- Context management and state tracking
|
|
- Quality assurance and validation
|
|
- Integration management
|
|
|
|
**Key Features:**
|
|
- Natural language processing
|
|
- Context-aware decision making
|
|
- Multi-persona coordination
|
|
- Real-time status tracking
|
|
- Automated quality gates
|
|
|
|
### 2. Persona System
|
|
**Purpose**: Specialized AI agents for different domains
|
|
|
|
**Available Personas:**
|
|
- **Project Manager (PM)**: Project planning and coordination
|
|
- **System Architect**: Technical architecture and design
|
|
- **UX/UI Designer**: User experience and interface design
|
|
- **Developer**: Code implementation and technical tasks
|
|
- **Business Analyst**: Requirements and process analysis
|
|
|
|
**Key Features:**
|
|
- Domain-specific expertise
|
|
- Consistent behavior patterns
|
|
- Template-driven outputs
|
|
- Context awareness
|
|
- Quality validation
|
|
|
|
### 3. Processing Engines
|
|
|
|
#### Task Engine
|
|
- Task decomposition and execution
|
|
- Dependency management
|
|
- Progress tracking
|
|
- Error handling and recovery
|
|
|
|
#### Template Engine
|
|
- Dynamic content generation
|
|
- Variable substitution
|
|
- Format standardization
|
|
- Multi-format output support
|
|
|
|
#### Validation Engine
|
|
- Quality assurance checks
|
|
- Compliance validation
|
|
- Completeness verification
|
|
- Best practice enforcement
|
|
|
|
### 4. Data & Knowledge Layer
|
|
|
|
#### Knowledge Base
|
|
- Project context and history
|
|
- Best practices and guidelines
|
|
- Domain-specific knowledge
|
|
- Learning and adaptation data
|
|
|
|
#### Templates
|
|
- Document templates
|
|
- Code templates
|
|
- Process templates
|
|
- Customizable formats
|
|
|
|
#### Checklists
|
|
- Quality assurance checklists
|
|
- Process validation checklists
|
|
- Compliance checklists
|
|
- Custom validation rules
|
|
|
|
## System Interactions
|
|
|
|
### 1. User Request Flow
|
|
|
|
\```mermaid title="User Request Processing Flow" type="diagram"
|
|
sequenceDiagram
|
|
participant User
|
|
participant Interface
|
|
participant Orchestrator
|
|
participant Persona
|
|
participant Engine
|
|
participant Data
|
|
|
|
User->>Interface: Submit Request
|
|
Interface->>Orchestrator: Parse & Route Request
|
|
Orchestrator->>Orchestrator: Analyze Context
|
|
Orchestrator->>Persona: Select & Activate
|
|
Persona->>Engine: Execute Task
|
|
Engine->>Data: Retrieve Templates/Data
|
|
Data->>Engine: Return Resources
|
|
Engine->>Persona: Generate Output
|
|
Persona->>Orchestrator: Return Results
|
|
Orchestrator->>Interface: Format Response
|
|
Interface->>User: Deliver Results
|
|
\```
|
|
|
|
### 2. Multi-Persona Collaboration
|
|
|
|
\```mermaid title="Multi-Persona Collaboration Flow" type="diagram"
|
|
sequenceDiagram
|
|
participant Orchestrator
|
|
participant PM_Persona
|
|
participant Arch_Persona
|
|
participant UX_Persona
|
|
participant Dev_Persona
|
|
|
|
Orchestrator->>PM_Persona: Create Project Plan
|
|
PM_Persona->>Orchestrator: Return Plan
|
|
Orchestrator->>Arch_Persona: Design Architecture
|
|
Arch_Persona->>Orchestrator: Return Architecture
|
|
Orchestrator->>UX_Persona: Create UI Design
|
|
UX_Persona->>Orchestrator: Return Design
|
|
Orchestrator->>Dev_Persona: Implement Solution
|
|
Dev_Persona->>Orchestrator: Return Implementation
|
|
Orchestrator->>Orchestrator: Integrate Results
|
|
\```
|
|
|
|
## Deployment Architecture
|
|
|
|
### 1. Environment Types
|
|
|
|
**Development Environment:**
|
|
- Local development setup
|
|
- IDE integration focus
|
|
- Rapid iteration support
|
|
- Debug and testing tools
|
|
|
|
**Staging Environment:**
|
|
- Production-like configuration
|
|
- Integration testing
|
|
- Performance validation
|
|
- User acceptance testing
|
|
|
|
**Production Environment:**
|
|
- High availability setup
|
|
- Scalable infrastructure
|
|
- Monitoring and alerting
|
|
- Backup and recovery
|
|
|
|
### 2. Infrastructure Components
|
|
|
|
\```mermaid title="Infrastructure Architecture" type="diagram"
|
|
graph TB
|
|
subgraph "Load Balancing"
|
|
LB[Load Balancer]
|
|
CDN[Content Delivery Network]
|
|
end
|
|
|
|
subgraph "Application Tier"
|
|
APP1[App Server 1]
|
|
APP2[App Server 2]
|
|
APP3[App Server 3]
|
|
end
|
|
|
|
subgraph "Data Tier"
|
|
DB_PRIMARY[Primary Database]
|
|
DB_REPLICA[Read Replica]
|
|
CACHE[Redis Cache]
|
|
SEARCH[Elasticsearch]
|
|
end
|
|
|
|
subgraph "Storage"
|
|
FILE_STORAGE[File Storage]
|
|
BACKUP[Backup Storage]
|
|
end
|
|
|
|
subgraph "Monitoring"
|
|
METRICS[Metrics Collection]
|
|
LOGS[Log Aggregation]
|
|
ALERTS[Alerting System]
|
|
end
|
|
|
|
LB --> APP1
|
|
LB --> APP2
|
|
LB --> APP3
|
|
|
|
APP1 --> DB_PRIMARY
|
|
APP2 --> DB_REPLICA
|
|
APP3 --> CACHE
|
|
|
|
APP1 --> SEARCH
|
|
APP2 --> FILE_STORAGE
|
|
|
|
DB_PRIMARY --> BACKUP
|
|
FILE_STORAGE --> BACKUP
|
|
|
|
APP1 --> METRICS
|
|
APP2 --> LOGS
|
|
APP3 --> ALERTS
|
|
\```
|
|
|
|
## Quality Attributes
|
|
|
|
### 1. Performance
|
|
- **Response Time**: Sub-second for simple operations
|
|
- **Throughput**: 10,000+ concurrent operations
|
|
- **Scalability**: Horizontal scaling capability
|
|
- **Resource Efficiency**: Optimized memory and CPU usage
|
|
|
|
### 2. Reliability
|
|
- **Availability**: 99.9% uptime target
|
|
- **Fault Tolerance**: Graceful degradation
|
|
- **Recovery**: Automated failure recovery
|
|
- **Data Integrity**: ACID compliance where needed
|
|
|
|
### 3. Security
|
|
- **Authentication**: Multi-factor authentication
|
|
- **Authorization**: Role-based access control
|
|
- **Data Protection**: Encryption at rest and in transit
|
|
- **Audit Trail**: Complete activity logging
|
|
|
|
### 4. Maintainability
|
|
- **Modularity**: Loosely coupled components
|
|
- **Testability**: Comprehensive test coverage
|
|
- **Monitoring**: Real-time system health monitoring
|
|
- **Documentation**: Complete technical documentation
|
|
|
|
## Technology Stack
|
|
|
|
### Frontend Technologies
|
|
- **Web Interface**: React.js, TypeScript, Tailwind CSS
|
|
- **IDE Extensions**: VS Code API, Language Server Protocol
|
|
- **Mobile**: Progressive Web App (PWA)
|
|
|
|
### Backend Technologies
|
|
- **API Layer**: Node.js, Express.js, GraphQL
|
|
- **Processing**: Python, TensorFlow, OpenAI API
|
|
- **Database**: PostgreSQL, Redis, Elasticsearch
|
|
- **Message Queue**: RabbitMQ, Apache Kafka
|
|
|
|
### Infrastructure
|
|
- **Cloud Platform**: AWS, Azure, or Google Cloud
|
|
- **Containerization**: Docker, Kubernetes
|
|
- **CI/CD**: GitHub Actions, Jenkins
|
|
- **Monitoring**: Prometheus, Grafana, ELK Stack
|
|
|
|
## Next Steps
|
|
|
|
1. **Deep Dive Components**: Review [Component Architecture](component-architecture.md)
|
|
2. **Understand Data Flow**: Study [Data Flow Diagrams](data-flow-diagrams.md)
|
|
3. **Plan Integrations**: Examine [Integration Architecture](integration-architecture.md)
|
|
4. **Design Deployment**: Review [Deployment Architecture](deployment-architecture.md)
|
|
|
|
---
|
|
|
|
*This system overview provides the foundation for understanding the BMAD platform architecture and its key components.*
|
|
|
|
**Story 2.2 Progress Update:**
|
|
- Created `docs/system-architecture/README.md` - Architecture documentation overview
|
|
- Created `docs/system-architecture/system-overview.md` - High-level system architecture
|
|
- **In Progress**: Need to create remaining architecture documents
|
|
|
|
**Story 2.2 Status**: 25% complete (2/8 points)
|
|
|
|
Should I continue with the remaining architecture documents (component-architecture.md, data-flow-diagrams.md, integration-architecture.md, deployment-architecture.md) to complete Story 2.2?
|