morph-cli 0.1.0

AST-based codebase migration and codemod tool for JavaScript and TypeScript projects.
Documentation
use std::path::Path;

use anyhow::{Context, Result};

use crate::utils::terminal;

pub fn execute(path: &Path) -> Result<()> {
    use crate::core::config::loader::ConfigLoader;

    terminal::print_info("Initializing morph-cli configuration...");

    let config_path = ConfigLoader::generate_config(path)
        .with_context(|| format!("Failed to generate config at {}", path.display()))?;

    println!(
        "{} Created {}",
        terminal::success_prefix(),
        config_path.display()
    );

    println!();
    println!("Edit morph-cli.toml to customize your configuration:");
    println!("  - enabled_recipes: recipes to run");
    println!("  - excluded_paths: directories to skip");
    println!("  - max_file_size_kb: skip files larger than this");
    println!("  - preview_lines: lines to show in diff preview");

    Ok(())
}