use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "project-map")]
#[command(about = "Agent-Native architectural awareness CLI", long_about = None)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand)]
pub enum Commands {
Build {
#[arg(short, long, default_value = ".")]
root: String,
#[arg(short, long, default_value = ".project-map")]
out: String,
},
Refresh {
#[arg(short, long, default_value = ".")]
root: String,
#[arg(short, long, default_value = ".project-map")]
out: String,
},
Find {
#[arg(short, long)]
query: String,
#[arg(short, long, default_value = ".project-map")]
index: String,
},
Context {
#[arg(short, long)]
path: String,
#[arg(short, long, default_value = ".project-map")]
index: String,
},
Impact {
#[arg(short, long)]
fqn: String,
#[arg(short, long, default_value = ".project-map")]
index: String,
},
Status {
#[arg(short, long, default_value = ".project-map")]
index: String,
},
Fetch {
#[arg(short, long)]
path: String,
#[arg(short, long)]
symbol: String,
#[arg(short, long, default_value = ".project-map")]
index: String,
},
Blast {
#[arg(short, long)]
path: String,
#[arg(short, long)]
symbol: String,
#[arg(short, long, default_value = ".project-map")]
index: String,
},
Search {
query: String,
#[arg(short, long, default_value = ".project-map")]
index: String,
},
Mcp,
}