Sprint B.6: CLI guardrails — --dry-run, protected_repos, VULP_AGENT marker

- global --dry-run: sync/release/init/collab/license print 'DRY RUN: would...'
  and exit 0 (no auth needed for previews where possible)
- config protected_repos (name/basename, case-insensitive): mutating commands
  exit 1 on listed repos unless --force; checked before dry-run
- VULP_AGENT env: activity::log centrally appends '· via agent' to detail,
  covering both CLI and TUI writers
- sync: unknown --action now rejected before touching any repo
This commit is contained in:
dualfroz committed 2026-07-06 15:43:14 +02:00
1 parent f1432d1cd3
commit 8119cdeba7
8 files changed
+133 -14

No files matched your search

+7
View File
@@ -19,6 +19,13 @@ pub struct Cli {
/// Machine-readable JSON output on stdout (list/status/stats/... commands)
#[arg(long, global = true)]
pub json: bool,
/// Print what a mutating command (sync/release/init/collab/license)
/// would do without doing it
#[arg(long, global = true)]
pub dry_run: bool,
/// Proceed on repos listed in config `protected_repos`
#[arg(long, global = true)]
pub force: bool,
}
#[derive(Subcommand)]