JCL - Jack-of-All Configuration Language

A powerful, flexible configuration language designed for modern infrastructure and application configuration.

Features

  • Simple & Readable - Clean syntax that’s easy to learn and understand
  • Powerful Functions - 70+ built-in functions for string manipulation, encoding, hashing, and more
  • Type Safe - Optional type annotations and schema validation
  • Developer Friendly - LSP support, syntax highlighting, formatting tools
  • Cross-Platform - Bindings for Python, Node.js, Go, Java, and Ruby

Quick Example

name = "my-app"
version = "1.0.0"
port = 8080

database = (
    host = "localhost",
    port = 5432,
    name = "myapp_db"
)

features = ["auth", "api", "websockets"]

# Use powerful built-in functions
secret = base64_encode("my-secret-key")
config_hash = sha256(name + version)

Getting Started

Tools

JCL comes with a comprehensive suite of CLI tools:

  • jcl - Main CLI for evaluation and formatting
  • jcl-validate - Schema validation
  • jcl-migrate - Convert from JSON/YAML/TOML
  • jcl-fmt - Code formatter
  • jcl-watch - Auto-format on file changes
  • jcl-bench - Performance benchmarking
  • jcl-lsp - Language Server Protocol implementation

Why JCL?

vs JSON

  • Comments and documentation
  • No trailing comma issues
  • More expressive syntax
  • Built-in functions

vs YAML

  • No indentation nightmares
  • Explicit syntax
  • Type safety with schemas
  • Faster parsing

vs TOML

  • More flexible data structures
  • Function support
  • Better for complex configurations
  • Consistent syntax

Learn more in our comparison guide →

Community

License

JCL is dual-licensed under MIT OR Apache-2.0.


Back to top

Copyright © 2025 JCL. Distributed under the MIT OR Apache-2.0 license.