Files
Profa 5a2883a4a0 chore: Initial release v1.0.0
Agentic Quality Engineering Fleet - AI-driven quality management platform

Features:
- 16 specialized QE agents for comprehensive testing
- AI-powered test generation with 95% coverage targets
- O(log n) sublinear algorithms for massive scale
- Parallel test execution with intelligent orchestration
- Real-time coverage analysis and gap detection
- Smart quality gates with ML-driven decisions
- Security scanning (SAST, DAST, dependency analysis)
- Performance testing with load orchestration
- Flaky test detection with automatic stabilization
- API contract validation with breaking change detection
- Test data generation (10,000+ records/sec)
- Production intelligence (convert incidents to tests)
- Chaos engineering for resilience testing
- MCP integration with Claude Code
- Multi-framework support (Jest, Mocha, Cypress, Playwright)

Architecture:
- TypeScript implementation
- MCP (Model Context Protocol) integration
- Claude Code agent orchestration
- Event-driven agent coordination
- Distributed fleet management
- Cross-session memory persistence

Documentation:
- Complete API documentation (TypeDoc)
- User guides (Getting Started, MCP Integration, Test Generation, etc.)
- Architecture deep-dive
- CLI reference
- Contributing guidelines
- MIT License

Tech Stack:
- TypeScript 5.3+
- Node.js 18+
- @anthropic-ai/sdk ^0.64.0
- @modelcontextprotocol/sdk ^1.18.2
- Jest for testing
- Winston for logging
- SQLite for persistence

Project Structure:
- src/ - Source code (agents, core, MCP, CLI)
- tests/ - Comprehensive test suite
- docs/ - Complete documentation
- .claude/ - Agent definitions and commands
- config/ - Configuration files

🤖 Generated with Claude Code
https://claude.com/claude-code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 19:59:56 +00:00

108 lines
2.7 KiB
TypeScript

/**
* Basic Usage Example - Agentic QE Fleet
*
* This example demonstrates how to initialize and use the AQE Fleet
* for automated testing and quality assurance tasks.
*/
import { FleetManager } from '../src/core/FleetManager';
import { Task, TaskPriority } from '../src/core/Task';
import { Config } from '../src/utils/Config';
import { Logger } from '../src/utils/Logger';
async function basicUsageExample() {
const logger = Logger.getInstance();
try {
logger.info('🚀 Starting Basic AQE Fleet Example');
// 1. Load configuration
const config = await Config.load();
// 2. Create and initialize fleet manager
const fleetManager = new FleetManager(config);
await fleetManager.initialize();
logger.info('✅ Fleet initialized successfully');
// 3. Start the fleet
await fleetManager.start();
logger.info('✅ Fleet started successfully');
// 4. Submit some test tasks
const tasks = [
new Task(
'unit-test',
'Run Unit Tests',
{
testPath: './tests/unit',
framework: 'jest',
pattern: '**/*.test.js'
},
{},
TaskPriority.HIGH
),
new Task(
'code-analysis',
'Analyze Code Quality',
{
sourcePath: './src',
language: 'typescript'
},
{},
TaskPriority.MEDIUM
),
new Task(
'security-scan',
'Security Vulnerability Scan',
{
sourcePath: './src',
depth: 'comprehensive'
},
{},
TaskPriority.HIGH
)
];
// Submit tasks to the fleet
for (const task of tasks) {
await fleetManager.submitTask(task);
logger.info(`📋 Submitted task: ${task.getName()} (${task.getId()})`);
}
// 5. Monitor fleet status
const status = fleetManager.getStatus();
logger.info('📊 Fleet Status:', {
activeAgents: status.activeAgents,
totalAgents: status.totalAgents,
runningTasks: status.runningTasks,
completedTasks: status.completedTasks
});
// 6. Wait for tasks to complete (in a real scenario, you'd use events)
await new Promise(resolve => setTimeout(resolve, 10000));
// 7. Check final status
const finalStatus = fleetManager.getStatus();
logger.info('📊 Final Fleet Status:', {
completedTasks: finalStatus.completedTasks,
failedTasks: finalStatus.failedTasks
});
// 8. Stop the fleet
await fleetManager.stop();
logger.info('🛑 Fleet stopped successfully');
} catch (error) {
logger.error('❌ Example failed:', error);
process.exit(1);
}
}
// Run the example
if (require.main === module) {
basicUsageExample();
}