-
-
Notifications
You must be signed in to change notification settings - Fork 34
Role System
Saros Industries edited this page Jun 28, 2025
·
1 revision
The BMAD Enterprise role system is built on top of the framework's core authentication and authorization modules, providing granular access control for business model development workflows.
{
role: 'bmad.administrator',
permissions: [
'bmad.*.create',
'bmad.*.read',
'bmad.*.update',
'bmad.*.delete',
'bmad.users.manage',
'bmad.config.modify',
'bmad.audit.access'
],
framework_level: 'system_admin',
inherits: ['framework.admin']
}Capabilities:
- Full BMAD system configuration
- User role assignment and management
- System-wide analytics and reporting
- Compliance and audit oversight
- Integration management
{
role: 'bmad.strategist',
permissions: [
'bmad.models.create',
'bmad.models.read',
'bmad.models.update',
'bmad.analysis.advanced',
'bmad.reports.generate',
'bmad.teams.manage'
],
framework_level: 'advanced_user',
inherits: ['framework.user']
}Capabilities:
- Business model creation and modification
- Advanced analysis and modeling
- Team coordination and management
- Strategic planning and forecasting
- Cross-project insights
{
role: 'bmad.analyst',
permissions: [
'bmad.models.read',
'bmad.models.update',
'bmad.analysis.standard',
'bmad.data.export',
'bmad.reports.create'
],
framework_level: 'standard_user',
inherits: ['framework.user']
}Capabilities:
- Business model analysis and documentation
- Data collection and validation
- Report generation and presentation
- Market research integration
- Performance tracking
{
role: 'bmad.project_manager',
permissions: [
'bmad.projects.create',
'bmad.projects.manage',
'bmad.teams.coordinate',
'bmad.deadlines.set',
'bmad.progress.track'
],
framework_level: 'manager',
inherits: ['framework.user']
}Capabilities:
- Project lifecycle management
- Resource allocation and scheduling
- Progress monitoring and reporting
- Team coordination
- Stakeholder communication
{
role: 'bmad.stakeholder',
permissions: [
'bmad.models.read',
'bmad.feedback.provide',
'bmad.comments.create',
'bmad.notifications.receive'
],
framework_level: 'viewer',
inherits: ['framework.guest']
}Capabilities:
- View assigned business models
- Provide feedback and comments
- Receive project notifications
- Participate in review processes
// Framework integration for BMAD roles
class BMADRoleManager {
constructor(frameworkAuth) {
this.authService = frameworkAuth;
this.roleDefinitions = new Map();
this.initialize();
}
initialize() {
// Register BMAD-specific roles with framework
this.authService.registerRoles([
'bmad.administrator',
'bmad.strategist',
'bmad.analyst',
'bmad.project_manager',
'bmad.stakeholder'
]);
// Set up permission inheritance
this.authService.setRoleHierarchy({
'bmad.administrator': ['bmad.strategist', 'bmad.project_manager'],
'bmad.strategist': ['bmad.analyst'],
'bmad.project_manager': ['bmad.stakeholder'],
'bmad.analyst': ['bmad.stakeholder']
});
}
async assignRole(userId, role, context = {}) {
// Validate role assignment
if (!this.roleDefinitions.has(role)) {
throw new Error(`Invalid BMAD role: ${role}`);
}
// Use framework's role assignment with BMAD context
return await this.authService.assignRole(userId, role, {
module: 'bmad',
...context
});
}
async checkPermission(userId, permission, resource = null) {
// Check both framework and BMAD-specific permissions
const hasFrameworkPermission = await this.authService.hasPermission(
userId,
permission
);
if (hasFrameworkPermission) return true;
// Check BMAD-specific permission logic
return await this.checkBMADPermission(userId, permission, resource);
}
async getUserContext(userId) {
const user = await this.authService.getUser(userId);
const roles = await this.authService.getUserRoles(userId, 'bmad');
return {
user,
roles,
permissions: await this.getUserPermissions(userId),
accessible_projects: await this.getAccessibleProjects(userId),
team_memberships: await this.getTeamMemberships(userId)
};
}
}- ποΈ Framework Overview
- π RIPER Modes
- πΎ Memory System
- π£ Symbolic Notation
- π Phase Management
- π‘οΈ Code Protection
- π Context References
- π Permission System
- π Cross-References
- πΎ Backup System
- π Mode Transitions
- πΎ Memory Management
- π‘οΈ Protection Workflow
- π Context Management
- π₯ Team Collaboration
- π£ Symbol Reference
- β¨οΈ Command Reference
- π Mode Reference
- π Permission Matrix
- π API Reference
- π Overview
- π GitHub Integration
- π Web Search
- π Browser Automation
- π³ Docker Integration
-
Installation Issues
- Node.js Version Compatibility
- Package Installation Failures
- Framework Dependencies Missing
- Database Connection Issues
- Port Conflicts
- Environment Setup Issues
- Build and Development Issues
- Framework CLI Issues
-
Configuration & Runtime Issues
- Framework Configuration Problems
- Runtime Performance Issues
- Module Loading and Plugin Issues
- Database and Storage Issues
- Memory Leaks and High Memory Usage
- High CPU Usage
-
BMAD Module Issues
- BMAD Module Initialization Problems
- Business Model Canvas Issues
- Stakeholder Management Issues
- Analytics and Reporting Issues
- Performance Optimization
-
Database & API Issues
- Database Connection Problems
- Database Migration Issues
- API Performance and Reliability Issues
- Data Consistency Issues
- Transaction Problems
-
Performance & Memory Issues
- Memory Management
- CPU Optimization
- Database Query Performance
- Caching Issues
- Resource Monitoring
-
Security & Authentication Issues
- Authentication Failures
- Authorization Problems
- JWT Token Issues
- Session Management
- CORS and Security Headers
- SSL/TLS Configuration
-
Deployment & Production Issues
- Production Deployment Failures
- Environment Configuration
- Load Balancing Issues
- Monitoring and Logging
- Backup and Recovery
When reporting issues, please include:
- Framework version (
npm list @cursoriper/core) - Node.js version (
node --version) - Operating system and version
- Error messages and stack traces
- Steps to reproduce the issue
- Configuration files (sanitized)
- Recent changes or deployments
- Technical Support: support@cursoriper.com
- Documentation: https://docs.cursoriper.com
- Community Forum: https://community.cursoriper.com