Currently, if the configuration file contains unknown keys, is invalid json,
or the data-type of a value is incorrect, a variety of runtime errors can occur throughout
the code.
The config file should be validated for correctness before attempted parsing and loading
of the values, and the user should be notified of any errors.
This effort should also help with bringing the config file and cli options closer together,
and providing a more centralized source of truth for the runtime configuration.
Maybe I need to look into how other projects handle lots of CLI args that need to override any
static config file at runtime (fallback).
Currently, if the configuration file contains unknown keys, is invalid json,
or the data-type of a value is incorrect, a variety of runtime errors can occur throughout
the code.
The config file should be validated for correctness before attempted parsing and loading
of the values, and the user should be notified of any errors.
This effort should also help with bringing the config file and cli options closer together,
and providing a more centralized source of truth for the runtime configuration.
Maybe I need to look into how other projects handle lots of CLI args that need to override any
static config file at runtime (fallback).