repopilot 0.20.0

Local-first CLI for reviewing Git changes, security boundaries, and blast radius before merge.
Documentation
mod args;
mod options;

pub use args::{
    ColorArg, CompareOutputFormatArg, ConfidenceArg, FailOnArg, MaxFindingsArg, OutputFormatArg,
    PriorityArg, ReviewDetailArg, ReviewFailOnArg, ReviewScopeArg, ScanOutputStyleArg,
    ScanProfileArg, SeverityArg, parse_byte_size, parse_max_findings, parse_token_budget,
};
pub use options::*;

use clap::Parser;

#[derive(Parser)]
#[command(name = "repopilot")]
#[command(version)]
#[command(
    about = "Local-first CLI for reviewing Git changes, security boundaries, and blast radius before merge.",
    long_about = "RepoPilot is a review-first local CLI for understanding what changed before merge.\n\
It surfaces security boundaries, behavioral and algorithmic shifts, taint-lite flows,\n\
changed-code findings, and blast radius.\n\n\
It does not upload your repository — all analysis runs locally against files on disk.\n\n\
Start with `repopilot review`. Use `repopilot scan` for repository-wide audits,\n\
`repopilot baseline` for gradual CI adoption, and `repopilot ai` for local\n\
AI-ready remediation context.\n\n\
Choose by intent:\n  \
review      inspect the change you are about to merge\n  \
scan        audit the whole repository\n  \
snapshot    mark the state before an agent or manual change\n  \
baseline    adopt existing repository debt without hiding new findings\n  \
ai context  prepare bounded evidence and a remediation plan for an assistant\n  \
mcp         expose local read-only analysis tools to an MCP client",
    after_help = "COMMON WORKFLOWS:\n  \
repopilot review .                          # review working-tree changes\n  \
repopilot review . --base origin/main       # review a branch before merge\n  \
repopilot review . --detail full            # show evidence and verification\n  \
repopilot snapshot                          # mark state before an agent change\n  \
repopilot review . --since-snapshot         # review the complete agent change\n  \
repopilot scan .                            # run a repository-wide audit\n  \
repopilot baseline create .                 # accept current findings as debt\n  \
repopilot scan . --baseline .repopilot/baseline.json --fail-on new-high\n  \
repopilot ai context . --focus security     # generate AI-ready context\n  \
repopilot mcp --root .                      # expose read-only tools to an agent"
)]
pub struct Cli {
    #[command(subcommand)]
    pub command: Commands,
}