the way the configuration is currently interfaced with could be improved
keys are currently not validated
could probably trim the dependency on appdirs with an approach like this
https://github.com/pallets/click/blob/8b48450d5d63c747600e069d4c3e2274f41c8360/src/click/utils.py#L412
also see how poetry handles its config