Skip to content

Categorical Configuration Language

CCL is a minimal configuration language that uses simple key-value pairs to create surprisingly powerful and composable configurations

Simple human-readable syntax

CCL is easy to read and write. The syntax is delightfully ", {, and } free! You can use indentation to organize hierarchical data, but you don’t have to.

Comments and multiline values

Unlike JSON, CCL supports comments and multiline values. Configuration files should be human-friendly.

Composable and extensible

The CCL core focuses on string-only key-value pairs with a progressive API. Build custom features on this simple foundation.

Mathematical foundation

Based on Category Theory principles, CCL provides predictable composition and merging behavior.

/= CCL supports comments and multiline values
notes =
CCL is designed to be simple and composable, with a minimal core and optional features built on top.
The CCL Test Suite provides hundreds of tests for validating implementations.
site =
/= Indentation creates hierarchy
id = abcdef0123456789
name = My Site
/= Keys and values are all strings and escaping and quoting are not needed.
/= You'll get a string value exactly as you wrote it.
name = Someone's Website About Something
version = 1.0.0
/= Keys can contain special characters, including spaces and emojis
allowed origins =
= https://example.com
= https://www.example.com
debug_mode = ☠️