The CFG configuration format is a text format for configuration files which is similar to, and a superset of, the JSON format. It's not new - it dates from well before its first announcement in 2008 - and has the following aims:<p>* Allow a hierarchical configuration scheme with support for key-value mappings and lists.<p>* Support cross-references between one part of the configuration and another.<p>* Provide a string interpolation facility to easily build up configuration values from other configuration values.<p>* Provide the ability to compose configurations (using include and merge facilities).<p>* Provide the ability to access real application objects safely, where supported by the platform.<p>* Be completely declarative.<p>It's similar to newer formats such as JSON5, HJSON, HOCON and similar but offers a number of features [0] which they don't, as indicated by the above list. It's not intended to occupy the niche where you find things like Cue, Jsonnet, Dhall and similar.<p>It was just never especially publicised when first implemented for use in Python projects, but it now also has implementations for the JVM, .NET, Go, Rust, D, JavaScript [1], Ruby and Elixir (all BSD-3-Clause licensed) and it would be great to get feedback on the project from the HN community.<p>[0]: <a href="https://docs.red-dove.com/cfg/intro.html" rel="nofollow">https://docs.red-dove.com/cfg/intro.html</a> - description of features and comparison with other similar systems<p>[1]: <a href="https://docs.red-dove.com/cfg/playground.html" rel="nofollow">https://docs.red-dove.com/cfg/playground.html</a> - uses the JS implementation to create an interactive playground