UNPKG

@sethdouglasford/claude-flow

Version:

Claude Code Flow - Advanced AI-powered development workflows with SPARC methodology

324 lines 14.7 kB
import { AutoStrategy } from "./strategies/auto.js"; import { ResearchStrategy } from "./strategies/research.js"; import { DevelopmentStrategy } from "./strategies/development.js"; import { AnalysisStrategy } from "./strategies/analysis.js"; import { TestingStrategy } from "./strategies/testing.js"; import { OptimizationStrategy } from "./strategies/optimization.js"; import { MaintenanceStrategy } from "./strategies/maintenance.js"; import { logger } from "../core/logger.js"; /** * Strategy Factory - Creates and manages swarm strategies * Integrates all available strategies including new ones from swarm documentation */ export class StrategyFactory { static strategies = new Map([ ["auto", () => new AutoStrategy({})], ["research", () => new ResearchStrategy({})], ["development", () => new DevelopmentStrategy()], ["analysis", () => new AnalysisStrategy()], ["testing", () => new TestingStrategy()], ["optimization", () => new OptimizationStrategy()], ["maintenance", () => new MaintenanceStrategy()], ]); static strategyInfo = { auto: { name: 'Auto Strategy', description: 'Automatically determines the best approach based on objective analysis', features: [ 'Intelligent objective classification', 'Dynamic strategy selection', 'Adaptive task decomposition', 'Performance monitoring and adjustment' ], coordinationMode: 'hybrid', estimatedDuration: 60, preferredFor: [ 'General purpose tasks', 'Unknown or mixed requirements', 'Experimental objectives', 'Learning and exploration' ], workflowIntegrations: [ 'Adaptive meta-framework selection', 'Dynamic SPARC mode assignment', 'Intelligent orchestration patterns' ] }, research: { name: 'Research Strategy', description: 'Multi-agent research coordination with distributed intelligence gathering and wisdom distillation', features: [ 'Parallel web search and data collection', 'Source credibility analysis and validation', 'Cross-domain knowledge synthesis', 'Comprehensive report generation', 'Wisdom distillation from historical patterns' ], coordinationMode: 'distributed', estimatedDuration: 90, preferredFor: [ 'Information gathering and analysis', 'Market research and competitive analysis', 'Technology evaluation and comparison', 'Academic and scientific research', 'Strategic planning and decision support' ], workflowIntegrations: [ 'Wisdom Distillation (.claude/commands/meta-frameworks/wisdom-distillation.md)', 'Feature Discovery for research directions (.claude/commands/meta-frameworks/feature-discovery.md)', 'SPARC researcher mode integration', 'Meta-Learning DGM for pattern discovery' ] }, development: { name: 'Development Strategy', description: 'Coordinated software development with meta-frameworks and advanced architectural patterns', features: [ 'Feature Discovery with cognitive explorers', 'Virgil Protocol for architecture design (3% innovation rule)', 'MCP Orchestration for parallel development', 'Code Review Game with specialized reviewers', 'Ulysses Protocol for complex debugging' ], coordinationMode: 'hierarchical', estimatedDuration: 330, preferredFor: [ 'Software application development', 'System architecture design', 'API and service creation', 'Component library development', 'Full-stack application building' ], workflowIntegrations: [ 'Feature Discovery Protocol (.claude/commands/meta-frameworks/feature-discovery.md)', 'Virgil Protocol for architecture (.claude/commands/meta-frameworks/virgil-protocol.md)', 'Code Review Game (.claude/commands/meta-frameworks/code-review-game.md)', 'MCP Orchestration (.claude/commands/orchestration/mcp-orchestrate.md)', 'Swarm Intelligence (.claude/commands/orchestration/swarm-intelligence.md)', 'Ulysses Protocol for debugging (.claude/commands/meta-frameworks/ulysses-protocol.md)', 'Pattern Synthesizer for reusable components' ] }, analysis: { name: 'Analysis Strategy', description: 'Advanced data analysis with meta-learning, pattern synthesis, and knowledge graph construction', features: [ 'Meta-Learning DGM for pattern discovery', 'Pattern Synthesizer for cross-domain analysis', 'Advanced statistical and ML frameworks', 'Knowledge graph construction and reasoning', 'Organizational learning integration' ], coordinationMode: 'mesh', estimatedDuration: 240, preferredFor: [ 'Data analysis and insights generation', 'Pattern recognition and trend analysis', 'Business intelligence and reporting', 'Scientific data analysis', 'Performance analysis and optimization' ], workflowIntegrations: [ 'Meta-Learning DGM (.claude/commands/synthesis/meta-learning-dgm.md)', 'Pattern Synthesizer (.claude/commands/synthesis/pattern-synthesizer.md)', 'SPARC analyzer mode for data processing', 'Knowledge base integration and updates', 'Cross-project pattern libraries' ] }, testing: { name: 'Testing Strategy', description: 'Comprehensive testing coordination with distributed validation and quality assurance', features: [ 'Test-driven development methodology', 'Parallel test execution across multiple agents', 'Comprehensive coverage analysis', 'Performance and security testing', 'Quality gate enforcement' ], coordinationMode: 'mesh', estimatedDuration: 120, preferredFor: [ 'Test suite development and execution', 'Quality assurance and validation', 'Performance testing and benchmarking', 'Security testing and vulnerability assessment', 'Regression testing and CI/CD integration' ], workflowIntegrations: [ 'SPARC TDD mode for test-driven development', 'SPARC tester mode for comprehensive testing', 'Code Review Game for test quality assurance', 'Refactoring Game for test optimization', 'Batch testing operations for efficiency' ] }, optimization: { name: 'Optimization Strategy', description: 'Performance optimization with systematic profiling, analysis, and improvement coordination', features: [ 'Systematic performance profiling', 'Bottleneck identification and analysis', 'Multi-dimensional optimization approaches', 'Validation and benchmarking', 'Continuous improvement frameworks' ], coordinationMode: 'hybrid', estimatedDuration: 180, preferredFor: [ 'Performance optimization and tuning', 'System efficiency improvements', 'Resource utilization optimization', 'Code quality and maintainability', 'Scalability enhancements' ], workflowIntegrations: [ 'SPARC optimizer mode for performance analysis', 'Refactoring Game for systematic improvements (.claude/commands/meta-frameworks/refactoring-game.md)', 'Pattern Synthesizer for optimization patterns', 'Meta-Learning for performance pattern recognition', 'Ulysses Protocol for complex optimization challenges' ] }, maintenance: { name: 'Maintenance Strategy', description: 'System maintenance and updates with coordinated health monitoring and improvement planning', features: [ 'Comprehensive system health checks', 'Strategic update planning and coordination', 'Risk assessment and mitigation', 'Rollback and recovery procedures', 'Documentation and knowledge capture' ], coordinationMode: 'centralized', estimatedDuration: 150, preferredFor: [ 'System maintenance and updates', 'Dependency management and upgrades', 'Security patching and hardening', 'Infrastructure maintenance', 'Technical debt reduction' ], workflowIntegrations: [ 'SPARC memory-manager for knowledge retention', 'Wisdom Distillation for maintenance patterns', 'Ulysses Protocol for complex maintenance issues', 'Pattern Synthesizer for maintenance best practices', 'Organizational learning for future maintenance' ] }, custom: { name: 'Custom Strategy', description: 'User-defined custom strategy', features: ['Flexible task decomposition', 'Custom coordination patterns'], coordinationMode: 'hybrid', estimatedDuration: 60, preferredFor: ['Specialized requirements', 'Domain-specific tasks'], workflowIntegrations: ['All available workflows based on configuration'] } }; /** * Create a strategy instance based on the strategy type */ static createStrategy(strategyType) { const strategyFactory = this.strategies.get(strategyType); if (!strategyFactory) { logger.warn(`Unknown strategy type: ${strategyType}, falling back to auto`); return new AutoStrategy({}); } return strategyFactory(); } /** * Get all available strategy types */ static getAvailableStrategies() { return Array.from(this.strategies.keys()); } /** * Get strategy information for CLI help and documentation */ static getStrategyInfo() { return { ...this.strategyInfo }; } /** * Recommend a strategy based on objective analysis */ static recommendStrategy(objective) { const lowerObjective = objective.toLowerCase(); // Development keywords if (/build|create|implement|develop|code|app|service|api|feature/.test(lowerObjective)) { return "development"; } // Research keywords if (/research|analyze|investigate|study|explore|find|discover/.test(lowerObjective)) { return "research"; } // Testing keywords if (/test|validate|verify|quality|qa|bug|regression/.test(lowerObjective)) { return "testing"; } // Analysis keywords if (/data|analytics|insights|patterns|statistics|metrics/.test(lowerObjective)) { return "analysis"; } // Optimization keywords if (/optimize|performance|speed|efficiency|improve|faster/.test(lowerObjective)) { return "optimization"; } // Maintenance keywords if (/maintain|update|upgrade|fix|repair|health|monitor/.test(lowerObjective)) { return "maintenance"; } // Default to auto strategy return "auto"; } /** * Register a custom strategy */ static registerStrategy(strategyType, strategyFactory) { this.strategies.set(strategyType, strategyFactory); logger.info(`Registered custom strategy: ${strategyType}`); } static getWorkflowIntegrations(strategy) { const info = this.strategyInfo[strategy]; return info?.workflowIntegrations || []; } static getAvailableWorkflows() { return [ // Meta-Frameworks '.claude/commands/meta-frameworks/code-review-game.md', '.claude/commands/meta-frameworks/feature-discovery.md', '.claude/commands/meta-frameworks/refactoring-game.md', '.claude/commands/meta-frameworks/ulysses-protocol.md', '.claude/commands/meta-frameworks/virgil-protocol.md', '.claude/commands/meta-frameworks/wisdom-distillation.md', // Orchestration '.claude/commands/orchestration/mcp-orchestrate.md', '.claude/commands/orchestration/swarm-intelligence.md', // Synthesis '.claude/commands/synthesis/meta-learning-dgm.md', '.claude/commands/synthesis/pattern-synthesizer.md', // Startup '.claude/commands/startup/metaclaude.md', // SPARC Modes (all 17 specialized modes) '.claude/commands/sparc/analyzer.md', '.claude/commands/sparc/architect.md', '.claude/commands/sparc/batch-executor.md', '.claude/commands/sparc/coder.md', '.claude/commands/sparc/debugger.md', '.claude/commands/sparc/designer.md', '.claude/commands/sparc/documenter.md', '.claude/commands/sparc/innovator.md', '.claude/commands/sparc/memory-manager.md', '.claude/commands/sparc/optimizer.md', '.claude/commands/sparc/orchestrator.md', '.claude/commands/sparc/researcher.md', '.claude/commands/sparc/reviewer.md', '.claude/commands/sparc/swarm-coordinator.md', '.claude/commands/sparc/tdd.md', '.claude/commands/sparc/tester.md', '.claude/commands/sparc/workflow-manager.md' ]; } } //# sourceMappingURL=strategy-factory.js.map