БС
- надо в коде описать схему параметров для каждого отдельного приложения в проекте;
- схема определяет типы данных, ограничения, валидацию, дефолтные значения, хелп-тексты и всё остальное, что можно описать в разных реализациях схем/десериализаторах;
- пишется "бекенд", который читает конфиг от куда либо: ini, yaml, xml, json или из базы данных и применяет к ним схемы для десериализации и валидации. Это почти полностью решает проблему с типами - если в схеме требуется строка, то десериализатор вернёт всегда строку, даже если ему подсунули число.
- по красоте можно написать генератор документации, который по схемам сгенерит доку для конфига (в схеме есть уже всё, даже хелп-тексты).
- ещё более крутая красота - автоматом генерить админку для конфига на основе схем. Это полезно когда конфиги лежат в базе, хотя и редактировать файлы админкой, никто не мешает.
Может кто видел dconf в линуксах. Там как мне кажется подобная штука - GUI редактор явно от куда-то берёт схемы для настроек где есть всё и описание и типы и всё остальное.