An open format for AI conversations — spec v1 · curt-format@1.2.0 · MIT
One file, one conversation, kept whole.
A .curt file is UTF-8 JSON — the whole thread in one file. Images and tool calls ride verbatim, unknown fields survive foreign readers, and a corrupted file is rejected whole, never half-imported. Born in Curtis AI Chat, owned by no one.
npm install curt-format- CI
- npm
- conformance27 vectors · MIT
- xx/@curtformat
Start here.
01Spec
The normative v1 spec: the envelope, validation rules, and what every conforming reader owes you.
02Extensions
The named-capability registry — grows by extension, not by version. Five entries, draft to stable.
03Conformance
The L1–L4 ladder: executable vectors, self-reported claims, reproducible grades. 27 vectors.
04API
The reference implementation: parseCurt, serializeCurt, curtFilename, the predicates, the constants.
05Ecosystem
Who reads and writes .curt today — the capability matrix and the eleven implementations behind it.
06FAQ
The magic string, the BOM, zip bulk, why not vCon, and the license split — stated plainly.