From the start I knew what I wanted to build and the built-in preferences system was too limited to express the configuration, so I decided to go with json5.
It is split into two notions, the first is a pattern. Patterns were the first notion in the project and were a simple way to specify a regular expression pattern and what it would result in.
This is a sample for an npmjs.com search:
{