claude-flow-novice 1.3.6 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/analysis/code-analyzer.md +3 -20
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +1 -1
- package/.claude/agents/analyst.md +208 -550
- package/.claude/agents/architect.md +136 -469
- package/.claude/agents/architecture/system-architect.md +20 -1
- package/.claude/agents/architecture/system-design/arch-system-design.md +1 -1
- package/.claude/agents/base-template-generator.md +24 -1
- package/.claude/agents/coder.md +87 -303
- package/.claude/agents/consensus/byzantine-coordinator.md +4 -21
- package/.claude/agents/consensus/consensus-builder.md +3 -20
- package/.claude/agents/consensus/crdt-synchronizer.md +4 -21
- package/.claude/agents/consensus/gossip-coordinator.md +4 -21
- package/.claude/agents/consensus/performance-benchmarker.md +4 -21
- package/.claude/agents/consensus/quorum-manager.md +4 -21
- package/.claude/agents/consensus/raft-manager.md +4 -21
- package/.claude/agents/consensus/security-manager.md +4 -21
- package/.claude/agents/coordinator.md +22 -11
- package/.claude/agents/data/ml/data-ml-model.md +2 -2
- package/.claude/agents/development/backend/dev-backend-api.md +2 -2
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +2 -2
- package/.claude/agents/devops/devops-engineer.md +134 -402
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +2 -2
- package/.claude/agents/github/code-review-swarm.md +1 -1
- package/.claude/agents/github/github-specialist.md +856 -0
- package/.claude/agents/github/pr-manager.md +1 -1
- package/.claude/agents/github/release-manager.md +1 -1
- package/.claude/agents/neural/neural-pattern-agent.md +762 -0
- package/.claude/agents/optimization/benchmark-suite.md +1 -1
- package/.claude/agents/optimization/perf-analyzer.md +1 -1
- package/.claude/agents/optimization/performance-monitor.md +1 -1
- package/.claude/agents/planner.md +135 -0
- package/.claude/agents/researcher.md +22 -9
- package/.claude/agents/reviewer.md +291 -0
- package/.claude/agents/security/security-specialist.md +1 -1
- package/.claude/agents/sparc/architecture.md +1 -1
- package/.claude/agents/sparc/pseudocode.md +1 -1
- package/.claude/agents/sparc/refinement.md +1 -1
- package/.claude/agents/sparc/specification.md +1 -1
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +2 -2
- package/.claude/agents/tester.md +21 -11
- package/.claude/agents/testing/unit/tdd-london-swarm.md +1 -1
- package/.claude/agents/testing/validation/production-validator.md +1 -1
- package/.claude/commands/claude-soul.js +1 -1
- package/.claude/commands/fullstack.md +134 -0
- package/.claude/commands/index.js +4 -0
- package/.claude/hooks.json +12 -15
- package/{.claude → .claude-flow-novice/.claude}/agents/MIGRATION_SUMMARY.md +1 -1
- package/.claude-flow-novice/.claude/agents/analysis/code-analyzer.md +192 -0
- package/.claude-flow-novice/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
- package/.claude-flow-novice/.claude/agents/analyst.md +300 -0
- package/.claude-flow-novice/.claude/agents/architect.md +557 -0
- package/.claude-flow-novice/.claude/agents/architecture/system-architect.md +630 -0
- package/.claude-flow-novice/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
- package/.claude-flow-novice/.claude/agents/base-template-generator.md +65 -0
- package/.claude-flow-novice/.claude/agents/coder.md +180 -0
- package/.claude-flow-novice/.claude/agents/consensus/byzantine-coordinator.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/consensus-builder.md +225 -0
- package/.claude-flow-novice/.claude/agents/consensus/crdt-synchronizer.md +980 -0
- package/.claude-flow-novice/.claude/agents/consensus/gossip-coordinator.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/performance-benchmarker.md +834 -0
- package/.claude-flow-novice/.claude/agents/consensus/quorum-manager.md +806 -0
- package/.claude-flow-novice/.claude/agents/consensus/raft-manager.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/security-manager.md +605 -0
- package/.claude-flow-novice/.claude/agents/coordinator.md +842 -0
- package/.claude-flow-novice/.claude/agents/data/ml/data-ml-model.md +193 -0
- package/.claude-flow-novice/.claude/agents/development/backend/dev-backend-api.md +142 -0
- package/.claude-flow-novice/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
- package/.claude-flow-novice/.claude/agents/devops/devops-engineer.md +638 -0
- package/.claude-flow-novice/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
- package/.claude-flow-novice/.claude/agents/github/code-review-swarm.md +538 -0
- package/.claude-flow-novice/.claude/agents/github/github-modes.md +173 -0
- package/.claude-flow-novice/.claude/agents/github/github-specialist.md +856 -0
- package/.claude-flow-novice/.claude/agents/github/issue-tracker.md +319 -0
- package/.claude-flow-novice/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude-flow-novice/.claude/agents/github/pr-manager.md +191 -0
- package/.claude-flow-novice/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude-flow-novice/.claude/agents/github/release-manager.md +367 -0
- package/.claude-flow-novice/.claude/agents/github/release-swarm.md +583 -0
- package/.claude-flow-novice/.claude/agents/github/repo-architect.md +398 -0
- package/.claude-flow-novice/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude-flow-novice/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude-flow-novice/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude-flow-novice/.claude/agents/github/workflow-automation.md +635 -0
- package/.claude-flow-novice/.claude/agents/goal/goal-planner.md +73 -0
- package/.claude-flow-novice/.claude/agents/neural/neural-pattern-agent.md +762 -0
- package/.claude-flow-novice/.claude/agents/neural/safla-neural.md +74 -0
- package/.claude-flow-novice/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude-flow-novice/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude-flow-novice/.claude/agents/optimization/perf-analyzer.md +725 -0
- package/.claude-flow-novice/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude-flow-novice/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude-flow-novice/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude-flow-novice/.claude/agents/planner.md +135 -0
- package/.claude-flow-novice/.claude/agents/researcher.md +185 -0
- package/.claude-flow-novice/.claude/agents/reviewer.md +291 -0
- package/.claude-flow-novice/.claude/agents/security/security-specialist.md +978 -0
- package/.claude-flow-novice/.claude/agents/sparc/architecture.md +472 -0
- package/.claude-flow-novice/.claude/agents/sparc/pseudocode.md +318 -0
- package/.claude-flow-novice/.claude/agents/sparc/refinement.md +525 -0
- package/.claude-flow-novice/.claude/agents/sparc/specification.md +276 -0
- package/.claude-flow-novice/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
- package/.claude-flow-novice/.claude/agents/sublinear/consciousness-evolution-agent.md +499 -0
- package/.claude-flow-novice/.claude/agents/sublinear/matrix-solver-agent.md +113 -0
- package/.claude-flow-novice/.claude/agents/sublinear/nanosecond-scheduler-agent.md +644 -0
- package/.claude-flow-novice/.claude/agents/sublinear/pagerank-agent.md +699 -0
- package/.claude-flow-novice/.claude/agents/sublinear/phi-calculator-agent.md +749 -0
- package/.claude-flow-novice/.claude/agents/sublinear/psycho-symbolic-agent.md +543 -0
- package/.claude-flow-novice/.claude/agents/sublinear/sublinear.md +816 -0
- package/.claude-flow-novice/.claude/agents/sublinear/temporal-advantage-agent.md +360 -0
- package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator-enhanced.md +746 -0
- package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator.md +396 -0
- package/.claude-flow-novice/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
- package/.claude-flow-novice/.claude/agents/swarm/mesh-coordinator.md +435 -0
- package/.claude-flow-novice/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude-flow-novice/.claude/agents/templates/coordinator-swarm-init.md +90 -0
- package/.claude-flow-novice/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude-flow-novice/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude-flow-novice/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude-flow-novice/.claude/agents/templates/migration-plan.md +746 -0
- package/.claude-flow-novice/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude-flow-novice/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude-flow-novice/.claude/agents/templates/sparc-coordinator.md +183 -0
- package/.claude-flow-novice/.claude/agents/tester.md +663 -0
- package/.claude-flow-novice/.claude/agents/testing/e2e/playwright-agent.md +249 -0
- package/.claude-flow-novice/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
- package/.claude-flow-novice/.claude/agents/testing/validation/production-validator.md +395 -0
- package/.claude-flow-novice/dist/index.js +12 -24
- package/.claude-flow-novice/dist/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/agents/agent-manager.js +123 -69
- package/.claude-flow-novice/dist/src/agents/agent-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js +7 -7
- package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js +485 -0
- package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js +630 -0
- package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/commands/agent.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/agent.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/config-integration.js +6 -6
- package/.claude-flow-novice/dist/src/cli/commands/enterprise.js +18 -18
- package/.claude-flow-novice/dist/src/cli/commands/enterprise.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/goal-init.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/help-new.js +23 -23
- package/.claude-flow-novice/dist/src/cli/commands/help-new.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/help.js +74 -74
- package/.claude-flow-novice/dist/src/cli/commands/help.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js +2 -2
- package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/hive.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/index.js +103 -132
- package/.claude-flow-novice/dist/src/cli/commands/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/mcp.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/migrate.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/migrate.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/monitor.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/neural-init.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/ruv-swarm.js +8 -8
- package/.claude-flow-novice/dist/src/cli/commands/sparc.js +12 -12
- package/.claude-flow-novice/dist/src/cli/commands/sparc.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/start/start-command.js +3 -3
- package/.claude-flow-novice/dist/src/cli/commands/status.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js +7 -7
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/verification.js +18 -18
- package/.claude-flow-novice/dist/src/cli/completion.js +54 -54
- package/.claude-flow-novice/dist/src/cli/completion.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js +11 -11
- package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/core/CommandHandlers.js +31 -31
- package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js +39 -39
- package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js +25 -25
- package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js +8 -8
- package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js +6 -6
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js +7 -7
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/index-remote.js +10 -10
- package/.claude-flow-novice/dist/src/cli/index.js +1 -1
- package/.claude-flow-novice/dist/src/cli/init/directory-structure.js +8 -8
- package/.claude-flow-novice/dist/src/cli/init/index.js +3 -3
- package/.claude-flow-novice/dist/src/cli/init/sparc-environment.js +67 -67
- package/.claude-flow-novice/dist/src/cli/init/swarm-commands.js +18 -18
- package/.claude-flow-novice/dist/src/cli/node-repl.js +2 -2
- package/.claude-flow-novice/dist/src/cli/repl.js +1 -1
- package/.claude-flow-novice/dist/src/cli/simple-cli.js +68 -68
- package/.claude-flow-novice/dist/src/cli/simple-cli.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/simple-commands/session-start-soul.js +271 -0
- package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js +7 -7
- package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/ui/fallback-handler.js +7 -7
- package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js +816 -0
- package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js +812 -0
- package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/optimized-serialization.js +369 -0
- package/.claude-flow-novice/dist/src/communication/optimized-serialization.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/performance-optimizations.js +526 -0
- package/.claude-flow-novice/dist/src/communication/performance-optimizations.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/performance-validator.js +532 -0
- package/.claude-flow-novice/dist/src/communication/performance-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/priority-message-queue.js +525 -0
- package/.claude-flow-novice/dist/src/communication/priority-message-queue.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js +218 -0
- package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js +521 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js +563 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/websocket-cluster.js +344 -0
- package/.claude-flow-novice/dist/src/communication/websocket-cluster.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js +369 -0
- package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js.map +1 -0
- package/.claude-flow-novice/dist/src/config/config-manager.js +1 -1
- package/.claude-flow-novice/dist/src/config/config-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/core/intelligent-configuration-manager.js +1 -1
- package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js +6 -6
- package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/migration/config-migration.js +1 -1
- package/.claude-flow-novice/dist/src/config/ruv-swarm-integration.js +1 -1
- package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js +1 -1
- package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/web-portal-config.js +0 -9
- package/.claude-flow-novice/dist/src/config/web-portal-config.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/zero-config-setup.js +18 -18
- package/.claude-flow-novice/dist/src/config/zero-config-setup.js.map +1 -1
- package/.claude-flow-novice/dist/src/core/logger.js +33 -10
- package/.claude-flow-novice/dist/src/core/logger.js.map +1 -1
- package/.claude-flow-novice/dist/src/migration/index.js +1 -1
- package/.claude-flow-novice/dist/src/migration/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/migration/migration-runner.js +4 -4
- package/.claude-flow-novice/dist/src/migration/migration-runner.js.map +1 -1
- package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js +430 -0
- package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js.map +1 -0
- package/.claude-flow-novice/dist/src/slash-commands/claude-soul.js +248 -365
- package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/claude-code-interface.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/claude-flow-executor.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js +471 -0
- package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm/hive-mind-integration.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js +543 -0
- package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm/optimizations/connection-pool.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/optimizations/optimized-executor.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/types.js.map +1 -1
- package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js +709 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js +612 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js +679 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js +654 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js +402 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js +459 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js +513 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js +19 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js +568 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js +418 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js +530 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js +250 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js.map +1 -0
- package/.claude-flow-novice/dist/src/task/index.js +7 -7
- package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js +420 -0
- package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/validation/production-validator.js +1435 -0
- package/.claude-flow-novice/dist/src/validation/production-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/verification/cli-integration.js +3 -3
- package/.claude-flow-novice/dist/src/verification/hooks.js +1 -1
- package/CHANGELOG.md +26 -0
- package/CLAUDE.md +1967 -68
- package/README.md +0 -1
- package/config/build/babel.config.cjs +19 -11
- package/config/typescript/tsconfig.json +1 -1
- package/examples/claude-api-error-handling.ts +2 -2
- package/examples/frontend-testing-demo.ts +470 -0
- package/examples/litellm/config/config.yaml +1 -1
- package/package.json +13 -7
- package/scripts/build/unified-builder.sh +6 -6
- package/scripts/build/validate-agents.js +238 -0
- package/scripts/run-production-validation.ts +590 -0
- package/scripts/test/test-coordination-features.ts +2 -2
- package/scripts/validate-stage3-performance.ts +377 -0
- package/src/cli/simple-commands/hooks.js +1 -0
- package/src/cli/simple-commands/init/agent-copier.js +0 -2
- package/src/cli/simple-commands/init/index.js +5 -97
- package/src/cli/simple-commands/init/templates/CLAUDE.md +163 -1158
- package/src/cli/simple-commands/init/templates/claude-md.js +38 -157
- package/src/swarm-fullstack/integrations/communication-bridge.ts +931 -0
- package/src/swarm-fullstack/testing/api-contract-validator.ts +909 -0
- package/src/swarm-fullstack/testing/backend-test-orchestrator.ts +791 -0
- package/src/swarm-fullstack/testing/frontend-test-orchestrator.ts +853 -0
- package/src/swarm-fullstack/testing/visual-regression.ts +507 -0
- package/src/swarm-fullstack/workflows/convergence-detector.ts +736 -0
- package/src/swarm-fullstack/workflows/fix-coordinator.ts +677 -0
- package/src/swarm-fullstack/workflows/index.ts +75 -0
- package/src/swarm-fullstack/workflows/iterative-build-test.ts +829 -0
- package/src/swarm-fullstack/workflows/regression-test-manager.ts +590 -0
- package/src/swarm-fullstack/workflows/test-result-analyzer.ts +739 -0
- package/src/swarm-fullstack/workflows/workflow-metrics.ts +399 -0
- package/wiki/command-reference/README.md +1 -2
- package/wiki/command-reference/mcp-tools/README.md +1 -1
- package/wiki/getting-started/claude-code-mcp/README.md +1 -2
- package/wiki/getting-started/installation/README.md +2 -10
- package/.claude/commands/flow-nexus/app-store.md +0 -124
- package/.claude/commands/flow-nexus/challenges.md +0 -120
- package/.claude/commands/flow-nexus/login-registration.md +0 -65
- package/.claude/commands/flow-nexus/neural-network.md +0 -134
- package/.claude/commands/flow-nexus/payments.md +0 -116
- package/.claude/commands/flow-nexus/sandbox.md +0 -83
- package/.claude/commands/flow-nexus/swarm.md +0 -87
- package/.claude/commands/flow-nexus/user-tools.md +0 -152
- package/.claude/commands/flow-nexus/workflow.md +0 -115
- package/.claude-flow-novice/dist/cli/index.js +0 -45
- package/.claude-flow-novice/dist/core/index.js +0 -22
- package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +0 -595
- package/.claude-flow-novice/dist/mcp/mcp-server-sdk.js +0 -649
- package/.claude-flow-novice/dist/mcp/mcp-server-with-slash-commands.js +0 -776
- package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/claude-md.js +0 -1101
- package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +0 -265
- /package/{.claude → .claude-flow-novice/.claude}/agents/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/backend-dev.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/code-analyzer.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/coder.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/consensus/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/coder.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/planner.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/researcher.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/reviewer.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/tester.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/optimization/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/planner.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/researcher.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/reviewer.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/swarm/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/system-architect.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/tester.json +0 -0
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Metrics - Track and Calculate Iteration Performance Metrics
|
|
3
|
+
*
|
|
4
|
+
* Provides comprehensive metrics tracking for the iterative workflow,
|
|
5
|
+
* including efficiency, quality, velocity, and convergence metrics.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { EventEmitter } from 'events';
|
|
9
|
+
import { ILogger } from '../../core/logger.js';
|
|
10
|
+
import { FeatureIteration, IterationMetrics } from './iterative-build-test.js';
|
|
11
|
+
|
|
12
|
+
export interface MetricSnapshot {
|
|
13
|
+
timestamp: string;
|
|
14
|
+
featureId: string;
|
|
15
|
+
iteration: number;
|
|
16
|
+
metrics: IterationMetrics;
|
|
17
|
+
trends: MetricTrends;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface MetricTrends {
|
|
21
|
+
testPassRateTrend: number; // positive = improving
|
|
22
|
+
fixSuccessRateTrend: number;
|
|
23
|
+
convergenceRateTrend: number;
|
|
24
|
+
efficiencyTrend: number;
|
|
25
|
+
velocityChange: number; // iterations per hour
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface AggregateMetrics {
|
|
29
|
+
featureId: string;
|
|
30
|
+
totalIterations: number;
|
|
31
|
+
totalDuration: number;
|
|
32
|
+
averageIterationTime: number;
|
|
33
|
+
totalTests: number;
|
|
34
|
+
overallPassRate: number;
|
|
35
|
+
totalFixes: number;
|
|
36
|
+
overallFixSuccessRate: number;
|
|
37
|
+
averageConvergenceRate: number;
|
|
38
|
+
averageEfficiency: number;
|
|
39
|
+
overallQualityScore: number;
|
|
40
|
+
timeToConvergence: number;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export class WorkflowMetrics extends EventEmitter {
|
|
44
|
+
private snapshots = new Map<string, MetricSnapshot[]>();
|
|
45
|
+
|
|
46
|
+
constructor(private logger: ILogger) {
|
|
47
|
+
super();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Calculate metrics for an iteration
|
|
52
|
+
*/
|
|
53
|
+
async calculateIterationMetrics(iteration: FeatureIteration): Promise<IterationMetrics> {
|
|
54
|
+
const startTime = new Date(iteration.startTime).getTime();
|
|
55
|
+
const endTime = iteration.endTime ? new Date(iteration.endTime).getTime() : Date.now();
|
|
56
|
+
const duration = endTime - startTime;
|
|
57
|
+
|
|
58
|
+
// Test metrics
|
|
59
|
+
const testsExecuted = iteration.testResults.totalTests;
|
|
60
|
+
const testPassRate = testsExecuted > 0
|
|
61
|
+
? iteration.testResults.passed / testsExecuted
|
|
62
|
+
: 0;
|
|
63
|
+
|
|
64
|
+
// Fix metrics
|
|
65
|
+
const fixesApplied = iteration.fixResults.length;
|
|
66
|
+
const successfulFixes = iteration.fixResults.filter((f) => f.status === 'completed').length;
|
|
67
|
+
const fixSuccessRate = fixesApplied > 0 ? successfulFixes / fixesApplied : 0;
|
|
68
|
+
|
|
69
|
+
// Code churn (total lines changed)
|
|
70
|
+
const codeChurn = iteration.fixResults.reduce(
|
|
71
|
+
(sum, fix) =>
|
|
72
|
+
sum + fix.changes.reduce((lineSum, change) => lineSum + change.linesChanged, 0),
|
|
73
|
+
0,
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
// Convergence rate (how quickly approaching convergence)
|
|
77
|
+
const convergenceRate = this.calculateConvergenceRate(iteration);
|
|
78
|
+
|
|
79
|
+
// Efficiency (value delivered per time)
|
|
80
|
+
const efficiency = this.calculateEfficiency(
|
|
81
|
+
testPassRate,
|
|
82
|
+
fixSuccessRate,
|
|
83
|
+
duration,
|
|
84
|
+
testsExecuted,
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
// Quality score
|
|
88
|
+
const qualityScore = this.calculateQualityScore(iteration);
|
|
89
|
+
|
|
90
|
+
const metrics: IterationMetrics = {
|
|
91
|
+
duration,
|
|
92
|
+
testsExecuted,
|
|
93
|
+
testPassRate,
|
|
94
|
+
fixesApplied,
|
|
95
|
+
fixSuccessRate,
|
|
96
|
+
codeChurn,
|
|
97
|
+
convergenceRate,
|
|
98
|
+
efficiency,
|
|
99
|
+
qualityScore,
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// Store snapshot
|
|
103
|
+
await this.storeSnapshot(iteration.featureId, iteration.iterationNumber, metrics);
|
|
104
|
+
|
|
105
|
+
// Emit metrics event
|
|
106
|
+
this.emit('metrics:updated', {
|
|
107
|
+
featureId: iteration.featureId,
|
|
108
|
+
iteration: iteration.iterationNumber,
|
|
109
|
+
metrics,
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
return metrics;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Calculate convergence rate
|
|
117
|
+
*/
|
|
118
|
+
private calculateConvergenceRate(iteration: FeatureIteration): number {
|
|
119
|
+
const passRate = iteration.testResults.passed / iteration.testResults.totalTests || 0;
|
|
120
|
+
|
|
121
|
+
// Get historical pass rates
|
|
122
|
+
const history = this.snapshots.get(iteration.featureId) || [];
|
|
123
|
+
if (history.length === 0) {
|
|
124
|
+
return passRate; // First iteration
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const previousPassRate = history[history.length - 1].metrics.testPassRate;
|
|
128
|
+
const improvement = passRate - previousPassRate;
|
|
129
|
+
|
|
130
|
+
// Convergence rate is the improvement rate
|
|
131
|
+
return Math.max(improvement, 0);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Calculate efficiency score
|
|
136
|
+
*/
|
|
137
|
+
private calculateEfficiency(
|
|
138
|
+
testPassRate: number,
|
|
139
|
+
fixSuccessRate: number,
|
|
140
|
+
duration: number,
|
|
141
|
+
testsExecuted: number,
|
|
142
|
+
): number {
|
|
143
|
+
// Efficiency = (quality * throughput) / time
|
|
144
|
+
const quality = (testPassRate + fixSuccessRate) / 2;
|
|
145
|
+
const throughput = testsExecuted / 100; // normalized
|
|
146
|
+
const time = duration / 1800000; // normalized to 30-min units
|
|
147
|
+
|
|
148
|
+
const efficiency = time > 0 ? (quality * throughput) / time : 0;
|
|
149
|
+
|
|
150
|
+
return Math.min(efficiency, 1);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Calculate quality score
|
|
155
|
+
*/
|
|
156
|
+
private calculateQualityScore(iteration: FeatureIteration): number {
|
|
157
|
+
let score = 100;
|
|
158
|
+
|
|
159
|
+
// Deduct for test failures
|
|
160
|
+
const { testResults } = iteration;
|
|
161
|
+
const criticalFailures = testResults.failures.filter((f) => f.severity === 'critical').length;
|
|
162
|
+
const highFailures = testResults.failures.filter((f) => f.severity === 'high').length;
|
|
163
|
+
const mediumFailures = testResults.failures.filter((f) => f.severity === 'medium').length;
|
|
164
|
+
|
|
165
|
+
score -= criticalFailures * 15;
|
|
166
|
+
score -= highFailures * 10;
|
|
167
|
+
score -= mediumFailures * 5;
|
|
168
|
+
|
|
169
|
+
// Deduct for warnings
|
|
170
|
+
const highWarnings = testResults.warnings.filter((w) => w.severity === 'high').length;
|
|
171
|
+
const mediumWarnings = testResults.warnings.filter((w) => w.severity === 'medium').length;
|
|
172
|
+
|
|
173
|
+
score -= highWarnings * 3;
|
|
174
|
+
score -= mediumWarnings * 1;
|
|
175
|
+
|
|
176
|
+
// Deduct for failed fixes
|
|
177
|
+
const failedFixes = iteration.fixResults.filter((f) => f.status === 'failed').length;
|
|
178
|
+
score -= failedFixes * 5;
|
|
179
|
+
|
|
180
|
+
// Bonus for coverage
|
|
181
|
+
const avgCoverage =
|
|
182
|
+
(testResults.coverage.lines +
|
|
183
|
+
testResults.coverage.functions +
|
|
184
|
+
testResults.coverage.branches +
|
|
185
|
+
testResults.coverage.statements) /
|
|
186
|
+
4;
|
|
187
|
+
|
|
188
|
+
score += (avgCoverage - 80) * 0.2; // Bonus for coverage above 80%
|
|
189
|
+
|
|
190
|
+
return Math.max(Math.min(score, 100), 0);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Store metric snapshot
|
|
195
|
+
*/
|
|
196
|
+
private async storeSnapshot(
|
|
197
|
+
featureId: string,
|
|
198
|
+
iteration: number,
|
|
199
|
+
metrics: IterationMetrics,
|
|
200
|
+
): Promise<void> {
|
|
201
|
+
if (!this.snapshots.has(featureId)) {
|
|
202
|
+
this.snapshots.set(featureId, []);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
const history = this.snapshots.get(featureId)!;
|
|
206
|
+
const trends = this.calculateTrends(history, metrics);
|
|
207
|
+
|
|
208
|
+
const snapshot: MetricSnapshot = {
|
|
209
|
+
timestamp: new Date().toISOString(),
|
|
210
|
+
featureId,
|
|
211
|
+
iteration,
|
|
212
|
+
metrics,
|
|
213
|
+
trends,
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
history.push(snapshot);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Calculate metric trends
|
|
221
|
+
*/
|
|
222
|
+
private calculateTrends(history: MetricSnapshot[], current: IterationMetrics): MetricTrends {
|
|
223
|
+
if (history.length === 0) {
|
|
224
|
+
return {
|
|
225
|
+
testPassRateTrend: 0,
|
|
226
|
+
fixSuccessRateTrend: 0,
|
|
227
|
+
convergenceRateTrend: 0,
|
|
228
|
+
efficiencyTrend: 0,
|
|
229
|
+
velocityChange: 0,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const previous = history[history.length - 1].metrics;
|
|
234
|
+
|
|
235
|
+
return {
|
|
236
|
+
testPassRateTrend: current.testPassRate - previous.testPassRate,
|
|
237
|
+
fixSuccessRateTrend: current.fixSuccessRate - previous.fixSuccessRate,
|
|
238
|
+
convergenceRateTrend: current.convergenceRate - previous.convergenceRate,
|
|
239
|
+
efficiencyTrend: current.efficiency - previous.efficiency,
|
|
240
|
+
velocityChange: this.calculateVelocityChange(history),
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Calculate velocity change (iterations per hour)
|
|
246
|
+
*/
|
|
247
|
+
private calculateVelocityChange(history: MetricSnapshot[]): number {
|
|
248
|
+
if (history.length < 2) return 0;
|
|
249
|
+
|
|
250
|
+
const recent = history.slice(-2);
|
|
251
|
+
const timeDiff =
|
|
252
|
+
new Date(recent[1].timestamp).getTime() - new Date(recent[0].timestamp).getTime();
|
|
253
|
+
const iterationTime = timeDiff / 3600000; // hours
|
|
254
|
+
|
|
255
|
+
return 1 / iterationTime; // iterations per hour
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Get aggregate metrics for a feature
|
|
260
|
+
*/
|
|
261
|
+
getAggregateMetrics(featureId: string): AggregateMetrics | null {
|
|
262
|
+
const history = this.snapshots.get(featureId);
|
|
263
|
+
if (!history || history.length === 0) return null;
|
|
264
|
+
|
|
265
|
+
const totalIterations = history.length;
|
|
266
|
+
const totalDuration = history.reduce((sum, s) => sum + s.metrics.duration, 0);
|
|
267
|
+
const averageIterationTime = totalDuration / totalIterations;
|
|
268
|
+
|
|
269
|
+
const totalTests = history.reduce((sum, s) => sum + s.metrics.testsExecuted, 0);
|
|
270
|
+
const avgTestPassRate =
|
|
271
|
+
history.reduce((sum, s) => sum + s.metrics.testPassRate, 0) / totalIterations;
|
|
272
|
+
|
|
273
|
+
const totalFixes = history.reduce((sum, s) => sum + s.metrics.fixesApplied, 0);
|
|
274
|
+
const avgFixSuccessRate =
|
|
275
|
+
history.reduce((sum, s) => sum + s.metrics.fixSuccessRate, 0) / totalIterations;
|
|
276
|
+
|
|
277
|
+
const avgConvergenceRate =
|
|
278
|
+
history.reduce((sum, s) => sum + s.metrics.convergenceRate, 0) / totalIterations;
|
|
279
|
+
|
|
280
|
+
const avgEfficiency = history.reduce((sum, s) => sum + s.metrics.efficiency, 0) / totalIterations;
|
|
281
|
+
|
|
282
|
+
const avgQualityScore =
|
|
283
|
+
history.reduce((sum, s) => sum + s.metrics.qualityScore, 0) / totalIterations;
|
|
284
|
+
|
|
285
|
+
const timeToConvergence = totalDuration;
|
|
286
|
+
|
|
287
|
+
return {
|
|
288
|
+
featureId,
|
|
289
|
+
totalIterations,
|
|
290
|
+
totalDuration,
|
|
291
|
+
averageIterationTime,
|
|
292
|
+
totalTests,
|
|
293
|
+
overallPassRate: avgTestPassRate,
|
|
294
|
+
totalFixes,
|
|
295
|
+
overallFixSuccessRate: avgFixSuccessRate,
|
|
296
|
+
averageConvergenceRate: avgConvergenceRate,
|
|
297
|
+
averageEfficiency: avgEfficiency,
|
|
298
|
+
overallQualityScore: avgQualityScore,
|
|
299
|
+
timeToConvergence,
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Get metric snapshots for a feature
|
|
305
|
+
*/
|
|
306
|
+
getSnapshots(featureId: string): MetricSnapshot[] {
|
|
307
|
+
return this.snapshots.get(featureId) || [];
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Get current metrics
|
|
312
|
+
*/
|
|
313
|
+
getCurrentMetrics(featureId: string): MetricSnapshot | null {
|
|
314
|
+
const history = this.snapshots.get(featureId);
|
|
315
|
+
if (!history || history.length === 0) return null;
|
|
316
|
+
return history[history.length - 1];
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Compare metrics across features
|
|
321
|
+
*/
|
|
322
|
+
compareFeatures(featureIds: string[]): Map<string, AggregateMetrics | null> {
|
|
323
|
+
const comparison = new Map<string, AggregateMetrics | null>();
|
|
324
|
+
|
|
325
|
+
for (const featureId of featureIds) {
|
|
326
|
+
comparison.set(featureId, this.getAggregateMetrics(featureId));
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
return comparison;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Export metrics for reporting
|
|
334
|
+
*/
|
|
335
|
+
exportMetrics(featureId: string): {
|
|
336
|
+
feature: string;
|
|
337
|
+
snapshots: MetricSnapshot[];
|
|
338
|
+
aggregate: AggregateMetrics | null;
|
|
339
|
+
exportedAt: string;
|
|
340
|
+
} {
|
|
341
|
+
return {
|
|
342
|
+
feature: featureId,
|
|
343
|
+
snapshots: this.getSnapshots(featureId),
|
|
344
|
+
aggregate: this.getAggregateMetrics(featureId),
|
|
345
|
+
exportedAt: new Date().toISOString(),
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Clear metrics for a feature
|
|
351
|
+
*/
|
|
352
|
+
clearMetrics(featureId: string): void {
|
|
353
|
+
this.snapshots.delete(featureId);
|
|
354
|
+
this.logger.info('Cleared metrics', { featureId });
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Get performance summary
|
|
359
|
+
*/
|
|
360
|
+
getPerformanceSummary(): {
|
|
361
|
+
totalFeatures: number;
|
|
362
|
+
totalIterations: number;
|
|
363
|
+
averageIterationsPerFeature: number;
|
|
364
|
+
averageTimeToConvergence: number;
|
|
365
|
+
overallQualityScore: number;
|
|
366
|
+
} {
|
|
367
|
+
const allFeatures = Array.from(this.snapshots.keys());
|
|
368
|
+
const totalFeatures = allFeatures.length;
|
|
369
|
+
|
|
370
|
+
if (totalFeatures === 0) {
|
|
371
|
+
return {
|
|
372
|
+
totalFeatures: 0,
|
|
373
|
+
totalIterations: 0,
|
|
374
|
+
averageIterationsPerFeature: 0,
|
|
375
|
+
averageTimeToConvergence: 0,
|
|
376
|
+
overallQualityScore: 0,
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
const aggregates = allFeatures
|
|
381
|
+
.map((f) => this.getAggregateMetrics(f))
|
|
382
|
+
.filter(Boolean) as AggregateMetrics[];
|
|
383
|
+
|
|
384
|
+
const totalIterations = aggregates.reduce((sum, a) => sum + a.totalIterations, 0);
|
|
385
|
+
const averageIterationsPerFeature = totalIterations / totalFeatures;
|
|
386
|
+
const averageTimeToConvergence =
|
|
387
|
+
aggregates.reduce((sum, a) => sum + a.timeToConvergence, 0) / totalFeatures;
|
|
388
|
+
const overallQualityScore =
|
|
389
|
+
aggregates.reduce((sum, a) => sum + a.overallQualityScore, 0) / totalFeatures;
|
|
390
|
+
|
|
391
|
+
return {
|
|
392
|
+
totalFeatures,
|
|
393
|
+
totalIterations,
|
|
394
|
+
averageIterationsPerFeature,
|
|
395
|
+
averageTimeToConvergence,
|
|
396
|
+
overallQualityScore,
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
}
|
|
@@ -253,8 +253,7 @@ claude mcp add claude-flow-novice npx claude-flow@alpha mcp start
|
|
|
253
253
|
# RUV Swarm MCP (Enhanced coordination)
|
|
254
254
|
claude mcp add ruv-swarm npx ruv-swarm mcp start
|
|
255
255
|
|
|
256
|
-
# Flow Nexus
|
|
257
|
-
claude mcp add flow-nexus npx flow-nexus@latest mcp start
|
|
256
|
+
# Flow Nexus integration removed
|
|
258
257
|
```
|
|
259
258
|
|
|
260
259
|
### IDE Integration
|
|
@@ -674,7 +674,7 @@ claude mcp add claude-flow-novice npx claude-flow@alpha mcp start
|
|
|
674
674
|
claude mcp add ruv-swarm npx ruv-swarm mcp start
|
|
675
675
|
|
|
676
676
|
# Optional: Cloud features (requires registration)
|
|
677
|
-
|
|
677
|
+
# Flow-nexus integration removed
|
|
678
678
|
```
|
|
679
679
|
|
|
680
680
|
### Verify MCP Setup
|
|
@@ -22,8 +22,7 @@ claude mcp add claude-flow-novice npx claude-flow@alpha mcp start
|
|
|
22
22
|
# Optional: Enhanced coordination features
|
|
23
23
|
claude mcp add ruv-swarm npx ruv-swarm mcp start
|
|
24
24
|
|
|
25
|
-
#
|
|
26
|
-
claude mcp add flow-nexus npx flow-nexus@latest mcp start
|
|
25
|
+
# Flow-nexus integration removed
|
|
27
26
|
```
|
|
28
27
|
|
|
29
28
|
### 2. Verify Installation
|
|
@@ -152,8 +152,7 @@ claude mcp add claude-flow-novice npx claude-flow@alpha mcp start
|
|
|
152
152
|
# Optional: Enhanced coordination
|
|
153
153
|
claude mcp add ruv-swarm npx ruv-swarm mcp start
|
|
154
154
|
|
|
155
|
-
#
|
|
156
|
-
claude mcp add flow-nexus npx flow-nexus@latest mcp start
|
|
155
|
+
# Flow-nexus integration removed
|
|
157
156
|
```
|
|
158
157
|
|
|
159
158
|
### Step 2: Verify MCP Installation
|
|
@@ -258,14 +257,7 @@ npx claude-flow@alpha config set auth.apiKey "your-key-here"
|
|
|
258
257
|
|
|
259
258
|
### Cloud Features (Optional)
|
|
260
259
|
```bash
|
|
261
|
-
#
|
|
262
|
-
npx flow-nexus@latest register
|
|
263
|
-
|
|
264
|
-
# Login to existing account
|
|
265
|
-
npx flow-nexus@latest login
|
|
266
|
-
|
|
267
|
-
# Verify cloud access
|
|
268
|
-
npx flow-nexus@latest status
|
|
260
|
+
# Flow-nexus registration removed
|
|
269
261
|
```
|
|
270
262
|
|
|
271
263
|
---
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow-nexus-app-store
|
|
3
|
-
description: Browse, publish, and deploy applications
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Flow Nexus App Store
|
|
7
|
-
|
|
8
|
-
Browse templates, publish apps, and deploy solutions.
|
|
9
|
-
|
|
10
|
-
## Browse Apps
|
|
11
|
-
```javascript
|
|
12
|
-
// Search apps
|
|
13
|
-
mcp__flow-nexus__app_search({
|
|
14
|
-
search: "authentication",
|
|
15
|
-
category: "backend",
|
|
16
|
-
featured: true,
|
|
17
|
-
limit: 20
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
// Get app details
|
|
21
|
-
mcp__flow-nexus__app_get({ app_id: "app_id" })
|
|
22
|
-
|
|
23
|
-
// List templates
|
|
24
|
-
mcp__flow-nexus__app_store_list_templates({
|
|
25
|
-
category: "web-api",
|
|
26
|
-
tags: ["express", "jwt"],
|
|
27
|
-
limit: 20
|
|
28
|
-
})
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Publish App
|
|
32
|
-
```javascript
|
|
33
|
-
mcp__flow-nexus__app_store_publish_app({
|
|
34
|
-
name: "My Auth Service",
|
|
35
|
-
description: "JWT-based authentication microservice",
|
|
36
|
-
category: "backend",
|
|
37
|
-
version: "1.0.0",
|
|
38
|
-
source_code: sourceCode,
|
|
39
|
-
tags: ["auth", "jwt", "express"],
|
|
40
|
-
metadata: {
|
|
41
|
-
author: "Your Name",
|
|
42
|
-
license: "MIT",
|
|
43
|
-
repository: "github.com/user/repo"
|
|
44
|
-
}
|
|
45
|
-
})
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Deploy Templates
|
|
49
|
-
```javascript
|
|
50
|
-
// Get template details
|
|
51
|
-
mcp__flow-nexus__template_get({
|
|
52
|
-
template_name: "express-api-starter"
|
|
53
|
-
})
|
|
54
|
-
|
|
55
|
-
// Deploy template
|
|
56
|
-
mcp__flow-nexus__template_deploy({
|
|
57
|
-
template_name: "express-api-starter",
|
|
58
|
-
deployment_name: "my-api",
|
|
59
|
-
variables: {
|
|
60
|
-
api_key: "your_key",
|
|
61
|
-
database_url: "postgres://..."
|
|
62
|
-
},
|
|
63
|
-
env_vars: {
|
|
64
|
-
NODE_ENV: "production"
|
|
65
|
-
}
|
|
66
|
-
})
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Analytics
|
|
70
|
-
```javascript
|
|
71
|
-
// Get app analytics
|
|
72
|
-
mcp__flow-nexus__app_analytics({
|
|
73
|
-
app_id: "your_app_id",
|
|
74
|
-
timeframe: "30d" // 24h, 7d, 30d, 90d
|
|
75
|
-
})
|
|
76
|
-
|
|
77
|
-
// View installed apps
|
|
78
|
-
mcp__flow-nexus__app_installed({
|
|
79
|
-
user_id: "your_id"
|
|
80
|
-
})
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Update App
|
|
84
|
-
```javascript
|
|
85
|
-
mcp__flow-nexus__app_update({
|
|
86
|
-
app_id: "app_id",
|
|
87
|
-
updates: {
|
|
88
|
-
version: "1.1.0",
|
|
89
|
-
description: "Updated description",
|
|
90
|
-
tags: ["new", "tags"]
|
|
91
|
-
}
|
|
92
|
-
})
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
## Market Data
|
|
96
|
-
```javascript
|
|
97
|
-
// Get market statistics
|
|
98
|
-
mcp__flow-nexus__market_data()
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## Template Categories
|
|
102
|
-
- **web-api**: RESTful APIs and microservices
|
|
103
|
-
- **frontend**: React, Vue, Angular apps
|
|
104
|
-
- **full-stack**: Complete applications
|
|
105
|
-
- **cli-tools**: Command-line utilities
|
|
106
|
-
- **data-processing**: ETL and analytics
|
|
107
|
-
- **ml-models**: Pre-trained models
|
|
108
|
-
- **blockchain**: Web3 applications
|
|
109
|
-
- **mobile**: React Native apps
|
|
110
|
-
|
|
111
|
-
## Publishing Best Practices
|
|
112
|
-
1. Include comprehensive documentation
|
|
113
|
-
2. Add example usage and configuration
|
|
114
|
-
3. Include tests and CI/CD setup
|
|
115
|
-
4. Use semantic versioning
|
|
116
|
-
5. Add clear license information
|
|
117
|
-
6. Include docker/deployment configs
|
|
118
|
-
7. Provide migration guides for updates
|
|
119
|
-
|
|
120
|
-
## Revenue Sharing
|
|
121
|
-
- Earn rUv credits when others use your templates
|
|
122
|
-
- Set pricing (0 for free templates)
|
|
123
|
-
- Track usage and earnings in analytics
|
|
124
|
-
- Withdraw credits or use for Flow Nexus services
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow-nexus-challenges
|
|
3
|
-
description: Coding challenges, achievements, and leaderboards
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Flow Nexus Challenges
|
|
7
|
-
|
|
8
|
-
Complete coding challenges to earn rUv credits and climb the leaderboard.
|
|
9
|
-
|
|
10
|
-
## List Challenges
|
|
11
|
-
```javascript
|
|
12
|
-
mcp__flow-nexus__challenges_list({
|
|
13
|
-
difficulty: "intermediate", // beginner, advanced, expert
|
|
14
|
-
category: "algorithms",
|
|
15
|
-
status: "active",
|
|
16
|
-
limit: 20
|
|
17
|
-
})
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Get Challenge Details
|
|
21
|
-
```javascript
|
|
22
|
-
mcp__flow-nexus__challenge_get({
|
|
23
|
-
challenge_id: "two-sum-problem"
|
|
24
|
-
})
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Submit Solution
|
|
28
|
-
```javascript
|
|
29
|
-
mcp__flow-nexus__challenge_submit({
|
|
30
|
-
challenge_id: "challenge_id",
|
|
31
|
-
user_id: "your_id",
|
|
32
|
-
solution_code: `
|
|
33
|
-
function solution(nums, target) {
|
|
34
|
-
const map = new Map();
|
|
35
|
-
for (let i = 0; i < nums.length; i++) {
|
|
36
|
-
const complement = target - nums[i];
|
|
37
|
-
if (map.has(complement)) {
|
|
38
|
-
return [map.get(complement), i];
|
|
39
|
-
}
|
|
40
|
-
map.set(nums[i], i);
|
|
41
|
-
}
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
`,
|
|
45
|
-
language: "javascript",
|
|
46
|
-
execution_time: 45 // milliseconds
|
|
47
|
-
})
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Complete Challenge
|
|
51
|
-
```javascript
|
|
52
|
-
mcp__flow-nexus__app_store_complete_challenge({
|
|
53
|
-
challenge_id: "challenge_id",
|
|
54
|
-
user_id: "your_id",
|
|
55
|
-
submission_data: {
|
|
56
|
-
passed_tests: 10,
|
|
57
|
-
total_tests: 10,
|
|
58
|
-
execution_time: 45
|
|
59
|
-
}
|
|
60
|
-
})
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Leaderboards
|
|
64
|
-
```javascript
|
|
65
|
-
// Global leaderboard
|
|
66
|
-
mcp__flow-nexus__leaderboard_get({
|
|
67
|
-
type: "global", // weekly, monthly, challenge
|
|
68
|
-
limit: 10
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
// Challenge-specific leaderboard
|
|
72
|
-
mcp__flow-nexus__leaderboard_get({
|
|
73
|
-
type: "challenge",
|
|
74
|
-
challenge_id: "specific_challenge",
|
|
75
|
-
limit: 25
|
|
76
|
-
})
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Achievements
|
|
80
|
-
```javascript
|
|
81
|
-
mcp__flow-nexus__achievements_list({
|
|
82
|
-
user_id: "your_id",
|
|
83
|
-
category: "speed_demon" // Categories vary
|
|
84
|
-
})
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## rUv Credits
|
|
88
|
-
```javascript
|
|
89
|
-
// Check balance
|
|
90
|
-
mcp__flow-nexus__ruv_balance({ user_id: "your_id" })
|
|
91
|
-
|
|
92
|
-
// View history
|
|
93
|
-
mcp__flow-nexus__ruv_history({
|
|
94
|
-
user_id: "your_id",
|
|
95
|
-
limit: 20
|
|
96
|
-
})
|
|
97
|
-
|
|
98
|
-
// Earn credits (automatic on completion)
|
|
99
|
-
mcp__flow-nexus__app_store_earn_ruv({
|
|
100
|
-
user_id: "your_id",
|
|
101
|
-
amount: 100,
|
|
102
|
-
reason: "Completed expert challenge",
|
|
103
|
-
source: "challenge"
|
|
104
|
-
})
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
## Challenge Categories
|
|
108
|
-
- **algorithms**: Classic algorithm problems
|
|
109
|
-
- **data-structures**: DS implementation challenges
|
|
110
|
-
- **system-design**: Architecture challenges
|
|
111
|
-
- **optimization**: Performance challenges
|
|
112
|
-
- **security**: Security-focused problems
|
|
113
|
-
- **ml-basics**: Machine learning fundamentals
|
|
114
|
-
|
|
115
|
-
## Tips
|
|
116
|
-
1. Start with beginner challenges
|
|
117
|
-
2. Review other solutions after completing
|
|
118
|
-
3. Optimize for both correctness and speed
|
|
119
|
-
4. Complete daily challenges for bonus credits
|
|
120
|
-
5. Unlock achievements for extra rewards
|