ripple doctor currently prints a human report only. Add --json so CI and tools can consume the diagnostics programmatically.
Acceptance criteria
ripple doctor --json emits the same fields as the terminal report (config path, cache status, discovery stats, errors) in the stable JSON envelope (tool, version, command, ...) used by analyze/graph.
- A
--format terminal|json flag (alias -f) matching the other commands, with --format in the help text.
- JSON output is byte-deterministic for the same project (no timestamps beyond
durationMs).
Where to look
src/commands/doctor.ts (current report), src/formatter/ (existing formatters to copy the envelope from), tests/integration/cli.test.ts (test pattern for other --format json commands).
- Existing style: see
src/formatter/json.ts.
Out of scope
- Changing what doctor checks.
ripple doctorcurrently prints a human report only. Add--jsonso CI and tools can consume the diagnostics programmatically.Acceptance criteria
ripple doctor --jsonemits the same fields as the terminal report (config path, cache status, discovery stats, errors) in the stable JSON envelope (tool,version,command, ...) used byanalyze/graph.--format terminal|jsonflag (alias-f) matching the other commands, with--formatin the help text.durationMs).Where to look
src/commands/doctor.ts(current report),src/formatter/(existing formatters to copy the envelope from),tests/integration/cli.test.ts(test pattern for other--format jsoncommands).src/formatter/json.ts.Out of scope