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.json")]
18 out: String,
19 },
20 Refresh {
22 #[arg(short, long, default_value = ".")]
23 root: String,
24 #[arg(short, long, default_value = ".project-map.json")]
25 out: String,
26 },
27 Find {
29 #[arg(short, long)]
30 query: String,
31 },
32 Context {
34 #[arg(short, long)]
35 path: String,
36 },
37 Impact {
39 #[arg(short, long)]
40 fqn: String,
41 },
42 Status,
44 Fetch {
46 #[arg(short, long)]
47 path: String,
48 #[arg(short, long)]
49 symbol: String,
50 },
51 Blast {
53 #[arg(short, long)]
54 path: String,
55 #[arg(short, long)]
56 symbol: String,
57 },
58 Search {
60 query: String,
61 },
62 Mcp,
64}