@versatil/claude-opera
Version:
š Claude Opera by VERSATIL v6.4.0 - Production-ready OPERA orchestration with 17 agents (7 core + 10 language-specific sub-agents), automatic roadmap generation, 11-MCP ecosystem, RAG memory achieving 98%+ context retention, proactive daemon with file-ba
69 lines (59 loc) ⢠2.65 kB
JavaScript
/**
* Test all VERSATIL scripts to ensure they run without errors
*/
const { execSync } = require('child_process');
console.log(`
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā VERSATIL Script Validation Suite ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Testing all framework scripts...
`);
const scripts = [
{ name: 'show-agents', cmd: 'npm run show-agents', critical: true },
{ name: 'agents (alias)', cmd: 'npm run agents', critical: true },
{ name: 'init', cmd: 'npm run init', critical: true },
{ name: 'version:check', cmd: 'npm run version:check', critical: false },
{ name: 'opera:health', cmd: 'npm run opera:health', critical: true },
{ name: 'test:enhanced', cmd: 'npm run test:enhanced', critical: true },
{ name: 'build', cmd: 'npm run build', critical: true },
];
let passed = 0;
let failed = 0;
const results = [];
console.log(`Running ${scripts.length} script tests...\n`);
for (const script of scripts) {
process.stdout.write(`Testing ${script.name}... `);
try {
execSync(script.cmd, { stdio: 'pipe', timeout: 30000 });
console.log('ā
PASS');
passed++;
results.push({ name: script.name, status: 'pass', critical: script.critical });
} catch (error) {
if (script.critical) {
console.log('ā FAIL (CRITICAL)');
failed++;
results.push({ name: script.name, status: 'fail', critical: true });
} else {
console.log('ā ļø SKIP (non-critical)');
results.push({ name: script.name, status: 'skip', critical: false });
}
}
}
console.log(`\nāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n`);
console.log(`Test Results:`);
console.log(` ā
Passed: ${passed}`);
console.log(` ā Failed: ${failed}`);
console.log(` ā ļø Skipped: ${results.filter(r => r.status === 'skip').length}`);
console.log(` Success Rate: ${((passed / scripts.length) * 100).toFixed(1)}%\n`);
if (failed > 0) {
console.log(`ā CRITICAL FAILURES:\n`);
results.filter(r => r.status === 'fail' && r.critical).forEach(r => {
console.log(` - ${r.name}`);
});
console.log();
process.exit(1);
} else {
console.log(`š All critical scripts passed!\n`);
process.exit(0);
}