agentic-qe 1.1.0 → 1.3.0
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/qe-coverage-analyzer.md +8 -0
- package/.claude/agents/qe-flaky-test-hunter.md +9 -1
- package/.claude/agents/qe-test-generator.md +7 -0
- package/.claude/agents/reasoning/agent.md +816 -0
- package/.claude/agents/reasoning/goal-planner.md +73 -0
- package/.claude/settings.json +64 -25
- package/.claude/skills/README.md +124 -0
- package/.claude/skills/accessibility-testing/SKILL.md +777 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
- package/.claude/skills/agentdb-learning/SKILL.md +545 -0
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
- package/.claude/skills/agentic-quality-engineering/SKILL.md +604 -0
- package/.claude/skills/api-testing-patterns/SKILL.md +686 -0
- package/.claude/skills/bug-reporting-excellence/SKILL.md +632 -0
- package/.claude/skills/chaos-engineering-resilience/SKILL.md +109 -0
- package/.claude/skills/code-review-quality/SKILL.md +683 -0
- package/.claude/skills/compatibility-testing/SKILL.md +101 -0
- package/.claude/skills/compliance-testing/SKILL.md +162 -0
- package/.claude/skills/consultancy-practices/SKILL.md +540 -0
- package/.claude/skills/context-driven-testing/SKILL.md +466 -0
- package/.claude/skills/contract-testing/SKILL.md +193 -0
- package/.claude/skills/database-testing/SKILL.md +243 -0
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +676 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
- package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
- package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
- package/.claude/skills/github-code-review/SKILL.md +1140 -0
- package/.claude/skills/github-multi-repo/SKILL.md +874 -0
- package/.claude/skills/github-project-management/SKILL.md +1277 -0
- package/.claude/skills/github-release-management/SKILL.md +1081 -0
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
- package/.claude/skills/holistic-testing-pact/SKILL.md +225 -0
- package/.claude/skills/hooks-automation/SKILL.md +1201 -0
- package/.claude/skills/localization-testing/SKILL.md +115 -0
- package/.claude/skills/mobile-testing/SKILL.md +548 -0
- package/.claude/skills/mutation-testing/SKILL.md +129 -0
- package/.claude/skills/pair-programming/SKILL.md +1202 -0
- package/.claude/skills/performance-analysis/SKILL.md +563 -0
- package/.claude/skills/performance-testing/SKILL.md +662 -0
- package/.claude/skills/quality-metrics/SKILL.md +592 -0
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/.claude/skills/refactoring-patterns/SKILL.md +778 -0
- package/.claude/skills/regression-testing/SKILL.md +1045 -0
- package/.claude/skills/risk-based-testing/SKILL.md +721 -0
- package/.claude/skills/security-testing/SKILL.md +651 -0
- package/.claude/skills/shift-left-testing/SKILL.md +535 -0
- package/.claude/skills/shift-right-testing/SKILL.md +591 -0
- package/.claude/skills/skill-builder/SKILL.md +910 -0
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
- package/.claude/skills/stream-chain/SKILL.md +563 -0
- package/.claude/skills/swarm-advanced/SKILL.md +973 -0
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
- package/.claude/skills/tdd-london-chicago/SKILL.md +567 -0
- package/.claude/skills/technical-writing/SKILL.md +235 -0
- package/.claude/skills/test-automation-strategy/SKILL.md +842 -0
- package/.claude/skills/test-data-management/SKILL.md +1067 -0
- package/.claude/skills/test-design-techniques/SKILL.md +160 -0
- package/.claude/skills/test-environment-management/SKILL.md +204 -0
- package/.claude/skills/test-reporting-analytics/SKILL.md +143 -0
- package/.claude/skills/verification-quality/SKILL.md +649 -0
- package/.claude/skills/visual-testing-advanced/SKILL.md +148 -0
- package/.claude/skills/xp-practices/SKILL.md +671 -0
- package/.claude/statusline-command.sh +176 -0
- package/CHANGELOG.md +623 -6
- package/README.md +101 -5
- package/config/improvement-loop.config.ts +323 -0
- package/config/neural-agent.config.ts +197 -0
- package/dist/adapters/MemoryStoreAdapter.d.ts +16 -16
- package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
- package/dist/adapters/MemoryStoreAdapter.js +16 -16
- package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
- package/dist/agents/BaseAgent.d.ts +69 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +387 -5
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +13 -2
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +112 -12
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.js +13 -13
- package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +28 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +160 -4
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
- package/dist/agents/FleetCommanderAgent.js +4 -3
- package/dist/agents/FleetCommanderAgent.js.map +1 -1
- package/dist/agents/LearningAgent.d.ts +14 -5
- package/dist/agents/LearningAgent.d.ts.map +1 -1
- package/dist/agents/LearningAgent.js +36 -16
- package/dist/agents/LearningAgent.js.map +1 -1
- package/dist/agents/NeuralAgentExtension.d.ts +117 -0
- package/dist/agents/NeuralAgentExtension.d.ts.map +1 -0
- package/dist/agents/NeuralAgentExtension.js +288 -0
- package/dist/agents/NeuralAgentExtension.js.map +1 -0
- package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
- package/dist/agents/PerformanceTesterAgent.js +11 -9
- package/dist/agents/PerformanceTesterAgent.js.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.js +14 -13
- package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.js +39 -38
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.d.ts.map +1 -1
- package/dist/agents/QualityGateAgent.js +7 -6
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.js +22 -21
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.js +1 -1
- package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +8 -7
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
- package/dist/agents/TestDataArchitectAgent.js +12 -11
- package/dist/agents/TestDataArchitectAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
- package/dist/agents/TestExecutorAgent.js +18 -19
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +15 -4
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +172 -49
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/mixins/NeuralCapableMixin.d.ts +130 -0
- package/dist/agents/mixins/NeuralCapableMixin.d.ts.map +1 -0
- package/dist/agents/mixins/NeuralCapableMixin.js +358 -0
- package/dist/agents/mixins/NeuralCapableMixin.js.map +1 -0
- package/dist/agents/mixins/QUICCapableMixin.d.ts +34 -0
- package/dist/agents/mixins/QUICCapableMixin.d.ts.map +1 -0
- package/dist/agents/mixins/QUICCapableMixin.js +346 -0
- package/dist/agents/mixins/QUICCapableMixin.js.map +1 -0
- package/dist/cli/commands/agent/benchmark.d.ts.map +1 -1
- package/dist/cli/commands/agent/benchmark.js +2 -1
- package/dist/cli/commands/agent/benchmark.js.map +1 -1
- package/dist/cli/commands/agent/index.d.ts +5 -0
- package/dist/cli/commands/agent/index.d.ts.map +1 -1
- package/dist/cli/commands/agent/index.js +11 -6
- package/dist/cli/commands/agent/index.js.map +1 -1
- package/dist/cli/commands/agent/kill.d.ts +13 -0
- package/dist/cli/commands/agent/kill.d.ts.map +1 -0
- package/dist/cli/commands/agent/kill.js +65 -0
- package/dist/cli/commands/agent/kill.js.map +1 -0
- package/dist/cli/commands/agent/list.d.ts +19 -0
- package/dist/cli/commands/agent/list.d.ts.map +1 -0
- package/dist/cli/commands/agent/list.js +92 -0
- package/dist/cli/commands/agent/list.js.map +1 -0
- package/dist/cli/commands/agent/logs.d.ts +14 -0
- package/dist/cli/commands/agent/logs.d.ts.map +1 -0
- package/dist/cli/commands/agent/logs.js +77 -0
- package/dist/cli/commands/agent/logs.js.map +1 -0
- package/dist/cli/commands/agent/metrics.d.ts +21 -0
- package/dist/cli/commands/agent/metrics.d.ts.map +1 -0
- package/dist/cli/commands/agent/metrics.js +87 -0
- package/dist/cli/commands/agent/metrics.js.map +1 -0
- package/dist/cli/commands/agent/spawn.d.ts +28 -0
- package/dist/cli/commands/agent/spawn.d.ts.map +1 -0
- package/dist/cli/commands/agent/spawn.js +84 -0
- package/dist/cli/commands/agent/spawn.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -1
- package/dist/cli/commands/analyze.js +2 -1
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/config/list.d.ts.map +1 -1
- package/dist/cli/commands/config/list.js +2 -1
- package/dist/cli/commands/config/list.js.map +1 -1
- package/dist/cli/commands/config/set.d.ts +7 -0
- package/dist/cli/commands/config/set.d.ts.map +1 -1
- package/dist/cli/commands/config/set.js +35 -4
- package/dist/cli/commands/config/set.js.map +1 -1
- package/dist/cli/commands/fleet/logs.d.ts.map +1 -1
- package/dist/cli/commands/fleet/logs.js +2 -1
- package/dist/cli/commands/fleet/logs.js.map +1 -1
- package/dist/cli/commands/fleet/metrics.d.ts.map +1 -1
- package/dist/cli/commands/fleet/metrics.js +2 -1
- package/dist/cli/commands/fleet/metrics.js.map +1 -1
- package/dist/cli/commands/fleet/monitor.d.ts.map +1 -1
- package/dist/cli/commands/fleet/monitor.js +7 -5
- package/dist/cli/commands/fleet/monitor.js.map +1 -1
- package/dist/cli/commands/fleet.d.ts.map +1 -1
- package/dist/cli/commands/fleet.js +2 -1
- package/dist/cli/commands/fleet.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +2 -1
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/improve/index.d.ts.map +1 -1
- package/dist/cli/commands/improve/index.js +12 -11
- package/dist/cli/commands/improve/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +24 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +503 -11
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learn/index.d.ts.map +1 -1
- package/dist/cli/commands/learn/index.js +13 -12
- package/dist/cli/commands/learn/index.js.map +1 -1
- package/dist/cli/commands/monitor/alerts.d.ts.map +1 -1
- package/dist/cli/commands/monitor/alerts.js +2 -1
- package/dist/cli/commands/monitor/alerts.js.map +1 -1
- package/dist/cli/commands/patterns/index.d.ts.map +1 -1
- package/dist/cli/commands/patterns/index.js +20 -19
- package/dist/cli/commands/patterns/index.js.map +1 -1
- package/dist/cli/commands/quality/decision.d.ts.map +1 -1
- package/dist/cli/commands/quality/decision.js +9 -7
- package/dist/cli/commands/quality/decision.js.map +1 -1
- package/dist/cli/commands/quality/gate.d.ts.map +1 -1
- package/dist/cli/commands/quality/gate.js +10 -8
- package/dist/cli/commands/quality/gate.js.map +1 -1
- package/dist/cli/commands/quality/policy.d.ts.map +1 -1
- package/dist/cli/commands/quality/policy.js +10 -8
- package/dist/cli/commands/quality/policy.js.map +1 -1
- package/dist/cli/commands/quality/risk.d.ts.map +1 -1
- package/dist/cli/commands/quality/risk.js +5 -3
- package/dist/cli/commands/quality/risk.js.map +1 -1
- package/dist/cli/commands/quality/validate.d.ts.map +1 -1
- package/dist/cli/commands/quality/validate.js +10 -8
- package/dist/cli/commands/quality/validate.js.map +1 -1
- package/dist/cli/commands/quantization.d.ts +6 -0
- package/dist/cli/commands/quantization.d.ts.map +1 -0
- package/dist/cli/commands/quantization.js +188 -0
- package/dist/cli/commands/quantization.js.map +1 -0
- package/dist/cli/commands/routing/index.d.ts +0 -6
- package/dist/cli/commands/routing/index.d.ts.map +1 -1
- package/dist/cli/commands/routing/index.js +17 -16
- package/dist/cli/commands/routing/index.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +2 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/skills/index.d.ts +51 -0
- package/dist/cli/commands/skills/index.d.ts.map +1 -0
- package/dist/cli/commands/skills/index.js +365 -0
- package/dist/cli/commands/skills/index.js.map +1 -0
- package/dist/cli/commands/test/debug.d.ts.map +1 -1
- package/dist/cli/commands/test/debug.js +2 -1
- package/dist/cli/commands/test/debug.js.map +1 -1
- package/dist/cli/commands/test/mutate.d.ts.map +1 -1
- package/dist/cli/commands/test/mutate.js +2 -1
- package/dist/cli/commands/test/mutate.js.map +1 -1
- package/dist/cli/commands/test/parallel.d.ts.map +1 -1
- package/dist/cli/commands/test/parallel.js +6 -4
- package/dist/cli/commands/test/parallel.js.map +1 -1
- package/dist/cli/commands/test/profile.d.ts.map +1 -1
- package/dist/cli/commands/test/profile.js +3 -2
- package/dist/cli/commands/test/profile.js.map +1 -1
- package/dist/cli/commands/test/queue.d.ts.map +1 -1
- package/dist/cli/commands/test/queue.js +2 -1
- package/dist/cli/commands/test/queue.js.map +1 -1
- package/dist/cli/commands/test/retry.d.ts.map +1 -1
- package/dist/cli/commands/test/retry.js +6 -4
- package/dist/cli/commands/test/retry.js.map +1 -1
- package/dist/cli/commands/test/trace.d.ts.map +1 -1
- package/dist/cli/commands/test/trace.js +2 -1
- package/dist/cli/commands/test/trace.js.map +1 -1
- package/dist/cli/commands/test/watch.d.ts.map +1 -1
- package/dist/cli/commands/test/watch.js +3 -2
- package/dist/cli/commands/test/watch.js.map +1 -1
- package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
- package/dist/cli/commands/workflow/cancel.js +2 -1
- package/dist/cli/commands/workflow/cancel.js.map +1 -1
- package/dist/cli/index-working.js +9 -8
- package/dist/cli/index-working.js.map +1 -1
- package/dist/cli/index.js +97 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/core/EventBus.d.ts +38 -0
- package/dist/core/EventBus.d.ts.map +1 -1
- package/dist/core/EventBus.js +176 -31
- package/dist/core/EventBus.js.map +1 -1
- package/dist/core/FleetManager.d.ts +35 -1
- package/dist/core/FleetManager.d.ts.map +1 -1
- package/dist/core/FleetManager.js +121 -45
- package/dist/core/FleetManager.js.map +1 -1
- package/dist/core/MemoryManager.d.ts +19 -1
- package/dist/core/MemoryManager.d.ts.map +1 -1
- package/dist/core/MemoryManager.js +25 -1
- package/dist/core/MemoryManager.js.map +1 -1
- package/dist/core/coordination/OODACoordination.d.ts.map +1 -1
- package/dist/core/coordination/OODACoordination.js +2 -1
- package/dist/core/coordination/OODACoordination.js.map +1 -1
- package/dist/core/embeddings/EmbeddingCache.d.ts +134 -0
- package/dist/core/embeddings/EmbeddingCache.d.ts.map +1 -0
- package/dist/core/embeddings/EmbeddingCache.js +239 -0
- package/dist/core/embeddings/EmbeddingCache.js.map +1 -0
- package/dist/core/embeddings/EmbeddingGenerator.d.ts +224 -0
- package/dist/core/embeddings/EmbeddingGenerator.d.ts.map +1 -0
- package/dist/core/embeddings/EmbeddingGenerator.js +459 -0
- package/dist/core/embeddings/EmbeddingGenerator.js.map +1 -0
- package/dist/core/embeddings/index.d.ts +15 -0
- package/dist/core/embeddings/index.d.ts.map +1 -0
- package/dist/core/embeddings/index.js +22 -0
- package/dist/core/embeddings/index.js.map +1 -0
- package/dist/core/memory/AgentDBIntegration.d.ts +35 -0
- package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -0
- package/dist/core/memory/AgentDBIntegration.js +75 -0
- package/dist/core/memory/AgentDBIntegration.js.map +1 -0
- package/dist/core/memory/AgentDBManager.d.ts +200 -0
- package/dist/core/memory/AgentDBManager.d.ts.map +1 -0
- package/dist/core/memory/AgentDBManager.js +246 -0
- package/dist/core/memory/AgentDBManager.js.map +1 -0
- package/dist/core/memory/AgentDBService.d.ts +160 -0
- package/dist/core/memory/AgentDBService.d.ts.map +1 -0
- package/dist/core/memory/AgentDBService.js +450 -0
- package/dist/core/memory/AgentDBService.js.map +1 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts +51 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -0
- package/dist/core/memory/RealAgentDBAdapter.js +231 -0
- package/dist/core/memory/RealAgentDBAdapter.js.map +1 -0
- package/dist/core/memory/ReasoningBankAdapter.d.ts +58 -0
- package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -0
- package/dist/core/memory/ReasoningBankAdapter.js +77 -0
- package/dist/core/memory/ReasoningBankAdapter.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +75 -3
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +240 -55
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/index.d.ts +4 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +9 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/neural/NeuralTrainer.d.ts +137 -0
- package/dist/core/neural/NeuralTrainer.d.ts.map +1 -0
- package/dist/core/neural/NeuralTrainer.js +544 -0
- package/dist/core/neural/NeuralTrainer.js.map +1 -0
- package/dist/core/neural/index.d.ts +8 -0
- package/dist/core/neural/index.d.ts.map +1 -0
- package/dist/core/neural/index.js +24 -0
- package/dist/core/neural/index.js.map +1 -0
- package/dist/core/neural/types.d.ts +216 -0
- package/dist/core/neural/types.d.ts.map +1 -0
- package/dist/core/neural/types.js +8 -0
- package/dist/core/neural/types.js.map +1 -0
- package/dist/core/quantization/QuantizationManager.d.ts +83 -0
- package/dist/core/quantization/QuantizationManager.d.ts.map +1 -0
- package/dist/core/quantization/QuantizationManager.js +264 -0
- package/dist/core/quantization/QuantizationManager.js.map +1 -0
- package/dist/core/quantization/index.d.ts +5 -0
- package/dist/core/quantization/index.d.ts.map +1 -0
- package/dist/core/quantization/index.js +9 -0
- package/dist/core/quantization/index.js.map +1 -0
- package/dist/core/security/CertificateValidator.d.ts +130 -0
- package/dist/core/security/CertificateValidator.d.ts.map +1 -0
- package/dist/core/security/CertificateValidator.js +376 -0
- package/dist/core/security/CertificateValidator.js.map +1 -0
- package/dist/core/transport/QUICTransport.d.ts +62 -0
- package/dist/core/transport/QUICTransport.d.ts.map +1 -0
- package/dist/core/transport/QUICTransport.js +381 -0
- package/dist/core/transport/QUICTransport.js.map +1 -0
- package/dist/core/transport/SecureQUICTransport.d.ts +71 -0
- package/dist/core/transport/SecureQUICTransport.d.ts.map +1 -0
- package/dist/core/transport/SecureQUICTransport.js +253 -0
- package/dist/core/transport/SecureQUICTransport.js.map +1 -0
- package/dist/learning/AdvancedFeatureExtractor.d.ts +123 -0
- package/dist/learning/AdvancedFeatureExtractor.d.ts.map +1 -0
- package/dist/learning/AdvancedFeatureExtractor.js +423 -0
- package/dist/learning/AdvancedFeatureExtractor.js.map +1 -0
- package/dist/learning/FlakyPredictionModel.d.ts +11 -1
- package/dist/learning/FlakyPredictionModel.d.ts.map +1 -1
- package/dist/learning/FlakyPredictionModel.js +82 -35
- package/dist/learning/FlakyPredictionModel.js.map +1 -1
- package/dist/learning/FlakyTestDetector.d.ts +9 -0
- package/dist/learning/FlakyTestDetector.d.ts.map +1 -1
- package/dist/learning/FlakyTestDetector.js +28 -6
- package/dist/learning/FlakyTestDetector.js.map +1 -1
- package/dist/learning/ImprovementLoop.d.ts +16 -2
- package/dist/learning/ImprovementLoop.d.ts.map +1 -1
- package/dist/learning/ImprovementLoop.js +67 -8
- package/dist/learning/ImprovementLoop.js.map +1 -1
- package/dist/learning/ImprovementWorker.d.ts +83 -0
- package/dist/learning/ImprovementWorker.d.ts.map +1 -0
- package/dist/learning/ImprovementWorker.js +164 -0
- package/dist/learning/ImprovementWorker.js.map +1 -0
- package/dist/learning/NeuralPatternMatcher.d.ts +184 -0
- package/dist/learning/NeuralPatternMatcher.d.ts.map +1 -0
- package/dist/learning/NeuralPatternMatcher.js +702 -0
- package/dist/learning/NeuralPatternMatcher.js.map +1 -0
- package/dist/learning/NeuralTrainer.d.ts +209 -0
- package/dist/learning/NeuralTrainer.d.ts.map +1 -0
- package/dist/learning/NeuralTrainer.js +478 -0
- package/dist/learning/NeuralTrainer.js.map +1 -0
- package/dist/learning/index.d.ts +13 -7
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +27 -11
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/types.d.ts +1 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/learning/types.js +16 -0
- package/dist/learning/types.js.map +1 -1
- package/dist/mcp/MCPToolRegistry.d.ts +34 -0
- package/dist/mcp/MCPToolRegistry.d.ts.map +1 -0
- package/dist/mcp/MCPToolRegistry.js +48 -0
- package/dist/mcp/MCPToolRegistry.js.map +1 -0
- package/dist/mcp/handlers/advanced/mutation-test-execute.d.ts +3 -3
- package/dist/mcp/handlers/advanced/mutation-test-execute.d.ts.map +1 -1
- package/dist/mcp/handlers/advanced/mutation-test-execute.js +5 -4
- package/dist/mcp/handlers/advanced/mutation-test-execute.js.map +1 -1
- package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -1
- package/dist/mcp/handlers/agent-spawn.js +2 -1
- package/dist/mcp/handlers/agent-spawn.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js +9 -8
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js +6 -5
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js.map +1 -1
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js +5 -4
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js.map +1 -1
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +8 -7
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +1 -1
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js +7 -6
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js.map +1 -1
- package/dist/mcp/handlers/analysis/securityScanComprehensive.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/securityScanComprehensive.js +18 -21
- package/dist/mcp/handlers/analysis/securityScanComprehensive.js.map +1 -1
- package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/base-handler.js +2 -9
- package/dist/mcp/handlers/base-handler.js.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js +4 -3
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js +6 -5
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js.map +1 -1
- package/dist/mcp/handlers/coordination/event-emit.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/event-emit.js +2 -1
- package/dist/mcp/handlers/coordination/event-emit.js.map +1 -1
- package/dist/mcp/handlers/coordination/event-subscribe.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/event-subscribe.js +2 -1
- package/dist/mcp/handlers/coordination/event-subscribe.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-checkpoint.js +2 -1
- package/dist/mcp/handlers/coordination/workflow-checkpoint.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-create.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-create.js +2 -1
- package/dist/mcp/handlers/coordination/workflow-create.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-execute.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-execute.js +2 -1
- package/dist/mcp/handlers/coordination/workflow-execute.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-resume.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-resume.js +2 -1
- package/dist/mcp/handlers/coordination/workflow-resume.js.map +1 -1
- package/dist/mcp/handlers/fleet-init.d.ts.map +1 -1
- package/dist/mcp/handlers/fleet-init.js +2 -1
- package/dist/mcp/handlers/fleet-init.js.map +1 -1
- package/dist/mcp/handlers/fleet-status.d.ts.map +1 -1
- package/dist/mcp/handlers/fleet-status.js +31 -30
- package/dist/mcp/handlers/fleet-status.js.map +1 -1
- package/dist/mcp/handlers/integration/dependency-check.d.ts.map +1 -1
- package/dist/mcp/handlers/integration/dependency-check.js +3 -2
- package/dist/mcp/handlers/integration/dependency-check.js.map +1 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js +2 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js.map +1 -1
- package/dist/mcp/handlers/optimize-tests.d.ts.map +1 -1
- package/dist/mcp/handlers/optimize-tests.js +33 -32
- package/dist/mcp/handlers/optimize-tests.js.map +1 -1
- package/dist/mcp/handlers/predict-defects.d.ts.map +1 -1
- package/dist/mcp/handlers/predict-defects.js +46 -45
- package/dist/mcp/handlers/predict-defects.js.map +1 -1
- package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/deployment-readiness-check.js +24 -23
- package/dist/mcp/handlers/prediction/deployment-readiness-check.js.map +1 -1
- package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/predict-defects-ai.js +10 -9
- package/dist/mcp/handlers/prediction/predict-defects-ai.js.map +1 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js +10 -9
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -1
- package/dist/mcp/handlers/prediction/visual-test-regression.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/visual-test-regression.js +7 -6
- package/dist/mcp/handlers/prediction/visual-test-regression.js.map +1 -1
- package/dist/mcp/handlers/quality-analyze.d.ts.map +1 -1
- package/dist/mcp/handlers/quality-analyze.js +53 -52
- package/dist/mcp/handlers/quality-analyze.js.map +1 -1
- package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/task-orchestrate.js +19 -18
- package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
- package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-execute-parallel.js +7 -6
- package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.js +2 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
- package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-optimize-sublinear.js +3 -2
- package/dist/mcp/handlers/test/test-optimize-sublinear.js.map +1 -1
- package/dist/mcp/handlers/test-execute.d.ts.map +1 -1
- package/dist/mcp/handlers/test-execute.js +11 -10
- package/dist/mcp/handlers/test-execute.js.map +1 -1
- package/dist/mcp/handlers/test-generate.d.ts.map +1 -1
- package/dist/mcp/handlers/test-generate.js +4 -3
- package/dist/mcp/handlers/test-generate.js.map +1 -1
- package/dist/mcp/server.d.ts +4 -4
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +9 -2
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts.map +1 -1
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js +10 -9
- package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js.map +1 -1
- package/dist/mcp/streaming/StreamingMCPTool.d.ts.map +1 -1
- package/dist/mcp/streaming/StreamingMCPTool.js +2 -1
- package/dist/mcp/streaming/StreamingMCPTool.js.map +1 -1
- package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts.map +1 -1
- package/dist/mcp/streaming/TestExecuteStreamHandler.js +6 -5
- package/dist/mcp/streaming/TestExecuteStreamHandler.js.map +1 -1
- package/dist/reasoning/TestTemplateCreator.d.ts +10 -2
- package/dist/reasoning/TestTemplateCreator.d.ts.map +1 -1
- package/dist/reasoning/TestTemplateCreator.js +81 -21
- package/dist/reasoning/TestTemplateCreator.js.map +1 -1
- package/dist/transport/QUICTransport.d.ts +340 -0
- package/dist/transport/QUICTransport.d.ts.map +1 -0
- package/dist/transport/QUICTransport.js +814 -0
- package/dist/transport/QUICTransport.js.map +1 -0
- package/dist/transport/UDPTransport.d.ts +348 -0
- package/dist/transport/UDPTransport.d.ts.map +1 -0
- package/dist/transport/UDPTransport.js +820 -0
- package/dist/transport/UDPTransport.js.map +1 -0
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/index.d.ts +37 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/pattern.types.d.ts +39 -3
- package/dist/types/pattern.types.d.ts.map +1 -1
- package/dist/types/quic.d.ts +339 -0
- package/dist/types/quic.d.ts.map +1 -0
- package/dist/types/quic.js +48 -0
- package/dist/types/quic.js.map +1 -0
- package/dist/utils/Config.js +3 -3
- package/dist/utils/Config.js.map +1 -1
- package/dist/utils/Database.d.ts +14 -0
- package/dist/utils/Database.d.ts.map +1 -1
- package/dist/utils/Database.js +51 -4
- package/dist/utils/Database.js.map +1 -1
- package/dist/utils/Logger.d.ts.map +1 -1
- package/dist/utils/Logger.js +111 -26
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/ProcessExit.d.ts +23 -0
- package/dist/utils/ProcessExit.d.ts.map +1 -0
- package/dist/utils/ProcessExit.js +40 -0
- package/dist/utils/ProcessExit.js.map +1 -0
- package/dist/utils/SecureRandom.d.ts +171 -0
- package/dist/utils/SecureRandom.d.ts.map +1 -0
- package/dist/utils/SecureRandom.js +229 -0
- package/dist/utils/SecureRandom.js.map +1 -0
- package/dist/utils/SecureUrlValidator.d.ts +167 -0
- package/dist/utils/SecureUrlValidator.d.ts.map +1 -0
- package/dist/utils/SecureUrlValidator.js +306 -0
- package/dist/utils/SecureUrlValidator.js.map +1 -0
- package/dist/utils/SecureValidation.d.ts +131 -0
- package/dist/utils/SecureValidation.d.ts.map +1 -0
- package/dist/utils/SecureValidation.js +265 -0
- package/dist/utils/SecureValidation.js.map +1 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +5 -4
- package/dist/utils/validation.js.map +1 -1
- package/package.json +31 -8
|
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.InitCommand = void 0;
|
|
40
|
+
const ProcessExit_1 = require("../../utils/ProcessExit");
|
|
40
41
|
const chalk_1 = __importDefault(require("chalk"));
|
|
41
42
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
42
43
|
const ora_1 = __importDefault(require("ora"));
|
|
@@ -44,7 +45,7 @@ const fs = __importStar(require("fs-extra"));
|
|
|
44
45
|
const path = __importStar(require("path"));
|
|
45
46
|
class InitCommand {
|
|
46
47
|
static async execute(options) {
|
|
47
|
-
console.log(chalk_1.default.blue.bold('\n🚀 Initializing Agentic QE Project (v1.
|
|
48
|
+
console.log(chalk_1.default.blue.bold('\n🚀 Initializing Agentic QE Project (v1.3.0)\n'));
|
|
48
49
|
try {
|
|
49
50
|
// Parse options
|
|
50
51
|
const maxAgents = parseInt(options.maxAgents);
|
|
@@ -54,12 +55,12 @@ class InitCommand {
|
|
|
54
55
|
// Validate inputs
|
|
55
56
|
if (maxAgents < 5 || maxAgents > 50) {
|
|
56
57
|
console.error(chalk_1.default.red('❌ Max agents must be between 5 and 50'));
|
|
57
|
-
|
|
58
|
+
ProcessExit_1.ProcessExit.exitIfNotTest(1);
|
|
58
59
|
}
|
|
59
60
|
const validTopologies = ['hierarchical', 'mesh', 'ring', 'adaptive'];
|
|
60
61
|
if (!validTopologies.includes(options.topology)) {
|
|
61
62
|
console.error(chalk_1.default.red(`❌ Invalid topology. Must be one of: ${validTopologies.join(', ')}`));
|
|
62
|
-
|
|
63
|
+
ProcessExit_1.ProcessExit.exitIfNotTest(1);
|
|
63
64
|
}
|
|
64
65
|
// Create fleet configuration
|
|
65
66
|
const fleetConfig = {
|
|
@@ -84,8 +85,9 @@ class InitCommand {
|
|
|
84
85
|
timeout: 1800000
|
|
85
86
|
}
|
|
86
87
|
};
|
|
87
|
-
// Interactive project setup if needed
|
|
88
|
-
|
|
88
|
+
// Interactive project setup if needed (skip if --non-interactive or --yes)
|
|
89
|
+
const isNonInteractive = options.nonInteractive || options.yes;
|
|
90
|
+
if (!options.config && !isNonInteractive) {
|
|
89
91
|
const projectAnswers = await inquirer_1.default.prompt([
|
|
90
92
|
{
|
|
91
93
|
type: 'input',
|
|
@@ -144,10 +146,28 @@ class InitCommand {
|
|
|
144
146
|
options.enableImprovement = true;
|
|
145
147
|
}
|
|
146
148
|
else {
|
|
149
|
+
// Non-interactive mode: use defaults or environment variables
|
|
150
|
+
fleetConfig.project = {
|
|
151
|
+
name: process.env.AQE_PROJECT_NAME || path.basename(process.cwd()),
|
|
152
|
+
path: process.cwd(),
|
|
153
|
+
language: (process.env.AQE_LANGUAGE || 'typescript').toLowerCase()
|
|
154
|
+
};
|
|
155
|
+
// Use environment variables or defaults
|
|
156
|
+
if (fleetConfig.routing) {
|
|
157
|
+
fleetConfig.routing.enabled = process.env.AQE_ROUTING_ENABLED === 'true' || false;
|
|
158
|
+
}
|
|
159
|
+
if (fleetConfig.streaming) {
|
|
160
|
+
fleetConfig.streaming.enabled = process.env.AQE_STREAMING_ENABLED !== 'false';
|
|
161
|
+
}
|
|
147
162
|
// Use defaults if non-interactive
|
|
148
|
-
options.enableLearning =
|
|
149
|
-
options.enablePatterns =
|
|
150
|
-
options.enableImprovement =
|
|
163
|
+
options.enableLearning = process.env.AQE_LEARNING_ENABLED !== 'false';
|
|
164
|
+
options.enablePatterns = process.env.AQE_PATTERNS_ENABLED !== 'false';
|
|
165
|
+
options.enableImprovement = process.env.AQE_IMPROVEMENT_ENABLED !== 'false';
|
|
166
|
+
console.log(chalk_1.default.gray(' ℹ️ Running in non-interactive mode with defaults'));
|
|
167
|
+
console.log(chalk_1.default.gray(` • Project: ${fleetConfig.project.name}`));
|
|
168
|
+
console.log(chalk_1.default.gray(` • Language: ${fleetConfig.project.language}`));
|
|
169
|
+
console.log(chalk_1.default.gray(` • Routing: ${fleetConfig.routing?.enabled ? 'enabled' : 'disabled'}`));
|
|
170
|
+
console.log(chalk_1.default.gray(` • Streaming: ${fleetConfig.streaming?.enabled ? 'enabled' : 'disabled'}`));
|
|
151
171
|
}
|
|
152
172
|
const spinner = (0, ora_1.default)('Setting up fleet infrastructure...').start();
|
|
153
173
|
// Create directory structure
|
|
@@ -216,7 +236,7 @@ class InitCommand {
|
|
|
216
236
|
console.error(chalk_1.default.red('❌ Initialization failed:'), error.message);
|
|
217
237
|
console.error(chalk_1.default.gray('\nStack trace:'));
|
|
218
238
|
console.error(chalk_1.default.gray(error.stack));
|
|
219
|
-
|
|
239
|
+
ProcessExit_1.ProcessExit.exitIfNotTest(1);
|
|
220
240
|
}
|
|
221
241
|
}
|
|
222
242
|
static async createDirectoryStructure() {
|
|
@@ -235,6 +255,8 @@ class InitCommand {
|
|
|
235
255
|
'.agentic-qe/state/coordination', // Coordination state
|
|
236
256
|
'.claude', // For Claude Code integration
|
|
237
257
|
'.claude/agents', // Where agent definitions live
|
|
258
|
+
'.claude/skills', // Where QE skill definitions live (35 QE skills)
|
|
259
|
+
'.claude/commands', // Where AQE slash commands live (8 commands)
|
|
238
260
|
'tests/unit',
|
|
239
261
|
'tests/integration',
|
|
240
262
|
'tests/e2e',
|
|
@@ -246,6 +268,10 @@ class InitCommand {
|
|
|
246
268
|
}
|
|
247
269
|
// Copy agent templates from agentic-qe package
|
|
248
270
|
await this.copyAgentTemplates();
|
|
271
|
+
// Copy skill templates (only QE Fleet skills, not Claude Flow)
|
|
272
|
+
await this.copySkillTemplates();
|
|
273
|
+
// Copy command templates (8 AQE slash commands)
|
|
274
|
+
await this.copyCommandTemplates();
|
|
249
275
|
}
|
|
250
276
|
static async copyAgentTemplates() {
|
|
251
277
|
console.log(chalk_1.default.cyan(' 🔍 Searching for agent templates...'));
|
|
@@ -343,6 +369,7 @@ class InitCommand {
|
|
|
343
369
|
}
|
|
344
370
|
const agentFile = path.join(targetPath, `${agentName}.md`);
|
|
345
371
|
const agentType = agentName.replace('qe-', '');
|
|
372
|
+
const skills = this.getAgentSkills(agentName);
|
|
346
373
|
const content = `---
|
|
347
374
|
name: ${agentName}
|
|
348
375
|
type: ${agentType}
|
|
@@ -351,13 +378,22 @@ priority: medium
|
|
|
351
378
|
description: "Agentic QE Fleet ${agentType} agent"
|
|
352
379
|
capabilities:
|
|
353
380
|
- ${agentType}
|
|
381
|
+
skills:
|
|
382
|
+
${skills.map(s => ` - ${s}`).join('\n')}
|
|
354
383
|
coordination:
|
|
355
384
|
protocol: aqe-hooks
|
|
385
|
+
learning:
|
|
386
|
+
enabled: true
|
|
387
|
+
observability:
|
|
388
|
+
- agent.getLearningStatus()
|
|
389
|
+
- agent.getLearnedPatterns()
|
|
390
|
+
- agent.recommendStrategy(state)
|
|
356
391
|
metadata:
|
|
357
|
-
version: "1.0
|
|
392
|
+
version: "1.1.0"
|
|
358
393
|
framework: "agentic-qe"
|
|
359
394
|
routing: "supported"
|
|
360
395
|
streaming: "supported"
|
|
396
|
+
phase2: "q-learning-enabled"
|
|
361
397
|
---
|
|
362
398
|
|
|
363
399
|
# ${agentName.toUpperCase()} Agent
|
|
@@ -369,6 +405,68 @@ This agent is part of the Agentic QE Fleet and specializes in ${agentType}.
|
|
|
369
405
|
- AI-powered ${agentType}
|
|
370
406
|
- Integration with Agentic QE Fleet
|
|
371
407
|
- Native TypeScript coordination
|
|
408
|
+
- **Q-Learning**: Learns from task execution automatically
|
|
409
|
+
- **Pattern Bank**: Uses proven test patterns
|
|
410
|
+
- **Improvement Loop**: Continuously optimizes strategies
|
|
411
|
+
|
|
412
|
+
## 🧠 Q-Learning Integration (Phase 2)
|
|
413
|
+
|
|
414
|
+
This agent automatically learns from EVERY task execution through Q-learning integration in \`BaseAgent.onPostTask()\`.
|
|
415
|
+
|
|
416
|
+
### Observability Methods
|
|
417
|
+
|
|
418
|
+
\`\`\`typescript
|
|
419
|
+
// 1. Check learning status
|
|
420
|
+
const status = agent.getLearningStatus();
|
|
421
|
+
console.log(status);
|
|
422
|
+
// {
|
|
423
|
+
// enabled: true,
|
|
424
|
+
// totalExperiences: 1247,
|
|
425
|
+
// explorationRate: 0.08,
|
|
426
|
+
// patterns: 34
|
|
427
|
+
// }
|
|
428
|
+
|
|
429
|
+
// 2. View learned patterns
|
|
430
|
+
const patterns = agent.getLearnedPatterns();
|
|
431
|
+
console.log(patterns[0]);
|
|
432
|
+
// {
|
|
433
|
+
// state: { taskComplexity: 'high', ... },
|
|
434
|
+
// action: 'thorough-deep-analysis',
|
|
435
|
+
// qValue: 0.8734,
|
|
436
|
+
// successRate: 0.88
|
|
437
|
+
// }
|
|
438
|
+
|
|
439
|
+
// 3. Get strategy recommendations
|
|
440
|
+
const recommendation = await agent.recommendStrategy({
|
|
441
|
+
taskComplexity: 'medium',
|
|
442
|
+
availableCapabilities: agent.capabilities
|
|
443
|
+
});
|
|
444
|
+
console.log(recommendation);
|
|
445
|
+
// {
|
|
446
|
+
// action: 'balanced-coverage',
|
|
447
|
+
// confidence: 0.92,
|
|
448
|
+
// expectedQValue: 0.7845
|
|
449
|
+
// }
|
|
450
|
+
\`\`\`
|
|
451
|
+
|
|
452
|
+
### CLI Commands
|
|
453
|
+
|
|
454
|
+
\`\`\`bash
|
|
455
|
+
# Check learning status
|
|
456
|
+
aqe learn status --agent ${agentName}
|
|
457
|
+
|
|
458
|
+
# View learned patterns
|
|
459
|
+
aqe learn history --agent ${agentName} --limit 50
|
|
460
|
+
|
|
461
|
+
# Export learning data
|
|
462
|
+
aqe learn export --agent ${agentName} --output learning.json
|
|
463
|
+
\`\`\`
|
|
464
|
+
|
|
465
|
+
## Skills
|
|
466
|
+
|
|
467
|
+
This agent can use the following Claude Code Skills:
|
|
468
|
+
|
|
469
|
+
${this.getSkillDocumentation(agentName)}
|
|
372
470
|
|
|
373
471
|
## Coordination Protocol
|
|
374
472
|
|
|
@@ -536,6 +634,7 @@ For full capabilities, install the complete agentic-qe package.
|
|
|
536
634
|
for (const agentName of missingAgents) {
|
|
537
635
|
const agentFile = path.join(targetPath, `${agentName}.md`);
|
|
538
636
|
const agentType = agentName.replace('qe-', '');
|
|
637
|
+
const skills = this.getAgentSkills(agentName);
|
|
539
638
|
const content = `---
|
|
540
639
|
name: ${agentName}
|
|
541
640
|
type: ${agentType}
|
|
@@ -544,13 +643,22 @@ priority: medium
|
|
|
544
643
|
description: "Agentic QE Fleet ${agentType} agent"
|
|
545
644
|
capabilities:
|
|
546
645
|
- ${agentType}
|
|
646
|
+
skills:
|
|
647
|
+
${skills.map(s => ` - ${s}`).join('\n')}
|
|
547
648
|
coordination:
|
|
548
649
|
protocol: aqe-hooks
|
|
650
|
+
learning:
|
|
651
|
+
enabled: true
|
|
652
|
+
observability:
|
|
653
|
+
- agent.getLearningStatus()
|
|
654
|
+
- agent.getLearnedPatterns()
|
|
655
|
+
- agent.recommendStrategy(state)
|
|
549
656
|
metadata:
|
|
550
657
|
version: "1.1.0"
|
|
551
658
|
framework: "agentic-qe"
|
|
552
659
|
routing: "supported"
|
|
553
660
|
streaming: "supported"
|
|
661
|
+
phase2: "q-learning-enabled"
|
|
554
662
|
---
|
|
555
663
|
|
|
556
664
|
# ${agentName.toUpperCase()} Agent
|
|
@@ -562,6 +670,15 @@ This agent is part of the Agentic QE Fleet and specializes in ${agentType}.
|
|
|
562
670
|
- AI-powered ${agentType}
|
|
563
671
|
- Integration with Agentic QE Fleet
|
|
564
672
|
- Native TypeScript coordination
|
|
673
|
+
- **Q-Learning**: Learns from task execution automatically
|
|
674
|
+
- **Pattern Bank**: Uses proven test patterns
|
|
675
|
+
- **Improvement Loop**: Continuously optimizes strategies
|
|
676
|
+
|
|
677
|
+
## Skills
|
|
678
|
+
|
|
679
|
+
This agent can use the following Claude Code Skills:
|
|
680
|
+
|
|
681
|
+
${this.getSkillDocumentation(agentName)}
|
|
565
682
|
|
|
566
683
|
## Coordination Protocol
|
|
567
684
|
|
|
@@ -581,6 +698,236 @@ For full capabilities, install the complete agentic-qe package.
|
|
|
581
698
|
const files = await fs.readdir(dirPath);
|
|
582
699
|
return files.filter(f => f.endsWith('.md')).length;
|
|
583
700
|
}
|
|
701
|
+
/**
|
|
702
|
+
* Copy all 35 QE Fleet skills (filters out Claude Flow skills)
|
|
703
|
+
*/
|
|
704
|
+
static async copySkillTemplates() {
|
|
705
|
+
console.log(chalk_1.default.cyan(' 🎯 Initializing QE Fleet skills...'));
|
|
706
|
+
// Define all 35 QE Fleet skills (Phase 1: 18 original + Phase 2: 17 new = 35 total)
|
|
707
|
+
const QE_FLEET_SKILLS = [
|
|
708
|
+
// Phase 1: Original Quality Practices (18 skills)
|
|
709
|
+
// Core Quality Practices (5)
|
|
710
|
+
'holistic-testing-pact',
|
|
711
|
+
'context-driven-testing',
|
|
712
|
+
'agentic-quality-engineering',
|
|
713
|
+
'exploratory-testing-advanced',
|
|
714
|
+
'risk-based-testing',
|
|
715
|
+
// Development Methodologies (3)
|
|
716
|
+
'tdd-london-chicago',
|
|
717
|
+
'xp-practices',
|
|
718
|
+
'refactoring-patterns',
|
|
719
|
+
// Testing Specializations (4)
|
|
720
|
+
'api-testing-patterns',
|
|
721
|
+
'performance-testing',
|
|
722
|
+
'security-testing',
|
|
723
|
+
'test-automation-strategy',
|
|
724
|
+
// Communication & Process (3)
|
|
725
|
+
'technical-writing',
|
|
726
|
+
'bug-reporting-excellence',
|
|
727
|
+
'code-review-quality',
|
|
728
|
+
// Professional Skills (3 - includes verification-quality)
|
|
729
|
+
'consultancy-practices',
|
|
730
|
+
'quality-metrics',
|
|
731
|
+
'verification-quality',
|
|
732
|
+
// Phase 2: New QE Skills from v1.3.0 (17 new skills)
|
|
733
|
+
// Testing Methodologies (6)
|
|
734
|
+
'regression-testing',
|
|
735
|
+
'shift-left-testing',
|
|
736
|
+
'shift-right-testing',
|
|
737
|
+
'test-design-techniques',
|
|
738
|
+
'mutation-testing',
|
|
739
|
+
'test-data-management',
|
|
740
|
+
// Specialized Testing (9)
|
|
741
|
+
'accessibility-testing',
|
|
742
|
+
'mobile-testing',
|
|
743
|
+
'database-testing',
|
|
744
|
+
'contract-testing',
|
|
745
|
+
'chaos-engineering-resilience',
|
|
746
|
+
'compatibility-testing',
|
|
747
|
+
'localization-testing',
|
|
748
|
+
'compliance-testing',
|
|
749
|
+
'visual-testing-advanced',
|
|
750
|
+
// Testing Infrastructure (2)
|
|
751
|
+
'test-environment-management',
|
|
752
|
+
'test-reporting-analytics'
|
|
753
|
+
];
|
|
754
|
+
// Find the agentic-qe package location
|
|
755
|
+
const possiblePaths = [
|
|
756
|
+
path.join(__dirname, '../../../.claude/skills'), // From dist/cli/commands
|
|
757
|
+
path.join(process.cwd(), 'node_modules/agentic-qe/.claude/skills'),
|
|
758
|
+
path.join(process.cwd(), '../agentic-qe/.claude/skills') // Monorepo case
|
|
759
|
+
];
|
|
760
|
+
console.log(chalk_1.default.gray(' • Checking skill source paths:'));
|
|
761
|
+
let sourcePath = null;
|
|
762
|
+
for (const p of possiblePaths) {
|
|
763
|
+
const exists = await fs.pathExists(p);
|
|
764
|
+
console.log(chalk_1.default.gray(` ${exists ? '✓' : '✗'} ${p}`));
|
|
765
|
+
if (exists && !sourcePath) {
|
|
766
|
+
sourcePath = p;
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
if (!sourcePath) {
|
|
770
|
+
console.warn(chalk_1.default.yellow(' ⚠️ No skill templates found in package paths'));
|
|
771
|
+
console.warn(chalk_1.default.yellow(' ℹ️ Skills can be added manually to .claude/skills/'));
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
774
|
+
console.log(chalk_1.default.green(` ✓ Found skill templates at: ${sourcePath}`));
|
|
775
|
+
// List all available skills
|
|
776
|
+
const availableDirs = await fs.readdir(sourcePath);
|
|
777
|
+
const availableSkills = availableDirs.filter(name => {
|
|
778
|
+
const skillPath = path.join(sourcePath, name);
|
|
779
|
+
try {
|
|
780
|
+
return fs.statSync(skillPath).isDirectory();
|
|
781
|
+
}
|
|
782
|
+
catch {
|
|
783
|
+
return false;
|
|
784
|
+
}
|
|
785
|
+
});
|
|
786
|
+
console.log(chalk_1.default.cyan(` 📦 Found ${availableSkills.length} total skills in source`));
|
|
787
|
+
// Filter to only QE Fleet skills
|
|
788
|
+
const qeSkillsToConfig = availableSkills.filter(skill => QE_FLEET_SKILLS.includes(skill));
|
|
789
|
+
console.log(chalk_1.default.cyan(` 🎯 Filtering to ${qeSkillsToConfig.length} QE Fleet skills (excluding Claude Flow skills)`));
|
|
790
|
+
const targetPath = path.join(process.cwd(), '.claude/skills');
|
|
791
|
+
let copiedCount = 0;
|
|
792
|
+
// Copy each QE skill directory
|
|
793
|
+
for (const skillName of qeSkillsToConfig) {
|
|
794
|
+
const sourceSkillPath = path.join(sourcePath, skillName);
|
|
795
|
+
const targetSkillPath = path.join(targetPath, skillName);
|
|
796
|
+
// Skip if already exists
|
|
797
|
+
if (await fs.pathExists(targetSkillPath)) {
|
|
798
|
+
console.log(chalk_1.default.gray(` • Skipped ${skillName} (already exists)`));
|
|
799
|
+
continue;
|
|
800
|
+
}
|
|
801
|
+
// Copy the entire skill directory
|
|
802
|
+
await fs.copy(sourceSkillPath, targetSkillPath);
|
|
803
|
+
copiedCount++;
|
|
804
|
+
console.log(chalk_1.default.gray(` ✓ Copied ${skillName}`));
|
|
805
|
+
}
|
|
806
|
+
// Final count
|
|
807
|
+
const finalSkillCount = await this.countSkillDirs(targetPath);
|
|
808
|
+
if (copiedCount > 0) {
|
|
809
|
+
console.log(chalk_1.default.green(` ✓ Copied ${copiedCount} new QE skills`));
|
|
810
|
+
}
|
|
811
|
+
else {
|
|
812
|
+
console.log(chalk_1.default.green(' ✓ All QE skills already present'));
|
|
813
|
+
}
|
|
814
|
+
console.log(chalk_1.default.cyan(` 📋 Total QE skills initialized: ${finalSkillCount}`));
|
|
815
|
+
// Verify we have exactly 35 QE skills
|
|
816
|
+
if (finalSkillCount === 35) {
|
|
817
|
+
console.log(chalk_1.default.green(' ✅ All 35 QE Fleet skills successfully initialized'));
|
|
818
|
+
}
|
|
819
|
+
else if (finalSkillCount < 35) {
|
|
820
|
+
console.warn(chalk_1.default.yellow(` ⚠️ Expected 35 QE skills, found ${finalSkillCount}`));
|
|
821
|
+
const missingSkills = QE_FLEET_SKILLS.filter(skill => {
|
|
822
|
+
return !fs.existsSync(path.join(targetPath, skill));
|
|
823
|
+
});
|
|
824
|
+
console.warn(chalk_1.default.yellow(` ℹ️ Missing skills: ${missingSkills.join(', ')}`));
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* Count skill directories in .claude/skills
|
|
829
|
+
*/
|
|
830
|
+
static async countSkillDirs(dirPath) {
|
|
831
|
+
if (!await fs.pathExists(dirPath))
|
|
832
|
+
return 0;
|
|
833
|
+
const items = await fs.readdir(dirPath);
|
|
834
|
+
let count = 0;
|
|
835
|
+
for (const item of items) {
|
|
836
|
+
const itemPath = path.join(dirPath, item);
|
|
837
|
+
try {
|
|
838
|
+
if (fs.statSync(itemPath).isDirectory()) {
|
|
839
|
+
count++;
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
catch {
|
|
843
|
+
// Ignore errors
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
return count;
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* Copy AQE slash command templates (8 commands)
|
|
850
|
+
*/
|
|
851
|
+
static async copyCommandTemplates() {
|
|
852
|
+
console.log(chalk_1.default.cyan(' ⚡ Initializing AQE slash commands...'));
|
|
853
|
+
// Define the 8 AQE slash commands
|
|
854
|
+
const AQE_COMMANDS = [
|
|
855
|
+
'aqe-analyze.md',
|
|
856
|
+
'aqe-benchmark.md',
|
|
857
|
+
'aqe-chaos.md',
|
|
858
|
+
'aqe-execute.md',
|
|
859
|
+
'aqe-fleet-status.md',
|
|
860
|
+
'aqe-generate.md',
|
|
861
|
+
'aqe-optimize.md',
|
|
862
|
+
'aqe-report.md'
|
|
863
|
+
];
|
|
864
|
+
// Find the agentic-qe package location
|
|
865
|
+
const possiblePaths = [
|
|
866
|
+
path.join(__dirname, '../../../.claude/commands'), // From dist/cli/commands
|
|
867
|
+
path.join(process.cwd(), 'node_modules/agentic-qe/.claude/commands'),
|
|
868
|
+
path.join(process.cwd(), '../agentic-qe/.claude/commands') // Monorepo case
|
|
869
|
+
];
|
|
870
|
+
console.log(chalk_1.default.gray(' • Checking command source paths:'));
|
|
871
|
+
let sourcePath = null;
|
|
872
|
+
for (const p of possiblePaths) {
|
|
873
|
+
const exists = await fs.pathExists(p);
|
|
874
|
+
console.log(chalk_1.default.gray(` ${exists ? '✓' : '✗'} ${p}`));
|
|
875
|
+
if (exists && !sourcePath) {
|
|
876
|
+
sourcePath = p;
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
if (!sourcePath) {
|
|
880
|
+
console.warn(chalk_1.default.yellow(' ⚠️ No command templates found in package paths'));
|
|
881
|
+
console.warn(chalk_1.default.yellow(' ℹ️ Commands can be added manually to .claude/commands/'));
|
|
882
|
+
return;
|
|
883
|
+
}
|
|
884
|
+
console.log(chalk_1.default.green(` ✓ Found command templates at: ${sourcePath}`));
|
|
885
|
+
const targetPath = path.join(process.cwd(), '.claude/commands');
|
|
886
|
+
let copiedCount = 0;
|
|
887
|
+
// Copy each AQE command file
|
|
888
|
+
for (const commandFile of AQE_COMMANDS) {
|
|
889
|
+
const sourceFile = path.join(sourcePath, commandFile);
|
|
890
|
+
const targetFile = path.join(targetPath, commandFile);
|
|
891
|
+
// Skip if already exists or if source doesn't exist
|
|
892
|
+
if (await fs.pathExists(targetFile)) {
|
|
893
|
+
console.log(chalk_1.default.gray(` • Skipped ${commandFile} (already exists)`));
|
|
894
|
+
continue;
|
|
895
|
+
}
|
|
896
|
+
if (!await fs.pathExists(sourceFile)) {
|
|
897
|
+
console.log(chalk_1.default.gray(` • Skipped ${commandFile} (source not found)`));
|
|
898
|
+
continue;
|
|
899
|
+
}
|
|
900
|
+
// Copy the command file
|
|
901
|
+
await fs.copy(sourceFile, targetFile);
|
|
902
|
+
copiedCount++;
|
|
903
|
+
console.log(chalk_1.default.gray(` ✓ Copied ${commandFile}`));
|
|
904
|
+
}
|
|
905
|
+
// Count final commands
|
|
906
|
+
const finalCommandCount = await this.countCommandFiles(targetPath);
|
|
907
|
+
if (copiedCount > 0) {
|
|
908
|
+
console.log(chalk_1.default.green(` ✓ Copied ${copiedCount} new AQE commands`));
|
|
909
|
+
}
|
|
910
|
+
else {
|
|
911
|
+
console.log(chalk_1.default.green(' ✓ All AQE commands already present'));
|
|
912
|
+
}
|
|
913
|
+
console.log(chalk_1.default.cyan(` 📋 Total AQE commands initialized: ${finalCommandCount}`));
|
|
914
|
+
// Verify we have all 8 AQE commands
|
|
915
|
+
if (finalCommandCount >= 8) {
|
|
916
|
+
console.log(chalk_1.default.green(' ✅ All 8 AQE slash commands successfully initialized'));
|
|
917
|
+
}
|
|
918
|
+
else if (finalCommandCount < 8) {
|
|
919
|
+
console.warn(chalk_1.default.yellow(` ⚠️ Expected 8 AQE commands, found ${finalCommandCount}`));
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
/**
|
|
923
|
+
* Count command files in .claude/commands
|
|
924
|
+
*/
|
|
925
|
+
static async countCommandFiles(dirPath) {
|
|
926
|
+
if (!await fs.pathExists(dirPath))
|
|
927
|
+
return 0;
|
|
928
|
+
const items = await fs.readdir(dirPath);
|
|
929
|
+
return items.filter(f => f.startsWith('aqe-') && f.endsWith('.md')).length;
|
|
930
|
+
}
|
|
584
931
|
static async writeFleetConfig(config) {
|
|
585
932
|
console.log(chalk_1.default.cyan(' 📝 Writing fleet configuration...'));
|
|
586
933
|
// Sanitize config to remove undefined values that cause jsonfile errors
|
|
@@ -729,6 +1076,7 @@ For full capabilities, install the complete agentic-qe package.
|
|
|
729
1076
|
alerts: env === 'production'
|
|
730
1077
|
}
|
|
731
1078
|
};
|
|
1079
|
+
return configs;
|
|
732
1080
|
}, {});
|
|
733
1081
|
}
|
|
734
1082
|
static async setupClaudeFlowIntegration(config) {
|
|
@@ -1084,9 +1432,106 @@ for await (const event of handler.execute(params)) {
|
|
|
1084
1432
|
- ⚠️ Test generation (coming in v1.1.0)
|
|
1085
1433
|
- ⚠️ Security scanning (coming in v1.1.0)
|
|
1086
1434
|
|
|
1435
|
+
## 🎯 Claude Code Skills Integration
|
|
1436
|
+
|
|
1437
|
+
This fleet includes **35 specialized QE skills** that agents can use:
|
|
1438
|
+
|
|
1439
|
+
### Quality Engineering Skills (10 skills)
|
|
1440
|
+
- **agentic-quality-engineering**: Using AI agents as force multipliers in quality work - autonomous testing systems, PACT principles, scaling quality engineering with intelligent agents
|
|
1441
|
+
- **api-testing-patterns**: Comprehensive API testing patterns including contract testing, REST/GraphQL testing, and integration testing
|
|
1442
|
+
- **bug-reporting-excellence**: Write high-quality bug reports that get fixed quickly - includes templates, examples, and best practices
|
|
1443
|
+
- **context-driven-testing**: Apply context-driven testing principles where practices are chosen based on project context, not universal "best practices"
|
|
1444
|
+
- **exploratory-testing-advanced**: Advanced exploratory testing techniques with Session-Based Test Management (SBTM), RST heuristics, and test tours
|
|
1445
|
+
- **holistic-testing-pact**: Apply the Holistic Testing Model evolved with PACT (Proactive, Autonomous, Collaborative, Targeted) principles
|
|
1446
|
+
- **tdd-london-chicago**: Apply both London and Chicago school TDD approaches - understanding different TDD philosophies and choosing the right testing style
|
|
1447
|
+
- **pair-programming**: AI-assisted pair programming with multiple modes (driver/navigator/switch), real-time verification, quality monitoring
|
|
1448
|
+
- **verification-quality**: Comprehensive truth scoring, code quality verification, and automatic rollback system with 0.95 accuracy threshold
|
|
1449
|
+
- **xp-practices**: Apply XP practices including pair programming, ensemble programming, continuous integration, and sustainable pace
|
|
1450
|
+
|
|
1451
|
+
### AgentDB Skills (5 skills)
|
|
1452
|
+
- **agentdb-advanced**: Master advanced AgentDB features including QUIC synchronization, multi-database management, custom distance metrics, hybrid search
|
|
1453
|
+
- **agentdb-learning**: Create and train AI learning plugins with AgentDB's 9 reinforcement learning algorithms (Decision Transformer, Q-Learning, SARSA, Actor-Critic)
|
|
1454
|
+
- **agentdb-memory-patterns**: Implement persistent memory patterns for AI agents using AgentDB (session memory, long-term storage, pattern learning)
|
|
1455
|
+
- **agentdb-optimization**: Optimize AgentDB performance with quantization (4-32x memory reduction), HNSW indexing (150x faster search), caching
|
|
1456
|
+
- **agentdb-vector-search**: Implement semantic vector search with AgentDB for intelligent document retrieval, similarity matching, and context-aware querying
|
|
1457
|
+
|
|
1458
|
+
### Using Skills
|
|
1459
|
+
|
|
1460
|
+
#### Via CLI
|
|
1461
|
+
\\\`\\\`\\\`bash
|
|
1462
|
+
# List all available skills
|
|
1463
|
+
aqe skills list
|
|
1464
|
+
|
|
1465
|
+
# Search for specific skills
|
|
1466
|
+
aqe skills search "testing"
|
|
1467
|
+
|
|
1468
|
+
# Show skill details
|
|
1469
|
+
aqe skills show agentic-quality-engineering
|
|
1470
|
+
|
|
1471
|
+
# Show skill statistics
|
|
1472
|
+
aqe skills stats
|
|
1473
|
+
\\\`\\\`\\\`
|
|
1474
|
+
|
|
1475
|
+
#### Via Skill Tool in Claude Code
|
|
1476
|
+
\\\`\\\`\\\`javascript
|
|
1477
|
+
// Execute a skill
|
|
1478
|
+
Skill("agentic-quality-engineering")
|
|
1479
|
+
Skill("tdd-london-chicago")
|
|
1480
|
+
Skill("api-testing-patterns")
|
|
1481
|
+
\\\`\\\`\\\`
|
|
1482
|
+
|
|
1483
|
+
#### Integration with Agents
|
|
1484
|
+
All QE agents automatically have access to relevant skills based on their specialization:
|
|
1485
|
+
- **Test generators** use: agentic-quality-engineering, api-testing-patterns, tdd-london-chicago
|
|
1486
|
+
- **Coverage analyzers** use: agentic-quality-engineering, quality-metrics, risk-based-testing
|
|
1487
|
+
- **Flaky test hunters** use: agentic-quality-engineering, exploratory-testing-advanced
|
|
1488
|
+
- **Performance testers** use: agentic-quality-engineering, performance-testing, quality-metrics
|
|
1489
|
+
- **Security scanners** use: agentic-quality-engineering, security-testing, risk-based-testing
|
|
1490
|
+
|
|
1491
|
+
## 🧠 Q-Learning Integration (Phase 2)
|
|
1492
|
+
|
|
1493
|
+
All agents automatically learn from task execution through Q-learning:
|
|
1494
|
+
|
|
1495
|
+
### Observability
|
|
1496
|
+
\\\`\\\`\\\`bash
|
|
1497
|
+
# Check learning status
|
|
1498
|
+
aqe learn status --agent test-gen
|
|
1499
|
+
|
|
1500
|
+
# View learned patterns
|
|
1501
|
+
aqe learn history --agent test-gen --limit 50
|
|
1502
|
+
|
|
1503
|
+
# Export learning data
|
|
1504
|
+
aqe learn export --agent test-gen --output learning.json
|
|
1505
|
+
\\\`\\\`\\\`
|
|
1506
|
+
|
|
1507
|
+
### Pattern Management
|
|
1508
|
+
\\\`\\\`\\\`bash
|
|
1509
|
+
# List test patterns
|
|
1510
|
+
aqe patterns list --framework jest
|
|
1511
|
+
|
|
1512
|
+
# Search patterns
|
|
1513
|
+
aqe patterns search "api validation"
|
|
1514
|
+
|
|
1515
|
+
# Extract patterns from tests
|
|
1516
|
+
aqe patterns extract ./tests --framework jest
|
|
1517
|
+
\\\`\\\`\\\`
|
|
1518
|
+
|
|
1519
|
+
### Improvement Loop
|
|
1520
|
+
\\\`\\\`\\\`bash
|
|
1521
|
+
# Start continuous improvement
|
|
1522
|
+
aqe improve start
|
|
1523
|
+
|
|
1524
|
+
# Check improvement status
|
|
1525
|
+
aqe improve status
|
|
1526
|
+
|
|
1527
|
+
# Run single improvement cycle
|
|
1528
|
+
aqe improve cycle
|
|
1529
|
+
\\\`\\\`\\\`
|
|
1530
|
+
|
|
1087
1531
|
## 📚 Documentation
|
|
1088
1532
|
|
|
1089
1533
|
- **Agent Definitions**: \\\`.claude/agents/\\\` - ${agentCount} specialized QE agents
|
|
1534
|
+
- **Skills**: \\\`.claude/skills/\\\` - 17 specialized QE skills for agents
|
|
1090
1535
|
- **Fleet Config**: \\\`.agentic-qe/config/fleet.json\\\`
|
|
1091
1536
|
- **Routing Config**: \\\`.agentic-qe/config/routing.json\\\` (Multi-Model Router settings)
|
|
1092
1537
|
- **AQE Hooks Config**: \\\`.agentic-qe/config/aqe-hooks.json\\\` (zero dependencies, 100-500x faster)
|
|
@@ -1508,7 +1953,7 @@ VALUES ('1.1.0', 'Initial QE ReasoningBank schema');
|
|
|
1508
1953
|
if (options.enablePatterns) {
|
|
1509
1954
|
console.log(chalk_1.default.gray(' • Pattern extraction: enabled'));
|
|
1510
1955
|
console.log(chalk_1.default.gray(' • Confidence threshold: 85%'));
|
|
1511
|
-
console.log(chalk_1.default.gray(' •
|
|
1956
|
+
console.log(chalk_1.default.gray(' • Cross-project sharing: enabled'));
|
|
1512
1957
|
}
|
|
1513
1958
|
console.log(chalk_1.default.cyan('\nImprovement Loop'));
|
|
1514
1959
|
console.log(chalk_1.default.gray(` Status: ${options.enableImprovement ? '✅ Enabled' : '⚠️ Disabled'}`));
|
|
@@ -1566,6 +2011,53 @@ VALUES ('1.1.0', 'Initial QE ReasoningBank schema');
|
|
|
1566
2011
|
console.log(chalk_1.default.gray(' • Improvement loop optimizes continuously (1 hour cycles)'));
|
|
1567
2012
|
console.log('');
|
|
1568
2013
|
}
|
|
2014
|
+
/**
|
|
2015
|
+
* Get relevant skills for an agent
|
|
2016
|
+
*/
|
|
2017
|
+
static getAgentSkills(agentName) {
|
|
2018
|
+
const skillMap = {
|
|
2019
|
+
'qe-test-generator': ['agentic-quality-engineering', 'api-testing-patterns', 'tdd-london-chicago', 'test-automation-strategy'],
|
|
2020
|
+
'qe-coverage-analyzer': ['agentic-quality-engineering', 'quality-metrics', 'risk-based-testing'],
|
|
2021
|
+
'qe-flaky-test-hunter': ['agentic-quality-engineering', 'exploratory-testing-advanced', 'risk-based-testing'],
|
|
2022
|
+
'qe-performance-tester': ['agentic-quality-engineering', 'performance-testing', 'quality-metrics'],
|
|
2023
|
+
'qe-security-scanner': ['agentic-quality-engineering', 'security-testing', 'risk-based-testing'],
|
|
2024
|
+
'qe-quality-gate': ['agentic-quality-engineering', 'quality-metrics', 'risk-based-testing'],
|
|
2025
|
+
'qe-api-contract-validator': ['agentic-quality-engineering', 'api-testing-patterns'],
|
|
2026
|
+
'qe-test-executor': ['agentic-quality-engineering', 'test-automation-strategy'],
|
|
2027
|
+
'qe-requirements-validator': ['agentic-quality-engineering', 'context-driven-testing'],
|
|
2028
|
+
'qe-quality-analyzer': ['agentic-quality-engineering', 'quality-metrics'],
|
|
2029
|
+
'qe-visual-tester': ['agentic-quality-engineering', 'exploratory-testing-advanced'],
|
|
2030
|
+
'qe-chaos-engineer': ['agentic-quality-engineering', 'risk-based-testing'],
|
|
2031
|
+
'qe-production-intelligence': ['agentic-quality-engineering', 'context-driven-testing'],
|
|
2032
|
+
'qe-fleet-commander': ['agentic-quality-engineering'],
|
|
2033
|
+
'qe-deployment-readiness': ['agentic-quality-engineering', 'risk-based-testing', 'quality-metrics'],
|
|
2034
|
+
'qe-regression-risk-analyzer': ['agentic-quality-engineering', 'risk-based-testing'],
|
|
2035
|
+
'qe-test-data-architect': ['agentic-quality-engineering', 'test-automation-strategy']
|
|
2036
|
+
};
|
|
2037
|
+
return skillMap[agentName] || ['agentic-quality-engineering'];
|
|
2038
|
+
}
|
|
2039
|
+
/**
|
|
2040
|
+
* Get skill documentation for agent
|
|
2041
|
+
*/
|
|
2042
|
+
static getSkillDocumentation(agentName) {
|
|
2043
|
+
const skills = this.getAgentSkills(agentName);
|
|
2044
|
+
const skillDescriptions = {
|
|
2045
|
+
'agentic-quality-engineering': 'AI agents as force multipliers in quality work (PACT principles)',
|
|
2046
|
+
'api-testing-patterns': 'REST, GraphQL, contract testing patterns',
|
|
2047
|
+
'tdd-london-chicago': 'Both TDD schools, when to use each approach',
|
|
2048
|
+
'test-automation-strategy': 'When/how to automate effectively',
|
|
2049
|
+
'quality-metrics': 'Meaningful metrics vs vanity metrics',
|
|
2050
|
+
'risk-based-testing': 'Focus testing where failure hurts most',
|
|
2051
|
+
'exploratory-testing-advanced': 'RST heuristics, SBTM, test tours',
|
|
2052
|
+
'performance-testing': 'Load, stress, soak testing strategies',
|
|
2053
|
+
'security-testing': 'OWASP Top 10, vulnerability patterns',
|
|
2054
|
+
'context-driven-testing': 'RST techniques and contextual best practices'
|
|
2055
|
+
};
|
|
2056
|
+
return skills.map(skill => {
|
|
2057
|
+
const description = skillDescriptions[skill] || 'Quality engineering expertise';
|
|
2058
|
+
return `- **${skill}**: ${description}`;
|
|
2059
|
+
}).join('\n');
|
|
2060
|
+
}
|
|
1569
2061
|
}
|
|
1570
2062
|
exports.InitCommand = InitCommand;
|
|
1571
2063
|
//# sourceMappingURL=init.js.map
|