cli_engineer 2.0.0

An autonomous CLI coding agent
use std::fs::OpenOptions;
use std::io::Write;
use chrono::Utc;
use log::{LevelFilter, info};
use simplelog::{SimpleLogger, Config};

pub fn init(verbose: bool) {
    let level = if verbose {
        LevelFilter::Info
    } else {
        LevelFilter::Warn
    };
    let _ = SimpleLogger::init(level, Config::default());
}

pub fn init_with_file_logging(verbose: bool) {
    let level = if verbose {
        LevelFilter::Info
    } else {
        LevelFilter::Warn
    };
    
    // Create log filename with timestamp
    let timestamp = Utc::now().format("%Y%m%d_%H%M%S");
    let log_filename = format!("cli_engineer_{}.log", timestamp);
    
    // Initialize console logger
    let _ = SimpleLogger::init(level, Config::default());
    
    // Log the start of the session to file
    if let Ok(mut file) = OpenOptions::new()
        .create(true)
        .append(true)
        .open(&log_filename)
    {
        let _ = writeln!(file, "\n=== cli_engineer Session Started: {} ===", Utc::now().format("%Y-%m-%d %H:%M:%S UTC"));
        info!("Verbose logging enabled. Session details will be logged to: {}", log_filename);
    }
}