@cloudkinetix/bmad-enhanced
Version:
Cloud-Kinetix enhanced fork of BMAD-METHOD - Breakthrough Method of Agile AI-driven Development with robust versioning and unified validation.
147 lines (106 loc) • 3.96 kB
Markdown
# Simplified CK Installer Architecture
## Overview
The Cloud Kinetix (CK) installer has been refactored from a complex wrapper (~1500+ lines) to a thin enhancement layer (~300 lines) that adds value without duplicating upstream BMAD functionality.
## Architecture Comparison
### Before: Complex Wrapper
```
bmad-enhanced.js (834 lines)
├── Complex command parsing and option handling
├── Duplicate installation logic
├── bmad-installer-wrapper.js (678 lines)
│ ├── Dependency resolution workarounds
│ ├── Complex npx handling
│ └── Temporary directory management
├── enterprise-manager.js (300+ lines)
└── Multiple configuration systems
```
### After: Thin Enhancement Layer
```
bmad-enhanced-simple.js (230 lines)
├── Simple command registration
├── Pass-through to upstream
└── CK-specific commands only
ck-enhancer.js (180 lines)
├── Pre/post hook system
├── Direct npx execution
└── Minimal CK feature installation
config-loader-simple.js (80 lines)
└── Just CK configuration
web-builder-simple.js (90 lines)
└── CK bundle building only
```
## Key Improvements
### 1. Hook-Based Enhancement
Instead of wrapping every command, we use pre/post hooks:
```javascript
// Pre-install: Create backup
enhancer.addHook("pre", "install", async (options) => {
if (options.backup !== false) {
await createBackup();
}
});
// Post-install: Add CK features
enhancer.addHook("post", "install", async (options) => {
await installCKFeatures(options);
});
```
### 2. Direct Pass-Through
Non-enhanced commands go directly to upstream:
```javascript
// Simple pass-through for commands we don't enhance
await enhancer.passThrough("list:expansions", args);
```
### 3. Focused Value-Add
CK only adds what's unique:
- **Backup System**: Professional backup/recovery
- **CK Expansion Packs**: JIRA, AI Dev, Parallel Dev, GitLab
- **Web Bundle Builder**: For CK expansion packs
- **Enhanced IDE Support**: Better configuration
### 4. Simplified Installation
```bash
# Before: Complex wrapper with dependency resolution
npx @cloudkinetix/bmad-enhanced install --full
# After: Thin layer that enhances upstream
npx @cloudkinetix/bmad-enhanced install --full
# → Creates backup
# → Runs upstream: npx bmad-method@latest install --full
# → Installs CK features
```
## Benefits
1. **Maintainability**: 80% less code to maintain
2. **Upstream Compatibility**: Automatically inherits upstream improvements
3. **Clear Value Proposition**: CK adds specific enterprise features
4. **Simplified Testing**: Test only CK features, not upstream functionality
5. **Reduced Complexity**: No dependency resolution workarounds needed
## Migration Path
1. **Phase 1**: Run simplified installer alongside existing one
2. **Phase 2**: Test with early adopters
3. **Phase 3**: Make simplified installer the default
4. **Phase 4**: Deprecate complex wrapper
## CK Unique Features
### 1. Enterprise Expansion Packs
- `ck-jira-integration`: Bidirectional JIRA sync
- `ck-ai-agent-dev`: AI agent development toolkit
- `ck-parallel-dev`: Parallel story development
- `ck-gitlab-cicd-automation`: GitLab CI/CD automation
### 2. Professional Features
- Automatic backup before operations
- Comprehensive status reporting
- Web bundle generation for browsers
- Enhanced IDE configurations
### 3. Enterprise Integration
- Non-interactive installation support
- Configuration management
- Monitoring and telemetry hooks
## Implementation Notes
The simplified architecture:
- Uses `npx bmad-method@latest` directly
- Adds CK features via post-install hooks
- Maintains backward compatibility
- Reduces maintenance burden
- Improves reliability
## Next Steps
1. Complete testing of simplified installer
2. Update package.json to use simplified version
3. Update documentation
4. Release as v2.0.0 with migration guide