import { Command } from 'commander'; import { homedir } from 'node:os'; import { join } from 'node:path'; import { ClackPrompter } from './prompter/clack-prompter.js'; import { HeadlessPrompter } from './prompter/headless-prompter.js'; import { createConfigService } from './config/config-service.js'; import { runWizard } from './wizard.js'; import { WizardCancelledError } from './errors.js'; import { VERSION, DEFAULT_MOSAIC_HOME } from './constants.js'; import type { CommunicationStyle } from './types.js'; const program = new Command() .name('mosaic-wizard') .description('Mosaic Installation Wizard') .version(VERSION); program .option('--non-interactive', 'Run without prompts (uses defaults + flags)') .option( '--source-dir ', 'Source directory for framework files', ) .option( '--mosaic-home ', 'Target config directory', DEFAULT_MOSAIC_HOME, ) // SOUL.md overrides .option('--name ', 'Agent name') .option('--role ', 'Agent role description') .option('--style