Files
ruflo/scripts/install.js
T
rUv cff0cbd997 Add comprehensive tests and reporting for Claude-Flow task system
- Implemented mock-based and comprehensive tests for batch task processing.
- Created detailed test results documentation including metrics and performance characteristics.
- Added error handling for unexpected arguments in test execution.
- Generated HTML and JSON reports summarizing test outcomes.
- Established integration tests for agent spawning, task assignment, and execution tracking.
- Enhanced event monitoring for task lifecycle and agent performance.
2025-06-10 17:24:18 +00:00

72 lines
1.8 KiB
JavaScript

#!/usr/bin/env node
const os = require('os');
const path = require('path');
const fs = require('fs');
const https = require('https');
const { spawn } = require('child_process');
console.log('Installing Claude-Flow...');
// Check if Deno is available
function checkDeno() {
return new Promise((resolve) => {
const deno = spawn('deno', ['--version'], { stdio: 'pipe' });
deno.on('close', (code) => {
resolve(code === 0);
});
deno.on('error', () => {
resolve(false);
});
});
}
// Install Deno if not available
async function installDeno() {
console.log('Deno not found. Installing Deno...');
const platform = os.platform();
const arch = os.arch();
if (platform === 'win32') {
console.log('Please install Deno manually from https://deno.land/');
process.exit(1);
}
return new Promise((resolve, reject) => {
const installScript = spawn('curl', ['-fsSL', 'https://deno.land/x/install/install.sh'], { stdio: 'pipe' });
const sh = spawn('sh', [], { stdio: ['pipe', 'inherit', 'inherit'] });
installScript.stdout.pipe(sh.stdin);
sh.on('close', (code) => {
if (code === 0) {
console.log('Deno installed successfully!');
resolve();
} else {
reject(new Error('Failed to install Deno'));
}
});
});
}
// Main installation process
async function main() {
try {
const denoAvailable = await checkDeno();
if (!denoAvailable) {
await installDeno();
}
console.log('Claude-Flow installation completed!');
console.log('You can now use: npx claude-flow or claude-flow (if installed globally)');
} catch (error) {
console.error('Installation failed:', error.message);
console.log('Please install Deno manually from https://deno.land/ and try again.');
process.exit(1);
}
}
main();