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: Option<String>,
31 #[arg(short, long)]
32 file: Option<String>,
33 #[arg(short, long, default_value = ".project-map")]
34 index: String,
35 },
36 Context {
38 #[arg(short, long)]
39 path: String,
40 #[arg(short, long, default_value = ".project-map")]
41 index: String,
42 },
43 Impact {
45 #[arg(short, long)]
46 fqn: String,
47 #[arg(short, long, default_value = ".project-map")]
48 index: String,
49 },
50 Status {
52 #[arg(short, long, default_value = ".project-map")]
53 index: String,
54 },
55 Fetch {
57 #[arg(short, long)]
58 path: String,
59 #[arg(short, long)]
60 symbol: String,
61 #[arg(short, long, default_value = ".project-map")]
62 index: String,
63 },
64 Blast {
66 #[arg(short, long)]
67 path: String,
68 #[arg(short, long)]
69 symbol: String,
70 #[arg(short, long, default_value = ".project-map")]
71 index: String,
72 },
73 Search {
75 query: String,
76 #[arg(short, long, default_value = ".project-map")]
77 index: String,
78 },
79 Mcp,
81}