project_map_cli_rust/cli/
commands.rs1use clap::{Parser, Subcommand};
2
3#[derive(Parser)]
4#[command(name = "project-map")]
5#[command(about = "Agent-Native architectural awareness CLI", long_about = None)]
6pub struct Cli {
7 #[command(subcommand)]
8 pub command: Commands,
9}
10
11#[derive(Subcommand)]
12pub enum Commands {
13 Build {
15 #[arg(short, long, default_value = ".")]
16 root: String,
17 #[arg(short, long, default_value = ".project-map")]
18 out: String,
19 },
20 Refresh {
22 #[arg(short, long, default_value = ".")]
23 root: String,
24 #[arg(short, long, default_value = ".project-map")]
25 out: String,
26 },
27 Find {
29 #[arg(short, long)]
30 query: String,
31 #[arg(short, long, default_value = ".project-map")]
32 index: String,
33 },
34 Context {
36 #[arg(short, long)]
37 path: String,
38 #[arg(short, long, default_value = ".project-map")]
39 index: String,
40 },
41 Impact {
43 #[arg(short, long)]
44 fqn: String,
45 #[arg(short, long, default_value = ".project-map")]
46 index: String,
47 },
48 Status {
50 #[arg(short, long, default_value = ".project-map")]
51 index: String,
52 },
53 Fetch {
55 #[arg(short, long)]
56 path: String,
57 #[arg(short, long)]
58 symbol: String,
59 #[arg(short, long, default_value = ".project-map")]
60 index: String,
61 },
62 Blast {
64 #[arg(short, long)]
65 path: String,
66 #[arg(short, long)]
67 symbol: String,
68 #[arg(short, long, default_value = ".project-map")]
69 index: String,
70 },
71 Search {
73 query: String,
74 #[arg(short, long, default_value = ".project-map")]
75 index: String,
76 },
77 Mcp,
79}