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
//! The global execution context — flags that apply to every subcommand.
//!
//! Parsed once from the top-level [`crate::cli::Cli`] and threaded into every
//! `cmd::<name>::run(ctx, args)` call. Subcommand bodies read `ctx.json` to
//! decide between human text and structured JSON, and `ctx.color` to decide
//! whether to colorize (default: never, for pipe-safe output).
//!
//! This is the seam the subcommand-body agents build against: they get the
//! global flags here and their own parsed args struct, and never touch
//! `main.rs` or the dispatch.
/// When to emit ANSI color. Default is [`ColorChoice::Auto`], but `dbmd`
/// treats `Auto` as **never** unless the agent explicitly opts in with
/// `--color=always`: agent-primary output is pipe-clean by default.
/// Global, subcommand-agnostic execution context.
///
/// Cheap to clone (two flags). Passed by reference into every subcommand body.