use anyhow::{Context, Result};
use clap::Parser;
use concept_analyzer::api::run_cli_analysis;
#[derive(Parser, Debug)]
#[command(author, version, about, long_about = None)]
struct Args {
#[arg(help = "Path to repository (e.g., ./my-project or /path/to/corpus)")]
repo_path: String,
#[arg(help = "S3 bucket name (e.g., my-analysis-bucket)")]
s3_bucket: String,
#[arg(help = "S3 key/path (e.g., analyses/my-project.json)")]
s3_key: String,
#[arg(long, env = "LLM_API_KEY", hide_env_values = true)]
llm_api_key: String,
}
#[tokio::main]
async fn main() -> Result<()> {
env_logger::init();
let args = Args::parse();
run_cli_analysis(
&args.repo_path,
&args.s3_bucket,
&args.s3_key,
&args.llm_api_key,
)
.await
.context("Repository analysis failed")?;
Ok(())
}