Plain key = value syntax
No quotes, braces, or brackets. Indentation is the only structure you need, and nesting reads top to bottom.
CCL stores everything as readable key = value pairs. Indentation makes
hierarchy. Comments and multiline values come standard.
/= CCL is just readable key = value pairsname = Example Siteversion = 1.0.0
database = /= Indentation creates hierarchy host = localhost port = 5432
allowed origins = = https://example.com = https://www.example.comA small language with a precise foundation. Easy to read, easy to implement.
No quotes, braces, or brackets. Indentation is the only structure you need, and nesting reads top to bottom.
Unlike JSON, CCL keeps configuration human-friendly with inline notes and values that span lines.
Everything is string key-value data. Typed accessors, formatting, and merging build on that one primitive.
Category-theory-inspired composition keeps parsing, filtering, and merging consistent across every implementation.
CCL drops the punctuation tax. Compare a small service config in CCL and JSON.
service = apiport = 8080
retries = count = 3 backoff = 250ms{ "service": "api", "port": 8080, "retries": { "count": 3, "backoff": "250ms" }}Start with a five-minute walkthrough, or jump straight to the full syntax reference.