I've got one more opinion until next week: you should never use json for your config file. yes even if it's not supposed to be user facing.
some day someone is going to need to dig into the config to debug something and the least you can do is let them use comments
"so... json-with-comments?" no. it's not a real standard and also in this house we do not "throw good money after bad". make your config yaml. make your config .ini. make your config in sh. I don't care. you're parsing options it doesn't matter what it's in. so make it in something that both supports code comments and syntax highlighting.
just don't make it in JSON. or if you do, have the user facing portion be in literally anything else and then juice it into JSON in the background if you need to be a filthy little gremlin about it.
