Configuration people can actually read.
MOML is a lightweight configuration language for settings people can actually read. Clean structure. Familiar syntax. Minimal punctuation. No surprises.
# MOML 2.0 app { name = MOML Studio enabled = true timeout = 45 providers { openrouter anthropic *openai } }
Code should be logic. Data in MOML.
MOML deliberately stays small. It stores strings and structure. Your application owns behavior and types through a Gatekeeper.
Human-first
Paths, colors, hotkeys and ordinary values remain readable without a punctuation tax.
Parser-first discipline
MOML never guesses whether 45 is an integer or true is a Boolean. Everything is a string.
App-aware Gatekeepers
The Gatekeeper knows that a string is a Boolean, color, path, hotkey or list because that is application schema knowledge.
One format. Four parser families.
The same MOML 2.0 contract is implemented for Python, PHP, JavaScript and AutoHotkey v2.
| Language | Parser | Gatekeeper | Verification |
|---|---|---|---|
| Python | moml2.py | sample_gatekeeper.py | Reference + spec + fuzz |
| PHP 8.x | moml2.php | sample_gatekeeper.php | Spec + fuzz |
| JavaScript | moml2.js | sample_gatekeeper.js | Spec + fuzz |
| AutoHotkey v2 | MOML2.ahk | sample_gatekeeper.ahk | Windows verification package |
Write. Parse. Inspect. Round-trip.
The Studio/test bench is for experimenting with MOML files, inspecting parsed structure, running deterministic spec tests and randomized fuzz tests.
Open browser playground