pub fn read_json_or_default<T: DeserializeOwned + Default>(
path: &Path,
) -> CommandResult<T>Expand description
Read and parse path as JSON. A missing file is not an error — it
returns T::default(), matching the common “no settings saved yet” case.