UNPKG

@noanswer/context-compose

Version:

Orchestrate complex AI interactions with Context Compose. A powerful CLI and server for building, validating, and managing context for large language models using the Model Context Protocol (MCP).

51 lines 1.76 kB
import fs from 'node:fs'; import inquirer from 'inquirer'; import { handleError, logError } from '../../core/errors.js'; import { executeInitTool } from '../../core/tools/init.js'; async function confirmOverwrite() { const { overwrite } = await inquirer.prompt([ { type: 'confirm', name: 'overwrite', message: 'A .contextcompose directory already exists. Do you want to overwrite it?', default: false, }, ]); return overwrite; } /** * Initializes the project by creating a .contextcompose directory and necessary files. * @param program - The commander program instance. */ export function initCommand(program) { program .command('init') .description('Initializes the project configuration.') .action(async () => { try { if (fs.existsSync('.contextcompose')) { const overwrite = await confirmOverwrite(); if (!overwrite) { console.info('Operation cancelled.'); process.exit(0); } } const result = await executeInitTool({ projectRoot: process.cwd() }); if (result.success) { console.info(result.message); process.exit(0); } else { console.error(`❌ ${result.message}`); process.exit(1); } } catch (error) { logError(error, { command: 'init', cwd: process.cwd() }); const errorInfo = handleError(error); console.error(`❌ ${errorInfo.message}`); process.exit(errorInfo.statusCode >= 500 ? 1 : 0); } }); } //# sourceMappingURL=init.js.map