Two comments:

1. It seems still too complex to me. What are the benefits of handling command-line options ourselves, instead of delegating this job to the rc module?

2. What happens to users that upgraded from an older version and have some config options overwritten in `../config.json`? Is it possible to preserve backwards compatibility?