macot 0.1.11

Multi Agent Control Tower - CLI for orchestrating Claude CLI instances
Documentation
use anyhow::Result;

use crate::session::TmuxManager;

pub async fn execute() -> Result<()> {
    let sessions = TmuxManager::list_all_macot_sessions().await?;

    if sessions.is_empty() {
        println!("No macot sessions running.");
        return Ok(());
    }

    println!(
        "{:<18} {:<40} {:>8} CREATED",
        "SESSION", "PROJECT PATH", "EXPERTS"
    );
    println!("{}", "-".repeat(80));

    for session in sessions {
        let created = session.created_at.format("%Y-%m-%d %H:%M");
        let path = if session.project_path.len() > 38 {
            format!(
                "...{}",
                &session.project_path[session.project_path.len() - 35..]
            )
        } else {
            session.project_path.clone()
        };

        println!(
            "{:<18} {:<40} {:>8} {}",
            session.session_name, path, session.num_experts, created
        );
    }

    Ok(())
}