1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
use crate::cli::{CompareOutputFormatArg, ConfidenceArg, FailOnArg, PriorityArg, SeverityArg};
use clap::Args;
use std::path::PathBuf;
#[derive(Args)]
pub struct ReviewOptions {
/// Path to project, folder, or file to review
#[arg(default_value = ".")]
pub path: PathBuf,
/// Base Git ref for branch/CI review; defaults to working tree vs HEAD
#[arg(long)]
pub base: Option<String>,
/// Head Git ref for branch/CI review; requires --base
#[arg(long)]
pub head: Option<String>,
/// Path to a repopilot.toml config file
#[arg(long)]
pub config: Option<PathBuf>,
/// Path to a baseline file for new/existing finding status
#[arg(long)]
pub baseline: Option<PathBuf>,
/// Exit with code 1 when in-diff findings meet this severity threshold
#[arg(long, value_enum)]
pub fail_on: Option<FailOnArg>,
/// Exit with code 1 when in-diff findings meet this risk priority threshold
#[arg(long, value_enum)]
pub fail_on_priority: Option<PriorityArg>,
/// Output format for the review report
#[arg(long, value_enum, default_value = "console")]
pub format: CompareOutputFormatArg,
/// Disable progress indicators
#[arg(long)]
pub no_progress: bool,
/// Write report to a file instead of stdout
#[arg(short, long)]
pub output: Option<PathBuf>,
/// Override the large-file LOC threshold
#[arg(long)]
pub max_file_loc: Option<usize>,
/// Override the maximum files per directory before architecture findings
#[arg(long)]
pub max_directory_modules: Option<usize>,
/// Override the maximum directory nesting depth before architecture findings
#[arg(long)]
pub max_directory_depth: Option<usize>,
/// Only render findings at or above this severity
#[arg(long, value_enum)]
pub min_severity: Option<SeverityArg>,
/// Only render findings at or above this confidence
#[arg(long, value_enum)]
pub min_confidence: Option<ConfidenceArg>,
/// Only render findings at or above this risk priority
#[arg(long, value_enum)]
pub min_priority: Option<PriorityArg>,
/// Ignore .repopilot/feedback.yml local suppressions
#[arg(long)]
pub ignore_feedback: bool,
}