#!/usr/bin/env node
const args = process.argv.slice(2);
const command = args[0] || 'serve';
if (command === 'serve') {
import('../index.js').catch((error) => {
console.error('Failed to start MCP server:', error);
process.exit(1);
});
} else if (command === 'setup') {
const setupArgs = args.slice(1);
const advanced = setupArgs.includes('--advanced');
const allowUntrustedExchangeUrl = setupArgs.includes('--allow-untrusted-exchange-url');
const setupHelp = setupArgs.includes('--help') || setupArgs.includes('-h');
const unsupportedArgs = setupArgs.filter(
(arg) => arg !== '--advanced'
&& arg !== '--allow-untrusted-exchange-url'
&& arg !== '--help'
&& arg !== '-h',
);
if (setupHelp) {
console.log('');
console.log(' ice-puzzle-mcp setup');
console.log('');
console.log(' Usage:');
console.log(' ice-puzzle-mcp setup Configure with default exchange URL');
console.log(' ice-puzzle-mcp setup --advanced Also prompt for exchange URL override');
console.log(' ice-puzzle-mcp setup --advanced --allow-untrusted-exchange-url');
console.log('');
process.exit(0);
}
if (unsupportedArgs.length > 0) {
console.error(`Unsupported setup options: ${unsupportedArgs.join(', ')}`);
console.error('Usage: ice-puzzle-mcp setup [--advanced] [--allow-untrusted-exchange-url]');
process.exit(1);
}
import('../setup/index.js').then(({ runSetup }) => {
runSetup({ advanced, allowUntrustedExchangeUrl }).catch((error) => {
console.error('Setup failed:', error);
process.exit(1);
});
});
} else if (command === 'uninstall') {
const uninstallArgs = args.slice(1);
const uninstallHelp = uninstallArgs.includes('--help') || uninstallArgs.includes('-h');
if (uninstallHelp) {
console.log('');
console.log(' ice-puzzle-mcp uninstall');
console.log('');
console.log(' Usage:');
console.log(' ice-puzzle-mcp uninstall Remove MCP from Claude Code/Codex and delete config');
console.log('');
process.exit(0);
}
import('../setup/uninstall.js').then(({ runUninstall }) => {
runUninstall().catch((error) => {
console.error('Uninstall failed:', error);
process.exit(1);
});
});
} else if (command === 'help' || command === '--help' || command === '-h') {
console.log('');
console.log(' ice-puzzle-mcp - Build ice puzzle levels with AI');
console.log('');
console.log(' Usage:');
console.log(' ice-puzzle-mcp serve Start the MCP server (default)');
console.log(' ice-puzzle-mcp setup Interactive setup wizard');
console.log(' ice-puzzle-mcp setup --advanced');
console.log(' ice-puzzle-mcp uninstall Remove Claude/Codex MCP registrations and config');
console.log(' ice-puzzle-mcp help Show this help message');
console.log('');
} else {
console.log(`Unknown command: ${command}`);
console.log('Usage: ice-puzzle-mcp [serve|setup|uninstall|help]');
process.exit(1);
}