claude-flow-novice 2.3.4 ā 2.3.6
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/dist/src/booster/performance-benchmark.js +1 -1
- package/dist/src/booster/wasm-demo.js +1 -1
- package/dist/src/cli/command-registry.js +2 -2
- package/dist/src/cli/help-formatter.js +137 -109
- package/dist/src/cli/simple-cli.js +2528 -2121
- package/dist/src/cli/simple-commands/sparc/refinement.js +3 -3
- package/dist/src/cli/validation-helper.js +98 -49
- package/dist/src/commands/suggest-templates.js +4 -4
- package/dist/src/core/version.js +23 -15
- package/dist/src/memory/swarm-memory.js +603 -470
- package/dist/src/slash-commands/fullstack.js +2 -2
- package/dist/src/slash-commands/parse-epic.js +1 -1
- package/package.json +1 -1
- package/scripts/postinstall.js +41 -31
- package/dist/scripts/.claude-flow/metrics/agent-metrics.json +0 -1
- package/dist/scripts/.claude-flow/metrics/performance.json +0 -9
- package/dist/scripts/.claude-flow/metrics/task-metrics.json +0 -10
- package/dist/scripts/CLEANUP_OPTIMIZATION_REPORT.json +0 -312
- package/dist/scripts/CLEANUP_PERFORMANCE_OPTIMIZATION.md +0 -387
- package/dist/scripts/CLEANUP_QUICK_START.md +0 -268
- package/dist/scripts/CLEANUP_TEST_RESULTS.md +0 -205
- package/dist/scripts/README.md +0 -339
- package/dist/scripts/ace-query.sh +0 -384
- package/dist/scripts/agent-token-analysis.js +0 -430
- package/dist/scripts/auto-setup.js +0 -332
- package/dist/scripts/build/README.md +0 -167
- package/dist/scripts/build/build-config.js +0 -27
- package/dist/scripts/build/build-prompt-copier.sh +0 -30
- package/dist/scripts/build/performance-monitor.js +0 -869
- package/dist/scripts/build/prepare-publish.js +0 -150
- package/dist/scripts/build/typescript-fixer.js +0 -621
- package/dist/scripts/build/unified-builder.sh +0 -428
- package/dist/scripts/build/update-bin-version.js +0 -32
- package/dist/scripts/build/validate-agents.js +0 -238
- package/dist/scripts/build-index.js +0 -43
- package/dist/scripts/build-orchestrator.js +0 -320
- package/dist/scripts/check-routing-stats.cjs +0 -122
- package/dist/scripts/ci-validation.js +0 -375
- package/dist/scripts/cleanup-blocking-coordination.sh +0 -420
- package/dist/scripts/cleanup-idle-sessions.sh +0 -118
- package/dist/scripts/collect-build-metrics.js +0 -65
- package/dist/scripts/demo/README.md +0 -79
- package/dist/scripts/demo/autoscaling-demo-simplified.js +0 -963
- package/dist/scripts/demo/comprehensive-dashboard-test.js +0 -693
- package/dist/scripts/demo/confidence-log.js +0 -87
- package/dist/scripts/demo/confidence-report.js +0 -82
- package/dist/scripts/demo/demo-multi-swarm-coordination.js +0 -325
- package/dist/scripts/demo/demo-production-deployment.js +0 -399
- package/dist/scripts/demo/demo-visualization-system.js +0 -149
- package/dist/scripts/demo/performance-analysis.cjs +0 -71
- package/dist/scripts/demo/performance-analysis.js +0 -71
- package/dist/scripts/demo/test-autoscaling-demo.js +0 -314
- package/dist/scripts/dependency-optimizer.js +0 -349
- package/dist/scripts/dependency-security-assessment.js +0 -331
- package/dist/scripts/deploy-sdk.sh +0 -176
- package/dist/scripts/deployment-readiness-report.json +0 -179
- package/dist/scripts/dev/README.md +0 -264
- package/dist/scripts/dev/claude-flow-wrapper.sh +0 -35
- package/dist/scripts/dev/claude-monitor.py +0 -419
- package/dist/scripts/dev/claude-sparc.sh +0 -562
- package/dist/scripts/dev/claude-wrapper.sh +0 -17
- package/dist/scripts/dev/demo-phase3-compliance.js +0 -172
- package/dist/scripts/dev/demo-task-system.ts +0 -224
- package/dist/scripts/dev/deployment-validator.js +0 -315
- package/dist/scripts/dev/spawn-claude-terminal.sh +0 -32
- package/dist/scripts/dev/start-portal.sh +0 -506
- package/dist/scripts/dev/start-web-ui.js +0 -15
- package/dist/scripts/dev/stop-portal.sh +0 -311
- package/dist/scripts/dev/validate-examples.ts +0 -288
- package/dist/scripts/dev/validate-phase2.cjs +0 -451
- package/dist/scripts/dev/validate-phase2.js +0 -785
- package/dist/scripts/dev/validate-phase3.cjs +0 -208
- package/dist/scripts/dev/validate-security-remediation.js +0 -1
- package/dist/scripts/ecosystem.config.cjs +0 -90
- package/dist/scripts/enhanced-memory-spiral-killer.sh +0 -221
- package/dist/scripts/fix-js-extensions.js +0 -167
- package/dist/scripts/generate-basic-types.js +0 -73
- package/dist/scripts/generate-changelog.js +0 -318
- package/dist/scripts/git-hooks/pre-commit.sh +0 -143
- package/dist/scripts/health-checks.js +0 -634
- package/dist/scripts/hook-wrapper.sh +0 -54
- package/dist/scripts/install/README.md +0 -375
- package/dist/scripts/install/REDIS_SETUP_VALIDATION.json +0 -245
- package/dist/scripts/install/check-prerequisites.js +0 -303
- package/dist/scripts/install/config-wizard.js +0 -606
- package/dist/scripts/install/dependency-checker.js +0 -385
- package/dist/scripts/install/health-check.js +0 -765
- package/dist/scripts/install/install.js +0 -256
- package/dist/scripts/install/installation-benchmark.js +0 -461
- package/dist/scripts/install/quick-install.js +0 -720
- package/dist/scripts/install/quick-start-wizard.js +0 -295
- package/dist/scripts/install/redis-cli.js +0 -289
- package/dist/scripts/install/redis-install-guides.md +0 -407
- package/dist/scripts/install/redis-setup.js +0 -559
- package/dist/scripts/install/redis-test.js +0 -278
- package/dist/scripts/install/service-manager.js +0 -672
- package/dist/scripts/install/setup.js +0 -832
- package/dist/scripts/install/uninstall.js +0 -526
- package/dist/scripts/install/update.js +0 -461
- package/dist/scripts/install-pre-commit-hook.sh +0 -127
- package/dist/scripts/legacy/README.md +0 -272
- package/dist/scripts/legacy/batch-fix-ts.sh +0 -54
- package/dist/scripts/legacy/build-migration.sh +0 -105
- package/dist/scripts/legacy/build-monitor.js +0 -209
- package/dist/scripts/legacy/build-with-filter.sh +0 -84
- package/dist/scripts/legacy/build-workaround.sh +0 -71
- package/dist/scripts/legacy/fix-ts-advanced.js +0 -358
- package/dist/scripts/legacy/fix-ts-final.sh +0 -50
- package/dist/scripts/legacy/fix-ts-targeted.sh +0 -49
- package/dist/scripts/legacy/fix-typescript-errors.js +0 -305
- package/dist/scripts/legacy/force-build.sh +0 -63
- package/dist/scripts/legacy/optimize-performance.js +0 -400
- package/dist/scripts/legacy/performance-monitor.js +0 -263
- package/dist/scripts/legacy/performance-monitoring.js +0 -532
- package/dist/scripts/legacy/performance-test-runner.js +0 -645
- package/dist/scripts/legacy/quick-fix-ts.js +0 -281
- package/dist/scripts/legacy/safe-build.sh +0 -63
- package/dist/scripts/memory-monitor-coordinator.js +0 -451
- package/dist/scripts/migrate-to-sdk.sh +0 -520
- package/dist/scripts/migration/QUICK-START.md +0 -189
- package/dist/scripts/migration/QUICK-START.md.backup-1760135091363 +0 -189
- package/dist/scripts/migration/README.md +0 -464
- package/dist/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md +0 -500
- package/dist/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md.backup-1760135091348 +0 -500
- package/dist/scripts/migration/UPDATE-PATHS-README.md +0 -464
- package/dist/scripts/migration/UPDATE-PATHS-README.md.backup-1760135091337 +0 -464
- package/dist/scripts/migration/example-patterns.json +0 -19
- package/dist/scripts/migration/install-arm64.js +0 -78
- package/dist/scripts/migration/install.js +0 -83
- package/dist/scripts/migration/migrate-hooks.js +0 -173
- package/dist/scripts/migration/migration-examples.ts +0 -318
- package/dist/scripts/migration/reorganize-workspace.js +0 -504
- package/dist/scripts/migration/test-update-paths.js +0 -359
- package/dist/scripts/migration/update-paths.js +0 -664
- package/dist/scripts/migration/validate-migration.js +0 -647
- package/dist/scripts/monitor-loop.sh +0 -65
- package/dist/scripts/monitor-memory.sh +0 -47
- package/dist/scripts/monitor-migration.js +0 -339
- package/dist/scripts/monitor.py +0 -43
- package/dist/scripts/monitoring/README.md +0 -178
- package/dist/scripts/monitoring/alert-monitor.sh +0 -220
- package/dist/scripts/monitoring/analyze-resources.sh +0 -199
- package/dist/scripts/monitoring/dashboards/rate-limiting-dashboard.json +0 -211
- package/dist/scripts/monitoring/dynamic-monitor.sh +0 -85
- package/dist/scripts/monitoring/launch-stability-test.sh +0 -184
- package/dist/scripts/monitoring/monitor-test.sh +0 -93
- package/dist/scripts/monitoring/pre-test-validation.sh +0 -208
- package/dist/scripts/monitoring/quick-test-alerting.sh +0 -118
- package/dist/scripts/monitoring/quick-test-rate-limiting.sh +0 -206
- package/dist/scripts/monitoring/rate-limiting-monitor.sh +0 -380
- package/dist/scripts/monitoring/resource-monitor.sh +0 -126
- package/dist/scripts/monitoring/stability-monitor.js +0 -429
- package/dist/scripts/monitoring/test-monitor-quick.sh +0 -54
- package/dist/scripts/monitoring/view-alerts.sh +0 -307
- package/dist/scripts/npm-metrics-collector.js +0 -482
- package/dist/scripts/npm-package-validation.cjs +0 -299
- package/dist/scripts/optimization/build-optimizer.js +0 -438
- package/dist/scripts/optimization/config-validator.js +0 -761
- package/dist/scripts/optimization/test-optimization.js +0 -432
- package/dist/scripts/optimization/unified-activation.js +0 -839
- package/dist/scripts/optimize-package-swarm.js +0 -54
- package/dist/scripts/performance/ACTIVATION_COMMANDS.md +0 -292
- package/dist/scripts/performance/sqlite-enhanced-activation.sh +0 -583
- package/dist/scripts/performance/test-enhanced-backend.sh +0 -504
- package/dist/scripts/performance-monitor.js +0 -644
- package/dist/scripts/performance-test-runner.js +0 -698
- package/dist/scripts/post-deployment-monitoring.js +0 -350
- package/dist/scripts/post-edit-pipeline.js +0 -2091
- package/dist/scripts/post-install-claude-md.js +0 -78
- package/dist/scripts/postinstall.js +0 -84
- package/dist/scripts/pre-publish-validation.cjs +0 -212
- package/dist/scripts/pre-publish-validation.js +0 -429
- package/dist/scripts/redis-lua/cleanup-blocking-coordination.lua +0 -198
- package/dist/scripts/release-announcement.js +0 -425
- package/dist/scripts/release-notification.js +0 -248
- package/dist/scripts/release-rollback.js +0 -376
- package/dist/scripts/release-validation.js +0 -460
- package/dist/scripts/rollback-sdk.sh +0 -66
- package/dist/scripts/run-production-validation.ts +0 -590
- package/dist/scripts/run-stability-validation.sh +0 -687
- package/dist/scripts/security/README.md +0 -339
- package/dist/scripts/security/deployment-validation.cjs +0 -279
- package/dist/scripts/security/envelope-encryption-confidence-report.cjs +0 -422
- package/dist/scripts/security/install-git-hooks.sh +0 -132
- package/dist/scripts/security/install-git-secrets.sh +0 -295
- package/dist/scripts/security/rotate-api-keys.js +0 -469
- package/dist/scripts/security/ruv-swarm-safe.js +0 -74
- package/dist/scripts/security/security-audit.cjs +0 -538
- package/dist/scripts/security/setup-redis-auth.sh +0 -397
- package/dist/scripts/security/validate-envelope-encryption.cjs +0 -340
- package/dist/scripts/security-scan.js +0 -492
- package/dist/scripts/src/web/frontend/.claude-flow/metrics/agent-metrics.json +0 -1
- package/dist/scripts/src/web/frontend/.claude-flow/metrics/performance.json +0 -9
- package/dist/scripts/src/web/frontend/.claude-flow/metrics/task-metrics.json +0 -10
- package/dist/scripts/switch-api.sh +0 -159
- package/dist/scripts/sync-agents.js +0 -290
- package/dist/scripts/test/50-agent-test.js +0 -625
- package/dist/scripts/test/NEW_STABILITY_TEST_GUIDE.md +0 -407
- package/dist/scripts/test/README.md +0 -236
- package/dist/scripts/test/STABILITY_TEST_EXAMPLE.md +0 -347
- package/dist/scripts/test/STABILITY_TEST_README.md +0 -480
- package/dist/scripts/test/agent-worker.js +0 -309
- package/dist/scripts/test/ai-coordination-test.js +0 -650
- package/dist/scripts/test/ai-mesh-coordination-test.js +0 -416
- package/dist/scripts/test/check-links.ts +0 -274
- package/dist/scripts/test/check-performance-regression.ts +0 -168
- package/dist/scripts/test/cli-agent-coordination-test.js +0 -313
- package/dist/scripts/test/coordinator-multilingual-test.js +0 -396
- package/dist/scripts/test/coordinator-transparency-demo.js +0 -585
- package/dist/scripts/test/coverage-report.ts +0 -692
- package/dist/scripts/test/generate-swarm-tests.js +0 -633
- package/dist/scripts/test/integration-test-validation.cjs +0 -253
- package/dist/scripts/test/load-test-swarm.js +0 -576
- package/dist/scripts/test/mesh-coordination-zero-overlap-test.js +0 -740
- package/dist/scripts/test/multilingual-hello-world-test.js +0 -390
- package/dist/scripts/test/quick-multilingual-demo.js +0 -464
- package/dist/scripts/test/real-agent-test.js +0 -312
- package/dist/scripts/test/run-phase3-compliance-tests.js +0 -427
- package/dist/scripts/test/run-stability-test-examples.sh +0 -292
- package/dist/scripts/test/stability-results/stability-metrics.jsonl +0 -83
- package/dist/scripts/test/stability-results/stability-test-report.json +0 -128
- package/dist/scripts/test/stability-results/stability-test.log +0 -1827
- package/dist/scripts/test/stability-test-50-agents.js +0 -734
- package/dist/scripts/test/test-batch-tasks.ts +0 -29
- package/dist/scripts/test/test-byzantine-resolution.js +0 -246
- package/dist/scripts/test/test-claude-spawn-options.sh +0 -63
- package/dist/scripts/test/test-cli-wizard.js +0 -331
- package/dist/scripts/test/test-comprehensive.js +0 -401
- package/dist/scripts/test/test-coordination-features.ts +0 -238
- package/dist/scripts/test/test-fallback-systems.js +0 -276
- package/dist/scripts/test/test-init-command.ts +0 -302
- package/dist/scripts/test/test-mcp.ts +0 -251
- package/dist/scripts/test/test-runner.ts +0 -568
- package/dist/scripts/test/test-swarm-integration.sh +0 -92
- package/dist/scripts/test/test-swarm.ts +0 -142
- package/dist/scripts/test/validation-summary.ts +0 -408
- package/dist/scripts/test-cleanup-performance.sh +0 -416
- package/dist/scripts/test-dashboard-auth.cjs +0 -203
- package/dist/scripts/test-docker-deployment.sh +0 -207
- package/dist/scripts/test-npm-package.cjs +0 -167
- package/dist/scripts/test-provider-routing.cjs +0 -226
- package/dist/scripts/test-routing-telemetry.cjs +0 -147
- package/dist/scripts/test-runner.cjs +0 -154
- package/dist/scripts/test-zai-10k.cjs +0 -81
- package/dist/scripts/test-zai-api.cjs +0 -191
- package/dist/scripts/test-zai-diagnostic.cjs +0 -151
- package/dist/scripts/test-zai-final.cjs +0 -128
- package/dist/scripts/test-zai-with-env.cjs +0 -85
- package/dist/scripts/toggle-cost-savings.cjs +0 -302
- package/dist/scripts/unified-memory-monitor.js +0 -526
- package/dist/scripts/utils/README.md +0 -261
- package/dist/scripts/utils/clean-build-artifacts.sh +0 -94
- package/dist/scripts/utils/cleanup-root.sh +0 -69
- package/dist/scripts/utils/fix-cliffy-imports.js +0 -307
- package/dist/scripts/utils/fix-duplicate-imports.js +0 -114
- package/dist/scripts/utils/fix-error-handling.cjs +0 -70
- package/dist/scripts/utils/fix-import-paths.js +0 -104
- package/dist/scripts/utils/fix-imports.js +0 -116
- package/dist/scripts/utils/fix-shebang.js +0 -78
- package/dist/scripts/utils/fix-test-modules.js +0 -27
- package/dist/scripts/utils/fix-timezone-issue-246.js +0 -200
- package/dist/scripts/utils/fix-ts-comprehensive.py +0 -182
- package/dist/scripts/utils/fix-ts-targeted-batch.js +0 -250
- package/dist/scripts/utils/remove-benchmark-conflicts.sh +0 -140
- package/dist/scripts/utils/simple-test-fixer.js +0 -190
- package/dist/scripts/utils/validate-metrics-structure.cjs +0 -144
- package/dist/scripts/validate-agent-hooks.js +0 -506
- package/dist/scripts/validate-changelog.js +0 -241
- package/dist/scripts/validate-coordination-cli.js +0 -69
- package/dist/scripts/validate-coordination-toggle-integration.cjs +0 -501
- package/dist/scripts/validate-docker-infrastructure.sh +0 -502
- package/dist/scripts/validate-entry-points.js +0 -300
- package/dist/scripts/validate-memory-monitoring.sh +0 -225
- package/dist/scripts/validate-stage3-performance.ts +0 -377
- package/dist/scripts/validate-template-bundling.js +0 -180
- package/dist/scripts/validation/README.md +0 -33
- package/dist/scripts/validation/acl-security-validation.cjs +0 -214
- package/dist/scripts/validation/acl-security-validation.js +0 -402
- package/dist/scripts/validation/byzantine-verification.js +0 -407
- package/dist/scripts/validation/final-phase-2-consensus.cjs +0 -219
- package/dist/scripts/validation/final-security-validation.js +0 -791
- package/dist/scripts/validation/final-wasm-validation.cjs +0 -840
- package/dist/scripts/validation/integration-test-analysis.js +0 -105
- package/dist/scripts/validation/phase-0-comprehensive-validation.js +0 -474
- package/dist/scripts/validation/phase-0-consensus-report.js +0 -139
- package/dist/scripts/validation/phase-0-final-report.js +0 -112
- package/dist/scripts/validation/phase-0-redis-consensus-report.js +0 -129
- package/dist/scripts/validation/phase-0-validation-improved.js +0 -490
- package/dist/scripts/validation/phase-0-validation-test.js +0 -65
- package/dist/scripts/validation/phase-1-consensus-report.cjs +0 -342
- package/dist/scripts/validation/phase-1-consensus-validation.cjs +0 -551
- package/dist/scripts/validation/phase-1-consensus-validation.js +0 -551
- package/dist/scripts/validation/phase-2-consensus-report.cjs +0 -186
- package/dist/scripts/validation/phase-2-validation.cjs +0 -171
- package/dist/scripts/validation/phase-2-validation.js +0 -171
- package/dist/scripts/validation/phase-4-consensus-report.js +0 -181
- package/dist/scripts/validation/phase-4-final-validation.js +0 -351
- package/dist/scripts/validation/phase-5-consensus-report.cjs +0 -113
- package/dist/scripts/validation/phase-5-consensus-report.js +0 -113
- package/dist/scripts/validation/security-analysis.js +0 -49
- package/dist/scripts/validation/security-validation.js +0 -492
- package/dist/scripts/validation/simple-security-validation.js +0 -464
- package/dist/scripts/verify-installation.js +0 -112
- package/dist/scripts/verify-mcp-server.js +0 -86
- package/dist/scripts/verify-sdk-phase1.cjs +0 -293
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/browser/accessibilityService.js +0 -88
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/accessibility/common/accessibility.js +0 -9
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/action.js +0 -7
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/action/common/actionCommonCategories.js +0 -13
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionList.js +0 -276
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/browser/actionWidget.js +0 -248
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actionWidget/common/actionWidget.js +0 -5
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/actions/common/actions.js +0 -409
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/audioCues/browser/audioCueService.js +0 -176
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/browser/clipboardService.js +0 -141
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/clipboard/common/clipboardService.js +0 -6
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/commands/common/commands.js +0 -80
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configuration.js +0 -86
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationModels.js +0 -554
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurationRegistry.js +0 -317
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/configuration/common/configurations.js +0 -41
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/browser/contextKeyService.js +0 -432
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkey.js +0 -1547
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextkey/common/contextkeys.js +0 -18
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuHandler.js +0 -124
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextMenuService.js +0 -101
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextView.js +0 -7
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/contextview/browser/contextViewService.js +0 -72
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dialogs/common/dialogs.js +0 -2
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/dnd/browser/dnd.js +0 -36
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/editor/common/editor.js +0 -17
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/environment/common/environment.js +0 -2
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/extensions/common/extensions.js +0 -47
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/files/common/files.js +0 -9
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +0 -105
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/descriptors.js +0 -11
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/instantiation/common/extensions.js +0 -15
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/abstractKeybindingService.js +0 -277
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/keybinding/common/baseResolvedKeybinding.js +0 -53
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -354
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/browser/defaultStyles.js +0 -162
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/esm/vs/platform/theme/common/colorRegistry.js +0 -482
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/abap/abap.js +0 -10
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/apex/apex.js +0 -10
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/azcli/azcli.js +0 -10
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bat/bat.js +0 -10
- package/dist/src/web/frontend/node_modules/.monaco-editor-MndU045b/min/vs/basic-languages/bicep/bicep.js +0 -11
|
@@ -1,720 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Claude Flow Novice - Quick Installation Script
|
|
5
|
-
*
|
|
6
|
-
* Target: Complete installation in under 5 minutes
|
|
7
|
-
*
|
|
8
|
-
* Features:
|
|
9
|
-
* - Parallel dependency checking
|
|
10
|
-
* - Automated Redis installation with Docker fallback
|
|
11
|
-
* - Quick-start wizard with smart defaults
|
|
12
|
-
* - Optimized template deployment
|
|
13
|
-
* - Real-time progress tracking
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import { execSync, spawn } from 'child_process';
|
|
17
|
-
import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
18
|
-
import { join, dirname } from 'path';
|
|
19
|
-
import { homedir, platform } from 'os';
|
|
20
|
-
import chalk from 'chalk';
|
|
21
|
-
import ora from 'ora';
|
|
22
|
-
|
|
23
|
-
class QuickInstaller {
|
|
24
|
-
constructor(options = {}) {
|
|
25
|
-
this.startTime = Date.now();
|
|
26
|
-
this.platform = platform();
|
|
27
|
-
this.quickStart = options.quickStart || false;
|
|
28
|
-
this.skipRedis = options.skipRedis || false;
|
|
29
|
-
this.verbose = options.verbose || false;
|
|
30
|
-
this.targetTimeMs = 5 * 60 * 1000; // 5 minutes
|
|
31
|
-
this.benchmarks = {};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
async install() {
|
|
35
|
-
console.log(chalk.blue.bold('ā” Claude Flow Novice - Quick Installation\n'));
|
|
36
|
-
console.log(chalk.gray(`Target: Complete setup in under 5 minutes\n`));
|
|
37
|
-
|
|
38
|
-
const mainSpinner = ora('Starting installation...').start();
|
|
39
|
-
|
|
40
|
-
try {
|
|
41
|
-
// Phase 1: Parallel dependency checks (10 seconds)
|
|
42
|
-
const phase1Start = Date.now();
|
|
43
|
-
mainSpinner.text = 'Phase 1/5: Checking dependencies...';
|
|
44
|
-
const dependencies = await this.checkDependenciesParallel();
|
|
45
|
-
this.benchmarks.dependencies = Date.now() - phase1Start;
|
|
46
|
-
mainSpinner.succeed(`Phase 1 completed in ${this.benchmarks.dependencies}ms`);
|
|
47
|
-
|
|
48
|
-
// Phase 2: Automated Redis installation (30-60 seconds)
|
|
49
|
-
const phase2Start = Date.now();
|
|
50
|
-
mainSpinner.text = 'Phase 2/5: Setting up Redis...';
|
|
51
|
-
const redis = await this.setupRedisAutomated(dependencies.redis);
|
|
52
|
-
this.benchmarks.redis = Date.now() - phase2Start;
|
|
53
|
-
mainSpinner.succeed(`Phase 2 completed in ${this.benchmarks.redis}ms`);
|
|
54
|
-
|
|
55
|
-
// Phase 3: Quick-start configuration (5 seconds)
|
|
56
|
-
const phase3Start = Date.now();
|
|
57
|
-
mainSpinner.text = 'Phase 3/5: Generating configuration...';
|
|
58
|
-
const config = await this.quickStartConfig();
|
|
59
|
-
this.benchmarks.config = Date.now() - phase3Start;
|
|
60
|
-
mainSpinner.succeed(`Phase 3 completed in ${this.benchmarks.config}ms`);
|
|
61
|
-
|
|
62
|
-
// Phase 4: Template deployment (10 seconds)
|
|
63
|
-
const phase4Start = Date.now();
|
|
64
|
-
mainSpinner.text = 'Phase 4/5: Deploying templates...';
|
|
65
|
-
await this.deployTemplatesOptimized();
|
|
66
|
-
this.benchmarks.templates = Date.now() - phase4Start;
|
|
67
|
-
mainSpinner.succeed(`Phase 4 completed in ${this.benchmarks.templates}ms`);
|
|
68
|
-
|
|
69
|
-
// Phase 5: Validation and finalization (5 seconds)
|
|
70
|
-
const phase5Start = Date.now();
|
|
71
|
-
mainSpinner.text = 'Phase 5/5: Validating installation...';
|
|
72
|
-
await this.validateInstallation();
|
|
73
|
-
this.benchmarks.validation = Date.now() - phase5Start;
|
|
74
|
-
mainSpinner.succeed(`Phase 5 completed in ${this.benchmarks.validation}ms`);
|
|
75
|
-
|
|
76
|
-
// Summary
|
|
77
|
-
const totalTime = Date.now() - this.startTime;
|
|
78
|
-
this.displaySummary(totalTime, dependencies, redis, config);
|
|
79
|
-
|
|
80
|
-
return true;
|
|
81
|
-
} catch (error) {
|
|
82
|
-
mainSpinner.fail('Installation failed');
|
|
83
|
-
console.error(chalk.red(`\nā Error: ${error.message}`));
|
|
84
|
-
|
|
85
|
-
if (this.verbose) {
|
|
86
|
-
console.error(chalk.gray(`\nStack trace:\n${error.stack}`));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
this.displayTroubleshooting(error);
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
async checkDependenciesParallel() {
|
|
95
|
-
const checks = [
|
|
96
|
-
this.checkNodeVersion(),
|
|
97
|
-
this.checkNpm(),
|
|
98
|
-
this.checkRedis(),
|
|
99
|
-
this.checkDocker(),
|
|
100
|
-
this.checkGit()
|
|
101
|
-
];
|
|
102
|
-
|
|
103
|
-
const results = await Promise.allSettled(checks);
|
|
104
|
-
|
|
105
|
-
return {
|
|
106
|
-
node: results[0].status === 'fulfilled' ? results[0].value : null,
|
|
107
|
-
npm: results[1].status === 'fulfilled' ? results[1].value : null,
|
|
108
|
-
redis: results[2].status === 'fulfilled' ? results[2].value : null,
|
|
109
|
-
docker: results[3].status === 'fulfilled' ? results[3].value : null,
|
|
110
|
-
git: results[4].status === 'fulfilled' ? results[4].value : null
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
async checkNodeVersion() {
|
|
115
|
-
try {
|
|
116
|
-
const version = execSync('node --version', { encoding: 'utf8' }).trim();
|
|
117
|
-
const majorVersion = parseInt(version.slice(1).split('.')[0]);
|
|
118
|
-
|
|
119
|
-
if (majorVersion < 20) {
|
|
120
|
-
throw new Error(`Node.js ${version} found. Minimum required: v20.0.0`);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return { installed: true, version, compatible: true };
|
|
124
|
-
} catch (error) {
|
|
125
|
-
return { installed: false, error: error.message };
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
async checkNpm() {
|
|
130
|
-
try {
|
|
131
|
-
const version = execSync('npm --version', { encoding: 'utf8' }).trim();
|
|
132
|
-
return { installed: true, version };
|
|
133
|
-
} catch (error) {
|
|
134
|
-
return { installed: false, error: error.message };
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
async checkRedis() {
|
|
139
|
-
try {
|
|
140
|
-
const version = execSync('redis-cli --version', { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] }).trim();
|
|
141
|
-
|
|
142
|
-
// Check if Redis server is running
|
|
143
|
-
try {
|
|
144
|
-
const ping = execSync('redis-cli ping', { encoding: 'utf8', timeout: 2000 }).trim();
|
|
145
|
-
return {
|
|
146
|
-
installed: true,
|
|
147
|
-
version,
|
|
148
|
-
running: ping === 'PONG'
|
|
149
|
-
};
|
|
150
|
-
} catch (pingError) {
|
|
151
|
-
return {
|
|
152
|
-
installed: true,
|
|
153
|
-
version,
|
|
154
|
-
running: false
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
} catch (error) {
|
|
158
|
-
return { installed: false, running: false };
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
async checkDocker() {
|
|
163
|
-
try {
|
|
164
|
-
const version = execSync('docker --version', { encoding: 'utf8', timeout: 2000 }).trim();
|
|
165
|
-
|
|
166
|
-
// Check if Docker daemon is running
|
|
167
|
-
try {
|
|
168
|
-
execSync('docker ps', { stdio: 'ignore', timeout: 2000 });
|
|
169
|
-
return { installed: true, version, running: true };
|
|
170
|
-
} catch (psError) {
|
|
171
|
-
return { installed: true, version, running: false };
|
|
172
|
-
}
|
|
173
|
-
} catch (error) {
|
|
174
|
-
return { installed: false, running: false };
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
async checkGit() {
|
|
179
|
-
try {
|
|
180
|
-
const version = execSync('git --version', { encoding: 'utf8' }).trim();
|
|
181
|
-
return { installed: true, version };
|
|
182
|
-
} catch (error) {
|
|
183
|
-
return { installed: false };
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
async setupRedisAutomated(redisStatus) {
|
|
188
|
-
if (this.skipRedis) {
|
|
189
|
-
return { method: 'skipped', message: 'Redis setup skipped by user' };
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
// If Redis is already running, skip installation
|
|
193
|
-
if (redisStatus.installed && redisStatus.running) {
|
|
194
|
-
return {
|
|
195
|
-
method: 'existing',
|
|
196
|
-
version: redisStatus.version,
|
|
197
|
-
message: 'Using existing Redis installation'
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
// If Redis is installed but not running, start it
|
|
202
|
-
if (redisStatus.installed && !redisStatus.running) {
|
|
203
|
-
const started = await this.startExistingRedis();
|
|
204
|
-
if (started) {
|
|
205
|
-
return {
|
|
206
|
-
method: 'started',
|
|
207
|
-
version: redisStatus.version,
|
|
208
|
-
message: 'Started existing Redis server'
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// Try Docker fallback first (fastest method - 30 seconds)
|
|
214
|
-
const docker = await this.checkDocker();
|
|
215
|
-
if (docker.installed && docker.running) {
|
|
216
|
-
const dockerRedis = await this.setupRedisDocker();
|
|
217
|
-
if (dockerRedis) {
|
|
218
|
-
return {
|
|
219
|
-
method: 'docker',
|
|
220
|
-
message: 'Redis running in Docker container',
|
|
221
|
-
container: dockerRedis.container
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
// Platform-specific installation
|
|
227
|
-
return await this.installRedisPlatformSpecific();
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
async startExistingRedis() {
|
|
231
|
-
try {
|
|
232
|
-
if (this.platform === 'win32') {
|
|
233
|
-
// Windows: Try service first, then direct
|
|
234
|
-
try {
|
|
235
|
-
execSync('net start redis', { stdio: 'ignore', timeout: 10000 });
|
|
236
|
-
return true;
|
|
237
|
-
} catch (serviceError) {
|
|
238
|
-
spawn('redis-server', [], {
|
|
239
|
-
detached: true,
|
|
240
|
-
stdio: 'ignore'
|
|
241
|
-
}).unref();
|
|
242
|
-
await this.waitForRedis(10);
|
|
243
|
-
return true;
|
|
244
|
-
}
|
|
245
|
-
} else if (this.platform === 'darwin') {
|
|
246
|
-
// macOS: Homebrew services
|
|
247
|
-
try {
|
|
248
|
-
execSync('brew services start redis', { stdio: 'ignore', timeout: 10000 });
|
|
249
|
-
await this.waitForRedis(10);
|
|
250
|
-
return true;
|
|
251
|
-
} catch (brewError) {
|
|
252
|
-
spawn('redis-server', [], {
|
|
253
|
-
detached: true,
|
|
254
|
-
stdio: 'ignore'
|
|
255
|
-
}).unref();
|
|
256
|
-
await this.waitForRedis(10);
|
|
257
|
-
return true;
|
|
258
|
-
}
|
|
259
|
-
} else {
|
|
260
|
-
// Linux: systemd
|
|
261
|
-
try {
|
|
262
|
-
execSync('sudo systemctl start redis-server', { stdio: 'ignore', timeout: 10000 });
|
|
263
|
-
await this.waitForRedis(10);
|
|
264
|
-
return true;
|
|
265
|
-
} catch (systemdError) {
|
|
266
|
-
spawn('redis-server', [], {
|
|
267
|
-
detached: true,
|
|
268
|
-
stdio: 'ignore'
|
|
269
|
-
}).unref();
|
|
270
|
-
await this.waitForRedis(10);
|
|
271
|
-
return true;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
} catch (error) {
|
|
275
|
-
return false;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
async setupRedisDocker() {
|
|
280
|
-
try {
|
|
281
|
-
// Check if Redis container already exists
|
|
282
|
-
try {
|
|
283
|
-
const existing = execSync('docker ps -a --filter name=claude-flow-redis --format "{{.Names}}"', {
|
|
284
|
-
encoding: 'utf8'
|
|
285
|
-
}).trim();
|
|
286
|
-
|
|
287
|
-
if (existing === 'claude-flow-redis') {
|
|
288
|
-
// Container exists, start it
|
|
289
|
-
execSync('docker start claude-flow-redis', { stdio: 'ignore' });
|
|
290
|
-
await this.waitForRedis(15);
|
|
291
|
-
return { container: 'claude-flow-redis', status: 'started' };
|
|
292
|
-
}
|
|
293
|
-
} catch (checkError) {
|
|
294
|
-
// Container doesn't exist, create it
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
// Pull Redis image (if not cached)
|
|
298
|
-
execSync('docker pull redis:alpine', { stdio: 'ignore', timeout: 60000 });
|
|
299
|
-
|
|
300
|
-
// Run Redis container
|
|
301
|
-
const containerId = execSync(
|
|
302
|
-
'docker run -d --name claude-flow-redis -p 6379:6379 redis:alpine redis-server --maxmemory 256mb --maxmemory-policy allkeys-lru',
|
|
303
|
-
{ encoding: 'utf8', timeout: 10000 }
|
|
304
|
-
).trim();
|
|
305
|
-
|
|
306
|
-
// Wait for Redis to be ready
|
|
307
|
-
await this.waitForRedis(15);
|
|
308
|
-
|
|
309
|
-
return {
|
|
310
|
-
container: 'claude-flow-redis',
|
|
311
|
-
containerId,
|
|
312
|
-
status: 'created'
|
|
313
|
-
};
|
|
314
|
-
} catch (error) {
|
|
315
|
-
return null;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
async installRedisPlatformSpecific() {
|
|
320
|
-
const spinner = ora('Installing Redis...').start();
|
|
321
|
-
|
|
322
|
-
try {
|
|
323
|
-
if (this.platform === 'win32') {
|
|
324
|
-
return await this.installRedisWindows(spinner);
|
|
325
|
-
} else if (this.platform === 'darwin') {
|
|
326
|
-
return await this.installRedisMacOS(spinner);
|
|
327
|
-
} else {
|
|
328
|
-
return await this.installRedisLinux(spinner);
|
|
329
|
-
}
|
|
330
|
-
} catch (error) {
|
|
331
|
-
spinner.fail('Redis installation failed');
|
|
332
|
-
throw new Error(`Redis installation failed: ${error.message}`);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
async installRedisWindows(spinner) {
|
|
337
|
-
// Check for Chocolatey
|
|
338
|
-
try {
|
|
339
|
-
execSync('choco --version', { stdio: 'ignore' });
|
|
340
|
-
spinner.text = 'Installing Redis via Chocolatey...';
|
|
341
|
-
execSync('choco install redis-64 -y', { stdio: 'ignore', timeout: 120000 });
|
|
342
|
-
await this.waitForRedis(20);
|
|
343
|
-
return { method: 'chocolatey', message: 'Redis installed via Chocolatey' };
|
|
344
|
-
} catch (chocoError) {
|
|
345
|
-
// Check for Scoop
|
|
346
|
-
try {
|
|
347
|
-
execSync('scoop --version', { stdio: 'ignore' });
|
|
348
|
-
spinner.text = 'Installing Redis via Scoop...';
|
|
349
|
-
execSync('scoop install redis', { stdio: 'ignore', timeout: 120000 });
|
|
350
|
-
await this.waitForRedis(20);
|
|
351
|
-
return { method: 'scoop', message: 'Redis installed via Scoop' };
|
|
352
|
-
} catch (scoopError) {
|
|
353
|
-
throw new Error('No package manager found. Please install Chocolatey or Scoop.');
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
async installRedisMacOS(spinner) {
|
|
359
|
-
try {
|
|
360
|
-
execSync('brew --version', { stdio: 'ignore' });
|
|
361
|
-
spinner.text = 'Installing Redis via Homebrew...';
|
|
362
|
-
execSync('brew install redis', { stdio: 'ignore', timeout: 180000 });
|
|
363
|
-
execSync('brew services start redis', { stdio: 'ignore' });
|
|
364
|
-
await this.waitForRedis(20);
|
|
365
|
-
return { method: 'homebrew', message: 'Redis installed via Homebrew' };
|
|
366
|
-
} catch (error) {
|
|
367
|
-
throw new Error('Homebrew not found. Please install Homebrew first.');
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
async installRedisLinux(spinner) {
|
|
372
|
-
// Detect distribution
|
|
373
|
-
let installCmd = '';
|
|
374
|
-
|
|
375
|
-
try {
|
|
376
|
-
const releaseInfo = execSync('cat /etc/os-release', { encoding: 'utf8' });
|
|
377
|
-
|
|
378
|
-
if (releaseInfo.includes('ubuntu') || releaseInfo.includes('debian')) {
|
|
379
|
-
installCmd = 'sudo apt-get update && sudo apt-get install redis-server -y';
|
|
380
|
-
} else if (releaseInfo.includes('centos') || releaseInfo.includes('rhel') || releaseInfo.includes('fedora')) {
|
|
381
|
-
installCmd = 'sudo yum install redis -y';
|
|
382
|
-
} else if (releaseInfo.includes('arch')) {
|
|
383
|
-
installCmd = 'sudo pacman -S redis --noconfirm';
|
|
384
|
-
} else {
|
|
385
|
-
throw new Error('Unsupported Linux distribution');
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
spinner.text = 'Installing Redis...';
|
|
389
|
-
execSync(installCmd, { stdio: 'ignore', timeout: 180000 });
|
|
390
|
-
|
|
391
|
-
// Start Redis
|
|
392
|
-
try {
|
|
393
|
-
execSync('sudo systemctl start redis-server', { stdio: 'ignore' });
|
|
394
|
-
execSync('sudo systemctl enable redis-server', { stdio: 'ignore' });
|
|
395
|
-
} catch (systemdError) {
|
|
396
|
-
spawn('redis-server', [], { detached: true, stdio: 'ignore' }).unref();
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
await this.waitForRedis(20);
|
|
400
|
-
return { method: 'native', message: 'Redis installed via native package manager' };
|
|
401
|
-
} catch (error) {
|
|
402
|
-
throw new Error(`Linux installation failed: ${error.message}`);
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
async waitForRedis(maxAttempts = 30) {
|
|
407
|
-
for (let i = 0; i < maxAttempts; i++) {
|
|
408
|
-
try {
|
|
409
|
-
const response = execSync('redis-cli ping', {
|
|
410
|
-
encoding: 'utf8',
|
|
411
|
-
timeout: 2000,
|
|
412
|
-
stdio: ['pipe', 'pipe', 'pipe']
|
|
413
|
-
}).trim();
|
|
414
|
-
|
|
415
|
-
if (response === 'PONG') {
|
|
416
|
-
return true;
|
|
417
|
-
}
|
|
418
|
-
} catch (error) {
|
|
419
|
-
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
throw new Error('Redis failed to start within expected time');
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
async quickStartConfig() {
|
|
427
|
-
const workingDir = process.cwd();
|
|
428
|
-
const configDir = join(workingDir, '.claude');
|
|
429
|
-
|
|
430
|
-
// Create directory structure
|
|
431
|
-
const dirs = [
|
|
432
|
-
'.claude',
|
|
433
|
-
'.claude/commands',
|
|
434
|
-
'.claude/agents',
|
|
435
|
-
'memory',
|
|
436
|
-
'coordination'
|
|
437
|
-
];
|
|
438
|
-
|
|
439
|
-
for (const dir of dirs) {
|
|
440
|
-
const fullPath = join(workingDir, dir);
|
|
441
|
-
if (!existsSync(fullPath)) {
|
|
442
|
-
mkdirSync(fullPath, { recursive: true });
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
// Generate minimal configuration with sensible defaults
|
|
447
|
-
const config = {
|
|
448
|
-
version: '1.6.6',
|
|
449
|
-
quickStart: true,
|
|
450
|
-
installedAt: new Date().toISOString(),
|
|
451
|
-
platform: this.platform,
|
|
452
|
-
features: {
|
|
453
|
-
swarmOrchestration: true,
|
|
454
|
-
redisCoordination: true,
|
|
455
|
-
autoSpawn: true,
|
|
456
|
-
memoryPersistence: true
|
|
457
|
-
},
|
|
458
|
-
redis: {
|
|
459
|
-
host: 'localhost',
|
|
460
|
-
port: 6379,
|
|
461
|
-
connectionString: 'redis://localhost:6379'
|
|
462
|
-
}
|
|
463
|
-
};
|
|
464
|
-
|
|
465
|
-
// Write configuration
|
|
466
|
-
writeFileSync(
|
|
467
|
-
join(configDir, 'quick-start.json'),
|
|
468
|
-
JSON.stringify(config, null, 2)
|
|
469
|
-
);
|
|
470
|
-
|
|
471
|
-
return config;
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
async deployTemplatesOptimized() {
|
|
475
|
-
const workingDir = process.cwd();
|
|
476
|
-
|
|
477
|
-
// Use bundled templates for instant deployment
|
|
478
|
-
const templates = {
|
|
479
|
-
'CLAUDE.md': this.getMinimalClaudeMd(),
|
|
480
|
-
'.claude/settings.json': this.getMinimalSettings(),
|
|
481
|
-
'memory/README.md': this.getMemoryReadme(),
|
|
482
|
-
'coordination/README.md': this.getCoordinationReadme()
|
|
483
|
-
};
|
|
484
|
-
|
|
485
|
-
// Write all templates in parallel
|
|
486
|
-
const writePromises = Object.entries(templates).map(([path, content]) => {
|
|
487
|
-
const fullPath = join(workingDir, path);
|
|
488
|
-
const dir = dirname(fullPath);
|
|
489
|
-
|
|
490
|
-
if (!existsSync(dir)) {
|
|
491
|
-
mkdirSync(dir, { recursive: true });
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
return new Promise((resolve) => {
|
|
495
|
-
writeFileSync(fullPath, content);
|
|
496
|
-
resolve();
|
|
497
|
-
});
|
|
498
|
-
});
|
|
499
|
-
|
|
500
|
-
await Promise.all(writePromises);
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
getMinimalClaudeMd() {
|
|
504
|
-
return `# Claude Flow Novice - Quick Start Configuration
|
|
505
|
-
|
|
506
|
-
## Overview
|
|
507
|
-
AI agent orchestration framework with Redis-based coordination.
|
|
508
|
-
|
|
509
|
-
## Quick Commands
|
|
510
|
-
- Start swarm: \`npx claude-flow-novice swarm "your objective"\`
|
|
511
|
-
- Check status: \`npx claude-flow-novice status\`
|
|
512
|
-
- View agents: \`npx claude-flow-novice agents list\`
|
|
513
|
-
|
|
514
|
-
## Redis Connection
|
|
515
|
-
- Host: localhost
|
|
516
|
-
- Port: 6379
|
|
517
|
-
|
|
518
|
-
## Features Enabled
|
|
519
|
-
- Swarm orchestration
|
|
520
|
-
- Redis coordination
|
|
521
|
-
- Auto-spawn agents
|
|
522
|
-
- Memory persistence
|
|
523
|
-
|
|
524
|
-
---
|
|
525
|
-
*Generated by Quick Install - ${new Date().toISOString()}*
|
|
526
|
-
`;
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
getMinimalSettings() {
|
|
530
|
-
return JSON.stringify({
|
|
531
|
-
version: '1.6.6',
|
|
532
|
-
hooks: {
|
|
533
|
-
enabled: true,
|
|
534
|
-
'post-edit': {
|
|
535
|
-
command: 'npx claude-flow-novice hooks post-edit --file "{{file}}"'
|
|
536
|
-
}
|
|
537
|
-
},
|
|
538
|
-
redis: {
|
|
539
|
-
host: 'localhost',
|
|
540
|
-
port: 6379
|
|
541
|
-
},
|
|
542
|
-
swarm: {
|
|
543
|
-
autoSpawn: true,
|
|
544
|
-
maxAgents: 10
|
|
545
|
-
}
|
|
546
|
-
}, null, 2);
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
getMemoryReadme() {
|
|
550
|
-
return `# Memory System
|
|
551
|
-
|
|
552
|
-
Agent memory and coordination data stored here.
|
|
553
|
-
|
|
554
|
-
## Structure
|
|
555
|
-
- \`agents/\` - Agent-specific memory
|
|
556
|
-
- \`sessions/\` - Session data
|
|
557
|
-
- \`claude-flow-data.json\` - Persistence database
|
|
558
|
-
`;
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
getCoordinationReadme() {
|
|
562
|
-
return `# Coordination System
|
|
563
|
-
|
|
564
|
-
Agent coordination and orchestration data.
|
|
565
|
-
|
|
566
|
-
## Structure
|
|
567
|
-
- \`memory_bank/\` - Shared memory
|
|
568
|
-
- \`subtasks/\` - Task breakdown
|
|
569
|
-
- \`orchestration/\` - Swarm orchestration
|
|
570
|
-
`;
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
async validateInstallation() {
|
|
574
|
-
const checks = [
|
|
575
|
-
this.validateRedis(),
|
|
576
|
-
this.validateFiles(),
|
|
577
|
-
this.validateConfiguration()
|
|
578
|
-
];
|
|
579
|
-
|
|
580
|
-
const results = await Promise.allSettled(checks);
|
|
581
|
-
|
|
582
|
-
const failed = results.filter(r => r.status === 'rejected');
|
|
583
|
-
if (failed.length > 0) {
|
|
584
|
-
throw new Error(`Validation failed: ${failed.map(f => f.reason).join(', ')}`);
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
return true;
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
async validateRedis() {
|
|
591
|
-
try {
|
|
592
|
-
const response = execSync('redis-cli ping', {
|
|
593
|
-
encoding: 'utf8',
|
|
594
|
-
timeout: 2000
|
|
595
|
-
}).trim();
|
|
596
|
-
|
|
597
|
-
if (response !== 'PONG') {
|
|
598
|
-
throw new Error('Redis not responding');
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
return true;
|
|
602
|
-
} catch (error) {
|
|
603
|
-
throw new Error(`Redis validation failed: ${error.message}`);
|
|
604
|
-
}
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
async validateFiles() {
|
|
608
|
-
const workingDir = process.cwd();
|
|
609
|
-
const requiredFiles = [
|
|
610
|
-
'CLAUDE.md',
|
|
611
|
-
'.claude/settings.json',
|
|
612
|
-
'.claude/quick-start.json'
|
|
613
|
-
];
|
|
614
|
-
|
|
615
|
-
for (const file of requiredFiles) {
|
|
616
|
-
if (!existsSync(join(workingDir, file))) {
|
|
617
|
-
throw new Error(`Missing required file: ${file}`);
|
|
618
|
-
}
|
|
619
|
-
}
|
|
620
|
-
|
|
621
|
-
return true;
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
async validateConfiguration() {
|
|
625
|
-
const workingDir = process.cwd();
|
|
626
|
-
const configPath = join(workingDir, '.claude', 'quick-start.json');
|
|
627
|
-
|
|
628
|
-
if (!existsSync(configPath)) {
|
|
629
|
-
throw new Error('Configuration file not found');
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
return true;
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
displaySummary(totalTime, dependencies, redis, config) {
|
|
636
|
-
const totalSeconds = (totalTime / 1000).toFixed(1);
|
|
637
|
-
const targetSeconds = (this.targetTimeMs / 1000).toFixed(0);
|
|
638
|
-
const targetMet = totalTime < this.targetTimeMs;
|
|
639
|
-
|
|
640
|
-
console.log('\n' + chalk.blue.bold('š Installation Summary\n'));
|
|
641
|
-
|
|
642
|
-
// Time metrics
|
|
643
|
-
console.log(chalk.cyan('ā±ļø Time Metrics:'));
|
|
644
|
-
console.log(` Total time: ${chalk.bold(totalSeconds + 's')} ${targetMet ? chalk.green('ā') : chalk.yellow('ā ')}`);
|
|
645
|
-
console.log(` Target: ${targetSeconds}s ${targetMet ? chalk.gray('(met)') : chalk.yellow('(exceeded)')}`);
|
|
646
|
-
console.log(` Dependencies: ${(this.benchmarks.dependencies / 1000).toFixed(1)}s`);
|
|
647
|
-
console.log(` Redis: ${(this.benchmarks.redis / 1000).toFixed(1)}s`);
|
|
648
|
-
console.log(` Configuration: ${(this.benchmarks.config / 1000).toFixed(1)}s`);
|
|
649
|
-
console.log(` Templates: ${(this.benchmarks.templates / 1000).toFixed(1)}s`);
|
|
650
|
-
console.log(` Validation: ${(this.benchmarks.validation / 1000).toFixed(1)}s\n`);
|
|
651
|
-
|
|
652
|
-
// Dependencies status
|
|
653
|
-
console.log(chalk.cyan('š¦ Dependencies:'));
|
|
654
|
-
console.log(` Node.js: ${dependencies.node.version} ${chalk.green('ā')}`);
|
|
655
|
-
console.log(` npm: ${dependencies.npm.version} ${chalk.green('ā')}`);
|
|
656
|
-
console.log(` Redis: ${redis.method} ${chalk.green('ā')}`);
|
|
657
|
-
if (dependencies.docker.installed) {
|
|
658
|
-
console.log(` Docker: ${dependencies.docker.version} ${chalk.gray('(optional)')}`);
|
|
659
|
-
}
|
|
660
|
-
if (dependencies.git.installed) {
|
|
661
|
-
console.log(` Git: ${dependencies.git.version} ${chalk.gray('(optional)')}`);
|
|
662
|
-
}
|
|
663
|
-
console.log();
|
|
664
|
-
|
|
665
|
-
// Next steps
|
|
666
|
-
console.log(chalk.green.bold('ā
Installation Complete!\n'));
|
|
667
|
-
console.log(chalk.cyan('š Quick Start Commands:'));
|
|
668
|
-
console.log(` ${chalk.bold('npx claude-flow-novice status')} - Check system health`);
|
|
669
|
-
console.log(` ${chalk.bold('npx claude-flow-novice swarm "task"')} - Start a swarm`);
|
|
670
|
-
console.log(` ${chalk.bold('npx claude-flow-novice agents list')} - View agents\n`);
|
|
671
|
-
|
|
672
|
-
// Performance feedback
|
|
673
|
-
if (!targetMet) {
|
|
674
|
-
console.log(chalk.yellow('š” Installation took longer than target:'));
|
|
675
|
-
console.log(` Consider using Docker for Redis (faster startup)`);
|
|
676
|
-
console.log(` Run with --verbose to see detailed logs\n`);
|
|
677
|
-
}
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
displayTroubleshooting(error) {
|
|
681
|
-
console.log('\n' + chalk.yellow.bold('š§ Troubleshooting\n'));
|
|
682
|
-
|
|
683
|
-
if (error.message.includes('Redis')) {
|
|
684
|
-
console.log(chalk.cyan('Redis Issues:'));
|
|
685
|
-
console.log(' 1. Install Docker: https://docs.docker.com/get-docker/');
|
|
686
|
-
console.log(' 2. Run: docker run -d -p 6379:6379 redis:alpine');
|
|
687
|
-
console.log(' 3. Or install Redis manually for your platform\n');
|
|
688
|
-
}
|
|
689
|
-
|
|
690
|
-
if (error.message.includes('Node')) {
|
|
691
|
-
console.log(chalk.cyan('Node.js Issues:'));
|
|
692
|
-
console.log(' 1. Install Node.js v20+: https://nodejs.org/');
|
|
693
|
-
console.log(' 2. Verify: node --version\n');
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
console.log(chalk.cyan('Need Help?'));
|
|
697
|
-
console.log(' GitHub Issues: https://github.com/masharratt/claude-flow-novice/issues');
|
|
698
|
-
console.log(' Documentation: https://github.com/masharratt/claude-flow-novice#readme\n');
|
|
699
|
-
}
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
// CLI execution
|
|
703
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
704
|
-
const args = process.argv.slice(2);
|
|
705
|
-
const options = {
|
|
706
|
-
quickStart: args.includes('--quick-start'),
|
|
707
|
-
skipRedis: args.includes('--skip-redis'),
|
|
708
|
-
verbose: args.includes('--verbose') || args.includes('-v')
|
|
709
|
-
};
|
|
710
|
-
|
|
711
|
-
const installer = new QuickInstaller(options);
|
|
712
|
-
installer.install().then(success => {
|
|
713
|
-
process.exit(success ? 0 : 1);
|
|
714
|
-
}).catch(error => {
|
|
715
|
-
console.error(chalk.red(`\nā Fatal error: ${error.message}`));
|
|
716
|
-
process.exit(1);
|
|
717
|
-
});
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
export default QuickInstaller;
|