Amanuensis

Amanuensis is a zero-dependency C++20 JSON library covering the complete set of JSON values needed by first-party tools. Its name means a faithful transcriber: structured content should move between forms without surprise or loss.
- Technology
- C++20 / Serialization
- Status
- In use
Shared data is only useful when it stays trustworthy.
JSON is a contract between engine modules, editors, and generated tools. That contract must be strict enough to catch bad data while producing files that remain readable, stable in source control, and straightforward to debug.
Be strict when reading and stable when writing.
The library implements a focused value, reader, and writer API with strict parsing and detailed diagnostics. Objects preserve insertion order so generated output is predictable and diff-friendly, while application types opt into serialization explicitly.
What it does.
- 01
Objects, arrays, strings, numbers, booleans, and null
- 02
Insertion-order preservation and stable output
- 03
Strict parsing with detailed diagnostics
- 04
Opt-in serialization for application types
- 05
Static-library consumption with no third-party runtime dependency
How decisions
get made.
Faithful output
Stable ordering keeps generated documents readable and version-control diffs meaningful.
Strict at the boundary
Invalid input produces actionable diagnostics rather than permissive surprises.
One shared contract
Engine and tooling projects use the same small JSON model instead of carrying separate dependencies.
